diff --git a/plugin/scripts/context-generator.cjs b/plugin/scripts/context-generator.cjs index 2c5afd2b..6befb586 100644 --- a/plugin/scripts/context-generator.cjs +++ b/plugin/scripts/context-generator.cjs @@ -1,12 +1,12 @@ -"use strict";var Ge=Object.create;var Q=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var Ye=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty;var Ke=(_,e)=>{for(var t in e)Q(_,t,{get:e[t],enumerable:!0})},fe=(_,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of He(e))!Ve.call(_,r)&&r!==t&&Q(_,r,{get:()=>e[r],enumerable:!(s=We(e,r))||s.enumerable});return _};var ae=(_,e,t)=>(t=_!=null?Ge(Ye(_)):{},fe(e||!_||!_.__esModule?Q(t,"default",{value:_,enumerable:!0}):t,_)),qe=_=>fe(Q({},"__esModule",{value:!0}),_);var ot={};Ke(ot,{generateContext:()=>it});module.exports=qe(ot);var se=ae(require("path"),1),re=require("os"),W=require("fs");var Me=require("bun:sqlite");var S=require("path"),Ne=require("os"),Ae=require("fs");var Ie=require("url");var G=require("fs"),Oe=require("path"),Re=require("os");var be="bugfix,feature,refactor,discovery,decision,change",Se="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var j=require("fs"),z=require("path"),de=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(de||{}),_e=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let e=C.get("CLAUDE_MEM_DATA_DIR"),t=(0,z.join)(e,"logs");(0,j.existsSync)(t)||(0,j.mkdirSync)(t,{recursive:!0});let s=new Date().toISOString().split("T")[0];this.logFilePath=(0,z.join)(t,`claude-mem-${s}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}getLevel(){if(this.level===null)try{let e=C.get("CLAUDE_MEM_DATA_DIR"),t=(0,z.join)(e,"settings.json"),r=C.loadFromFile(t).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=de[r]??1}catch(e){console.error("[LOGGER] Failed to load settings, using INFO level:",e),this.level=1}return this.level}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} -${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Object.keys(e);return t.length===0?"{}":t.length<=3?JSON.stringify(e):`{${t.length} keys: ${t.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,t){if(!t)return e;let s=typeof t=="string"?JSON.parse(t):t;if(e==="Bash"&&s.command)return`${e}(${s.command})`;if(s.file_path)return`${e}(${s.file_path})`;if(s.notebook_path)return`${e}(${s.notebook_path})`;if(e==="Glob"&&s.pattern)return`${e}(${s.pattern})`;if(e==="Grep"&&s.pattern)return`${e}(${s.pattern})`;if(s.url)return`${e}(${s.url})`;if(s.query)return`${e}(${s.query})`;if(e==="Task"){if(s.subagent_type)return`${e}(${s.subagent_type})`;if(s.description)return`${e}(${s.description})`}return e==="Skill"&&s.skill?`${e}(${s.skill})`:e==="LSP"&&s.operation?`${e}(${s.operation})`:e}formatTimestamp(e){let t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),d=String(e.getMilliseconds()).padStart(3,"0");return`${t}-${s}-${r} ${i}:${a}:${c}.${d}`}log(e,t,s,r,i){if(e{for(var t in e)Q(d,t,{get:e[t],enumerable:!0})},fe=(d,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of He(e))!Ve.call(d,r)&&r!==t&&Q(d,r,{get:()=>e[r],enumerable:!(s=We(e,r))||s.enumerable});return d};var ae=(d,e,t)=>(t=d!=null?Ge(Ye(d)):{},fe(e||!d||!d.__esModule?Q(t,"default",{value:d,enumerable:!0}):t,d)),qe=d=>fe(Q({},"__esModule",{value:!0}),d);var ot={};Ke(ot,{generateContext:()=>it});module.exports=qe(ot);var se=ae(require("path"),1),re=require("os"),W=require("fs");var ve=require("bun:sqlite");var b=require("path"),Ne=require("os"),Ae=require("fs");var Ie=require("url");var G=require("fs"),Oe=require("path"),Re=require("os");var Se="bugfix,feature,refactor,discovery,decision,change",be="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var B=require("fs"),z=require("path"),de=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(de||{}),ce=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let e=C.get("CLAUDE_MEM_DATA_DIR"),t=(0,z.join)(e,"logs");(0,B.existsSync)(t)||(0,B.mkdirSync)(t,{recursive:!0});let s=new Date().toISOString().split("T")[0];this.logFilePath=(0,z.join)(t,`claude-mem-${s}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}getLevel(){if(this.level===null)try{let e=C.get("CLAUDE_MEM_DATA_DIR"),t=(0,z.join)(e,"settings.json"),r=C.loadFromFile(t).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=de[r]??1}catch(e){console.error("[LOGGER] Failed to load settings, using INFO level:",e),this.level=1}return this.level}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} +${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Object.keys(e);return t.length===0?"{}":t.length<=3?JSON.stringify(e):`{${t.length} keys: ${t.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,t){if(!t)return e;let s=typeof t=="string"?JSON.parse(t):t;if(e==="Bash"&&s.command)return`${e}(${s.command})`;if(s.file_path)return`${e}(${s.file_path})`;if(s.notebook_path)return`${e}(${s.notebook_path})`;if(e==="Glob"&&s.pattern)return`${e}(${s.pattern})`;if(e==="Grep"&&s.pattern)return`${e}(${s.pattern})`;if(s.url)return`${e}(${s.url})`;if(s.query)return`${e}(${s.query})`;if(e==="Task"){if(s.subagent_type)return`${e}(${s.subagent_type})`;if(s.description)return`${e}(${s.description})`}return e==="Skill"&&s.skill?`${e}(${s.skill})`:e==="LSP"&&s.operation?`${e}(${s.operation})`:e}formatTimestamp(e){let t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),_=String(e.getMilliseconds()).padStart(3,"0");return`${t}-${s}-${r} ${i}:${a}:${c}.${_}`}log(e,t,s,r,i){if(e0&&(b=` {${Object.entries(n).map(([R,v])=>`${R}=${v}`).join(", ")}}`)}let O=`[${a}] [${c}] [${d}] ${u}${s}${b}${l}`;if(this.logFilePath)try{(0,j.appendFileSync)(this.logFilePath,O+` +${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?u=` +`+JSON.stringify(i,null,2):u=" "+this.formatData(i));let S="";if(r){let{sessionId:E,memorySessionId:A,correlationId:g,...n}=r;Object.keys(n).length>0&&(S=` {${Object.entries(n).map(([R,M])=>`${R}=${M}`).join(", ")}}`)}let O=`[${a}] [${c}] [${_}] ${l}${s}${S}${u}`;if(this.logFilePath)try{(0,B.appendFileSync)(this.logFilePath,O+` `,"utf8")}catch(E){process.stderr.write(`[LOGGER] Failed to write to log file: ${E} `)}else process.stderr.write(O+` -`)}debug(e,t,s,r){this.log(0,e,t,s,r)}info(e,t,s,r){this.log(1,e,t,s,r)}warn(e,t,s,r){this.log(2,e,t,s,r)}error(e,t,s,r){this.log(3,e,t,s,r)}dataIn(e,t,s,r){this.info(e,`\u2192 ${t}`,s,r)}dataOut(e,t,s,r){this.info(e,`\u2190 ${t}`,s,r)}success(e,t,s,r){this.info(e,`\u2713 ${t}`,s,r)}failure(e,t,s,r){this.error(e,`\u2717 ${t}`,s,r)}timing(e,t,s,r){this.info(e,`\u23F1 ${t}`,r,{duration:`${s}ms`})}happyPathError(e,t,s,r,i=""){let u=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",b={...s,location:l};return this.warn(e,`[HAPPY-PATH] ${t}`,b,r),i}},p=new _e;var C=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,Oe.join)((0,Re.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:be,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:Se,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,G.existsSync)(e))return this.getAllDefaults();let t=(0,G.readFileSync)(e,"utf-8"),s=JSON.parse(t),r=s;if(s.env&&typeof s.env=="object"){r=s.env;try{(0,G.writeFileSync)(e,JSON.stringify(r,null,2),"utf-8"),p.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(a){p.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))r[a]!==void 0&&(i[a]=r[a]);return i}catch(t){return p.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var ze={};function Je(){return typeof __dirname<"u"?__dirname:(0,S.dirname)((0,Ie.fileURLToPath)(ze.url))}var Qe=Je(),M=C.get("CLAUDE_MEM_DATA_DIR"),ce=process.env.CLAUDE_CONFIG_DIR||(0,S.join)((0,Ne.homedir)(),".claude"),ft=(0,S.join)(M,"archives"),bt=(0,S.join)(M,"logs"),St=(0,S.join)(M,"trash"),Ot=(0,S.join)(M,"backups"),Rt=(0,S.join)(M,"modes"),Nt=(0,S.join)(M,"settings.json"),Le=(0,S.join)(M,"claude-mem.db"),At=(0,S.join)(M,"vector-db"),It=(0,S.join)(ce,"settings.json"),Lt=(0,S.join)(ce,"commands"),yt=(0,S.join)(ce,"CLAUDE.md");function ye(_){(0,Ae.mkdirSync)(_,{recursive:!0})}function Ce(){return(0,S.join)(Qe,"..")}var Z=class{db;constructor(e=Le){e!==":memory:"&&ye(M),this.db=new Me.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename()}initializeSchema(){try{this.db.run(` +`)}debug(e,t,s,r){this.log(0,e,t,s,r)}info(e,t,s,r){this.log(1,e,t,s,r)}warn(e,t,s,r){this.log(2,e,t,s,r)}error(e,t,s,r){this.log(3,e,t,s,r)}dataIn(e,t,s,r){this.info(e,`\u2192 ${t}`,s,r)}dataOut(e,t,s,r){this.info(e,`\u2190 ${t}`,s,r)}success(e,t,s,r){this.info(e,`\u2713 ${t}`,s,r)}failure(e,t,s,r){this.error(e,`\u2717 ${t}`,s,r)}timing(e,t,s,r){this.info(e,`\u23F1 ${t}`,r,{duration:`${s}ms`})}happyPathError(e,t,s,r,i=""){let l=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),u=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",S={...s,location:u};return this.warn(e,`[HAPPY-PATH] ${t}`,S,r),i}},p=new ce;var C=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,Oe.join)((0,Re.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:Se,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:be,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,G.existsSync)(e))return this.getAllDefaults();let t=(0,G.readFileSync)(e,"utf-8"),s=JSON.parse(t),r=s;if(s.env&&typeof s.env=="object"){r=s.env;try{(0,G.writeFileSync)(e,JSON.stringify(r,null,2),"utf-8"),p.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(a){p.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))r[a]!==void 0&&(i[a]=r[a]);return i}catch(t){return p.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var ze={};function Je(){return typeof __dirname<"u"?__dirname:(0,b.dirname)((0,Ie.fileURLToPath)(ze.url))}var Qe=Je(),v=C.get("CLAUDE_MEM_DATA_DIR"),_e=process.env.CLAUDE_CONFIG_DIR||(0,b.join)((0,Ne.homedir)(),".claude"),ft=(0,b.join)(v,"archives"),St=(0,b.join)(v,"logs"),bt=(0,b.join)(v,"trash"),Ot=(0,b.join)(v,"backups"),Rt=(0,b.join)(v,"modes"),Nt=(0,b.join)(v,"settings.json"),Le=(0,b.join)(v,"claude-mem.db"),At=(0,b.join)(v,"vector-db"),It=(0,b.join)(_e,"settings.json"),Lt=(0,b.join)(_e,"commands"),yt=(0,b.join)(_e,"CLAUDE.md");function ye(d){(0,Ae.mkdirSync)(d,{recursive:!0})}function Ce(){return(0,b.join)(Qe,"..")}var Z=class{db;constructor(e=Le){e!==":memory:"&&ye(v),this.db=new ve.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename()}initializeSchema(){try{this.db.run(` CREATE TABLE IF NOT EXISTS schema_versions ( id INTEGER PRIMARY KEY, version INTEGER UNIQUE NOT NULL, @@ -68,7 +68,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` CREATE INDEX IF NOT EXISTS idx_session_summaries_sdk_session ON session_summaries(memory_session_id); CREATE INDEX IF NOT EXISTS idx_session_summaries_project ON session_summaries(project); CREATE INDEX IF NOT EXISTS idx_session_summaries_created ON session_summaries(created_at_epoch DESC); - `),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(4,new Date().toISOString()),p.info("DB","Migration004 applied successfully"))}catch(e){throw p.error("DB","Schema initialization error",void 0,e),e}}ensureWorkerPortColumn(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(5))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(r=>r.name==="worker_port")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN worker_port INTEGER"),p.info("DB","Added worker_port column to sdk_sessions table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(5,new Date().toISOString())}ensurePromptTrackingColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(6))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(d=>d.name==="prompt_counter")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN prompt_counter INTEGER DEFAULT 0"),p.info("DB","Added prompt_counter column to sdk_sessions table")),this.db.query("PRAGMA table_info(observations)").all().some(d=>d.name==="prompt_number")||(this.db.run("ALTER TABLE observations ADD COLUMN prompt_number INTEGER"),p.info("DB","Added prompt_number column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(d=>d.name==="prompt_number")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN prompt_number INTEGER"),p.info("DB","Added prompt_number column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(6,new Date().toISOString())}removeSessionSummariesUniqueConstraint(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(7))return;if(!this.db.query("PRAGMA index_list(session_summaries)").all().some(r=>r.unique===1)){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString());return}p.info("DB","Removing UNIQUE constraint from session_summaries.memory_session_id"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` + `),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(4,new Date().toISOString()),p.info("DB","Migration004 applied successfully"))}catch(e){throw p.error("DB","Schema initialization error",void 0,e),e}}ensureWorkerPortColumn(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(5))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(r=>r.name==="worker_port")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN worker_port INTEGER"),p.info("DB","Added worker_port column to sdk_sessions table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(5,new Date().toISOString())}ensurePromptTrackingColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(6))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(_=>_.name==="prompt_counter")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN prompt_counter INTEGER DEFAULT 0"),p.info("DB","Added prompt_counter column to sdk_sessions table")),this.db.query("PRAGMA table_info(observations)").all().some(_=>_.name==="prompt_number")||(this.db.run("ALTER TABLE observations ADD COLUMN prompt_number INTEGER"),p.info("DB","Added prompt_number column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(_=>_.name==="prompt_number")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN prompt_number INTEGER"),p.info("DB","Added prompt_number column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(6,new Date().toISOString())}removeSessionSummariesUniqueConstraint(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(7))return;if(!this.db.query("PRAGMA index_list(session_summaries)").all().some(r=>r.unique===1)){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString());return}p.info("DB","Removing UNIQUE constraint from session_summaries.memory_session_id"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` CREATE TABLE session_summaries_new ( id INTEGER PRIMARY KEY AUTOINCREMENT, memory_session_id TEXT NOT NULL, @@ -192,7 +192,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` completed_at_epoch INTEGER, FOREIGN KEY (session_db_id) REFERENCES sdk_sessions(id) ON DELETE CASCADE ) - `),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),p.info("DB","pending_messages table created successfully")}catch(e){throw p.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;if(this.db.query("PRAGMA table_info(sdk_sessions)").all().some(r=>r.name==="content_session_id")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString());return}p.info("DB","Renaming session ID columns for semantic clarity"),this.db.run("BEGIN TRANSACTION");try{this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),p.info("DB","Successfully renamed session ID columns")}catch(r){throw this.db.run("ROLLBACK"),p.error("DB","Session ID column rename migration error",void 0,r),r}}repairSessionIdColumnRename(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19))return;p.info("DB","Checking session ID column renames (repair migration)");let t=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(d=>d.name==="claude_session_id")&&(p.info("DB","Repairing sdk_sessions columns"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),t=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(d=>d.name==="claude_session_id")&&(p.info("DB","Repairing pending_messages columns"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),t=!0),this.db.query("PRAGMA table_info(observations)").all().some(d=>d.name==="sdk_session_id")&&(p.info("DB","Repairing observations columns"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),t=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(d=>d.name==="sdk_session_id")&&(p.info("DB","Repairing session_summaries columns"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),t=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(d=>d.name==="claude_session_id")&&(p.info("DB","Repairing user_prompts columns"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),t=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),t?p.info("DB","Session ID column rename repairs completed"):p.info("DB","No session ID column repairs needed")}catch(e){throw p.error("DB","Session ID column rename repair error",void 0,e),e}}updateMemorySessionId(e,t){this.db.prepare(` + `),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),p.info("DB","pending_messages table created successfully")}catch(e){throw p.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;p.info("DB","Checking session ID columns for semantic clarity rename");let t=0,s=(r,i,a)=>{try{let c=this.db.query(`PRAGMA table_info(${r})`).all(),_=c.some(u=>u.name===i);return c.some(u=>u.name===a)?!1:_?(this.db.run(`ALTER TABLE ${r} RENAME COLUMN ${i} TO ${a}`),p.info("DB",`Renamed ${r}.${i} to ${a}`),!0):(p.warn("DB",`Column ${i} not found in ${r}, skipping rename`),!1)}catch(c){return p.warn("DB",`Could not rename ${r}.${i}: ${c.message}`),!1}};s("sdk_sessions","claude_session_id","content_session_id")&&t++,s("sdk_sessions","sdk_session_id","memory_session_id")&&t++,s("pending_messages","claude_session_id","content_session_id")&&t++,s("observations","sdk_session_id","memory_session_id")&&t++,s("session_summaries","sdk_session_id","memory_session_id")&&t++,s("user_prompts","claude_session_id","content_session_id")&&t++,this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),t>0?p.info("DB",`Successfully renamed ${t} session ID columns`):p.info("DB","No session ID column renames needed (already up to date)")}repairSessionIdColumnRename(){this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19)||this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString())}updateMemorySessionId(e,t){this.db.prepare(` UPDATE sdk_sessions SET memory_session_id = ? WHERE id = ? @@ -284,12 +284,12 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` SELECT * FROM observations WHERE id = ? - `).get(e)||null}getObservationsByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i,type:a,concepts:c,files:d}=t,u=s==="date_asc"?"ASC":"DESC",l=r?`LIMIT ${r}`:"",b=e.map(()=>"?").join(","),O=[...e],E=[];if(i&&(E.push("project = ?"),O.push(i)),a)if(Array.isArray(a)){let n=a.map(()=>"?").join(",");E.push(`type IN (${n})`),O.push(...a)}else E.push("type = ?"),O.push(a);if(c){let n=Array.isArray(c)?c:[c],I=n.map(()=>"EXISTS (SELECT 1 FROM json_each(concepts) WHERE value = ?)");O.push(...n),E.push(`(${I.join(" OR ")})`)}if(d){let n=Array.isArray(d)?d:[d],I=n.map(()=>"(EXISTS (SELECT 1 FROM json_each(files_read) WHERE value LIKE ?) OR EXISTS (SELECT 1 FROM json_each(files_modified) WHERE value LIKE ?))");n.forEach(R=>{O.push(`%${R}%`,`%${R}%`)}),E.push(`(${I.join(" OR ")})`)}let A=E.length>0?`WHERE id IN (${b}) AND ${E.join(" AND ")}`:`WHERE id IN (${b})`;return this.db.prepare(` + `).get(e)||null}getObservationsByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i,type:a,concepts:c,files:_}=t,l=s==="date_asc"?"ASC":"DESC",u=r?`LIMIT ${r}`:"",S=e.map(()=>"?").join(","),O=[...e],E=[];if(i&&(E.push("project = ?"),O.push(i)),a)if(Array.isArray(a)){let n=a.map(()=>"?").join(",");E.push(`type IN (${n})`),O.push(...a)}else E.push("type = ?"),O.push(a);if(c){let n=Array.isArray(c)?c:[c],I=n.map(()=>"EXISTS (SELECT 1 FROM json_each(concepts) WHERE value = ?)");O.push(...n),E.push(`(${I.join(" OR ")})`)}if(_){let n=Array.isArray(_)?_:[_],I=n.map(()=>"(EXISTS (SELECT 1 FROM json_each(files_read) WHERE value LIKE ?) OR EXISTS (SELECT 1 FROM json_each(files_modified) WHERE value LIKE ?))");n.forEach(R=>{O.push(`%${R}%`,`%${R}%`)}),E.push(`(${I.join(" OR ")})`)}let A=E.length>0?`WHERE id IN (${S}) AND ${E.join(" AND ")}`:`WHERE id IN (${S})`;return this.db.prepare(` SELECT * FROM observations ${A} - ORDER BY created_at_epoch ${u} - ${l} + ORDER BY created_at_epoch ${l} + ${u} `).all(...O)}getSummaryForSession(e){return this.db.prepare(` SELECT request, investigated, learned, completed, next_steps, @@ -303,7 +303,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` SELECT files_read, files_modified FROM observations WHERE memory_session_id = ? - `).all(e),r=new Set,i=new Set;for(let a of s){if(a.files_read){let c=JSON.parse(a.files_read);Array.isArray(c)&&c.forEach(d=>r.add(d))}if(a.files_modified){let c=JSON.parse(a.files_modified);Array.isArray(c)&&c.forEach(d=>i.add(d))}}return{filesRead:Array.from(r),filesModified:Array.from(i)}}getSessionById(e){return this.db.prepare(` + `).all(e),r=new Set,i=new Set;for(let a of s){if(a.files_read){let c=JSON.parse(a.files_read);Array.isArray(c)&&c.forEach(_=>r.add(_))}if(a.files_modified){let c=JSON.parse(a.files_modified);Array.isArray(c)&&c.forEach(_=>i.add(_))}}return{filesRead:Array.from(r),filesModified:Array.from(i)}}getSessionById(e){return this.db.prepare(` SELECT id, content_session_id, memory_session_id, project, user_prompt FROM sdk_sessions WHERE id = ? @@ -329,32 +329,32 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` FROM user_prompts WHERE content_session_id = ? AND prompt_number = ? LIMIT 1 - `).get(e,t)?.prompt_text??null}storeObservation(e,t,s,r,i=0,a){let c=a??Date.now(),d=new Date(c).toISOString(),l=this.db.prepare(` + `).get(e,t)?.prompt_text??null}storeObservation(e,t,s,r,i=0,a){let c=a??Date.now(),_=new Date(c).toISOString(),u=this.db.prepare(` INSERT INTO observations (memory_session_id, project, type, title, subtitle, facts, narrative, concepts, files_read, files_modified, prompt_number, discovery_tokens, created_at, created_at_epoch) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(e,t,s.type,s.title,s.subtitle,JSON.stringify(s.facts),s.narrative,JSON.stringify(s.concepts),JSON.stringify(s.files_read),JSON.stringify(s.files_modified),r||null,i,d,c);return{id:Number(l.lastInsertRowid),createdAtEpoch:c}}storeSummary(e,t,s,r,i=0,a){let c=a??Date.now(),d=new Date(c).toISOString(),l=this.db.prepare(` + `).run(e,t,s.type,s.title,s.subtitle,JSON.stringify(s.facts),s.narrative,JSON.stringify(s.concepts),JSON.stringify(s.files_read),JSON.stringify(s.files_modified),r||null,i,_,c);return{id:Number(u.lastInsertRowid),createdAtEpoch:c}}storeSummary(e,t,s,r,i=0,a){let c=a??Date.now(),_=new Date(c).toISOString(),u=this.db.prepare(` INSERT INTO session_summaries (memory_session_id, project, request, investigated, learned, completed, next_steps, notes, prompt_number, discovery_tokens, created_at, created_at_epoch) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(e,t,s.request,s.investigated,s.learned,s.completed,s.next_steps,s.notes,r||null,i,d,c);return{id:Number(l.lastInsertRowid),createdAtEpoch:c}}getSessionSummariesByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i}=t,a=s==="date_asc"?"ASC":"DESC",c=r?`LIMIT ${r}`:"",d=e.map(()=>"?").join(","),u=[...e],l=i?`WHERE id IN (${d}) AND project = ?`:`WHERE id IN (${d})`;return i&&u.push(i),this.db.prepare(` + `).run(e,t,s.request,s.investigated,s.learned,s.completed,s.next_steps,s.notes,r||null,i,_,c);return{id:Number(u.lastInsertRowid),createdAtEpoch:c}}getSessionSummariesByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i}=t,a=s==="date_asc"?"ASC":"DESC",c=r?`LIMIT ${r}`:"",_=e.map(()=>"?").join(","),l=[...e],u=i?`WHERE id IN (${_}) AND project = ?`:`WHERE id IN (${_})`;return i&&l.push(i),this.db.prepare(` SELECT * FROM session_summaries - ${l} + ${u} ORDER BY created_at_epoch ${a} ${c} - `).all(...u)}getUserPromptsByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i}=t,a=s==="date_asc"?"ASC":"DESC",c=r?`LIMIT ${r}`:"",d=e.map(()=>"?").join(","),u=[...e],l=i?"AND s.project = ?":"";return i&&u.push(i),this.db.prepare(` + `).all(...l)}getUserPromptsByIds(e,t={}){if(e.length===0)return[];let{orderBy:s="date_desc",limit:r,project:i}=t,a=s==="date_asc"?"ASC":"DESC",c=r?`LIMIT ${r}`:"",_=e.map(()=>"?").join(","),l=[...e],u=i?"AND s.project = ?":"";return i&&l.push(i),this.db.prepare(` SELECT up.*, s.project, s.memory_session_id FROM user_prompts up JOIN sdk_sessions s ON up.content_session_id = s.content_session_id - WHERE up.id IN (${d}) ${l} + WHERE up.id IN (${_}) ${u} ORDER BY up.created_at_epoch ${a} ${c} - `).all(...u)}getTimelineAroundTimestamp(e,t=10,s=10,r){return this.getTimelineAroundObservation(null,e,t,s,r)}getTimelineAroundObservation(e,t,s=10,r=10,i){let a=i?"AND project = ?":"",c=i?[i]:[],d,u;if(e!==null){let E=` + `).all(...l)}getTimelineAroundTimestamp(e,t=10,s=10,r){return this.getTimelineAroundObservation(null,e,t,s,r)}getTimelineAroundObservation(e,t,s=10,r=10,i){let a=i?"AND project = ?":"",c=i?[i]:[],_,l;if(e!==null){let E=` SELECT id, created_at_epoch FROM observations WHERE id <= ? ${a} @@ -366,7 +366,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` WHERE id >= ? ${a} ORDER BY id ASC LIMIT ? - `;try{let g=this.db.prepare(E).all(e,...c,s+1),n=this.db.prepare(A).all(e,...c,r+1);if(g.length===0&&n.length===0)return{observations:[],sessions:[],prompts:[]};d=g.length>0?g[g.length-1].created_at_epoch:t,u=n.length>0?n[n.length-1].created_at_epoch:t}catch(g){return p.error("DB","Error getting boundary observations",void 0,{error:g,project:i}),{observations:[],sessions:[],prompts:[]}}}else{let E=` + `;try{let g=this.db.prepare(E).all(e,...c,s+1),n=this.db.prepare(A).all(e,...c,r+1);if(g.length===0&&n.length===0)return{observations:[],sessions:[],prompts:[]};_=g.length>0?g[g.length-1].created_at_epoch:t,l=n.length>0?n[n.length-1].created_at_epoch:t}catch(g){return p.error("DB","Error getting boundary observations",void 0,{error:g,project:i}),{observations:[],sessions:[],prompts:[]}}}else{let E=` SELECT created_at_epoch FROM observations WHERE created_at_epoch <= ? ${a} @@ -378,12 +378,12 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` WHERE created_at_epoch >= ? ${a} ORDER BY created_at_epoch ASC LIMIT ? - `;try{let g=this.db.prepare(E).all(t,...c,s),n=this.db.prepare(A).all(t,...c,r+1);if(g.length===0&&n.length===0)return{observations:[],sessions:[],prompts:[]};d=g.length>0?g[g.length-1].created_at_epoch:t,u=n.length>0?n[n.length-1].created_at_epoch:t}catch(g){return p.error("DB","Error getting boundary timestamps",void 0,{error:g,project:i}),{observations:[],sessions:[],prompts:[]}}}let l=` + `;try{let g=this.db.prepare(E).all(t,...c,s),n=this.db.prepare(A).all(t,...c,r+1);if(g.length===0&&n.length===0)return{observations:[],sessions:[],prompts:[]};_=g.length>0?g[g.length-1].created_at_epoch:t,l=n.length>0?n[n.length-1].created_at_epoch:t}catch(g){return p.error("DB","Error getting boundary timestamps",void 0,{error:g,project:i}),{observations:[],sessions:[],prompts:[]}}}let u=` SELECT * FROM observations WHERE created_at_epoch >= ? AND created_at_epoch <= ? ${a} ORDER BY created_at_epoch ASC - `,b=` + `,S=` SELECT * FROM session_summaries WHERE created_at_epoch >= ? AND created_at_epoch <= ? ${a} @@ -394,7 +394,7 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` JOIN sdk_sessions s ON up.content_session_id = s.content_session_id WHERE up.created_at_epoch >= ? AND up.created_at_epoch <= ? ${a.replace("project","s.project")} ORDER BY up.created_at_epoch ASC - `;try{let E=this.db.prepare(l).all(d,u,...c),A=this.db.prepare(b).all(d,u,...c),g=this.db.prepare(O).all(d,u,...c);return{observations:E,sessions:A.map(n=>({id:n.id,memory_session_id:n.memory_session_id,project:n.project,request:n.request,completed:n.completed,next_steps:n.next_steps,created_at:n.created_at,created_at_epoch:n.created_at_epoch})),prompts:g.map(n=>({id:n.id,content_session_id:n.content_session_id,prompt_number:n.prompt_number,prompt_text:n.prompt_text,project:n.project,created_at:n.created_at,created_at_epoch:n.created_at_epoch}))}}catch(E){return p.error("DB","Error querying timeline records",void 0,{error:E,project:i}),{observations:[],sessions:[],prompts:[]}}}getPromptById(e){return this.db.prepare(` + `;try{let E=this.db.prepare(u).all(_,l,...c),A=this.db.prepare(S).all(_,l,...c),g=this.db.prepare(O).all(_,l,...c);return{observations:E,sessions:A.map(n=>({id:n.id,memory_session_id:n.memory_session_id,project:n.project,request:n.request,completed:n.completed,next_steps:n.next_steps,created_at:n.created_at,created_at_epoch:n.created_at_epoch})),prompts:g.map(n=>({id:n.id,content_session_id:n.content_session_id,prompt_number:n.prompt_number,prompt_text:n.prompt_text,project:n.project,created_at:n.created_at,created_at_epoch:n.created_at_epoch}))}}catch(E){return p.error("DB","Error querying timeline records",void 0,{error:E,project:i}),{observations:[],sessions:[],prompts:[]}}}getPromptById(e){return this.db.prepare(` SELECT p.id, p.content_session_id, @@ -463,8 +463,8 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` content_session_id, prompt_number, prompt_text, created_at, created_at_epoch ) VALUES (?, ?, ?, ?, ?) - `).run(e.content_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}};var pe=ae(require("path"),1);function me(_){if(!_)return[];try{let e=JSON.parse(_);return Array.isArray(e)?e:[]}catch{return[]}}function De(_){return new Date(_).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function ve(_){return new Date(_).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Ue(_){return new Date(_).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function Ze(_,e){return pe.default.isAbsolute(_)?pe.default.relative(e,_):_}function $e(_,e){let t=me(_);return t.length>0?Ze(t[0],e):"General"}var ke=ae(require("path"),1);function xe(_){if(!_||_.trim()==="")return p.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:_}),"unknown-project";let e=ke.default.basename(_);if(e===""){if(process.platform==="win32"){let s=_.match(/^([A-Z]):\\/i);if(s){let i=`drive-${s[1].toUpperCase()}`;return p.info("PROJECT_NAME","Drive root detected",{cwd:_,projectName:i}),i}}return p.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:_}),"unknown-project"}return e}var H=require("fs"),ee=require("path");var P=class _{static instance=null;activeMode=null;modesDir;constructor(){let e=Ce(),t=[(0,ee.join)(e,"modes"),(0,ee.join)(e,"..","plugin","modes")],s=t.find(r=>(0,H.existsSync)(r));this.modesDir=s||t[0]}static getInstance(){return _.instance||(_.instance=new _),_.instance}parseInheritance(e){let t=e.split("--");if(t.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(t.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:t[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,t){let s={...e};for(let r in t){let i=t[r],a=e[r];this.isPlainObject(i)&&this.isPlainObject(a)?s[r]=this.deepMerge(a,i):s[r]=i}return s}loadModeFile(e){let t=(0,ee.join)(this.modesDir,`${e}.json`);if(!(0,H.existsSync)(t))throw new Error(`Mode file not found: ${t}`);let s=(0,H.readFileSync)(t,"utf-8");return JSON.parse(s)}loadMode(e){let t=this.parseInheritance(e);if(!t.hasParent)try{let d=this.loadModeFile(e);return this.activeMode=d,p.debug("SYSTEM",`Loaded mode: ${d.name} (${e})`,void 0,{types:d.observation_types.map(u=>u.id),concepts:d.observation_concepts.map(u=>u.id)}),d}catch{if(p.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:s,overrideId:r}=t,i;try{i=this.loadMode(s)}catch{p.warn("SYSTEM",`Parent mode '${s}' not found for ${e}, falling back to 'code'`),i=this.loadMode("code")}let a;try{a=this.loadModeFile(r),p.debug("SYSTEM",`Loaded override file: ${r} for parent ${s}`)}catch{return p.warn("SYSTEM",`Override file '${r}' not found, using parent mode '${s}' only`),this.activeMode=i,i}if(!a)return p.warn("SYSTEM",`Invalid override file: ${r}, using parent mode '${s}' only`),this.activeMode=i,i;let c=this.deepMerge(i,a);return this.activeMode=c,p.debug("SYSTEM",`Loaded mode with inheritance: ${c.name} (${e} = ${s} + ${r})`,void 0,{parent:s,override:r,types:c.observation_types.map(d=>d.id),concepts:c.observation_concepts.map(d=>d.id)}),c}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(s=>s.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(s=>s.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(t=>t.id===e)}getTypeLabel(e){return this.getObservationTypes().find(s=>s.id===e)?.label||e}};var et=se.default.join((0,re.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");function tt(){let _=se.default.join((0,re.homedir)(),".claude-mem","settings.json"),e=C.loadFromFile(_),t=e.CLAUDE_MEM_MODE,s=t==="code"||t.startsWith("code--"),r,i;if(s)r=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(a=>a.trim()).filter(Boolean)),i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(a=>a.trim()).filter(Boolean));else{let a=P.getInstance().getActiveMode();r=new Set(a.observation_types.map(c=>c.id)),i=new Set(a.observation_concepts.map(c=>c.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:r,observationConcepts:i,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var we=4,st=1,o={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"};function te(_,e,t,s){return e?s?[`${t}${_}:${o.reset} ${e}`,""]:[`**${_}**: ${e}`,""]:[]}function rt(_){return _.replace(/\//g,"-")}function nt(_){try{if(!(0,W.existsSync)(_))return{userMessage:"",assistantMessage:""};let e=(0,W.readFileSync)(_,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let t=e.split(` -`).filter(r=>r.trim()),s="";for(let r=t.length-1;r>=0;r--)try{let i=t[r];if(!i.includes('"type":"assistant"'))continue;let a=JSON.parse(i);if(a.type==="assistant"&&a.message?.content&&Array.isArray(a.message.content)){let c="";for(let d of a.message.content)d.type==="text"&&(c+=d.text);if(c=c.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),c){s=c;break}}}catch{continue}return{userMessage:"",assistantMessage:s}}catch(e){return p.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:_},e),{userMessage:"",assistantMessage:""}}}async function it(_,e=!1){let t=tt(),s=_?.cwd??process.cwd(),r=xe(s),i=null;try{i=new Z}catch(I){if(I.code==="ERR_DLOPEN_FAILED"){try{(0,W.unlinkSync)(et)}catch{}return p.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),""}throw I}let a=Array.from(t.observationTypes),c=a.map(()=>"?").join(","),d=Array.from(t.observationConcepts),u=d.map(()=>"?").join(","),l=i.db.prepare(` + `).run(e.content_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}};var pe=ae(require("path"),1);function me(d){if(!d)return[];try{let e=JSON.parse(d);return Array.isArray(e)?e:[]}catch{return[]}}function De(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Me(d){return new Date(d).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function $e(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function Ze(d,e){return pe.default.isAbsolute(d)?pe.default.relative(e,d):d}function Ue(d,e){let t=me(d);return t.length>0?Ze(t[0],e):"General"}var ke=ae(require("path"),1);function xe(d){if(!d||d.trim()==="")return p.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:d}),"unknown-project";let e=ke.default.basename(d);if(e===""){if(process.platform==="win32"){let s=d.match(/^([A-Z]):\\/i);if(s){let i=`drive-${s[1].toUpperCase()}`;return p.info("PROJECT_NAME","Drive root detected",{cwd:d,projectName:i}),i}}return p.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:d}),"unknown-project"}return e}var H=require("fs"),ee=require("path");var P=class d{static instance=null;activeMode=null;modesDir;constructor(){let e=Ce(),t=[(0,ee.join)(e,"modes"),(0,ee.join)(e,"..","plugin","modes")],s=t.find(r=>(0,H.existsSync)(r));this.modesDir=s||t[0]}static getInstance(){return d.instance||(d.instance=new d),d.instance}parseInheritance(e){let t=e.split("--");if(t.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(t.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:t[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,t){let s={...e};for(let r in t){let i=t[r],a=e[r];this.isPlainObject(i)&&this.isPlainObject(a)?s[r]=this.deepMerge(a,i):s[r]=i}return s}loadModeFile(e){let t=(0,ee.join)(this.modesDir,`${e}.json`);if(!(0,H.existsSync)(t))throw new Error(`Mode file not found: ${t}`);let s=(0,H.readFileSync)(t,"utf-8");return JSON.parse(s)}loadMode(e){let t=this.parseInheritance(e);if(!t.hasParent)try{let _=this.loadModeFile(e);return this.activeMode=_,p.debug("SYSTEM",`Loaded mode: ${_.name} (${e})`,void 0,{types:_.observation_types.map(l=>l.id),concepts:_.observation_concepts.map(l=>l.id)}),_}catch{if(p.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:s,overrideId:r}=t,i;try{i=this.loadMode(s)}catch{p.warn("SYSTEM",`Parent mode '${s}' not found for ${e}, falling back to 'code'`),i=this.loadMode("code")}let a;try{a=this.loadModeFile(r),p.debug("SYSTEM",`Loaded override file: ${r} for parent ${s}`)}catch{return p.warn("SYSTEM",`Override file '${r}' not found, using parent mode '${s}' only`),this.activeMode=i,i}if(!a)return p.warn("SYSTEM",`Invalid override file: ${r}, using parent mode '${s}' only`),this.activeMode=i,i;let c=this.deepMerge(i,a);return this.activeMode=c,p.debug("SYSTEM",`Loaded mode with inheritance: ${c.name} (${e} = ${s} + ${r})`,void 0,{parent:s,override:r,types:c.observation_types.map(_=>_.id),concepts:c.observation_concepts.map(_=>_.id)}),c}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(s=>s.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(s=>s.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(t=>t.id===e)}getTypeLabel(e){return this.getObservationTypes().find(s=>s.id===e)?.label||e}};var et=se.default.join((0,re.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");function tt(){let d=se.default.join((0,re.homedir)(),".claude-mem","settings.json"),e=C.loadFromFile(d),t=e.CLAUDE_MEM_MODE,s=t==="code"||t.startsWith("code--"),r,i;if(s)r=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(a=>a.trim()).filter(Boolean)),i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(a=>a.trim()).filter(Boolean));else{let a=P.getInstance().getActiveMode();r=new Set(a.observation_types.map(c=>c.id)),i=new Set(a.observation_concepts.map(c=>c.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:r,observationConcepts:i,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var we=4,st=1,o={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"};function te(d,e,t,s){return e?s?[`${t}${d}:${o.reset} ${e}`,""]:[`**${d}**: ${e}`,""]:[]}function rt(d){return d.replace(/\//g,"-")}function nt(d){try{if(!(0,W.existsSync)(d))return{userMessage:"",assistantMessage:""};let e=(0,W.readFileSync)(d,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let t=e.split(` +`).filter(r=>r.trim()),s="";for(let r=t.length-1;r>=0;r--)try{let i=t[r];if(!i.includes('"type":"assistant"'))continue;let a=JSON.parse(i);if(a.type==="assistant"&&a.message?.content&&Array.isArray(a.message.content)){let c="";for(let _ of a.message.content)_.type==="text"&&(c+=_.text);if(c=c.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),c){s=c;break}}}catch{continue}return{userMessage:"",assistantMessage:s}}catch(e){return p.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:d},e),{userMessage:"",assistantMessage:""}}}async function it(d,e=!1){let t=tt(),s=d?.cwd??process.cwd(),r=xe(s),i=null;try{i=new Z}catch(I){if(I.code==="ERR_DLOPEN_FAILED"){try{(0,W.unlinkSync)(et)}catch{}return p.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),""}throw I}let a=Array.from(t.observationTypes),c=a.map(()=>"?").join(","),_=Array.from(t.observationConcepts),l=_.map(()=>"?").join(","),u=i.db.prepare(` SELECT id, memory_session_id, type, title, subtitle, narrative, facts, concepts, files_read, files_modified, discovery_tokens, @@ -474,23 +474,23 @@ ${i.stack}`:` ${i.message}`:this.getLevel()===0&&typeof i=="object"?l=` AND type IN (${c}) AND EXISTS ( SELECT 1 FROM json_each(concepts) - WHERE value IN (${u}) + WHERE value IN (${l}) ) ORDER BY created_at_epoch DESC LIMIT ? - `).all(r,...a,...d,t.totalObservationCount),b=i.db.prepare(` + `).all(r,...a,..._,t.totalObservationCount),S=i.db.prepare(` SELECT id, memory_session_id, request, investigated, learned, completed, next_steps, created_at, created_at_epoch FROM session_summaries WHERE project = ? ORDER BY created_at_epoch DESC LIMIT ? - `).all(r,t.sessionCount+st),O="",E="";if(t.showLastMessage&&l.length>0){let I=_?.session_id,R=l.find(v=>v.memory_session_id!==I);if(R){let v=R.memory_session_id,k=rt(s),N=se.default.join((0,re.homedir)(),".claude","projects",k,`${v}.jsonl`),D=nt(N);O=D.userMessage,E=D.assistantMessage}}if(l.length===0&&b.length===0)return i?.close(),e?` + `).all(r,t.sessionCount+st),O="",E="";if(t.showLastMessage&&u.length>0){let I=d?.session_id,R=u.find(M=>M.memory_session_id!==I);if(R){let M=R.memory_session_id,k=rt(s),N=se.default.join((0,re.homedir)(),".claude","projects",k,`${M}.jsonl`),D=nt(N);O=D.userMessage,E=D.assistantMessage}}if(u.length===0&&S.length===0)return i?.close(),e?` ${o.bright}${o.cyan}[${r}] recent context${o.reset} ${o.gray}${"\u2500".repeat(60)}${o.reset} ${o.dim}No previous sessions found for this project yet.${o.reset} `:`# [${r}] recent context -No previous sessions found for this project yet.`;let A=b.slice(0,t.sessionCount),g=l,n=[];if(e?(n.push(""),n.push(`${o.bright}${o.cyan}[${r}] recent context${o.reset}`),n.push(`${o.gray}${"\u2500".repeat(60)}${o.reset}`),n.push("")):(n.push(`# [${r}] recent context`),n.push("")),g.length>0){let R=P.getInstance().getActiveMode().observation_types.map(m=>`${m.emoji} ${m.id}`).join(" | ");e?n.push(`${o.dim}Legend: \u{1F3AF} session-request | ${R}${o.reset}`):n.push(`**Legend:** \u{1F3AF} session-request | ${R}`),n.push(""),e?(n.push(`${o.bright}\u{1F4A1} Column Key${o.reset}`),n.push(`${o.dim} Read: Tokens to read this observation (cost to learn it now)${o.reset}`),n.push(`${o.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${o.reset}`)):(n.push("\u{1F4A1} **Column Key**:"),n.push("- **Read**: Tokens to read this observation (cost to learn it now)"),n.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),n.push(""),e?(n.push(`${o.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${o.reset}`),n.push(""),n.push(`${o.dim}When you need implementation details, rationale, or debugging context:${o.reset}`),n.push(`${o.dim} - Use the mem-search skill to fetch full observations on-demand${o.reset}`),n.push(`${o.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${o.reset}`),n.push(`${o.dim} - Trust this index over re-reading code for past decisions and learnings${o.reset}`)):(n.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),n.push(""),n.push("When you need implementation details, rationale, or debugging context:"),n.push("- Use the mem-search skill to fetch full observations on-demand"),n.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),n.push("- Trust this index over re-reading code for past decisions and learnings")),n.push("");let v=l.length,k=l.reduce((m,h)=>{let f=(h.title?.length||0)+(h.subtitle?.length||0)+(h.narrative?.length||0)+JSON.stringify(h.facts||[]).length;return m+Math.ceil(f/we)},0),N=l.reduce((m,h)=>m+(h.discovery_tokens||0),0),D=N-k,Y=N>0?Math.round(D/N*100):0,ue=t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent;if(ue)if(e){if(n.push(`${o.bright}${o.cyan}\u{1F4CA} Context Economics${o.reset}`),n.push(`${o.dim} Loading: ${v} observations (${k.toLocaleString()} tokens to read)${o.reset}`),n.push(`${o.dim} Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions${o.reset}`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let m=" Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?m+=`${D.toLocaleString()} tokens (${Y}% reduction from reuse)`:t.showSavingsAmount?m+=`${D.toLocaleString()} tokens`:m+=`${Y}% reduction from reuse`,n.push(`${o.green}${m}${o.reset}`)}n.push("")}else{if(n.push("\u{1F4CA} **Context Economics**:"),n.push(`- Loading: ${v} observations (${k.toLocaleString()} tokens to read)`),n.push(`- Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let m="- Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?m+=`${D.toLocaleString()} tokens (${Y}% reduction from reuse)`:t.showSavingsAmount?m+=`${D.toLocaleString()} tokens`:m+=`${Y}% reduction from reuse`,n.push(m)}n.push("")}let Fe=b[0]?.id,Pe=A.map((m,h)=>{let f=h===0?null:b[h+1];return{...m,displayEpoch:f?f.created_at_epoch:m.created_at_epoch,displayTime:f?f.created_at:m.created_at,shouldShowLink:m.id!==Fe}}),Be=new Set(l.slice(0,t.fullObservationCount).map(m=>m.id)),le=[...g.map(m=>({type:"observation",data:m})),...Pe.map(m=>({type:"summary",data:m}))];le.sort((m,h)=>{let f=m.type==="observation"?m.data.created_at_epoch:m.data.displayEpoch,U=h.type==="observation"?h.data.created_at_epoch:h.data.displayEpoch;return f-U});let V=new Map;for(let m of le){let h=m.type==="observation"?m.data.created_at:m.data.displayTime,f=Ue(h);V.has(f)||V.set(f,[]),V.get(f).push(m)}let Xe=Array.from(V.entries()).sort((m,h)=>{let f=new Date(m[0]).getTime(),U=new Date(h[0]).getTime();return f-U});for(let[m,h]of Xe){e?(n.push(`${o.bright}${o.cyan}${m}${o.reset}`),n.push("")):(n.push(`### ${m}`),n.push(""));let f=null,U="",x=!1;for(let ne of h)if(ne.type==="summary"){x&&(n.push(""),x=!1,f=null,U="");let T=ne.data,w=`${T.request||"Session started"} (${De(T.displayTime)})`;e?n.push(`\u{1F3AF} ${o.yellow}#S${T.id}${o.reset} ${w}`):n.push(`**\u{1F3AF} #S${T.id}** ${w}`),n.push("")}else{let T=ne.data,w=$e(T.files_modified,s);w!==f&&(x&&n.push(""),e?n.push(`${o.dim}${w}${o.reset}`):n.push(`**${w}**`),e||(n.push("| ID | Time | T | Title | Read | Work |"),n.push("|----|------|---|-------|------|------|")),f=w,x=!0,U="");let F=ve(T.created_at),K=T.title||"Untitled",q=P.getInstance().getTypeIcon(T.type),je=(T.title?.length||0)+(T.subtitle?.length||0)+(T.narrative?.length||0)+JSON.stringify(T.facts||[]).length,B=Math.ceil(je/we),X=T.discovery_tokens||0,ie=P.getInstance().getWorkEmoji(T.type),Te=X>0?`${ie} ${X.toLocaleString()}`:"-",oe=F!==U,ge=oe?F:"";if(U=F,Be.has(T.id)){let $=t.fullObservationField==="narrative"?T.narrative:T.facts?me(T.facts).join(` -`):null;if(e){let y=oe?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),J=t.showReadTokens&&B>0?`${o.dim}(~${B}t)${o.reset}`:"",he=t.showWorkTokens&&X>0?`${o.dim}(${ie} ${X.toLocaleString()}t)${o.reset}`:"";n.push(` ${o.dim}#${T.id}${o.reset} ${y} ${q} ${o.bright}${K}${o.reset}`),$&&n.push(` ${o.dim}${$}${o.reset}`),(J||he)&&n.push(` ${J} ${he}`),n.push("")}else{x&&(n.push(""),x=!1),n.push(`**#${T.id}** ${ge||"\u2033"} ${q} **${K}**`),$&&(n.push(""),n.push($),n.push(""));let y=[];t.showReadTokens&&y.push(`Read: ~${B}`),t.showWorkTokens&&y.push(`Work: ${Te}`),y.length>0&&n.push(y.join(", ")),n.push(""),f=null}}else if(e){let $=oe?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),y=t.showReadTokens&&B>0?`${o.dim}(~${B}t)${o.reset}`:"",J=t.showWorkTokens&&X>0?`${o.dim}(${ie} ${X.toLocaleString()}t)${o.reset}`:"";n.push(` ${o.dim}#${T.id}${o.reset} ${$} ${q} ${K} ${y} ${J}`)}else{let $=t.showReadTokens?`~${B}`:"",y=t.showWorkTokens?Te:"";n.push(`| #${T.id} | ${ge||"\u2033"} | ${q} | ${K} | ${$} | ${y} |`)}}x&&n.push("")}let L=b[0],Ee=l[0];if(t.showLastSummary&&L&&(L.investigated||L.learned||L.completed||L.next_steps)&&(!Ee||L.created_at_epoch>Ee.created_at_epoch)&&(n.push(...te("Investigated",L.investigated,o.blue,e)),n.push(...te("Learned",L.learned,o.yellow,e)),n.push(...te("Completed",L.completed,o.green,e)),n.push(...te("Next Steps",L.next_steps,o.magenta,e))),E&&(n.push(""),n.push("---"),n.push(""),e?(n.push(`${o.bright}${o.magenta}\u{1F4CB} Previously${o.reset}`),n.push(""),n.push(`${o.dim}A: ${E}${o.reset}`)):(n.push("**\u{1F4CB} Previously**"),n.push(""),n.push(`A: ${E}`)),n.push("")),ue&&N>0&&D>0){let m=Math.round(N/1e3);n.push(""),e?n.push(`${o.dim}\u{1F4B0} Access ${m}k tokens of past research & decisions for just ${k.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.${o.reset}`):n.push(`\u{1F4B0} Access ${m}k tokens of past research & decisions for just ${k.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.`)}}return i?.close(),n.join(` +No previous sessions found for this project yet.`;let A=S.slice(0,t.sessionCount),g=u,n=[];if(e?(n.push(""),n.push(`${o.bright}${o.cyan}[${r}] recent context${o.reset}`),n.push(`${o.gray}${"\u2500".repeat(60)}${o.reset}`),n.push("")):(n.push(`# [${r}] recent context`),n.push("")),g.length>0){let R=P.getInstance().getActiveMode().observation_types.map(m=>`${m.emoji} ${m.id}`).join(" | ");e?n.push(`${o.dim}Legend: \u{1F3AF} session-request | ${R}${o.reset}`):n.push(`**Legend:** \u{1F3AF} session-request | ${R}`),n.push(""),e?(n.push(`${o.bright}\u{1F4A1} Column Key${o.reset}`),n.push(`${o.dim} Read: Tokens to read this observation (cost to learn it now)${o.reset}`),n.push(`${o.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${o.reset}`)):(n.push("\u{1F4A1} **Column Key**:"),n.push("- **Read**: Tokens to read this observation (cost to learn it now)"),n.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),n.push(""),e?(n.push(`${o.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${o.reset}`),n.push(""),n.push(`${o.dim}When you need implementation details, rationale, or debugging context:${o.reset}`),n.push(`${o.dim} - Use the mem-search skill to fetch full observations on-demand${o.reset}`),n.push(`${o.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${o.reset}`),n.push(`${o.dim} - Trust this index over re-reading code for past decisions and learnings${o.reset}`)):(n.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),n.push(""),n.push("When you need implementation details, rationale, or debugging context:"),n.push("- Use the mem-search skill to fetch full observations on-demand"),n.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),n.push("- Trust this index over re-reading code for past decisions and learnings")),n.push("");let M=u.length,k=u.reduce((m,h)=>{let f=(h.title?.length||0)+(h.subtitle?.length||0)+(h.narrative?.length||0)+JSON.stringify(h.facts||[]).length;return m+Math.ceil(f/we)},0),N=u.reduce((m,h)=>m+(h.discovery_tokens||0),0),D=N-k,Y=N>0?Math.round(D/N*100):0,ue=t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent;if(ue)if(e){if(n.push(`${o.bright}${o.cyan}\u{1F4CA} Context Economics${o.reset}`),n.push(`${o.dim} Loading: ${M} observations (${k.toLocaleString()} tokens to read)${o.reset}`),n.push(`${o.dim} Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions${o.reset}`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let m=" Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?m+=`${D.toLocaleString()} tokens (${Y}% reduction from reuse)`:t.showSavingsAmount?m+=`${D.toLocaleString()} tokens`:m+=`${Y}% reduction from reuse`,n.push(`${o.green}${m}${o.reset}`)}n.push("")}else{if(n.push("\u{1F4CA} **Context Economics**:"),n.push(`- Loading: ${M} observations (${k.toLocaleString()} tokens to read)`),n.push(`- Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let m="- Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?m+=`${D.toLocaleString()} tokens (${Y}% reduction from reuse)`:t.showSavingsAmount?m+=`${D.toLocaleString()} tokens`:m+=`${Y}% reduction from reuse`,n.push(m)}n.push("")}let Fe=S[0]?.id,Pe=A.map((m,h)=>{let f=h===0?null:S[h+1];return{...m,displayEpoch:f?f.created_at_epoch:m.created_at_epoch,displayTime:f?f.created_at:m.created_at,shouldShowLink:m.id!==Fe}}),Xe=new Set(u.slice(0,t.fullObservationCount).map(m=>m.id)),le=[...g.map(m=>({type:"observation",data:m})),...Pe.map(m=>({type:"summary",data:m}))];le.sort((m,h)=>{let f=m.type==="observation"?m.data.created_at_epoch:m.data.displayEpoch,$=h.type==="observation"?h.data.created_at_epoch:h.data.displayEpoch;return f-$});let V=new Map;for(let m of le){let h=m.type==="observation"?m.data.created_at:m.data.displayTime,f=$e(h);V.has(f)||V.set(f,[]),V.get(f).push(m)}let je=Array.from(V.entries()).sort((m,h)=>{let f=new Date(m[0]).getTime(),$=new Date(h[0]).getTime();return f-$});for(let[m,h]of je){e?(n.push(`${o.bright}${o.cyan}${m}${o.reset}`),n.push("")):(n.push(`### ${m}`),n.push(""));let f=null,$="",x=!1;for(let ne of h)if(ne.type==="summary"){x&&(n.push(""),x=!1,f=null,$="");let T=ne.data,w=`${T.request||"Session started"} (${De(T.displayTime)})`;e?n.push(`\u{1F3AF} ${o.yellow}#S${T.id}${o.reset} ${w}`):n.push(`**\u{1F3AF} #S${T.id}** ${w}`),n.push("")}else{let T=ne.data,w=Ue(T.files_modified,s);w!==f&&(x&&n.push(""),e?n.push(`${o.dim}${w}${o.reset}`):n.push(`**${w}**`),e||(n.push("| ID | Time | T | Title | Read | Work |"),n.push("|----|------|---|-------|------|------|")),f=w,x=!0,$="");let F=Me(T.created_at),K=T.title||"Untitled",q=P.getInstance().getTypeIcon(T.type),Be=(T.title?.length||0)+(T.subtitle?.length||0)+(T.narrative?.length||0)+JSON.stringify(T.facts||[]).length,X=Math.ceil(Be/we),j=T.discovery_tokens||0,ie=P.getInstance().getWorkEmoji(T.type),Te=j>0?`${ie} ${j.toLocaleString()}`:"-",oe=F!==$,ge=oe?F:"";if($=F,Xe.has(T.id)){let U=t.fullObservationField==="narrative"?T.narrative:T.facts?me(T.facts).join(` +`):null;if(e){let y=oe?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),J=t.showReadTokens&&X>0?`${o.dim}(~${X}t)${o.reset}`:"",he=t.showWorkTokens&&j>0?`${o.dim}(${ie} ${j.toLocaleString()}t)${o.reset}`:"";n.push(` ${o.dim}#${T.id}${o.reset} ${y} ${q} ${o.bright}${K}${o.reset}`),U&&n.push(` ${o.dim}${U}${o.reset}`),(J||he)&&n.push(` ${J} ${he}`),n.push("")}else{x&&(n.push(""),x=!1),n.push(`**#${T.id}** ${ge||"\u2033"} ${q} **${K}**`),U&&(n.push(""),n.push(U),n.push(""));let y=[];t.showReadTokens&&y.push(`Read: ~${X}`),t.showWorkTokens&&y.push(`Work: ${Te}`),y.length>0&&n.push(y.join(", ")),n.push(""),f=null}}else if(e){let U=oe?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),y=t.showReadTokens&&X>0?`${o.dim}(~${X}t)${o.reset}`:"",J=t.showWorkTokens&&j>0?`${o.dim}(${ie} ${j.toLocaleString()}t)${o.reset}`:"";n.push(` ${o.dim}#${T.id}${o.reset} ${U} ${q} ${K} ${y} ${J}`)}else{let U=t.showReadTokens?`~${X}`:"",y=t.showWorkTokens?Te:"";n.push(`| #${T.id} | ${ge||"\u2033"} | ${q} | ${K} | ${U} | ${y} |`)}}x&&n.push("")}let L=S[0],Ee=u[0];if(t.showLastSummary&&L&&(L.investigated||L.learned||L.completed||L.next_steps)&&(!Ee||L.created_at_epoch>Ee.created_at_epoch)&&(n.push(...te("Investigated",L.investigated,o.blue,e)),n.push(...te("Learned",L.learned,o.yellow,e)),n.push(...te("Completed",L.completed,o.green,e)),n.push(...te("Next Steps",L.next_steps,o.magenta,e))),E&&(n.push(""),n.push("---"),n.push(""),e?(n.push(`${o.bright}${o.magenta}\u{1F4CB} Previously${o.reset}`),n.push(""),n.push(`${o.dim}A: ${E}${o.reset}`)):(n.push("**\u{1F4CB} Previously**"),n.push(""),n.push(`A: ${E}`)),n.push("")),ue&&N>0&&D>0){let m=Math.round(N/1e3);n.push(""),e?n.push(`${o.dim}\u{1F4B0} Access ${m}k tokens of past research & decisions for just ${k.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.${o.reset}`):n.push(`\u{1F4B0} Access ${m}k tokens of past research & decisions for just ${k.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.`)}}return i?.close(),n.join(` `).trimEnd()}0&&(module.exports={generateContext}); diff --git a/plugin/scripts/worker-service.cjs b/plugin/scripts/worker-service.cjs index c6465d94..14b9f8f6 100755 --- a/plugin/scripts/worker-service.cjs +++ b/plugin/scripts/worker-service.cjs @@ -49,7 +49,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
`+e+`
-`}function p2(){return function(){this.error(404)}}function f2(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=mf.original(this.req);r.path=null,r.pathname=l2(r.pathname+"/");var a=s2(c2.format(r)),n=d2("Redirecting","Redirecting to "+i2(a));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(n)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",a),e.end(n)}}});var BS=V((rr,HS)=>{"use strict";var fu=pb(),m2=require("events").EventEmitter,qS=mb(),FS=W0(),h2=Dp(),v2=qp(),US=bS(),zS=jS();rr=HS.exports=g2;function g2(){var t=function(e,r,a){t.handle(e,r,a)};return qS(t,m2.prototype,!1),qS(t,FS,!1),t.request=Object.create(US,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(zS,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}rr.application=FS;rr.request=US;rr.response=zS;rr.Route=h2;rr.Router=v2;rr.json=fu.json;rr.query=Fp();rr.raw=fu.raw;rr.static=LS();rr.text=fu.text;rr.urlencoded=fu.urlencoded;var y2=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];y2.forEach(function(t){Object.defineProperty(rr,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var mu=V((TW,VS)=>{"use strict";VS.exports=BS()});var wx=V(($u,xx)=>{(function(t,e){typeof $u=="object"&&typeof xx<"u"?e($u):typeof define=="function"&&define.amd?define(["exports"],e):e(t.URI=t.URI||{})})($u,(function(t){"use strict";function e(){for(var B=arguments.length,L=Array(B),G=0;G1){L[0]=L[0].slice(0,-1);for(var X=L.length-1,Y=1;Y= 0x80 (not a basic code point)","invalid-input":"Invalid input"},R=m-g,M=Math.floor,j=String.fromCharCode;function q(B){throw new RangeError(T[B])}function H(B,L){for(var G=[],X=B.length;X--;)G[X]=L(B[X]);return G}function N(B,L){var G=B.split("@"),X="";G.length>1&&(X=G[0]+"@",B=G[1]),B=B.replace(E,".");var Y=B.split("."),ye=H(Y,L).join(".");return X+ye}function W(B){for(var L=[],G=0,X=B.length;G=55296&&Y<=56319&&G>1,L+=M(L/G);L>R*_>>1;Y+=m)L=M(L/R);return M(Y+(R+1)*L/(L+f))},U=function(L){var G=[],X=L.length,Y=0,ye=v,qe=y,Xe=L.lastIndexOf(b);Xe<0&&(Xe=0);for(var rt=0;rt=128&&q("not-basic"),G.push(L.charCodeAt(rt));for(var Ct=Xe>0?Xe+1:0;Ct=X&&q("invalid-input");var gt=he(L.charCodeAt(Ct++));(gt>=m||gt>M((p-Y)/bt))&&q("overflow"),Y+=gt*bt;var Ye=It<=qe?g:It>=qe+_?_:It-qe;if(gtM(p/St)&&q("overflow"),bt*=St}var st=G.length+1;qe=re(Y-We,st,We==0),M(Y/st)>p-ye&&q("overflow"),ye+=M(Y/st),Y%=st,G.splice(Y++,0,ye)}return String.fromCodePoint.apply(String,G)},$=function(L){var G=[];L=W(L);var X=L.length,Y=v,ye=0,qe=y,Xe=!0,rt=!1,Ct=void 0;try{for(var We=L[Symbol.iterator](),bt;!(Xe=(bt=We.next()).done);Xe=!0){var It=bt.value;It<128&&G.push(j(It))}}catch(sa){rt=!0,Ct=sa}finally{try{!Xe&&We.return&&We.return()}finally{if(rt)throw Ct}}var gt=G.length,Ye=gt;for(gt&&G.push(b);Ye=Y&&prM((p-ye)/yr)&&q("overflow"),ye+=(St-Y)*yr,Y=St;var Xr=!0,aa=!1,mn=void 0;try{for(var Oi=L[Symbol.iterator](),sc;!(Xr=(sc=Oi.next()).done);Xr=!0){var ic=sc.value;if(icp&&q("overflow"),ic==Y){for(var rs=ye,ns=m;;ns+=m){var hn=ns<=qe?g:ns>=qe+_?_:ns-qe;if(rs>6|192).toString(16).toUpperCase()+"%"+(L&63|128).toString(16).toUpperCase():G="%"+(L>>12|224).toString(16).toUpperCase()+"%"+(L>>6&63|128).toString(16).toUpperCase()+"%"+(L&63|128).toString(16).toUpperCase(),G}function K(B){for(var L="",G=0,X=B.length;G=194&&Y<224){if(X-G>=6){var ye=parseInt(B.substr(G+4,2),16);L+=String.fromCharCode((Y&31)<<6|ye&63)}else L+=B.substr(G,6);G+=6}else if(Y>=224){if(X-G>=9){var qe=parseInt(B.substr(G+4,2),16),Xe=parseInt(B.substr(G+7,2),16);L+=String.fromCharCode((Y&15)<<12|(qe&63)<<6|Xe&63)}else L+=B.substr(G,9);G+=9}else L+=B.substr(G,3),G+=3}return L}function J(B,L){function G(X){var Y=K(X);return Y.match(L.UNRESERVED)?Y:X}return B.scheme&&(B.scheme=String(B.scheme).replace(L.PCT_ENCODED,G).toLowerCase().replace(L.NOT_SCHEME,"")),B.userinfo!==void 0&&(B.userinfo=String(B.userinfo).replace(L.PCT_ENCODED,G).replace(L.NOT_USERINFO,D).replace(L.PCT_ENCODED,n)),B.host!==void 0&&(B.host=String(B.host).replace(L.PCT_ENCODED,G).toLowerCase().replace(L.NOT_HOST,D).replace(L.PCT_ENCODED,n)),B.path!==void 0&&(B.path=String(B.path).replace(L.PCT_ENCODED,G).replace(B.scheme?L.NOT_PATH:L.NOT_PATH_NOSCHEME,D).replace(L.PCT_ENCODED,n)),B.query!==void 0&&(B.query=String(B.query).replace(L.PCT_ENCODED,G).replace(L.NOT_QUERY,D).replace(L.PCT_ENCODED,n)),B.fragment!==void 0&&(B.fragment=String(B.fragment).replace(L.PCT_ENCODED,G).replace(L.NOT_FRAGMENT,D).replace(L.PCT_ENCODED,n)),B}function de(B){return B.replace(/^0*(.*)/,"$1")||"0"}function se(B,L){var G=B.match(L.IPV4ADDRESS)||[],X=l(G,2),Y=X[1];return Y?Y.split(".").map(de).join("."):B}function me(B,L){var G=B.match(L.IPV6ADDRESS)||[],X=l(G,3),Y=X[1],ye=X[2];if(Y){for(var qe=Y.toLowerCase().split("::").reverse(),Xe=l(qe,2),rt=Xe[0],Ct=Xe[1],We=Ct?Ct.split(":").map(de):[],bt=rt.split(":").map(de),It=L.IPV4ADDRESS.test(bt[bt.length-1]),gt=It?7:8,Ye=bt.length-gt,St=Array(gt),st=0;st1){var ct=St.slice(0,dr.index),pr=St.slice(dr.index+dr.length);gr=ct.join(":")+"::"+pr.join(":")}else gr=St.join(":");return ye&&(gr+="%"+ye),gr}else return B}var C=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,I="".match(/(){0}/)[1]===void 0;function F(B){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G={},X=L.iri!==!1?u:c;L.reference==="suffix"&&(B=(L.scheme?L.scheme+":":"")+"//"+B);var Y=B.match(C);if(Y){I?(G.scheme=Y[1],G.userinfo=Y[3],G.host=Y[4],G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=Y[7],G.fragment=Y[8],isNaN(G.port)&&(G.port=Y[5])):(G.scheme=Y[1]||void 0,G.userinfo=B.indexOf("@")!==-1?Y[3]:void 0,G.host=B.indexOf("//")!==-1?Y[4]:void 0,G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=B.indexOf("?")!==-1?Y[7]:void 0,G.fragment=B.indexOf("#")!==-1?Y[8]:void 0,isNaN(G.port)&&(G.port=B.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Y[4]:void 0)),G.host&&(G.host=me(se(G.host,X),X)),G.scheme===void 0&&G.userinfo===void 0&&G.host===void 0&&G.port===void 0&&!G.path&&G.query===void 0?G.reference="same-document":G.scheme===void 0?G.reference="relative":G.fragment===void 0?G.reference="absolute":G.reference="uri",L.reference&&L.reference!=="suffix"&&L.reference!==G.reference&&(G.error=G.error||"URI is not a "+L.reference+" reference.");var ye=k[(L.scheme||G.scheme||"").toLowerCase()];if(!L.unicodeSupport&&(!ye||!ye.unicodeSupport)){if(G.host&&(L.domainHost||ye&&ye.domainHost))try{G.host=x.toASCII(G.host.replace(X.PCT_ENCODED,K).toLowerCase())}catch(qe){G.error=G.error||"Host's domain name can not be converted to ASCII via punycode: "+qe}J(G,c)}else J(G,X);ye&&ye.parse&&ye.parse(G,L)}else G.error=G.error||"URI can not be parsed.";return G}function Z(B,L){var G=L.iri!==!1?u:c,X=[];return B.userinfo!==void 0&&(X.push(B.userinfo),X.push("@")),B.host!==void 0&&X.push(me(se(String(B.host),G),G).replace(G.IPV6ADDRESS,function(Y,ye,qe){return"["+ye+(qe?"%25"+qe:"")+"]"})),(typeof B.port=="number"||typeof B.port=="string")&&(X.push(":"),X.push(String(B.port))),X.length?X.join(""):void 0}var ee=/^\.\.?\//,ce=/^\/\.(\/|$)/,ke=/^\/\.\.(\/|$)/,Ne=/^\/?(?:.|\n)*?(?=\/|$)/;function Me(B){for(var L=[];B.length;)if(B.match(ee))B=B.replace(ee,"");else if(B.match(ce))B=B.replace(ce,"/");else if(B.match(ke))B=B.replace(ke,"/"),L.pop();else if(B==="."||B==="..")B="";else{var G=B.match(Ne);if(G){var X=G[0];B=B.slice(X.length),L.push(X)}else throw new Error("Unexpected dot segment condition")}return L.join("")}function je(B){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=L.iri?u:c,X=[],Y=k[(L.scheme||B.scheme||"").toLowerCase()];if(Y&&Y.serialize&&Y.serialize(B,L),B.host&&!G.IPV6ADDRESS.test(B.host)){if(L.domainHost||Y&&Y.domainHost)try{B.host=L.iri?x.toUnicode(B.host):x.toASCII(B.host.replace(G.PCT_ENCODED,K).toLowerCase())}catch(Xe){B.error=B.error||"Host's domain name can not be converted to "+(L.iri?"Unicode":"ASCII")+" via punycode: "+Xe}}J(B,G),L.reference!=="suffix"&&B.scheme&&(X.push(B.scheme),X.push(":"));var ye=Z(B,L);if(ye!==void 0&&(L.reference!=="suffix"&&X.push("//"),X.push(ye),B.path&&B.path.charAt(0)!=="/"&&X.push("/")),B.path!==void 0){var qe=B.path;!L.absolutePath&&(!Y||!Y.absolutePath)&&(qe=Me(qe)),ye===void 0&&(qe=qe.replace(/^\/\//,"/%2F")),X.push(qe)}return B.query!==void 0&&(X.push("?"),X.push(B.query)),B.fragment!==void 0&&(X.push("#"),X.push(B.fragment)),X.join("")}function Re(B,L){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},X=arguments[3],Y={};return X||(B=F(je(B,G),G),L=F(je(L,G),G)),G=G||{},!G.tolerant&&L.scheme?(Y.scheme=L.scheme,Y.userinfo=L.userinfo,Y.host=L.host,Y.port=L.port,Y.path=Me(L.path||""),Y.query=L.query):(L.userinfo!==void 0||L.host!==void 0||L.port!==void 0?(Y.userinfo=L.userinfo,Y.host=L.host,Y.port=L.port,Y.path=Me(L.path||""),Y.query=L.query):(L.path?(L.path.charAt(0)==="/"?Y.path=Me(L.path):((B.userinfo!==void 0||B.host!==void 0||B.port!==void 0)&&!B.path?Y.path="/"+L.path:B.path?Y.path=B.path.slice(0,B.path.lastIndexOf("/")+1)+L.path:Y.path=L.path,Y.path=Me(Y.path)),Y.query=L.query):(Y.path=B.path,L.query!==void 0?Y.query=L.query:Y.query=B.query),Y.userinfo=B.userinfo,Y.host=B.host,Y.port=B.port),Y.scheme=B.scheme),Y.fragment=L.fragment,Y}function vt(B,L,G){var X=i({scheme:"null"},G);return je(Re(F(B,X),F(L,X),X,!0),X)}function Ue(B,L){return typeof B=="string"?B=je(F(B,L),L):a(B)==="object"&&(B=F(je(B,L),L)),B}function vr(B,L,G){return typeof B=="string"?B=je(F(B,G),G):a(B)==="object"&&(B=je(B,G)),typeof L=="string"?L=je(F(L,G),G):a(L)==="object"&&(L=je(L,G)),B===L}function Zt(B,L){return B&&B.toString().replace(!L||!L.iri?c.ESCAPE:u.ESCAPE,D)}function Nt(B,L){return B&&B.toString().replace(!L||!L.iri?c.PCT_ENCODED:u.PCT_ENCODED,K)}var Lr={scheme:"http",domainHost:!0,parse:function(L,G){return L.host||(L.error=L.error||"HTTP URIs must have a host."),L},serialize:function(L,G){var X=String(L.scheme).toLowerCase()==="https";return(L.port===(X?443:80)||L.port==="")&&(L.port=void 0),L.path||(L.path="/"),L}},On={scheme:"https",domainHost:Lr.domainHost,parse:Lr.parse,serialize:Lr.serialize};function es(B){return typeof B.secure=="boolean"?B.secure:String(B.scheme).toLowerCase()==="wss"}var $i={scheme:"ws",domainHost:!0,parse:function(L,G){var X=L;return X.secure=es(X),X.resourceName=(X.path||"/")+(X.query?"?"+X.query:""),X.path=void 0,X.query=void 0,X},serialize:function(L,G){if((L.port===(es(L)?443:80)||L.port==="")&&(L.port=void 0),typeof L.secure=="boolean"&&(L.scheme=L.secure?"wss":"ws",L.secure=void 0),L.resourceName){var X=L.resourceName.split("?"),Y=l(X,2),ye=Y[0],qe=Y[1];L.path=ye&&ye!=="/"?ye:void 0,L.query=qe,L.resourceName=void 0}return L.fragment=void 0,L}},Nh={scheme:"wss",domainHost:$i.domainHost,parse:$i.parse,serialize:$i.serialize},YR={},QR=!0,Mh="[A-Za-z0-9\\-\\.\\_\\~"+(QR?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",Kr="[0-9A-Fa-f]",eP=r(r("%[EFef]"+Kr+"%"+Kr+Kr+"%"+Kr+Kr)+"|"+r("%[89A-Fa-f]"+Kr+"%"+Kr+Kr)+"|"+r("%"+Kr+Kr)),tP="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",rP="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",nP=e(rP,'[\\"\\\\]'),aP="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",sP=new RegExp(Mh,"g"),ts=new RegExp(eP,"g"),iP=new RegExp(e("[^]",tP,"[\\.]",'[\\"]',nP),"g"),jh=new RegExp(e("[^]",Mh,aP),"g"),oP=jh;function pd(B){var L=K(B);return L.match(sP)?L:B}var Dh={scheme:"mailto",parse:function(L,G){var X=L,Y=X.to=X.path?X.path.split(","):[];if(X.path=void 0,X.query){for(var ye=!1,qe={},Xe=X.query.split("&"),rt=0,Ct=Xe.length;rt{"use strict";Ex.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 a,n,s;if(Array.isArray(e)){if(a=e.length,a!=r.length)return!1;for(n=a;n--!==0;)if(!t(e[n],r[n]))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),a=s.length,a!==Object.keys(r).length)return!1;for(n=a;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=a;n--!==0;){var i=s[n];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var kx=V((lK,Tx)=>{"use strict";Tx.exports=function(e){for(var r=0,a=e.length,n=0,s;n=55296&&s<=56319&&n{"use strict";$x.exports={copy:T8,checkDataType:Af,checkDataTypes:k8,coerceToTypes:R8,toHash:Mf,getProperty:jf,escapeQuotes:Df,equal:Ou(),ucs2length:kx(),varOccurences:O8,varReplace:C8,schemaHasRules:I8,schemaHasRulesExcept:A8,schemaUnknownRules:N8,toQuotedString:Nf,getPathExpr:M8,getPath:j8,getData:q8,unescapeFragment:F8,unescapeJsonPointer:qf,escapeFragment:U8,escapeJsonPointer:Lf};function T8(t,e){e=e||{};for(var r in t)e[r]=t[r];return e}function Af(t,e,r,a){var n=a?" !== ":" === ",s=a?" || ":" && ",i=a?"!":"",o=a?"":"!";switch(t){case"null":return e+n+"null";case"array":return i+"Array.isArray("+e+")";case"object":return"("+i+e+s+"typeof "+e+n+'"object"'+s+o+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+n+'"number"'+s+o+"("+e+" % 1)"+s+e+n+e+(r?s+i+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+n+'"'+t+'"'+(r?s+i+"isFinite("+e+")":"")+")";default:return"typeof "+e+n+'"'+t+'"'}}function k8(t,e,r){switch(t.length){case 1:return Af(t[0],e,r,!0);default:var a="",n=Mf(t);n.array&&n.object&&(a=n.null?"(":"(!"+e+" || ",a+="typeof "+e+' !== "object")',delete n.null,delete n.array,delete n.object),n.number&&delete n.integer;for(var s in n)a+=(a?" && ":"")+Af(s,e,r,!0);return a}}var Rx=Mf(["string","number","integer","boolean","null"]);function R8(t,e){if(Array.isArray(e)){for(var r=[],a=0;a=e)throw new Error("Cannot access property/index "+a+" levels up, current level is "+e);return r[e-a]}if(a>e)throw new Error("Cannot access data "+a+" levels up, current level is "+e);if(s="data"+(e-a||""),!n)return s}for(var o=s,c=n.split("/"),u=0;u{"use strict";var z8=qa();Ox.exports=H8;function H8(t){z8.copy(t,this)}});var Ix=V((fK,Cx)=>{"use strict";var Hn=Cx.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var a=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Cu(e,a,n,t,"",t)};Hn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};Hn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Hn.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Hn.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 Cu(t,e,r,a,n,s,i,o,c,u){if(a&&typeof a=="object"&&!Array.isArray(a)){e(a,n,s,i,o,c,u);for(var l in a){var d=a[l];if(Array.isArray(d)){if(l in Hn.arrayKeywords)for(var p=0;p{"use strict";var xo=wx(),Ax=Ou(),Mu=qa(),Iu=Ff(),V8=Ix();jx.exports=Vn;Vn.normalizeId=Bn;Vn.fullPath=Au;Vn.url=Nu;Vn.ids=X8;Vn.inlineRef=Uf;Vn.schema=ju;function Vn(t,e,r){var a=this._refs[r];if(typeof a=="string")if(this._refs[a])a=this._refs[a];else return Vn.call(this,t,e,a);if(a=a||this._schemas[r],a instanceof Iu)return Uf(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var n=ju.call(this,e,r),s,i,o;return n&&(s=n.schema,e=n.root,o=n.baseId),s instanceof Iu?i=s.validate||t.call(this,s.schema,e,void 0,o):s!==void 0&&(i=Uf(s,this._opts.inlineRefs)?s:t.call(this,s,e,void 0,o)),i}function ju(t,e){var r=xo.parse(e),a=Mx(r),n=Au(this._getId(t.schema));if(Object.keys(t.schema).length===0||a!==n){var s=Bn(a),i=this._refs[s];if(typeof i=="string")return G8.call(this,t,i,r);if(i instanceof Iu)i.validate||this._compile(i),t=i;else if(i=this._schemas[s],i instanceof Iu){if(i.validate||this._compile(i),s==Bn(e))return{schema:i,root:t,baseId:n};t=i}else return;if(!t.schema)return;n=Au(this._getId(t.schema))}return Nx.call(this,r,n,t.schema,t)}function G8(t,e,r){var a=ju.call(this,t,e);if(a){var n=a.schema,s=a.baseId;t=a.root;var i=this._getId(n);return i&&(s=Nu(s,i)),Nx.call(this,r,s,n,t)}}var Z8=Mu.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function Nx(t,e,r,a){if(t.fragment=t.fragment||"",t.fragment.slice(0,1)=="/"){for(var n=t.fragment.split("/"),s=1;s{"use strict";var Bf=Du();Lx.exports={Validation:Dx(J8),MissingRef:Dx(Vf)};function J8(t){this.message="validation failed",this.errors=t,this.ajv=this.validation=!0}Vf.message=function(t,e){return"can't resolve reference "+e+" from id "+t};function Vf(t,e,r){this.message=r||Vf.message(t,e),this.missingRef=Bf.url(t,e),this.missingSchema=Bf.normalizeId(Bf.fullPath(this.missingRef))}function Dx(t){return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}});var Gf=V((vK,qx)=>{"use strict";qx.exports=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var r=typeof e.cycles=="boolean"?e.cycles:!1,a=e.cmp&&(function(s){return function(i){return function(o,c){var u={key:o,value:i[o]},l={key:c,value:i[c]};return s(u,l)}}})(e.cmp),n=[];return(function s(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i!==void 0){if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);var o,c;if(Array.isArray(i)){for(c="[",o=0;o{"use strict";Fx.exports=function(e,r,a){var n="",s=e.schema.$async===!0,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var c=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(c){var u="unknown keyword: "+c;if(e.opts.strictKeywords==="log")e.logger.warn(u);else throw new Error(u)}}if(e.isTop&&(n+=" var validate = ",s&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" "+("/*# sourceURL="+o+" */")+" ")),typeof e.schema=="boolean"||!(i||e.schema.$ref)){var r="false schema",l=e.level,d=e.dataLevel,p=e.schema[r],m=e.schemaPath+e.util.getProperty(r),g=e.errSchemaPath+"/"+r,w=!e.opts.allErrors,T,_="data"+(d||""),b="valid"+l;if(e.schema===!1){e.isTop?w=!0:n+=" var "+b+" = false; ";var f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(T||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),n+=" } "):n+=" {} ";var h=n;n=f.pop(),!e.compositeRule&&w?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?s?n+=" return data; ":n+=" validate.errors = null; return true; ":n+=" var "+b+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var y=e.isTop,l=e.level=0,d=e.dataLevel=0,_="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(v);else throw new Error(v)}n+=" var vErrors = null; ",n+=" var errors = 0; ",n+=" if (rootData === undefined) rootData = data; "}else{var l=e.level,d=e.dataLevel,_="data"+(d||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),s&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+l+" = errors;"}var b="valid"+l,w=!e.opts.allErrors,S="",E="",T,R=e.schema.type,M=Array.isArray(R);if(R&&e.opts.nullable&&e.schema.nullable===!0&&(M?R.indexOf("null")==-1&&(R=R.concat("null")):R!="null"&&(R=[R,"null"],M=!0)),M&&R.length==1&&(R=R[0],M=!1),e.schema.$ref&&i){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),R){if(e.opts.coerceTypes)var j=e.util.coerceToTypes(e.opts.coerceTypes,R);var q=e.RULES.types[R];if(j||M||q===!0||q&&!Ne(q)){var m=e.schemaPath+".type",g=e.errSchemaPath+"/type",m=e.schemaPath+".type",g=e.errSchemaPath+"/type",H=M?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[H](R,_,e.opts.strictNumbers,!0)+") { ",j){var N="dataType"+l,W="coerced"+l;n+=" var "+N+" = typeof "+_+"; var "+W+" = undefined; ",e.opts.coerceTypes=="array"&&(n+=" if ("+N+" == 'object' && Array.isArray("+_+") && "+_+".length == 1) { "+_+" = "+_+"[0]; "+N+" = typeof "+_+"; if ("+e.util.checkDataType(e.schema.type,_,e.opts.strictNumbers)+") "+W+" = "+_+"; } "),n+=" if ("+W+" !== undefined) ; ";var oe=j;if(oe)for(var he,ae=-1,re=oe.length-1;ae{"use strict";var qu=Du(),Uu=qa(),zx=Lu(),Y8=Gf(),Ux=Zf(),Q8=Uu.ucs2length,eL=Ou(),tL=zx.Validation;Bx.exports=Wf;function Wf(t,e,r,a){var n=this,s=this._opts,i=[void 0],o={},c=[],u={},l=[],d={},p=[];e=e||{schema:t,refVal:i,refs:o};var m=rL.call(this,t,e,a),g=this._compilations[m.index];if(m.compiling)return g.callValidate=v;var _=this._formats,f=this.RULES;try{var h=b(t,e,r,a);g.validate=h;var y=g.callValidate;return y&&(y.schema=h.schema,y.errors=null,y.refs=h.refs,y.refVal=h.refVal,y.root=h.root,y.$async=h.$async,s.sourceCode&&(y.source=h.source)),h}finally{nL.call(this,t,e,a)}function v(){var H=g.validate,N=H.apply(this,arguments);return v.errors=H.errors,N}function b(H,N,W,oe){var he=!N||N&&N.schema==H;if(N.schema!=e.schema)return Wf.call(n,H,N,W,oe);var ae=H.$async===!0,re=Ux({isTop:!0,schema:H,isRoot:he,baseId:oe,root:N,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:zx.MissingRef,RULES:f,validate:Ux,util:Uu,resolve:qu,resolveRef:w,usePattern:M,useDefault:j,useCustomRule:q,opts:s,formats:_,logger:n.logger,self:n});re=Fu(i,iL)+Fu(c,aL)+Fu(l,sL)+Fu(p,oL)+re,s.processCode&&(re=s.processCode(re,H));var U;try{var $=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",re);U=$(n,f,_,e,i,l,p,eL,Q8,tL),i[0]=U}catch(z){throw n.logger.error("Error compiling schema, function code:",re),z}return U.schema=H,U.errors=null,U.refs=o,U.refVal=i,U.root=he?U:N,ae&&(U.$async=!0),s.sourceCode===!0&&(U.source={code:re,patterns:c,defaults:l}),U}function w(H,N,W){N=qu.url(H,N);var oe=o[N],he,ae;if(oe!==void 0)return he=i[oe],ae="refVal["+oe+"]",R(he,ae);if(!W&&e.refs){var re=e.refs[N];if(re!==void 0)return he=e.refVal[re],ae=S(N,he),R(he,ae)}ae=S(N);var U=qu.call(n,b,e,N);if(U===void 0){var $=r&&r[N];$&&(U=qu.inlineRef($,s.inlineRefs)?$:Wf.call(n,$,e,r,H))}if(U===void 0)E(N);else return T(N,U),R(U,ae)}function S(H,N){var W=i.length;return i[W]=N,o[H]=W,"refVal"+W}function E(H){delete o[H]}function T(H,N){var W=o[H];i[W]=N}function R(H,N){return typeof H=="object"||typeof H=="boolean"?{code:N,schema:H,inline:!0}:{code:N,$async:H&&!!H.$async}}function M(H){var N=u[H];return N===void 0&&(N=u[H]=c.length,c[N]=H),"pattern"+N}function j(H){switch(typeof H){case"boolean":case"number":return""+H;case"string":return Uu.toQuotedString(H);case"object":if(H===null)return"null";var N=Y8(H),W=d[N];return W===void 0&&(W=d[N]=l.length,l[W]=H),"default"+W}}function q(H,N,W,oe){if(n._opts.validateSchema!==!1){var he=H.definition.dependencies;if(he&&!he.every(function(D){return Object.prototype.hasOwnProperty.call(W,D)}))throw new Error("parent schema must have all required keywords: "+he.join(","));var ae=H.definition.validateSchema;if(ae){var re=ae(N);if(!re){var U="keyword schema is invalid: "+n.errorsText(ae.errors);if(n._opts.validateSchema=="log")n.logger.error(U);else throw new Error(U)}}}var $=H.definition.compile,z=H.definition.inline,A=H.definition.macro,x;if($)x=$.call(n,N,W,oe);else if(A)x=A.call(n,N,W,oe),s.validateSchema!==!1&&n.validateSchema(x,!0);else if(z)x=z.call(n,oe,H.keyword,N,W);else if(x=H.definition.validate,!x)return;if(x===void 0)throw new Error('custom keyword "'+H.keyword+'"failed to compile');var k=p.length;return p[k]=x,{code:"customRule"+k,validate:x}}}function rL(t,e,r){var a=Hx.call(this,t,e,r);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:t,root:e,baseId:r},{index:a,compiling:!1})}function nL(t,e,r){var a=Hx.call(this,t,e,r);a>=0&&this._compilations.splice(a,1)}function Hx(t,e,r){for(var a=0;a{"use strict";var zu=Gx.exports=function(){this._cache={}};zu.prototype.put=function(e,r){this._cache[e]=r};zu.prototype.get=function(e){return this._cache[e]};zu.prototype.del=function(e){delete this._cache[e]};zu.prototype.clear=function(){this._cache={}}});var sw=V((bK,aw)=>{"use strict";var cL=qa(),uL=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,lL=[0,31,28,31,30,31,30,31,31,30,31,30,31],dL=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Wx=/^(?=.{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,pL=/^(?:[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,fL=/^(?:[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,Kx=/^(?:(?:[^\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,Xx=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Jx=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Yx=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Qx=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,ew=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;aw.exports=Hu;function Hu(t){return t=t=="full"?"full":"fast",cL.copy(Hu[t])}Hu.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\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,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Kx,url:Xx,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,hostname:Wx,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i,regex:nw,uuid:Jx,"json-pointer":Yx,"json-pointer-uri-fragment":Qx,"relative-json-pointer":ew};Hu.full={date:tw,time:rw,"date-time":vL,uri:yL,"uri-reference":fL,"uri-template":Kx,url:Xx,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:Wx,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i,regex:nw,uuid:Jx,"json-pointer":Yx,"json-pointer-uri-fragment":Qx,"relative-json-pointer":ew};function mL(t){return t%4===0&&(t%100!==0||t%400===0)}function tw(t){var e=t.match(uL);if(!e)return!1;var r=+e[1],a=+e[2],n=+e[3];return a>=1&&a<=12&&n>=1&&n<=(a==2&&mL(r)?29:lL[a])}function rw(t,e){var r=t.match(dL);if(!r)return!1;var a=r[1],n=r[2],s=r[3],i=r[5];return(a<=23&&n<=59&&s<=59||a==23&&n==59&&s==60)&&(!e||i)}var hL=/t|\s/i;function vL(t){var e=t.split(hL);return e.length==2&&tw(e[0])&&rw(e[1],!0)}var gL=/\/|:/;function yL(t){return gL.test(t)&&pL.test(t)}var _L=/[^\\]\\Z/;function nw(t){if(_L.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var ow=V((SK,iw)=>{"use strict";iw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,l="data"+(i||""),d="valid"+s,p,m;if(o=="#"||o=="#/")e.isRoot?(p=e.async,m="validate"):(p=e.root.schema.$async===!0,m="root.refVal[0]");else{var g=e.resolveRef(e.baseId,o,e.isRoot);if(g===void 0){var _=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(_);var f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ",e.opts.messages!==!1&&(n+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "),e.opts.verbose&&(n+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),n+=" } "):n+=" {} ";var h=n;n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(_),u&&(n+=" if (true) { ");else throw new e.MissingRefError(e.baseId,o,_)}else if(g.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=g.schema,y.schemaPath="",y.errSchemaPath=o;var b=e.validate(y).replace(/validate\.schema/g,g.code);n+=" "+b+" ",u&&(n+=" if ("+v+") { ")}else p=g.$async===!0||e.async&&g.$async!==!1,m=g.code}if(m){var f=f||[];f.push(n),n="",e.opts.passContext?n+=" "+m+".call(this, ":n+=" "+m+"( ",n+=" "+l+", (dataPath || '')",e.errorPath!='""'&&(n+=" + "+e.errorPath);var w=i?"data"+(i-1||""):"parentData",S=i?e.dataPathArr[i]:"parentDataProperty";n+=" , "+w+" , "+S+", rootData) ";var E=n;if(n=f.pop(),p){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(n+=" var "+d+"; "),n+=" try { await "+E+"; ",u&&(n+=" "+d+" = true; "),n+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(n+=" "+d+" = false; "),n+=" } ",u&&(n+=" if ("+d+") { ")}else n+=" if (!"+E+") { if (vErrors === null) vErrors = "+m+".errors; else vErrors = vErrors.concat("+m+".errors); errors = vErrors.length; } ",u&&(n+=" else { ")}return n}});var uw=V((xK,cw)=>{"use strict";cw.exports=function(e,r,a){var n=" ",s=e.schema[r],i=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var d="valid"+u.level,p=u.baseId,m=!0,g=s;if(g)for(var _,f=-1,h=g.length-1;f0||_===!1:e.util.schemaHasRules(_,e.RULES.all))&&(m=!1,u.schema=_,u.schemaPath=i+"["+f+"]",u.errSchemaPath=o+"/"+f,n+=" "+e.validate(u)+" ",u.baseId=p,c&&(n+=" if ("+d+") { ",l+="}"));return c&&(m?n+=" if (true) { ":n+=" "+l.slice(0,-1)+" "),n}});var dw=V((wK,lw)=>{"use strict";lw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h=o.every(function(T){return e.opts.strictKeywords?typeof T=="object"&&Object.keys(T).length>0||T===!1:e.util.schemaHasRules(T,e.RULES.all)});if(h){var y=g.baseId;n+=" var "+m+" = errors; var "+p+" = false; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=o;if(b)for(var w,S=-1,E=b.length-1;S{"use strict";pw.exports=function(e,r,a){var n=" ",s=e.schema[r],i=e.errSchemaPath+"/"+r,o=!e.opts.allErrors,c=e.util.toQuotedString(s);return e.opts.$comment===!0?n+=" console.log("+c+");":typeof e.opts.$comment=="function"&&(n+=" self._opts.$comment("+c+", "+e.util.toQuotedString(i)+", validate.root.schema);"),n}});var hw=V((TK,mw)=>{"use strict";mw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,m||(n+=" var schema"+s+" = validate.schema"+c+";"),n+="var "+p+" = equal("+d+", schema"+s+"); if (!"+p+") { ";var _=_||[];_.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+s+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var f=n;return n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+f+"]); ":n+=" validate.errors = ["+f+"]; return false; ":n+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}});var gw=V((kK,vw)=>{"use strict";vw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,b=e.baseId,w=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all);if(n+="var "+m+" = errors;var "+p+";",w){var S=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" var "+f+" = false; for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var E=d+"["+h+"]";g.dataPathArr[y]=h;var T=e.validate(g);g.baseId=b,e.util.varOccurences(T,v)<2?n+=" "+e.util.varReplace(T,v,E)+" ":n+=" var "+v+" = "+E+"; "+T+" ",n+=" if ("+f+") break; } ",e.compositeRule=g.compositeRule=S,n+=" "+_+" if (!"+f+") {"}else n+=" if ("+d+".length == 0) {";var R=R||[];R.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var M=n;return n=R.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+M+"]); ":n+=" validate.errors = ["+M+"]; return false; ":n+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",w&&(n+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n}});var _w=V((RK,yw)=>{"use strict";yw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level,f={},h={},y=e.opts.ownProperties;for(S in o)if(S!="__proto__"){var v=o[S],b=Array.isArray(v)?h:f;b[S]=v}n+="var "+p+" = errors;";var w=e.errorPath;n+="var missing"+s+";";for(var S in h)if(b=h[S],b.length){if(n+=" if ( "+d+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(S)+"') "),l){n+=" && ( ";var E=b;if(E)for(var T,R=-1,M=E.length-1;R0||v===!1:e.util.schemaHasRules(v,e.RULES.all))&&(n+=" "+_+" = true; if ( "+d+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(S)+"') "),n+=") { ",m.schema=v,m.schemaPath=c+e.util.getProperty(S),m.errSchemaPath=u+"/"+e.util.escapeFragment(S),n+=" "+e.validate(m)+" ",m.baseId=U,n+=" } ",l&&(n+=" if ("+_+") { ",g+="}"))}return l&&(n+=" "+g+" if ("+p+" == errors) {"),n}});var Sw=V((PK,bw)=>{"use strict";bw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var _="i"+s,f="schema"+s;m||(n+=" var "+f+" = validate.schema"+c+";"),n+="var "+p+";",m&&(n+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),n+=""+p+" = false;for (var "+_+"=0; "+_+"<"+f+".length; "+_+"++) if (equal("+d+", "+f+"["+_+"])) { "+p+" = true; break; }",m&&(n+=" } "),n+=" if (!"+p+") { ";var h=h||[];h.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+s+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var y=n;return n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}});var ww=V(($K,xw)=>{"use strict";xw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||"");if(e.opts.format===!1)return l&&(n+=" if (true) { "),n;var p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=e.opts.unknownFormats,_=Array.isArray(g);if(p){var f="format"+s,h="isObject"+s,y="formatType"+s;n+=" var "+f+" = formats["+m+"]; var "+h+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+y+" = "+h+" && "+f+".type || 'string'; if ("+h+") { ",e.async&&(n+=" var async"+s+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),n+=" (",g!="ignore"&&(n+=" ("+m+" && !"+f+" ",_&&(n+=" && self._opts.unknownFormats.indexOf("+m+") == -1 "),n+=") || "),n+=" ("+f+" && "+y+" == '"+a+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+s+" ? await "+f+"("+d+") : "+f+"("+d+")) ":n+=" "+f+"("+d+") ",n+=" : "+f+".test("+d+"))))) {"}else{var f=e.formats[o];if(!f){if(g=="ignore")return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(n+=" if (true) { "),n;if(_&&g.indexOf(o)>=0)return l&&(n+=" if (true) { "),n;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var h=typeof f=="object"&&!(f instanceof RegExp)&&f.validate,y=h&&f.type||"string";if(h){var v=f.async===!0;f=f.validate}if(y!=a)return l&&(n+=" if (true) { "),n;if(v){if(!e.async)throw new Error("async format in sync schema");var b="formats"+e.util.getProperty(o)+".validate";n+=" if (!(await "+b+"("+d+"))) { "}else{n+=" if (! ";var b="formats"+e.util.getProperty(o);h&&(b+=".validate"),typeof f=="function"?n+=" "+b+"("+d+") ":n+=" "+b+".test("+d+") ",n+=") { "}}var w=w||[];w.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",p?n+=""+m:n+=""+e.util.toQuotedString(o),n+=" } ",e.opts.messages!==!1&&(n+=` , message: 'should match format "`,p?n+="' + "+m+" + '":n+=""+e.util.escapeQuotes(o),n+=`"' `),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var S=n;return n=w.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}});var Tw=V((OK,Ew)=>{"use strict";Ew.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e);g.level++;var _="valid"+g.level,f=e.schema.then,h=e.schema.else,y=f!==void 0&&(e.opts.strictKeywords?typeof f=="object"&&Object.keys(f).length>0||f===!1:e.util.schemaHasRules(f,e.RULES.all)),v=h!==void 0&&(e.opts.strictKeywords?typeof h=="object"&&Object.keys(h).length>0||h===!1:e.util.schemaHasRules(h,e.RULES.all)),b=g.baseId;if(y||v){var w;g.createErrors=!1,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" var "+m+" = errors; var "+p+" = true; ";var S=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+=" "+e.validate(g)+" ",g.baseId=b,g.createErrors=!0,n+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=S,y?(n+=" if ("+_+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(g)+" ",g.baseId=b,n+=" "+p+" = "+_+"; ",y&&v?(w="ifClause"+s,n+=" var "+w+" = 'then'; "):w="'then'",n+=" } ",v&&(n+=" else { ")):n+=" if (!"+_+") { ",v&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(g)+" ",g.baseId=b,n+=" "+p+" = "+_+"; ",y&&v?(w="ifClause"+s,n+=" var "+w+" = 'else'; "):w="'else'",n+=" } "),n+=" if (!"+p+") { var err = ",e.createErrors!==!1?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+w+" } ",e.opts.messages!==!1&&(n+=` , message: 'should match "' + `+w+` + '" schema' `),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",l&&(n+=" else { ")}else l&&(n+=" if (true) { ");return n}});var Rw=V((CK,kw)=>{"use strict";kw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,b=e.baseId;if(n+="var "+m+" = errors;var "+p+";",Array.isArray(o)){var w=e.schema.additionalItems;if(w===!1){n+=" "+p+" = "+d+".length <= "+o.length+"; ";var S=u;u=e.errSchemaPath+"/additionalItems",n+=" if (!"+p+") { ";var E=E||[];E.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+o.length+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var T=n;n=E.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u=S,l&&(_+="}",n+=" else { ")}var R=o;if(R){for(var M,j=-1,q=R.length-1;j0||M===!1:e.util.schemaHasRules(M,e.RULES.all)){n+=" "+f+" = true; if ("+d+".length > "+j+") { ";var H=d+"["+j+"]";g.schema=M,g.schemaPath=c+"["+j+"]",g.errSchemaPath=u+"/"+j,g.errorPath=e.util.getPathExpr(e.errorPath,j,e.opts.jsonPointers,!0),g.dataPathArr[y]=j;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",n+=" } ",l&&(n+=" if ("+f+") { ",_+="}")}}if(typeof w=="object"&&(e.opts.strictKeywords?typeof w=="object"&&Object.keys(w).length>0||w===!1:e.util.schemaHasRules(w,e.RULES.all))){g.schema=w,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+d+".length > "+o.length+") { for (var "+h+" = "+o.length+"; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",l&&(n+=" if (!"+f+") break; "),n+=" } } ",l&&(n+=" if ("+f+") { ",_+="}")}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",l&&(n+=" if (!"+f+") break; "),n+=" }"}return l&&(n+=" "+_+" if ("+m+" == errors) {"),n}});var Kf=V((IK,Pw)=>{"use strict";Pw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=r=="maximum",_=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[_],h=e.opts.$data&&f&&f.$data,y=g?"<":">",v=g?">":"<",b=void 0;if(!(p||typeof o=="number"||o===void 0))throw new Error(r+" must be number");if(!(h||f===void 0||typeof f=="number"||typeof f=="boolean"))throw new Error(_+" must be number or boolean");if(h){var w=e.util.getData(f.$data,i,e.dataPathArr),S="exclusive"+s,E="exclType"+s,T="exclIsNumber"+s,R="op"+s,M="' + "+R+" + '";n+=" var schemaExcl"+s+" = "+w+"; ",w="schemaExcl"+s,n+=" var "+S+"; var "+E+" = typeof "+w+"; if ("+E+" != 'boolean' && "+E+" != 'undefined' && "+E+" != 'number') { ";var b=_,j=j||[];j.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(b||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: '"+_+" should be boolean' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var q=n;n=j.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+q+"]); ":n+=" validate.errors = ["+q+"]; return false; ":n+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+E+" == 'number' ? ( ("+S+" = "+m+" === undefined || "+w+" "+y+"= "+m+") ? "+d+" "+v+"= "+w+" : "+d+" "+v+" "+m+" ) : ( ("+S+" = "+w+" === true) ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { var op"+s+" = "+S+" ? '"+y+"' : '"+y+"='; ",o===void 0&&(b=_,u=e.errSchemaPath+"/"+_,m=w,p=h)}else{var T=typeof f=="number",M=y;if(T&&p){var R="'"+M+"'";n+=" if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" ( "+m+" === undefined || "+f+" "+y+"= "+m+" ? "+d+" "+v+"= "+f+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { "}else{T&&o===void 0?(S=!0,b=_,u=e.errSchemaPath+"/"+_,m=f,v+="="):(T&&(m=Math[g?"min":"max"](f,o)),f===(T?m:!0)?(S=!0,b=_,u=e.errSchemaPath+"/"+_,v+="="):(S=!1,M+="="));var R="'"+M+"'";n+=" if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+d+" "+v+" "+m+" || "+d+" !== "+d+") { "}}b=b||r;var j=j||[];j.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(b||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+R+", limit: "+m+", exclusive: "+S+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be "+M+" ",p?n+="' + "+m:n+=""+m+"'"),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var q=n;return n=j.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+q+"]); ":n+=" validate.errors = ["+q+"]; return false; ":n+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}});var Xf=V((AK,$w)=>{"use strict";$w.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxItems"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+d+".length "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have ",r=="maxItems"?n+="more":n+="fewer",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" items' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Jf=V((NK,Ow)=>{"use strict";Ow.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxLength"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),e.opts.unicode===!1?n+=" "+d+".length ":n+=" ucs2length("+d+") ",n+=" "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be ",r=="maxLength"?n+="longer":n+="shorter",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" characters' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Yf=V((MK,Cw)=>{"use strict";Cw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxProperties"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" Object.keys("+d+").length "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have ",r=="maxProperties"?n+="more":n+="fewer",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" properties' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Aw=V((jK,Iw)=>{"use strict";Iw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");n+="var division"+s+";if (",p&&(n+=" "+m+" !== undefined && ( typeof "+m+" != 'number' || "),n+=" (division"+s+" = "+d+" / "+m+", ",e.opts.multipleOfPrecision?n+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":n+=" division"+s+" !== parseInt(division"+s+") ",n+=" ) ",p&&(n+=" ) "),n+=" ) { ";var g=g||[];g.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be multiple of ",p?n+="' + "+m:n+=""+m+"'"),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var _=n;return n=g.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Mw=V((DK,Nw)=>{"use strict";Nw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e);m.level++;var g="valid"+m.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u,n+=" var "+p+" = errors; ";var _=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1;var f;m.opts.allErrors&&(f=m.opts.allErrors,m.opts.allErrors=!1),n+=" "+e.validate(m)+" ",m.createErrors=!0,f&&(m.opts.allErrors=f),e.compositeRule=m.compositeRule=_,n+=" if ("+g+") { ";var h=h||[];h.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var y=n;n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",e.createErrors!==!1?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(n+=" if (false) { ");return n}});var Dw=V((LK,jw)=>{"use strict";jw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h=g.baseId,y="prevValid"+s,v="passingSchemas"+s;n+="var "+m+" = errors , "+y+" = false , "+p+" = false , "+v+" = null; ";var b=e.compositeRule;e.compositeRule=g.compositeRule=!0;var w=o;if(w)for(var S,E=-1,T=w.length-1;E0||S===!1:e.util.schemaHasRules(S,e.RULES.all))?(g.schema=S,g.schemaPath=c+"["+E+"]",g.errSchemaPath=u+"/"+E,n+=" "+e.validate(g)+" ",g.baseId=h):n+=" var "+f+" = true; ",E&&(n+=" if ("+f+" && "+y+") { "+p+" = false; "+v+" = ["+v+", "+E+"]; } else { ",_+="}"),n+=" if ("+f+") { "+p+" = "+y+" = true; "+v+" = "+E+"; }";return e.compositeRule=g.compositeRule=b,n+=""+_+"if (!"+p+") { var err = ",e.createErrors!==!1?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",e.opts.messages!==!1&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}});var qw=V((qK,Lw)=>{"use strict";Lw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=p?"(new RegExp("+m+"))":e.usePattern(o);n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),n+=" !"+g+".test("+d+") ) { ";var _=_||[];_.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",p?n+=""+m:n+=""+e.util.toQuotedString(o),n+=" } ",e.opts.messages!==!1&&(n+=` , message: 'should match pattern "`,p?n+="' + "+m+" + '":n+=""+e.util.escapeQuotes(o),n+=`"' `),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var f=n;return n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+f+"]); ":n+=" validate.errors = ["+f+"]; return false; ":n+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Uw=V((FK,Fw)=>{"use strict";Fw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level,f="key"+s,h="idx"+s,y=m.dataLevel=e.dataLevel+1,v="data"+y,b="dataProperties"+s,w=Object.keys(o||{}).filter(ae),S=e.schema.patternProperties||{},E=Object.keys(S).filter(ae),T=e.schema.additionalProperties,R=w.length||E.length,M=T===!1,j=typeof T=="object"&&Object.keys(T).length,q=e.opts.removeAdditional,H=M||j||q,N=e.opts.ownProperties,W=e.baseId,oe=e.schema.required;if(oe&&!(e.opts.$data&&oe.$data)&&oe.length8)n+=" || validate.schema"+c+".hasOwnProperty("+f+") ";else{var re=w;if(re)for(var U,$=-1,z=re.length-1;$0||Ne===!1:e.util.schemaHasRules(Ne,e.RULES.all)){var Me=e.util.getProperty(U),I=d+Me,je=Z&&Ne.default!==void 0;m.schema=Ne,m.schemaPath=c+Me,m.errSchemaPath=u+"/"+e.util.escapeFragment(U),m.errorPath=e.util.getPath(e.errorPath,U,e.opts.jsonPointers),m.dataPathArr[y]=e.util.toQuotedString(U);var F=e.validate(m);if(m.baseId=W,e.util.varOccurences(F,v)<2){F=e.util.varReplace(F,v,I);var Re=I}else{var Re=v;n+=" var "+v+" = "+I+"; "}if(je)n+=" "+F+" ";else{if(he&&he[U]){n+=" if ( "+Re+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=") { "+_+" = false; ";var K=e.errorPath,de=u,vt=e.util.escapeQuotes(U);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(K,U,e.opts.jsonPointers)),u=e.errSchemaPath+"/required";var se=se||[];se.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+vt+"' } ",e.opts.messages!==!1&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+vt+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var me=n;n=se.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+me+"]); ":n+=" validate.errors = ["+me+"]; return false; ":n+=" var err = "+me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=de,e.errorPath=K,n+=" } else { "}else l?(n+=" if ( "+Re+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=") { "+_+" = true; } else { "):(n+=" if ("+Re+" !== undefined ",N&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=" ) { ");n+=" "+F+" } "}}l&&(n+=" if ("+_+") { ",g+="}")}}if(E.length){var Ue=E;if(Ue)for(var x,vr=-1,Zt=Ue.length-1;vr0||Ne===!1:e.util.schemaHasRules(Ne,e.RULES.all)){m.schema=Ne,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(x),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(x),N?n+=" "+b+" = "+b+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+b+".length; "+h+"++) { var "+f+" = "+b+"["+h+"]; ":n+=" for (var "+f+" in "+d+") { ",n+=" if ("+e.usePattern(x)+".test("+f+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var I=d+"["+f+"]";m.dataPathArr[y]=f;var F=e.validate(m);m.baseId=W,e.util.varOccurences(F,v)<2?n+=" "+e.util.varReplace(F,v,I)+" ":n+=" var "+v+" = "+I+"; "+F+" ",l&&(n+=" if (!"+_+") break; "),n+=" } ",l&&(n+=" else "+_+" = true; "),n+=" } ",l&&(n+=" if ("+_+") { ",g+="}")}}}return l&&(n+=" "+g+" if ("+p+" == errors) {"),n}});var Hw=V((UK,zw)=>{"use strict";zw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level;if(n+="var "+p+" = errors;",e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u;var f="key"+s,h="idx"+s,y="i"+s,v="' + "+f+" + '",b=m.dataLevel=e.dataLevel+1,w="data"+b,S="dataProperties"+s,E=e.opts.ownProperties,T=e.baseId;E&&(n+=" var "+S+" = undefined; "),E?n+=" "+S+" = "+S+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+S+".length; "+h+"++) { var "+f+" = "+S+"["+h+"]; ":n+=" for (var "+f+" in "+d+") { ",n+=" var startErrs"+s+" = errors; ";var R=f,M=e.compositeRule;e.compositeRule=m.compositeRule=!0;var j=e.validate(m);m.baseId=T,e.util.varOccurences(j,w)<2?n+=" "+e.util.varReplace(j,w,R)+" ":n+=" var "+w+" = "+R+"; "+j+" ",e.compositeRule=m.compositeRule=M,n+=" if (!"+_+") { for (var "+y+"=startErrs"+s+"; "+y+"{"use strict";Bw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var _="schema"+s;if(!m)if(o.length0||w===!1:e.util.schemaHasRules(w,e.RULES.all))||(f[f.length]=y)}}else var f=o;if(m||f.length){var S=e.errorPath,E=m||f.length>=e.opts.loopRequired,T=e.opts.ownProperties;if(l)if(n+=" var missing"+s+"; ",E){m||(n+=" var "+_+" = validate.schema"+c+"; ");var R="i"+s,M="schema"+s+"["+R+"]",j="' + "+M+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(S,M,e.opts.jsonPointers)),n+=" var "+p+" = true; ",m&&(n+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),n+=" for (var "+R+" = 0; "+R+" < "+_+".length; "+R+"++) { "+p+" = "+d+"["+_+"["+R+"]] !== undefined ",T&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", "+_+"["+R+"]) "),n+="; if (!"+p+") break; } ",m&&(n+=" } "),n+=" if (!"+p+") { ";var q=q||[];q.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+j+"' } ",e.opts.messages!==!1&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+j+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var H=n;n=q.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+H+"]); ":n+=" validate.errors = ["+H+"]; return false; ":n+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var N=f;if(N)for(var W,R=-1,oe=N.length-1;R{"use strict";Gw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;if(m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,(o||m)&&e.opts.uniqueItems!==!1){m&&(n+=" var "+p+"; if ("+g+" === false || "+g+" === undefined) "+p+" = true; else if (typeof "+g+" != 'boolean') "+p+" = false; else { "),n+=" var i = "+d+".length , "+p+" = true , j; if (i > 1) { ";var _=e.schema.items&&e.schema.items.type,f=Array.isArray(_);if(!_||_=="object"||_=="array"||f&&(_.indexOf("object")>=0||_.indexOf("array")>=0))n+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+p+" = false; break outer; } } } ";else{n+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var h="checkDataType"+(f?"s":"");n+=" if ("+e.util[h](_,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(n+=` if (typeof item == 'string') item = '"' + item; `),n+=" if (typeof itemIndices[item] == 'number') { "+p+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}n+=" } ",m&&(n+=" } "),n+=" if (!"+p+") { ";var y=y||[];y.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(n+=" , schema: ",m?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var v=n;n=y.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+v+"]); ":n+=" validate.errors = ["+v+"]; return false; ":n+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { ")}else l&&(n+=" if (true) { ");return n}});var Kw=V((BK,Ww)=>{"use strict";Ww.exports={$ref:ow(),allOf:uw(),anyOf:dw(),$comment:fw(),const:hw(),contains:gw(),dependencies:_w(),enum:Sw(),format:ww(),if:Tw(),items:Rw(),maximum:Kf(),minimum:Kf(),maxItems:Xf(),minItems:Xf(),maxLength:Jf(),minLength:Jf(),maxProperties:Yf(),minProperties:Yf(),multipleOf:Aw(),not:Mw(),oneOf:Dw(),pattern:qw(),properties:Uw(),propertyNames:Hw(),required:Vw(),uniqueItems:Zw(),validate:Zf()}});var Yw=V((VK,Jw)=>{"use strict";var Xw=Kw(),Qf=qa().toHash;Jw.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"],a=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],n=["number","integer","string","array","object","boolean","null"];return e.all=Qf(r),e.types=Qf(n),e.forEach(function(s){s.rules=s.rules.map(function(i){var o;if(typeof i=="object"){var c=Object.keys(i)[0];o=i[c],i=c,o.forEach(function(l){r.push(l),e.all[l]=!0})}r.push(i);var u=e.all[i]={keyword:i,code:Xw[i],implements:o};return u}),e.all.$comment={keyword:"$comment",code:Xw.$comment},s.type&&(e.types[s.type]=s)}),e.keywords=Qf(r.concat(a)),e.custom={},e}});var tE=V((GK,eE)=>{"use strict";var Qw=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];eE.exports=function(t,e){for(var r=0;r{"use strict";var bL=Lu().MissingRef;nE.exports=rE;function rE(t,e,r){var a=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(r=e,e=void 0);var n=s(t).then(function(){var o=a._addSchema(t,void 0,e);return o.validate||i(o)});return r&&n.then(function(o){r(null,o)},r),n;function s(o){var c=o.$schema;return c&&!a.getSchema(c)?rE.call(a,{$ref:c},!0):Promise.resolve()}function i(o){try{return a._compile(o)}catch(u){if(u instanceof bL)return c(u);throw u}function c(u){var l=u.missingSchema;if(m(l))throw new Error("Schema "+l+" is loaded but "+u.missingRef+" cannot be resolved");var d=a._loadingSchemas[l];return d||(d=a._loadingSchemas[l]=a._opts.loadSchema(l),d.then(p,p)),d.then(function(g){if(!m(l))return s(g).then(function(){m(l)||a.addSchema(g,l,void 0,e)})}).then(function(){return i(o)});function p(){delete a._loadingSchemas[l]}function m(g){return a._refs[g]||a._schemas[g]}}}}});var iE=V((WK,sE)=>{"use strict";sE.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d,p="data"+(i||""),m="valid"+s,g="errs__"+s,_=e.opts.$data&&o&&o.$data,f;_?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",f="schema"+s):f=o;var h=this,y="definition"+s,v=h.definition,b="",w,S,E,T,R;if(_&&v.$data){R="keywordValidate"+s;var M=v.validateSchema;n+=" var "+y+" = RULES.custom['"+r+"'].definition; var "+R+" = "+y+".validate;"}else{if(T=e.useCustomRule(h,o,e.schema,e),!T)return;f="validate.schema"+c,R=T.code,w=v.compile,S=v.inline,E=v.macro}var j=R+".errors",q="i"+s,H="ruleErr"+s,N=v.async;if(N&&!e.async)throw new Error("async keyword in sync schema");if(S||E||(n+=""+j+" = null;"),n+="var "+g+" = errors;var "+m+";",_&&v.$data&&(b+="}",n+=" if ("+f+" === undefined) { "+m+" = true; } else { ",M&&(b+="}",n+=" "+m+" = "+y+".validateSchema("+f+"); if ("+m+") { ")),S)v.statements?n+=" "+T.validate+" ":n+=" "+m+" = "+T.validate+"; ";else if(E){var W=e.util.copy(e),b="";W.level++;var oe="valid"+W.level;W.schema=T.validate,W.schemaPath="";var he=e.compositeRule;e.compositeRule=W.compositeRule=!0;var ae=e.validate(W).replace(/validate\.schema/g,R);e.compositeRule=W.compositeRule=he,n+=" "+ae}else{var re=re||[];re.push(n),n="",n+=" "+R+".call( ",e.opts.passContext?n+="this":n+="self",w||v.schema===!1?n+=" , "+p+" ":n+=" , "+f+" , "+p+" , validate.schema"+e.schemaPath+" ",n+=" , (dataPath || '')",e.errorPath!='""'&&(n+=" + "+e.errorPath);var U=i?"data"+(i-1||""):"parentData",$=i?e.dataPathArr[i]:"parentDataProperty";n+=" , "+U+" , "+$+" , rootData ) ";var z=n;n=re.pop(),v.errors===!1?(n+=" "+m+" = ",N&&(n+="await "),n+=""+z+"; "):N?(j="customErrors"+s,n+=" var "+j+" = null; try { "+m+" = await "+z+"; } catch (e) { "+m+" = false; if (e instanceof ValidationError) "+j+" = e.errors; else throw e; } "):n+=" "+j+" = null; "+m+" = "+z+"; "}if(v.modifying&&(n+=" if ("+U+") "+p+" = "+U+"["+$+"];"),n+=""+b,v.valid)l&&(n+=" if (true) { ");else{n+=" if ( ",v.valid===void 0?(n+=" !",E?n+=""+oe:n+=""+m):n+=" "+!v.valid+" ",n+=") { ",d=h.keyword;var re=re||[];re.push(n),n="";var re=re||[];re.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(d||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+h.keyword+"' } ",e.opts.messages!==!1&&(n+=` , message: 'should pass "`+h.keyword+`" keyword validation' `),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),n+=" } "):n+=" {} ";var A=n;n=re.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+A+"]); ":n+=" validate.errors = ["+A+"]; return false; ":n+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var x=n;n=re.pop(),S?v.errors?v.errors!="full"&&(n+=" for (var "+q+"="+g+"; "+q+"{SL.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 uE=V((XK,cE)=>{"use strict";var oE=em();cE.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:oE.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:oE.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var dE=V((JK,lE)=>{"use strict";var xL=/^[a-z_$][a-z0-9_$-]*$/i,wL=iE(),EL=uE();lE.exports={add:TL,get:kL,remove:RL,validate:tm};function TL(t,e){var r=this.RULES;if(r.keywords[t])throw new Error("Keyword "+t+" is already defined");if(!xL.test(t))throw new Error("Keyword "+t+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var a=e.type;if(Array.isArray(a))for(var n=0;n{PL.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var xE=V((QK,SE)=>{"use strict";var mE=Vx(),Fa=Du(),$L=Zx(),hE=Ff(),OL=Gf(),CL=sw(),IL=Yw(),vE=tE(),gE=qa();SE.exports=Pt;Pt.prototype.validate=NL;Pt.prototype.compile=ML;Pt.prototype.addSchema=jL;Pt.prototype.addMetaSchema=DL;Pt.prototype.validateSchema=LL;Pt.prototype.getSchema=FL;Pt.prototype.removeSchema=zL;Pt.prototype.addFormat=XL;Pt.prototype.errorsText=KL;Pt.prototype._addSchema=HL;Pt.prototype._compile=BL;Pt.prototype.compileAsync=aE();var Gu=dE();Pt.prototype.addKeyword=Gu.add;Pt.prototype.getKeyword=Gu.get;Pt.prototype.removeKeyword=Gu.remove;Pt.prototype.validateKeyword=Gu.validate;var yE=Lu();Pt.ValidationError=yE.Validation;Pt.MissingRefError=yE.MissingRef;Pt.$dataMetaSchema=vE;var Vu="http://json-schema.org/draft-07/schema",fE=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],AL=["/properties"];function Pt(t){if(!(this instanceof Pt))return new Pt(t);t=this._opts=gE.copy(t)||{},r9(this),this._schemas={},this._refs={},this._fragments={},this._formats=CL(t.format),this._cache=t.cache||new $L,this._loadingSchemas={},this._compilations=[],this.RULES=IL(),this._getId=VL(t),t.loopRequired=t.loopRequired||1/0,t.errorDataPath=="property"&&(t._errorDataPathProperty=!0),t.serialize===void 0&&(t.serialize=OL),this._metaOpts=t9(this),t.formats&&QL(this),t.keywords&&e9(this),JL(this),typeof t.meta=="object"&&this.addMetaSchema(t.meta),t.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),YL(this)}function NL(t,e){var r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error('no schema with key or ref "'+t+'"')}else{var a=this._addSchema(t);r=a.validate||this._compile(a)}var n=r(e);return r.$async!==!0&&(this.errors=r.errors),n}function ML(t,e){var r=this._addSchema(t,void 0,e);return r.validate||this._compile(r)}function jL(t,e,r,a){if(Array.isArray(t)){for(var n=0;n{RE.exports=kE;kE.sync=a9;var EE=require("fs");function n9(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var a=0;a{IE.exports=OE;OE.sync=s9;var $E=require("fs");function OE(t,e,r){$E.stat(t,function(a,n){r(a,a?!1:CE(n,e))})}function s9(t,e){return CE($E.statSync(t),e)}function CE(t,e){return t.isFile()&&i9(t,e)}function i9(t,e){var r=t.mode,a=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),o=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=o|c,d=r&u||r&c&&n===i||r&o&&a===s||r&l&&s===0;return d}});var ME=V((iX,NE)=>{var sX=require("fs"),Zu;process.platform==="win32"||global.TESTING_WINDOWS?Zu=PE():Zu=AE();NE.exports=nm;nm.sync=o9;function nm(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,n){nm(t,e||{},function(s,i){s?n(s):a(i)})})}Zu(t,e||{},function(a,n){a&&(a.code==="EACCES"||e&&e.ignoreErrors)&&(a=null,n=!1),r(a,n)})}function o9(t,e){try{return Zu.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var zE=V((oX,UE)=>{var Bs=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",jE=require("path"),c9=Bs?";":":",DE=ME(),LE=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),qE=(t,e)=>{let r=e.colon||c9,a=t.match(/\//)||Bs&&t.match(/\\/)?[""]:[...Bs?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Bs?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Bs?n.split(r):[""];return Bs&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:a,pathExt:s,pathExtExe:n}},FE=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:a,pathExt:n,pathExtExe:s}=qE(t,e),i=[],o=u=>new Promise((l,d)=>{if(u===a.length)return e.all&&i.length?l(i):d(LE(t));let p=a[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=jE.join(m,t),_=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(_,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===n.length)return p(o(l+1));let g=n[d];DE(u+g,{pathExt:s},(_,f)=>{if(!_&&f)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?o(0).then(u=>r(null,u),r):o(0)},u9=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:a,pathExtExe:n}=qE(t,e),s=[];for(let i=0;i{"use strict";var HE=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(a=>a.toUpperCase()==="PATH")||"Path"};am.exports=HE;am.exports.default=HE});var WE=V((uX,ZE)=>{"use strict";var VE=require("path"),l9=zE(),d9=BE();function GE(t,e){let r=t.options.env||process.env,a=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch{}let i;try{i=l9.sync(t.command,{path:r[d9({env:r})],pathExt:e?VE.delimiter:void 0})}catch{}finally{s&&process.chdir(a)}return i&&(i=VE.resolve(n?t.options.cwd:"",i)),i}function p9(t){return GE(t)||GE(t,!0)}ZE.exports=p9});var KE=V((lX,im)=>{"use strict";var sm=/([()\][%!^"`<>&|;, *?])/g;function f9(t){return t=t.replace(sm,"^$1"),t}function m9(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(sm,"^$1"),e&&(t=t.replace(sm,"^$1")),t}im.exports.command=f9;im.exports.argument=m9});var JE=V((dX,XE)=>{"use strict";XE.exports=/^#!(.*)/});var QE=V((pX,YE)=>{"use strict";var h9=JE();YE.exports=(t="")=>{let e=t.match(h9);if(!e)return null;let[r,a]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?a:a?`${n} ${a}`:n}});var t1=V((fX,e1)=>{"use strict";var om=require("fs"),v9=QE();function g9(t){let r=Buffer.alloc(150),a;try{a=om.openSync(t,"r"),om.readSync(a,r,0,150,0),om.closeSync(a)}catch{}return v9(r.toString())}e1.exports=g9});var s1=V((mX,a1)=>{"use strict";var y9=require("path"),r1=WE(),n1=KE(),_9=t1(),b9=process.platform==="win32",S9=/\.(?:com|exe)$/i,x9=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function w9(t){t.file=r1(t);let e=t.file&&_9(t.file);return e?(t.args.unshift(t.file),t.command=e,r1(t)):t.file}function E9(t){if(!b9)return t;let e=w9(t),r=!S9.test(e);if(t.options.forceShell||r){let a=x9.test(e);t.command=y9.normalize(t.command),t.command=n1.command(t.command),t.args=t.args.map(s=>n1.argument(s,a));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function T9(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let a={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?a:E9(a)}a1.exports=T9});var c1=V((hX,o1)=>{"use strict";var cm=process.platform==="win32";function um(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function k9(t,e){if(!cm)return;let r=t.emit;t.emit=function(a,n){if(a==="exit"){let s=i1(n,e);if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function i1(t,e){return cm&&t===1&&!e.file?um(e.original,"spawn"):null}function R9(t,e){return cm&&t===1&&!e.file?um(e.original,"spawnSync"):null}o1.exports={hookChildProcess:k9,verifyENOENT:i1,verifyENOENTSync:R9,notFoundError:um}});var d1=V((vX,Vs)=>{"use strict";var u1=require("child_process"),lm=s1(),dm=c1();function l1(t,e,r){let a=lm(t,e,r),n=u1.spawn(a.command,a.args,a.options);return dm.hookChildProcess(n,a),n}function P9(t,e,r){let a=lm(t,e,r),n=u1.spawnSync(a.command,a.args,a.options);return n.error=n.error||dm.verifyENOENTSync(n.status,a),n}Vs.exports=l1;Vs.exports.spawn=l1;Vs.exports.sync=P9;Vs.exports._parse=lm;Vs.exports._enoent=dm});var h1,v1,g1=Jr(()=>{"use strict";h1="bugfix,feature,refactor,discovery,decision,change",v1="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var b1={};ia(b1,{SettingsDefaultsManager:()=>Ze});var Zs,y1,_1,Ze,Or=Jr(()=>{"use strict";Zs=require("fs"),y1=require("path"),_1=require("os");g1();ot();Ze=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,y1.join)((0,_1.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:h1,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:v1,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,Zs.existsSync)(e))return this.getAllDefaults();let r=(0,Zs.readFileSync)(e,"utf-8"),a=JSON.parse(r),n=a;if(a.env&&typeof a.env=="object"){n=a.env;try{(0,Zs.writeFileSync)(e,JSON.stringify(n,null,2),"utf-8"),P.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(i){P.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(s[i]=n[i]);return s}catch(r){return P.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},r),this.getAllDefaults()}}}});var Ws,Ku,pm,fm,P,ot=Jr(()=>{"use strict";Or();Ws=require("fs"),Ku=require("path"),pm=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(pm||{}),fm=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let e=Ze.get("CLAUDE_MEM_DATA_DIR"),r=(0,Ku.join)(e,"logs");(0,Ws.existsSync)(r)||(0,Ws.mkdirSync)(r,{recursive:!0});let a=new Date().toISOString().split("T")[0];this.logFilePath=(0,Ku.join)(r,`claude-mem-${a}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}getLevel(){if(this.level===null)try{let e=Ze.get("CLAUDE_MEM_DATA_DIR"),r=(0,Ku.join)(e,"settings.json"),n=Ze.loadFromFile(r).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=pm[n]??1}catch(e){console.error("[LOGGER] Failed to load settings, using INFO level:",e),this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} +`}function p2(){return function(){this.error(404)}}function f2(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=mf.original(this.req);r.path=null,r.pathname=l2(r.pathname+"/");var a=s2(c2.format(r)),n=d2("Redirecting","Redirecting to "+i2(a));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(n)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",a),e.end(n)}}});var BS=V((rr,HS)=>{"use strict";var fu=pb(),m2=require("events").EventEmitter,qS=mb(),FS=W0(),h2=Dp(),v2=qp(),US=bS(),zS=jS();rr=HS.exports=g2;function g2(){var t=function(e,r,a){t.handle(e,r,a)};return qS(t,m2.prototype,!1),qS(t,FS,!1),t.request=Object.create(US,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(zS,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}rr.application=FS;rr.request=US;rr.response=zS;rr.Route=h2;rr.Router=v2;rr.json=fu.json;rr.query=Fp();rr.raw=fu.raw;rr.static=LS();rr.text=fu.text;rr.urlencoded=fu.urlencoded;var y2=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];y2.forEach(function(t){Object.defineProperty(rr,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var mu=V((TW,VS)=>{"use strict";VS.exports=BS()});var wx=V(($u,xx)=>{(function(t,e){typeof $u=="object"&&typeof xx<"u"?e($u):typeof define=="function"&&define.amd?define(["exports"],e):e(t.URI=t.URI||{})})($u,(function(t){"use strict";function e(){for(var B=arguments.length,L=Array(B),G=0;G1){L[0]=L[0].slice(0,-1);for(var X=L.length-1,Y=1;Y= 0x80 (not a basic code point)","invalid-input":"Invalid input"},R=m-g,M=Math.floor,j=String.fromCharCode;function q(B){throw new RangeError(T[B])}function H(B,L){for(var G=[],X=B.length;X--;)G[X]=L(B[X]);return G}function N(B,L){var G=B.split("@"),X="";G.length>1&&(X=G[0]+"@",B=G[1]),B=B.replace(E,".");var Y=B.split("."),ye=H(Y,L).join(".");return X+ye}function W(B){for(var L=[],G=0,X=B.length;G=55296&&Y<=56319&&G>1,L+=M(L/G);L>R*_>>1;Y+=m)L=M(L/R);return M(Y+(R+1)*L/(L+f))},U=function(L){var G=[],X=L.length,Y=0,ye=v,qe=y,Xe=L.lastIndexOf(b);Xe<0&&(Xe=0);for(var rt=0;rt=128&&q("not-basic"),G.push(L.charCodeAt(rt));for(var Ct=Xe>0?Xe+1:0;Ct=X&&q("invalid-input");var gt=he(L.charCodeAt(Ct++));(gt>=m||gt>M((p-Y)/bt))&&q("overflow"),Y+=gt*bt;var Ye=It<=qe?g:It>=qe+_?_:It-qe;if(gtM(p/St)&&q("overflow"),bt*=St}var st=G.length+1;qe=re(Y-We,st,We==0),M(Y/st)>p-ye&&q("overflow"),ye+=M(Y/st),Y%=st,G.splice(Y++,0,ye)}return String.fromCodePoint.apply(String,G)},P=function(L){var G=[];L=W(L);var X=L.length,Y=v,ye=0,qe=y,Xe=!0,rt=!1,Ct=void 0;try{for(var We=L[Symbol.iterator](),bt;!(Xe=(bt=We.next()).done);Xe=!0){var It=bt.value;It<128&&G.push(j(It))}}catch(sa){rt=!0,Ct=sa}finally{try{!Xe&&We.return&&We.return()}finally{if(rt)throw Ct}}var gt=G.length,Ye=gt;for(gt&&G.push(b);Ye=Y&&prM((p-ye)/yr)&&q("overflow"),ye+=(St-Y)*yr,Y=St;var Xr=!0,aa=!1,mn=void 0;try{for(var Oi=L[Symbol.iterator](),sc;!(Xr=(sc=Oi.next()).done);Xr=!0){var ic=sc.value;if(icp&&q("overflow"),ic==Y){for(var rs=ye,ns=m;;ns+=m){var hn=ns<=qe?g:ns>=qe+_?_:ns-qe;if(rs>6|192).toString(16).toUpperCase()+"%"+(L&63|128).toString(16).toUpperCase():G="%"+(L>>12|224).toString(16).toUpperCase()+"%"+(L>>6&63|128).toString(16).toUpperCase()+"%"+(L&63|128).toString(16).toUpperCase(),G}function K(B){for(var L="",G=0,X=B.length;G=194&&Y<224){if(X-G>=6){var ye=parseInt(B.substr(G+4,2),16);L+=String.fromCharCode((Y&31)<<6|ye&63)}else L+=B.substr(G,6);G+=6}else if(Y>=224){if(X-G>=9){var qe=parseInt(B.substr(G+4,2),16),Xe=parseInt(B.substr(G+7,2),16);L+=String.fromCharCode((Y&15)<<12|(qe&63)<<6|Xe&63)}else L+=B.substr(G,9);G+=9}else L+=B.substr(G,3),G+=3}return L}function J(B,L){function G(X){var Y=K(X);return Y.match(L.UNRESERVED)?Y:X}return B.scheme&&(B.scheme=String(B.scheme).replace(L.PCT_ENCODED,G).toLowerCase().replace(L.NOT_SCHEME,"")),B.userinfo!==void 0&&(B.userinfo=String(B.userinfo).replace(L.PCT_ENCODED,G).replace(L.NOT_USERINFO,D).replace(L.PCT_ENCODED,n)),B.host!==void 0&&(B.host=String(B.host).replace(L.PCT_ENCODED,G).toLowerCase().replace(L.NOT_HOST,D).replace(L.PCT_ENCODED,n)),B.path!==void 0&&(B.path=String(B.path).replace(L.PCT_ENCODED,G).replace(B.scheme?L.NOT_PATH:L.NOT_PATH_NOSCHEME,D).replace(L.PCT_ENCODED,n)),B.query!==void 0&&(B.query=String(B.query).replace(L.PCT_ENCODED,G).replace(L.NOT_QUERY,D).replace(L.PCT_ENCODED,n)),B.fragment!==void 0&&(B.fragment=String(B.fragment).replace(L.PCT_ENCODED,G).replace(L.NOT_FRAGMENT,D).replace(L.PCT_ENCODED,n)),B}function de(B){return B.replace(/^0*(.*)/,"$1")||"0"}function se(B,L){var G=B.match(L.IPV4ADDRESS)||[],X=l(G,2),Y=X[1];return Y?Y.split(".").map(de).join("."):B}function me(B,L){var G=B.match(L.IPV6ADDRESS)||[],X=l(G,3),Y=X[1],ye=X[2];if(Y){for(var qe=Y.toLowerCase().split("::").reverse(),Xe=l(qe,2),rt=Xe[0],Ct=Xe[1],We=Ct?Ct.split(":").map(de):[],bt=rt.split(":").map(de),It=L.IPV4ADDRESS.test(bt[bt.length-1]),gt=It?7:8,Ye=bt.length-gt,St=Array(gt),st=0;st1){var ct=St.slice(0,dr.index),pr=St.slice(dr.index+dr.length);gr=ct.join(":")+"::"+pr.join(":")}else gr=St.join(":");return ye&&(gr+="%"+ye),gr}else return B}var C=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,I="".match(/(){0}/)[1]===void 0;function F(B){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G={},X=L.iri!==!1?u:c;L.reference==="suffix"&&(B=(L.scheme?L.scheme+":":"")+"//"+B);var Y=B.match(C);if(Y){I?(G.scheme=Y[1],G.userinfo=Y[3],G.host=Y[4],G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=Y[7],G.fragment=Y[8],isNaN(G.port)&&(G.port=Y[5])):(G.scheme=Y[1]||void 0,G.userinfo=B.indexOf("@")!==-1?Y[3]:void 0,G.host=B.indexOf("//")!==-1?Y[4]:void 0,G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=B.indexOf("?")!==-1?Y[7]:void 0,G.fragment=B.indexOf("#")!==-1?Y[8]:void 0,isNaN(G.port)&&(G.port=B.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Y[4]:void 0)),G.host&&(G.host=me(se(G.host,X),X)),G.scheme===void 0&&G.userinfo===void 0&&G.host===void 0&&G.port===void 0&&!G.path&&G.query===void 0?G.reference="same-document":G.scheme===void 0?G.reference="relative":G.fragment===void 0?G.reference="absolute":G.reference="uri",L.reference&&L.reference!=="suffix"&&L.reference!==G.reference&&(G.error=G.error||"URI is not a "+L.reference+" reference.");var ye=k[(L.scheme||G.scheme||"").toLowerCase()];if(!L.unicodeSupport&&(!ye||!ye.unicodeSupport)){if(G.host&&(L.domainHost||ye&&ye.domainHost))try{G.host=x.toASCII(G.host.replace(X.PCT_ENCODED,K).toLowerCase())}catch(qe){G.error=G.error||"Host's domain name can not be converted to ASCII via punycode: "+qe}J(G,c)}else J(G,X);ye&&ye.parse&&ye.parse(G,L)}else G.error=G.error||"URI can not be parsed.";return G}function Z(B,L){var G=L.iri!==!1?u:c,X=[];return B.userinfo!==void 0&&(X.push(B.userinfo),X.push("@")),B.host!==void 0&&X.push(me(se(String(B.host),G),G).replace(G.IPV6ADDRESS,function(Y,ye,qe){return"["+ye+(qe?"%25"+qe:"")+"]"})),(typeof B.port=="number"||typeof B.port=="string")&&(X.push(":"),X.push(String(B.port))),X.length?X.join(""):void 0}var ee=/^\.\.?\//,ce=/^\/\.(\/|$)/,ke=/^\/\.\.(\/|$)/,Ne=/^\/?(?:.|\n)*?(?=\/|$)/;function Me(B){for(var L=[];B.length;)if(B.match(ee))B=B.replace(ee,"");else if(B.match(ce))B=B.replace(ce,"/");else if(B.match(ke))B=B.replace(ke,"/"),L.pop();else if(B==="."||B==="..")B="";else{var G=B.match(Ne);if(G){var X=G[0];B=B.slice(X.length),L.push(X)}else throw new Error("Unexpected dot segment condition")}return L.join("")}function je(B){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=L.iri?u:c,X=[],Y=k[(L.scheme||B.scheme||"").toLowerCase()];if(Y&&Y.serialize&&Y.serialize(B,L),B.host&&!G.IPV6ADDRESS.test(B.host)){if(L.domainHost||Y&&Y.domainHost)try{B.host=L.iri?x.toUnicode(B.host):x.toASCII(B.host.replace(G.PCT_ENCODED,K).toLowerCase())}catch(Xe){B.error=B.error||"Host's domain name can not be converted to "+(L.iri?"Unicode":"ASCII")+" via punycode: "+Xe}}J(B,G),L.reference!=="suffix"&&B.scheme&&(X.push(B.scheme),X.push(":"));var ye=Z(B,L);if(ye!==void 0&&(L.reference!=="suffix"&&X.push("//"),X.push(ye),B.path&&B.path.charAt(0)!=="/"&&X.push("/")),B.path!==void 0){var qe=B.path;!L.absolutePath&&(!Y||!Y.absolutePath)&&(qe=Me(qe)),ye===void 0&&(qe=qe.replace(/^\/\//,"/%2F")),X.push(qe)}return B.query!==void 0&&(X.push("?"),X.push(B.query)),B.fragment!==void 0&&(X.push("#"),X.push(B.fragment)),X.join("")}function Re(B,L){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},X=arguments[3],Y={};return X||(B=F(je(B,G),G),L=F(je(L,G),G)),G=G||{},!G.tolerant&&L.scheme?(Y.scheme=L.scheme,Y.userinfo=L.userinfo,Y.host=L.host,Y.port=L.port,Y.path=Me(L.path||""),Y.query=L.query):(L.userinfo!==void 0||L.host!==void 0||L.port!==void 0?(Y.userinfo=L.userinfo,Y.host=L.host,Y.port=L.port,Y.path=Me(L.path||""),Y.query=L.query):(L.path?(L.path.charAt(0)==="/"?Y.path=Me(L.path):((B.userinfo!==void 0||B.host!==void 0||B.port!==void 0)&&!B.path?Y.path="/"+L.path:B.path?Y.path=B.path.slice(0,B.path.lastIndexOf("/")+1)+L.path:Y.path=L.path,Y.path=Me(Y.path)),Y.query=L.query):(Y.path=B.path,L.query!==void 0?Y.query=L.query:Y.query=B.query),Y.userinfo=B.userinfo,Y.host=B.host,Y.port=B.port),Y.scheme=B.scheme),Y.fragment=L.fragment,Y}function vt(B,L,G){var X=i({scheme:"null"},G);return je(Re(F(B,X),F(L,X),X,!0),X)}function Ue(B,L){return typeof B=="string"?B=je(F(B,L),L):a(B)==="object"&&(B=F(je(B,L),L)),B}function vr(B,L,G){return typeof B=="string"?B=je(F(B,G),G):a(B)==="object"&&(B=je(B,G)),typeof L=="string"?L=je(F(L,G),G):a(L)==="object"&&(L=je(L,G)),B===L}function Zt(B,L){return B&&B.toString().replace(!L||!L.iri?c.ESCAPE:u.ESCAPE,D)}function Nt(B,L){return B&&B.toString().replace(!L||!L.iri?c.PCT_ENCODED:u.PCT_ENCODED,K)}var Lr={scheme:"http",domainHost:!0,parse:function(L,G){return L.host||(L.error=L.error||"HTTP URIs must have a host."),L},serialize:function(L,G){var X=String(L.scheme).toLowerCase()==="https";return(L.port===(X?443:80)||L.port==="")&&(L.port=void 0),L.path||(L.path="/"),L}},On={scheme:"https",domainHost:Lr.domainHost,parse:Lr.parse,serialize:Lr.serialize};function es(B){return typeof B.secure=="boolean"?B.secure:String(B.scheme).toLowerCase()==="wss"}var $i={scheme:"ws",domainHost:!0,parse:function(L,G){var X=L;return X.secure=es(X),X.resourceName=(X.path||"/")+(X.query?"?"+X.query:""),X.path=void 0,X.query=void 0,X},serialize:function(L,G){if((L.port===(es(L)?443:80)||L.port==="")&&(L.port=void 0),typeof L.secure=="boolean"&&(L.scheme=L.secure?"wss":"ws",L.secure=void 0),L.resourceName){var X=L.resourceName.split("?"),Y=l(X,2),ye=Y[0],qe=Y[1];L.path=ye&&ye!=="/"?ye:void 0,L.query=qe,L.resourceName=void 0}return L.fragment=void 0,L}},Nh={scheme:"wss",domainHost:$i.domainHost,parse:$i.parse,serialize:$i.serialize},YR={},QR=!0,Mh="[A-Za-z0-9\\-\\.\\_\\~"+(QR?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",Kr="[0-9A-Fa-f]",eP=r(r("%[EFef]"+Kr+"%"+Kr+Kr+"%"+Kr+Kr)+"|"+r("%[89A-Fa-f]"+Kr+"%"+Kr+Kr)+"|"+r("%"+Kr+Kr)),tP="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",rP="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",nP=e(rP,'[\\"\\\\]'),aP="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",sP=new RegExp(Mh,"g"),ts=new RegExp(eP,"g"),iP=new RegExp(e("[^]",tP,"[\\.]",'[\\"]',nP),"g"),jh=new RegExp(e("[^]",Mh,aP),"g"),oP=jh;function pd(B){var L=K(B);return L.match(sP)?L:B}var Dh={scheme:"mailto",parse:function(L,G){var X=L,Y=X.to=X.path?X.path.split(","):[];if(X.path=void 0,X.query){for(var ye=!1,qe={},Xe=X.query.split("&"),rt=0,Ct=Xe.length;rt{"use strict";Ex.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 a,n,s;if(Array.isArray(e)){if(a=e.length,a!=r.length)return!1;for(n=a;n--!==0;)if(!t(e[n],r[n]))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),a=s.length,a!==Object.keys(r).length)return!1;for(n=a;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=a;n--!==0;){var i=s[n];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var kx=V((lK,Tx)=>{"use strict";Tx.exports=function(e){for(var r=0,a=e.length,n=0,s;n=55296&&s<=56319&&n{"use strict";$x.exports={copy:T8,checkDataType:Af,checkDataTypes:k8,coerceToTypes:R8,toHash:Mf,getProperty:jf,escapeQuotes:Df,equal:Ou(),ucs2length:kx(),varOccurences:O8,varReplace:C8,schemaHasRules:I8,schemaHasRulesExcept:A8,schemaUnknownRules:N8,toQuotedString:Nf,getPathExpr:M8,getPath:j8,getData:q8,unescapeFragment:F8,unescapeJsonPointer:qf,escapeFragment:U8,escapeJsonPointer:Lf};function T8(t,e){e=e||{};for(var r in t)e[r]=t[r];return e}function Af(t,e,r,a){var n=a?" !== ":" === ",s=a?" || ":" && ",i=a?"!":"",o=a?"":"!";switch(t){case"null":return e+n+"null";case"array":return i+"Array.isArray("+e+")";case"object":return"("+i+e+s+"typeof "+e+n+'"object"'+s+o+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+n+'"number"'+s+o+"("+e+" % 1)"+s+e+n+e+(r?s+i+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+n+'"'+t+'"'+(r?s+i+"isFinite("+e+")":"")+")";default:return"typeof "+e+n+'"'+t+'"'}}function k8(t,e,r){switch(t.length){case 1:return Af(t[0],e,r,!0);default:var a="",n=Mf(t);n.array&&n.object&&(a=n.null?"(":"(!"+e+" || ",a+="typeof "+e+' !== "object")',delete n.null,delete n.array,delete n.object),n.number&&delete n.integer;for(var s in n)a+=(a?" && ":"")+Af(s,e,r,!0);return a}}var Rx=Mf(["string","number","integer","boolean","null"]);function R8(t,e){if(Array.isArray(e)){for(var r=[],a=0;a=e)throw new Error("Cannot access property/index "+a+" levels up, current level is "+e);return r[e-a]}if(a>e)throw new Error("Cannot access data "+a+" levels up, current level is "+e);if(s="data"+(e-a||""),!n)return s}for(var o=s,c=n.split("/"),u=0;u{"use strict";var z8=qa();Ox.exports=H8;function H8(t){z8.copy(t,this)}});var Ix=V((fK,Cx)=>{"use strict";var Hn=Cx.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var a=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Cu(e,a,n,t,"",t)};Hn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};Hn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Hn.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Hn.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 Cu(t,e,r,a,n,s,i,o,c,u){if(a&&typeof a=="object"&&!Array.isArray(a)){e(a,n,s,i,o,c,u);for(var l in a){var d=a[l];if(Array.isArray(d)){if(l in Hn.arrayKeywords)for(var p=0;p{"use strict";var xo=wx(),Ax=Ou(),Mu=qa(),Iu=Ff(),V8=Ix();jx.exports=Vn;Vn.normalizeId=Bn;Vn.fullPath=Au;Vn.url=Nu;Vn.ids=X8;Vn.inlineRef=Uf;Vn.schema=ju;function Vn(t,e,r){var a=this._refs[r];if(typeof a=="string")if(this._refs[a])a=this._refs[a];else return Vn.call(this,t,e,a);if(a=a||this._schemas[r],a instanceof Iu)return Uf(a.schema,this._opts.inlineRefs)?a.schema:a.validate||this._compile(a);var n=ju.call(this,e,r),s,i,o;return n&&(s=n.schema,e=n.root,o=n.baseId),s instanceof Iu?i=s.validate||t.call(this,s.schema,e,void 0,o):s!==void 0&&(i=Uf(s,this._opts.inlineRefs)?s:t.call(this,s,e,void 0,o)),i}function ju(t,e){var r=xo.parse(e),a=Mx(r),n=Au(this._getId(t.schema));if(Object.keys(t.schema).length===0||a!==n){var s=Bn(a),i=this._refs[s];if(typeof i=="string")return G8.call(this,t,i,r);if(i instanceof Iu)i.validate||this._compile(i),t=i;else if(i=this._schemas[s],i instanceof Iu){if(i.validate||this._compile(i),s==Bn(e))return{schema:i,root:t,baseId:n};t=i}else return;if(!t.schema)return;n=Au(this._getId(t.schema))}return Nx.call(this,r,n,t.schema,t)}function G8(t,e,r){var a=ju.call(this,t,e);if(a){var n=a.schema,s=a.baseId;t=a.root;var i=this._getId(n);return i&&(s=Nu(s,i)),Nx.call(this,r,s,n,t)}}var Z8=Mu.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function Nx(t,e,r,a){if(t.fragment=t.fragment||"",t.fragment.slice(0,1)=="/"){for(var n=t.fragment.split("/"),s=1;s{"use strict";var Bf=Du();Lx.exports={Validation:Dx(J8),MissingRef:Dx(Vf)};function J8(t){this.message="validation failed",this.errors=t,this.ajv=this.validation=!0}Vf.message=function(t,e){return"can't resolve reference "+e+" from id "+t};function Vf(t,e,r){this.message=r||Vf.message(t,e),this.missingRef=Bf.url(t,e),this.missingSchema=Bf.normalizeId(Bf.fullPath(this.missingRef))}function Dx(t){return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}});var Gf=V((vK,qx)=>{"use strict";qx.exports=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var r=typeof e.cycles=="boolean"?e.cycles:!1,a=e.cmp&&(function(s){return function(i){return function(o,c){var u={key:o,value:i[o]},l={key:c,value:i[c]};return s(u,l)}}})(e.cmp),n=[];return(function s(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i!==void 0){if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);var o,c;if(Array.isArray(i)){for(c="[",o=0;o{"use strict";Fx.exports=function(e,r,a){var n="",s=e.schema.$async===!0,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var c=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(c){var u="unknown keyword: "+c;if(e.opts.strictKeywords==="log")e.logger.warn(u);else throw new Error(u)}}if(e.isTop&&(n+=" var validate = ",s&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" "+("/*# sourceURL="+o+" */")+" ")),typeof e.schema=="boolean"||!(i||e.schema.$ref)){var r="false schema",l=e.level,d=e.dataLevel,p=e.schema[r],m=e.schemaPath+e.util.getProperty(r),g=e.errSchemaPath+"/"+r,w=!e.opts.allErrors,T,_="data"+(d||""),b="valid"+l;if(e.schema===!1){e.isTop?w=!0:n+=" var "+b+" = false; ";var f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(T||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),n+=" } "):n+=" {} ";var h=n;n=f.pop(),!e.compositeRule&&w?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?s?n+=" return data; ":n+=" validate.errors = null; return true; ":n+=" var "+b+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var y=e.isTop,l=e.level=0,d=e.dataLevel=0,_="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(v);else throw new Error(v)}n+=" var vErrors = null; ",n+=" var errors = 0; ",n+=" if (rootData === undefined) rootData = data; "}else{var l=e.level,d=e.dataLevel,_="data"+(d||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),s&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+l+" = errors;"}var b="valid"+l,w=!e.opts.allErrors,S="",E="",T,R=e.schema.type,M=Array.isArray(R);if(R&&e.opts.nullable&&e.schema.nullable===!0&&(M?R.indexOf("null")==-1&&(R=R.concat("null")):R!="null"&&(R=[R,"null"],M=!0)),M&&R.length==1&&(R=R[0],M=!1),e.schema.$ref&&i){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),R){if(e.opts.coerceTypes)var j=e.util.coerceToTypes(e.opts.coerceTypes,R);var q=e.RULES.types[R];if(j||M||q===!0||q&&!Ne(q)){var m=e.schemaPath+".type",g=e.errSchemaPath+"/type",m=e.schemaPath+".type",g=e.errSchemaPath+"/type",H=M?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[H](R,_,e.opts.strictNumbers,!0)+") { ",j){var N="dataType"+l,W="coerced"+l;n+=" var "+N+" = typeof "+_+"; var "+W+" = undefined; ",e.opts.coerceTypes=="array"&&(n+=" if ("+N+" == 'object' && Array.isArray("+_+") && "+_+".length == 1) { "+_+" = "+_+"[0]; "+N+" = typeof "+_+"; if ("+e.util.checkDataType(e.schema.type,_,e.opts.strictNumbers)+") "+W+" = "+_+"; } "),n+=" if ("+W+" !== undefined) ; ";var oe=j;if(oe)for(var he,ae=-1,re=oe.length-1;ae{"use strict";var qu=Du(),Uu=qa(),zx=Lu(),Y8=Gf(),Ux=Zf(),Q8=Uu.ucs2length,e9=Ou(),t9=zx.Validation;Bx.exports=Wf;function Wf(t,e,r,a){var n=this,s=this._opts,i=[void 0],o={},c=[],u={},l=[],d={},p=[];e=e||{schema:t,refVal:i,refs:o};var m=r9.call(this,t,e,a),g=this._compilations[m.index];if(m.compiling)return g.callValidate=v;var _=this._formats,f=this.RULES;try{var h=b(t,e,r,a);g.validate=h;var y=g.callValidate;return y&&(y.schema=h.schema,y.errors=null,y.refs=h.refs,y.refVal=h.refVal,y.root=h.root,y.$async=h.$async,s.sourceCode&&(y.source=h.source)),h}finally{n9.call(this,t,e,a)}function v(){var H=g.validate,N=H.apply(this,arguments);return v.errors=H.errors,N}function b(H,N,W,oe){var he=!N||N&&N.schema==H;if(N.schema!=e.schema)return Wf.call(n,H,N,W,oe);var ae=H.$async===!0,re=Ux({isTop:!0,schema:H,isRoot:he,baseId:oe,root:N,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:zx.MissingRef,RULES:f,validate:Ux,util:Uu,resolve:qu,resolveRef:w,usePattern:M,useDefault:j,useCustomRule:q,opts:s,formats:_,logger:n.logger,self:n});re=Fu(i,i9)+Fu(c,a9)+Fu(l,s9)+Fu(p,o9)+re,s.processCode&&(re=s.processCode(re,H));var U;try{var P=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",re);U=P(n,f,_,e,i,l,p,e9,Q8,t9),i[0]=U}catch(z){throw n.logger.error("Error compiling schema, function code:",re),z}return U.schema=H,U.errors=null,U.refs=o,U.refVal=i,U.root=he?U:N,ae&&(U.$async=!0),s.sourceCode===!0&&(U.source={code:re,patterns:c,defaults:l}),U}function w(H,N,W){N=qu.url(H,N);var oe=o[N],he,ae;if(oe!==void 0)return he=i[oe],ae="refVal["+oe+"]",R(he,ae);if(!W&&e.refs){var re=e.refs[N];if(re!==void 0)return he=e.refVal[re],ae=S(N,he),R(he,ae)}ae=S(N);var U=qu.call(n,b,e,N);if(U===void 0){var P=r&&r[N];P&&(U=qu.inlineRef(P,s.inlineRefs)?P:Wf.call(n,P,e,r,H))}if(U===void 0)E(N);else return T(N,U),R(U,ae)}function S(H,N){var W=i.length;return i[W]=N,o[H]=W,"refVal"+W}function E(H){delete o[H]}function T(H,N){var W=o[H];i[W]=N}function R(H,N){return typeof H=="object"||typeof H=="boolean"?{code:N,schema:H,inline:!0}:{code:N,$async:H&&!!H.$async}}function M(H){var N=u[H];return N===void 0&&(N=u[H]=c.length,c[N]=H),"pattern"+N}function j(H){switch(typeof H){case"boolean":case"number":return""+H;case"string":return Uu.toQuotedString(H);case"object":if(H===null)return"null";var N=Y8(H),W=d[N];return W===void 0&&(W=d[N]=l.length,l[W]=H),"default"+W}}function q(H,N,W,oe){if(n._opts.validateSchema!==!1){var he=H.definition.dependencies;if(he&&!he.every(function(D){return Object.prototype.hasOwnProperty.call(W,D)}))throw new Error("parent schema must have all required keywords: "+he.join(","));var ae=H.definition.validateSchema;if(ae){var re=ae(N);if(!re){var U="keyword schema is invalid: "+n.errorsText(ae.errors);if(n._opts.validateSchema=="log")n.logger.error(U);else throw new Error(U)}}}var P=H.definition.compile,z=H.definition.inline,A=H.definition.macro,x;if(P)x=P.call(n,N,W,oe);else if(A)x=A.call(n,N,W,oe),s.validateSchema!==!1&&n.validateSchema(x,!0);else if(z)x=z.call(n,oe,H.keyword,N,W);else if(x=H.definition.validate,!x)return;if(x===void 0)throw new Error('custom keyword "'+H.keyword+'"failed to compile');var k=p.length;return p[k]=x,{code:"customRule"+k,validate:x}}}function r9(t,e,r){var a=Hx.call(this,t,e,r);return a>=0?{index:a,compiling:!0}:(a=this._compilations.length,this._compilations[a]={schema:t,root:e,baseId:r},{index:a,compiling:!1})}function n9(t,e,r){var a=Hx.call(this,t,e,r);a>=0&&this._compilations.splice(a,1)}function Hx(t,e,r){for(var a=0;a{"use strict";var zu=Gx.exports=function(){this._cache={}};zu.prototype.put=function(e,r){this._cache[e]=r};zu.prototype.get=function(e){return this._cache[e]};zu.prototype.del=function(e){delete this._cache[e]};zu.prototype.clear=function(){this._cache={}}});var sw=V((bK,aw)=>{"use strict";var c9=qa(),u9=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,l9=[0,31,28,31,30,31,30,31,31,30,31,30,31],d9=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Wx=/^(?=.{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,p9=/^(?:[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,f9=/^(?:[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,Kx=/^(?:(?:[^\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,Xx=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Jx=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Yx=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Qx=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,ew=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;aw.exports=Hu;function Hu(t){return t=t=="full"?"full":"fast",c9.copy(Hu[t])}Hu.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\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,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Kx,url:Xx,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,hostname:Wx,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i,regex:nw,uuid:Jx,"json-pointer":Yx,"json-pointer-uri-fragment":Qx,"relative-json-pointer":ew};Hu.full={date:tw,time:rw,"date-time":v9,uri:y9,"uri-reference":f9,"uri-template":Kx,url:Xx,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:Wx,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i,regex:nw,uuid:Jx,"json-pointer":Yx,"json-pointer-uri-fragment":Qx,"relative-json-pointer":ew};function m9(t){return t%4===0&&(t%100!==0||t%400===0)}function tw(t){var e=t.match(u9);if(!e)return!1;var r=+e[1],a=+e[2],n=+e[3];return a>=1&&a<=12&&n>=1&&n<=(a==2&&m9(r)?29:l9[a])}function rw(t,e){var r=t.match(d9);if(!r)return!1;var a=r[1],n=r[2],s=r[3],i=r[5];return(a<=23&&n<=59&&s<=59||a==23&&n==59&&s==60)&&(!e||i)}var h9=/t|\s/i;function v9(t){var e=t.split(h9);return e.length==2&&tw(e[0])&&rw(e[1],!0)}var g9=/\/|:/;function y9(t){return g9.test(t)&&p9.test(t)}var _9=/[^\\]\\Z/;function nw(t){if(_9.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var ow=V((SK,iw)=>{"use strict";iw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,l="data"+(i||""),d="valid"+s,p,m;if(o=="#"||o=="#/")e.isRoot?(p=e.async,m="validate"):(p=e.root.schema.$async===!0,m="root.refVal[0]");else{var g=e.resolveRef(e.baseId,o,e.isRoot);if(g===void 0){var _=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(_);var f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ",e.opts.messages!==!1&&(n+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "),e.opts.verbose&&(n+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),n+=" } "):n+=" {} ";var h=n;n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(_),u&&(n+=" if (true) { ");else throw new e.MissingRefError(e.baseId,o,_)}else if(g.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=g.schema,y.schemaPath="",y.errSchemaPath=o;var b=e.validate(y).replace(/validate\.schema/g,g.code);n+=" "+b+" ",u&&(n+=" if ("+v+") { ")}else p=g.$async===!0||e.async&&g.$async!==!1,m=g.code}if(m){var f=f||[];f.push(n),n="",e.opts.passContext?n+=" "+m+".call(this, ":n+=" "+m+"( ",n+=" "+l+", (dataPath || '')",e.errorPath!='""'&&(n+=" + "+e.errorPath);var w=i?"data"+(i-1||""):"parentData",S=i?e.dataPathArr[i]:"parentDataProperty";n+=" , "+w+" , "+S+", rootData) ";var E=n;if(n=f.pop(),p){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(n+=" var "+d+"; "),n+=" try { await "+E+"; ",u&&(n+=" "+d+" = true; "),n+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(n+=" "+d+" = false; "),n+=" } ",u&&(n+=" if ("+d+") { ")}else n+=" if (!"+E+") { if (vErrors === null) vErrors = "+m+".errors; else vErrors = vErrors.concat("+m+".errors); errors = vErrors.length; } ",u&&(n+=" else { ")}return n}});var uw=V((xK,cw)=>{"use strict";cw.exports=function(e,r,a){var n=" ",s=e.schema[r],i=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var d="valid"+u.level,p=u.baseId,m=!0,g=s;if(g)for(var _,f=-1,h=g.length-1;f0||_===!1:e.util.schemaHasRules(_,e.RULES.all))&&(m=!1,u.schema=_,u.schemaPath=i+"["+f+"]",u.errSchemaPath=o+"/"+f,n+=" "+e.validate(u)+" ",u.baseId=p,c&&(n+=" if ("+d+") { ",l+="}"));return c&&(m?n+=" if (true) { ":n+=" "+l.slice(0,-1)+" "),n}});var dw=V((wK,lw)=>{"use strict";lw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h=o.every(function(T){return e.opts.strictKeywords?typeof T=="object"&&Object.keys(T).length>0||T===!1:e.util.schemaHasRules(T,e.RULES.all)});if(h){var y=g.baseId;n+=" var "+m+" = errors; var "+p+" = false; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=o;if(b)for(var w,S=-1,E=b.length-1;S{"use strict";pw.exports=function(e,r,a){var n=" ",s=e.schema[r],i=e.errSchemaPath+"/"+r,o=!e.opts.allErrors,c=e.util.toQuotedString(s);return e.opts.$comment===!0?n+=" console.log("+c+");":typeof e.opts.$comment=="function"&&(n+=" self._opts.$comment("+c+", "+e.util.toQuotedString(i)+", validate.root.schema);"),n}});var hw=V((TK,mw)=>{"use strict";mw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,m||(n+=" var schema"+s+" = validate.schema"+c+";"),n+="var "+p+" = equal("+d+", schema"+s+"); if (!"+p+") { ";var _=_||[];_.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+s+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var f=n;return n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+f+"]); ":n+=" validate.errors = ["+f+"]; return false; ":n+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}});var gw=V((kK,vw)=>{"use strict";vw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,b=e.baseId,w=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all);if(n+="var "+m+" = errors;var "+p+";",w){var S=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" var "+f+" = false; for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var E=d+"["+h+"]";g.dataPathArr[y]=h;var T=e.validate(g);g.baseId=b,e.util.varOccurences(T,v)<2?n+=" "+e.util.varReplace(T,v,E)+" ":n+=" var "+v+" = "+E+"; "+T+" ",n+=" if ("+f+") break; } ",e.compositeRule=g.compositeRule=S,n+=" "+_+" if (!"+f+") {"}else n+=" if ("+d+".length == 0) {";var R=R||[];R.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var M=n;return n=R.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+M+"]); ":n+=" validate.errors = ["+M+"]; return false; ":n+=" var err = "+M+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",w&&(n+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n}});var _w=V((RK,yw)=>{"use strict";yw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level,f={},h={},y=e.opts.ownProperties;for(S in o)if(S!="__proto__"){var v=o[S],b=Array.isArray(v)?h:f;b[S]=v}n+="var "+p+" = errors;";var w=e.errorPath;n+="var missing"+s+";";for(var S in h)if(b=h[S],b.length){if(n+=" if ( "+d+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(S)+"') "),l){n+=" && ( ";var E=b;if(E)for(var T,R=-1,M=E.length-1;R0||v===!1:e.util.schemaHasRules(v,e.RULES.all))&&(n+=" "+_+" = true; if ( "+d+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(S)+"') "),n+=") { ",m.schema=v,m.schemaPath=c+e.util.getProperty(S),m.errSchemaPath=u+"/"+e.util.escapeFragment(S),n+=" "+e.validate(m)+" ",m.baseId=U,n+=" } ",l&&(n+=" if ("+_+") { ",g+="}"))}return l&&(n+=" "+g+" if ("+p+" == errors) {"),n}});var Sw=V((PK,bw)=>{"use strict";bw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var _="i"+s,f="schema"+s;m||(n+=" var "+f+" = validate.schema"+c+";"),n+="var "+p+";",m&&(n+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),n+=""+p+" = false;for (var "+_+"=0; "+_+"<"+f+".length; "+_+"++) if (equal("+d+", "+f+"["+_+"])) { "+p+" = true; break; }",m&&(n+=" } "),n+=" if (!"+p+") { ";var h=h||[];h.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+s+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var y=n;return n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}});var ww=V(($K,xw)=>{"use strict";xw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||"");if(e.opts.format===!1)return l&&(n+=" if (true) { "),n;var p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=e.opts.unknownFormats,_=Array.isArray(g);if(p){var f="format"+s,h="isObject"+s,y="formatType"+s;n+=" var "+f+" = formats["+m+"]; var "+h+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+y+" = "+h+" && "+f+".type || 'string'; if ("+h+") { ",e.async&&(n+=" var async"+s+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),n+=" (",g!="ignore"&&(n+=" ("+m+" && !"+f+" ",_&&(n+=" && self._opts.unknownFormats.indexOf("+m+") == -1 "),n+=") || "),n+=" ("+f+" && "+y+" == '"+a+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+s+" ? await "+f+"("+d+") : "+f+"("+d+")) ":n+=" "+f+"("+d+") ",n+=" : "+f+".test("+d+"))))) {"}else{var f=e.formats[o];if(!f){if(g=="ignore")return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(n+=" if (true) { "),n;if(_&&g.indexOf(o)>=0)return l&&(n+=" if (true) { "),n;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var h=typeof f=="object"&&!(f instanceof RegExp)&&f.validate,y=h&&f.type||"string";if(h){var v=f.async===!0;f=f.validate}if(y!=a)return l&&(n+=" if (true) { "),n;if(v){if(!e.async)throw new Error("async format in sync schema");var b="formats"+e.util.getProperty(o)+".validate";n+=" if (!(await "+b+"("+d+"))) { "}else{n+=" if (! ";var b="formats"+e.util.getProperty(o);h&&(b+=".validate"),typeof f=="function"?n+=" "+b+"("+d+") ":n+=" "+b+".test("+d+") ",n+=") { "}}var w=w||[];w.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",p?n+=""+m:n+=""+e.util.toQuotedString(o),n+=" } ",e.opts.messages!==!1&&(n+=` , message: 'should match format "`,p?n+="' + "+m+" + '":n+=""+e.util.escapeQuotes(o),n+=`"' `),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var S=n;return n=w.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}});var Tw=V((OK,Ew)=>{"use strict";Ew.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e);g.level++;var _="valid"+g.level,f=e.schema.then,h=e.schema.else,y=f!==void 0&&(e.opts.strictKeywords?typeof f=="object"&&Object.keys(f).length>0||f===!1:e.util.schemaHasRules(f,e.RULES.all)),v=h!==void 0&&(e.opts.strictKeywords?typeof h=="object"&&Object.keys(h).length>0||h===!1:e.util.schemaHasRules(h,e.RULES.all)),b=g.baseId;if(y||v){var w;g.createErrors=!1,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" var "+m+" = errors; var "+p+" = true; ";var S=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+=" "+e.validate(g)+" ",g.baseId=b,g.createErrors=!0,n+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=S,y?(n+=" if ("+_+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(g)+" ",g.baseId=b,n+=" "+p+" = "+_+"; ",y&&v?(w="ifClause"+s,n+=" var "+w+" = 'then'; "):w="'then'",n+=" } ",v&&(n+=" else { ")):n+=" if (!"+_+") { ",v&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(g)+" ",g.baseId=b,n+=" "+p+" = "+_+"; ",y&&v?(w="ifClause"+s,n+=" var "+w+" = 'else'; "):w="'else'",n+=" } "),n+=" if (!"+p+") { var err = ",e.createErrors!==!1?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+w+" } ",e.opts.messages!==!1&&(n+=` , message: 'should match "' + `+w+` + '" schema' `),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",l&&(n+=" else { ")}else l&&(n+=" if (true) { ");return n}});var Rw=V((CK,kw)=>{"use strict";kw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,b=e.baseId;if(n+="var "+m+" = errors;var "+p+";",Array.isArray(o)){var w=e.schema.additionalItems;if(w===!1){n+=" "+p+" = "+d+".length <= "+o.length+"; ";var S=u;u=e.errSchemaPath+"/additionalItems",n+=" if (!"+p+") { ";var E=E||[];E.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+o.length+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var T=n;n=E.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u=S,l&&(_+="}",n+=" else { ")}var R=o;if(R){for(var M,j=-1,q=R.length-1;j0||M===!1:e.util.schemaHasRules(M,e.RULES.all)){n+=" "+f+" = true; if ("+d+".length > "+j+") { ";var H=d+"["+j+"]";g.schema=M,g.schemaPath=c+"["+j+"]",g.errSchemaPath=u+"/"+j,g.errorPath=e.util.getPathExpr(e.errorPath,j,e.opts.jsonPointers,!0),g.dataPathArr[y]=j;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",n+=" } ",l&&(n+=" if ("+f+") { ",_+="}")}}if(typeof w=="object"&&(e.opts.strictKeywords?typeof w=="object"&&Object.keys(w).length>0||w===!1:e.util.schemaHasRules(w,e.RULES.all))){g.schema=w,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+d+".length > "+o.length+") { for (var "+h+" = "+o.length+"; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",l&&(n+=" if (!"+f+") break; "),n+=" } } ",l&&(n+=" if ("+f+") { ",_+="}")}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){g.schema=o,g.schemaPath=c,g.errSchemaPath=u,n+=" for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var N=e.validate(g);g.baseId=b,e.util.varOccurences(N,v)<2?n+=" "+e.util.varReplace(N,v,H)+" ":n+=" var "+v+" = "+H+"; "+N+" ",l&&(n+=" if (!"+f+") break; "),n+=" }"}return l&&(n+=" "+_+" if ("+m+" == errors) {"),n}});var Kf=V((IK,Pw)=>{"use strict";Pw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=r=="maximum",_=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[_],h=e.opts.$data&&f&&f.$data,y=g?"<":">",v=g?">":"<",b=void 0;if(!(p||typeof o=="number"||o===void 0))throw new Error(r+" must be number");if(!(h||f===void 0||typeof f=="number"||typeof f=="boolean"))throw new Error(_+" must be number or boolean");if(h){var w=e.util.getData(f.$data,i,e.dataPathArr),S="exclusive"+s,E="exclType"+s,T="exclIsNumber"+s,R="op"+s,M="' + "+R+" + '";n+=" var schemaExcl"+s+" = "+w+"; ",w="schemaExcl"+s,n+=" var "+S+"; var "+E+" = typeof "+w+"; if ("+E+" != 'boolean' && "+E+" != 'undefined' && "+E+" != 'number') { ";var b=_,j=j||[];j.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(b||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: '"+_+" should be boolean' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var q=n;n=j.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+q+"]); ":n+=" validate.errors = ["+q+"]; return false; ":n+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+E+" == 'number' ? ( ("+S+" = "+m+" === undefined || "+w+" "+y+"= "+m+") ? "+d+" "+v+"= "+w+" : "+d+" "+v+" "+m+" ) : ( ("+S+" = "+w+" === true) ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { var op"+s+" = "+S+" ? '"+y+"' : '"+y+"='; ",o===void 0&&(b=_,u=e.errSchemaPath+"/"+_,m=w,p=h)}else{var T=typeof f=="number",M=y;if(T&&p){var R="'"+M+"'";n+=" if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" ( "+m+" === undefined || "+f+" "+y+"= "+m+" ? "+d+" "+v+"= "+f+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { "}else{T&&o===void 0?(S=!0,b=_,u=e.errSchemaPath+"/"+_,m=f,v+="="):(T&&(m=Math[g?"min":"max"](f,o)),f===(T?m:!0)?(S=!0,b=_,u=e.errSchemaPath+"/"+_,v+="="):(S=!1,M+="="));var R="'"+M+"'";n+=" if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+d+" "+v+" "+m+" || "+d+" !== "+d+") { "}}b=b||r;var j=j||[];j.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(b||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+R+", limit: "+m+", exclusive: "+S+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be "+M+" ",p?n+="' + "+m:n+=""+m+"'"),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var q=n;return n=j.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+q+"]); ":n+=" validate.errors = ["+q+"]; return false; ":n+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}});var Xf=V((AK,$w)=>{"use strict";$w.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxItems"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" "+d+".length "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have ",r=="maxItems"?n+="more":n+="fewer",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" items' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Jf=V((NK,Ow)=>{"use strict";Ow.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxLength"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),e.opts.unicode===!1?n+=" "+d+".length ":n+=" ucs2length("+d+") ",n+=" "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be ",r=="maxLength"?n+="longer":n+="shorter",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" characters' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Yf=V((MK,Cw)=>{"use strict";Cw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxProperties"?">":"<";n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),n+=" Object.keys("+d+").length "+g+" "+m+") { ";var _=r,f=f||[];f.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(_||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have ",r=="maxProperties"?n+="more":n+="fewer",n+=" than ",p?n+="' + "+m+" + '":n+=""+o,n+=" properties' "),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var h=n;return n=f.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+h+"]); ":n+=" validate.errors = ["+h+"]; return false; ":n+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Aw=V((jK,Iw)=>{"use strict";Iw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");n+="var division"+s+";if (",p&&(n+=" "+m+" !== undefined && ( typeof "+m+" != 'number' || "),n+=" (division"+s+" = "+d+" / "+m+", ",e.opts.multipleOfPrecision?n+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":n+=" division"+s+" !== parseInt(division"+s+") ",n+=" ) ",p&&(n+=" ) "),n+=" ) { ";var g=g||[];g.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+m+" } ",e.opts.messages!==!1&&(n+=" , message: 'should be multiple of ",p?n+="' + "+m:n+=""+m+"'"),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var _=n;return n=g.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Mw=V((DK,Nw)=>{"use strict";Nw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e);m.level++;var g="valid"+m.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u,n+=" var "+p+" = errors; ";var _=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1;var f;m.opts.allErrors&&(f=m.opts.allErrors,m.opts.allErrors=!1),n+=" "+e.validate(m)+" ",m.createErrors=!0,f&&(m.opts.allErrors=f),e.compositeRule=m.compositeRule=_,n+=" if ("+g+") { ";var h=h||[];h.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var y=n;n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",e.createErrors!==!1?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(n+=" if (false) { ");return n}});var Dw=V((LK,jw)=>{"use strict";jw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),_="";g.level++;var f="valid"+g.level,h=g.baseId,y="prevValid"+s,v="passingSchemas"+s;n+="var "+m+" = errors , "+y+" = false , "+p+" = false , "+v+" = null; ";var b=e.compositeRule;e.compositeRule=g.compositeRule=!0;var w=o;if(w)for(var S,E=-1,T=w.length-1;E0||S===!1:e.util.schemaHasRules(S,e.RULES.all))?(g.schema=S,g.schemaPath=c+"["+E+"]",g.errSchemaPath=u+"/"+E,n+=" "+e.validate(g)+" ",g.baseId=h):n+=" var "+f+" = true; ",E&&(n+=" if ("+f+" && "+y+") { "+p+" = false; "+v+" = ["+v+", "+E+"]; } else { ",_+="}"),n+=" if ("+f+") { "+p+" = "+y+" = true; "+v+" = "+E+"; }";return e.compositeRule=g.compositeRule=b,n+=""+_+"if (!"+p+") { var err = ",e.createErrors!==!1?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",e.opts.messages!==!1&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}});var qw=V((qK,Lw)=>{"use strict";Lw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=p?"(new RegExp("+m+"))":e.usePattern(o);n+="if ( ",p&&(n+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),n+=" !"+g+".test("+d+") ) { ";var _=_||[];_.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",p?n+=""+m:n+=""+e.util.toQuotedString(o),n+=" } ",e.opts.messages!==!1&&(n+=` , message: 'should match pattern "`,p?n+="' + "+m+" + '":n+=""+e.util.escapeQuotes(o),n+=`"' `),e.opts.verbose&&(n+=" , schema: ",p?n+="validate.schema"+c:n+=""+e.util.toQuotedString(o),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var f=n;return n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+f+"]); ":n+=" validate.errors = ["+f+"]; return false; ":n+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+="} ",l&&(n+=" else { "),n}});var Uw=V((FK,Fw)=>{"use strict";Fw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level,f="key"+s,h="idx"+s,y=m.dataLevel=e.dataLevel+1,v="data"+y,b="dataProperties"+s,w=Object.keys(o||{}).filter(ae),S=e.schema.patternProperties||{},E=Object.keys(S).filter(ae),T=e.schema.additionalProperties,R=w.length||E.length,M=T===!1,j=typeof T=="object"&&Object.keys(T).length,q=e.opts.removeAdditional,H=M||j||q,N=e.opts.ownProperties,W=e.baseId,oe=e.schema.required;if(oe&&!(e.opts.$data&&oe.$data)&&oe.length8)n+=" || validate.schema"+c+".hasOwnProperty("+f+") ";else{var re=w;if(re)for(var U,P=-1,z=re.length-1;P0||Ne===!1:e.util.schemaHasRules(Ne,e.RULES.all)){var Me=e.util.getProperty(U),I=d+Me,je=Z&&Ne.default!==void 0;m.schema=Ne,m.schemaPath=c+Me,m.errSchemaPath=u+"/"+e.util.escapeFragment(U),m.errorPath=e.util.getPath(e.errorPath,U,e.opts.jsonPointers),m.dataPathArr[y]=e.util.toQuotedString(U);var F=e.validate(m);if(m.baseId=W,e.util.varOccurences(F,v)<2){F=e.util.varReplace(F,v,I);var Re=I}else{var Re=v;n+=" var "+v+" = "+I+"; "}if(je)n+=" "+F+" ";else{if(he&&he[U]){n+=" if ( "+Re+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=") { "+_+" = false; ";var K=e.errorPath,de=u,vt=e.util.escapeQuotes(U);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(K,U,e.opts.jsonPointers)),u=e.errSchemaPath+"/required";var se=se||[];se.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+vt+"' } ",e.opts.messages!==!1&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+vt+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var me=n;n=se.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+me+"]); ":n+=" validate.errors = ["+me+"]; return false; ":n+=" var err = "+me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=de,e.errorPath=K,n+=" } else { "}else l?(n+=" if ( "+Re+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=") { "+_+" = true; } else { "):(n+=" if ("+Re+" !== undefined ",N&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),n+=" ) { ");n+=" "+F+" } "}}l&&(n+=" if ("+_+") { ",g+="}")}}if(E.length){var Ue=E;if(Ue)for(var x,vr=-1,Zt=Ue.length-1;vr0||Ne===!1:e.util.schemaHasRules(Ne,e.RULES.all)){m.schema=Ne,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(x),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(x),N?n+=" "+b+" = "+b+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+b+".length; "+h+"++) { var "+f+" = "+b+"["+h+"]; ":n+=" for (var "+f+" in "+d+") { ",n+=" if ("+e.usePattern(x)+".test("+f+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var I=d+"["+f+"]";m.dataPathArr[y]=f;var F=e.validate(m);m.baseId=W,e.util.varOccurences(F,v)<2?n+=" "+e.util.varReplace(F,v,I)+" ":n+=" var "+v+" = "+I+"; "+F+" ",l&&(n+=" if (!"+_+") break; "),n+=" } ",l&&(n+=" else "+_+" = true; "),n+=" } ",l&&(n+=" if ("+_+") { ",g+="}")}}}return l&&(n+=" "+g+" if ("+p+" == errors) {"),n}});var Hw=V((UK,zw)=>{"use strict";zw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var _="valid"+m.level;if(n+="var "+p+" = errors;",e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u;var f="key"+s,h="idx"+s,y="i"+s,v="' + "+f+" + '",b=m.dataLevel=e.dataLevel+1,w="data"+b,S="dataProperties"+s,E=e.opts.ownProperties,T=e.baseId;E&&(n+=" var "+S+" = undefined; "),E?n+=" "+S+" = "+S+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+S+".length; "+h+"++) { var "+f+" = "+S+"["+h+"]; ":n+=" for (var "+f+" in "+d+") { ",n+=" var startErrs"+s+" = errors; ";var R=f,M=e.compositeRule;e.compositeRule=m.compositeRule=!0;var j=e.validate(m);m.baseId=T,e.util.varOccurences(j,w)<2?n+=" "+e.util.varReplace(j,w,R)+" ":n+=" var "+w+" = "+R+"; "+j+" ",e.compositeRule=m.compositeRule=M,n+=" if (!"+_+") { for (var "+y+"=startErrs"+s+"; "+y+"{"use strict";Bw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var _="schema"+s;if(!m)if(o.length0||w===!1:e.util.schemaHasRules(w,e.RULES.all))||(f[f.length]=y)}}else var f=o;if(m||f.length){var S=e.errorPath,E=m||f.length>=e.opts.loopRequired,T=e.opts.ownProperties;if(l)if(n+=" var missing"+s+"; ",E){m||(n+=" var "+_+" = validate.schema"+c+"; ");var R="i"+s,M="schema"+s+"["+R+"]",j="' + "+M+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(S,M,e.opts.jsonPointers)),n+=" var "+p+" = true; ",m&&(n+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),n+=" for (var "+R+" = 0; "+R+" < "+_+".length; "+R+"++) { "+p+" = "+d+"["+_+"["+R+"]] !== undefined ",T&&(n+=" && Object.prototype.hasOwnProperty.call("+d+", "+_+"["+R+"]) "),n+="; if (!"+p+") break; } ",m&&(n+=" } "),n+=" if (!"+p+") { ";var q=q||[];q.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+j+"' } ",e.opts.messages!==!1&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+j+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var H=n;n=q.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+H+"]); ":n+=" validate.errors = ["+H+"]; return false; ":n+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var N=f;if(N)for(var W,R=-1,oe=N.length-1;R{"use strict";Gw.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;if(m?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,(o||m)&&e.opts.uniqueItems!==!1){m&&(n+=" var "+p+"; if ("+g+" === false || "+g+" === undefined) "+p+" = true; else if (typeof "+g+" != 'boolean') "+p+" = false; else { "),n+=" var i = "+d+".length , "+p+" = true , j; if (i > 1) { ";var _=e.schema.items&&e.schema.items.type,f=Array.isArray(_);if(!_||_=="object"||_=="array"||f&&(_.indexOf("object")>=0||_.indexOf("array")>=0))n+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+p+" = false; break outer; } } } ";else{n+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var h="checkDataType"+(f?"s":"");n+=" if ("+e.util[h](_,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(n+=` if (typeof item == 'string') item = '"' + item; `),n+=" if (typeof itemIndices[item] == 'number') { "+p+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}n+=" } ",m&&(n+=" } "),n+=" if (!"+p+") { ";var y=y||[];y.push(n),n="",e.createErrors!==!1?(n+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(n+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(n+=" , schema: ",m?n+="validate.schema"+c:n+=""+o,n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),n+=" } "):n+=" {} ";var v=n;n=y.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+v+"]); ":n+=" validate.errors = ["+v+"]; return false; ":n+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { ")}else l&&(n+=" if (true) { ");return n}});var Kw=V((BK,Ww)=>{"use strict";Ww.exports={$ref:ow(),allOf:uw(),anyOf:dw(),$comment:fw(),const:hw(),contains:gw(),dependencies:_w(),enum:Sw(),format:ww(),if:Tw(),items:Rw(),maximum:Kf(),minimum:Kf(),maxItems:Xf(),minItems:Xf(),maxLength:Jf(),minLength:Jf(),maxProperties:Yf(),minProperties:Yf(),multipleOf:Aw(),not:Mw(),oneOf:Dw(),pattern:qw(),properties:Uw(),propertyNames:Hw(),required:Vw(),uniqueItems:Zw(),validate:Zf()}});var Yw=V((VK,Jw)=>{"use strict";var Xw=Kw(),Qf=qa().toHash;Jw.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"],a=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],n=["number","integer","string","array","object","boolean","null"];return e.all=Qf(r),e.types=Qf(n),e.forEach(function(s){s.rules=s.rules.map(function(i){var o;if(typeof i=="object"){var c=Object.keys(i)[0];o=i[c],i=c,o.forEach(function(l){r.push(l),e.all[l]=!0})}r.push(i);var u=e.all[i]={keyword:i,code:Xw[i],implements:o};return u}),e.all.$comment={keyword:"$comment",code:Xw.$comment},s.type&&(e.types[s.type]=s)}),e.keywords=Qf(r.concat(a)),e.custom={},e}});var tE=V((GK,eE)=>{"use strict";var Qw=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];eE.exports=function(t,e){for(var r=0;r{"use strict";var b9=Lu().MissingRef;nE.exports=rE;function rE(t,e,r){var a=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(r=e,e=void 0);var n=s(t).then(function(){var o=a._addSchema(t,void 0,e);return o.validate||i(o)});return r&&n.then(function(o){r(null,o)},r),n;function s(o){var c=o.$schema;return c&&!a.getSchema(c)?rE.call(a,{$ref:c},!0):Promise.resolve()}function i(o){try{return a._compile(o)}catch(u){if(u instanceof b9)return c(u);throw u}function c(u){var l=u.missingSchema;if(m(l))throw new Error("Schema "+l+" is loaded but "+u.missingRef+" cannot be resolved");var d=a._loadingSchemas[l];return d||(d=a._loadingSchemas[l]=a._opts.loadSchema(l),d.then(p,p)),d.then(function(g){if(!m(l))return s(g).then(function(){m(l)||a.addSchema(g,l,void 0,e)})}).then(function(){return i(o)});function p(){delete a._loadingSchemas[l]}function m(g){return a._refs[g]||a._schemas[g]}}}}});var iE=V((WK,sE)=>{"use strict";sE.exports=function(e,r,a){var n=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d,p="data"+(i||""),m="valid"+s,g="errs__"+s,_=e.opts.$data&&o&&o.$data,f;_?(n+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",f="schema"+s):f=o;var h=this,y="definition"+s,v=h.definition,b="",w,S,E,T,R;if(_&&v.$data){R="keywordValidate"+s;var M=v.validateSchema;n+=" var "+y+" = RULES.custom['"+r+"'].definition; var "+R+" = "+y+".validate;"}else{if(T=e.useCustomRule(h,o,e.schema,e),!T)return;f="validate.schema"+c,R=T.code,w=v.compile,S=v.inline,E=v.macro}var j=R+".errors",q="i"+s,H="ruleErr"+s,N=v.async;if(N&&!e.async)throw new Error("async keyword in sync schema");if(S||E||(n+=""+j+" = null;"),n+="var "+g+" = errors;var "+m+";",_&&v.$data&&(b+="}",n+=" if ("+f+" === undefined) { "+m+" = true; } else { ",M&&(b+="}",n+=" "+m+" = "+y+".validateSchema("+f+"); if ("+m+") { ")),S)v.statements?n+=" "+T.validate+" ":n+=" "+m+" = "+T.validate+"; ";else if(E){var W=e.util.copy(e),b="";W.level++;var oe="valid"+W.level;W.schema=T.validate,W.schemaPath="";var he=e.compositeRule;e.compositeRule=W.compositeRule=!0;var ae=e.validate(W).replace(/validate\.schema/g,R);e.compositeRule=W.compositeRule=he,n+=" "+ae}else{var re=re||[];re.push(n),n="",n+=" "+R+".call( ",e.opts.passContext?n+="this":n+="self",w||v.schema===!1?n+=" , "+p+" ":n+=" , "+f+" , "+p+" , validate.schema"+e.schemaPath+" ",n+=" , (dataPath || '')",e.errorPath!='""'&&(n+=" + "+e.errorPath);var U=i?"data"+(i-1||""):"parentData",P=i?e.dataPathArr[i]:"parentDataProperty";n+=" , "+U+" , "+P+" , rootData ) ";var z=n;n=re.pop(),v.errors===!1?(n+=" "+m+" = ",N&&(n+="await "),n+=""+z+"; "):N?(j="customErrors"+s,n+=" var "+j+" = null; try { "+m+" = await "+z+"; } catch (e) { "+m+" = false; if (e instanceof ValidationError) "+j+" = e.errors; else throw e; } "):n+=" "+j+" = null; "+m+" = "+z+"; "}if(v.modifying&&(n+=" if ("+U+") "+p+" = "+U+"["+P+"];"),n+=""+b,v.valid)l&&(n+=" if (true) { ");else{n+=" if ( ",v.valid===void 0?(n+=" !",E?n+=""+oe:n+=""+m):n+=" "+!v.valid+" ",n+=") { ",d=h.keyword;var re=re||[];re.push(n),n="";var re=re||[];re.push(n),n="",e.createErrors!==!1?(n+=" { keyword: '"+(d||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+h.keyword+"' } ",e.opts.messages!==!1&&(n+=` , message: 'should pass "`+h.keyword+`" keyword validation' `),e.opts.verbose&&(n+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),n+=" } "):n+=" {} ";var A=n;n=re.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+A+"]); ":n+=" validate.errors = ["+A+"]; return false; ":n+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var x=n;n=re.pop(),S?v.errors?v.errors!="full"&&(n+=" for (var "+q+"="+g+"; "+q+"{S9.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 uE=V((XK,cE)=>{"use strict";var oE=em();cE.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:oE.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:oE.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var dE=V((JK,lE)=>{"use strict";var x9=/^[a-z_$][a-z0-9_$-]*$/i,w9=iE(),E9=uE();lE.exports={add:T9,get:k9,remove:R9,validate:tm};function T9(t,e){var r=this.RULES;if(r.keywords[t])throw new Error("Keyword "+t+" is already defined");if(!x9.test(t))throw new Error("Keyword "+t+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var a=e.type;if(Array.isArray(a))for(var n=0;n{P9.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var xE=V((QK,SE)=>{"use strict";var mE=Vx(),Fa=Du(),$9=Zx(),hE=Ff(),O9=Gf(),C9=sw(),I9=Yw(),vE=tE(),gE=qa();SE.exports=Pt;Pt.prototype.validate=N9;Pt.prototype.compile=M9;Pt.prototype.addSchema=j9;Pt.prototype.addMetaSchema=D9;Pt.prototype.validateSchema=L9;Pt.prototype.getSchema=F9;Pt.prototype.removeSchema=z9;Pt.prototype.addFormat=X9;Pt.prototype.errorsText=K9;Pt.prototype._addSchema=H9;Pt.prototype._compile=B9;Pt.prototype.compileAsync=aE();var Gu=dE();Pt.prototype.addKeyword=Gu.add;Pt.prototype.getKeyword=Gu.get;Pt.prototype.removeKeyword=Gu.remove;Pt.prototype.validateKeyword=Gu.validate;var yE=Lu();Pt.ValidationError=yE.Validation;Pt.MissingRefError=yE.MissingRef;Pt.$dataMetaSchema=vE;var Vu="http://json-schema.org/draft-07/schema",fE=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],A9=["/properties"];function Pt(t){if(!(this instanceof Pt))return new Pt(t);t=this._opts=gE.copy(t)||{},rL(this),this._schemas={},this._refs={},this._fragments={},this._formats=C9(t.format),this._cache=t.cache||new $9,this._loadingSchemas={},this._compilations=[],this.RULES=I9(),this._getId=V9(t),t.loopRequired=t.loopRequired||1/0,t.errorDataPath=="property"&&(t._errorDataPathProperty=!0),t.serialize===void 0&&(t.serialize=O9),this._metaOpts=tL(this),t.formats&&Q9(this),t.keywords&&eL(this),J9(this),typeof t.meta=="object"&&this.addMetaSchema(t.meta),t.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),Y9(this)}function N9(t,e){var r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error('no schema with key or ref "'+t+'"')}else{var a=this._addSchema(t);r=a.validate||this._compile(a)}var n=r(e);return r.$async!==!0&&(this.errors=r.errors),n}function M9(t,e){var r=this._addSchema(t,void 0,e);return r.validate||this._compile(r)}function j9(t,e,r,a){if(Array.isArray(t)){for(var n=0;n{RE.exports=kE;kE.sync=aL;var EE=require("fs");function nL(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var a=0;a{IE.exports=OE;OE.sync=sL;var $E=require("fs");function OE(t,e,r){$E.stat(t,function(a,n){r(a,a?!1:CE(n,e))})}function sL(t,e){return CE($E.statSync(t),e)}function CE(t,e){return t.isFile()&&iL(t,e)}function iL(t,e){var r=t.mode,a=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),o=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=o|c,d=r&u||r&c&&n===i||r&o&&a===s||r&l&&s===0;return d}});var ME=V((iX,NE)=>{var sX=require("fs"),Zu;process.platform==="win32"||global.TESTING_WINDOWS?Zu=PE():Zu=AE();NE.exports=nm;nm.sync=oL;function nm(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,n){nm(t,e||{},function(s,i){s?n(s):a(i)})})}Zu(t,e||{},function(a,n){a&&(a.code==="EACCES"||e&&e.ignoreErrors)&&(a=null,n=!1),r(a,n)})}function oL(t,e){try{return Zu.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var zE=V((oX,UE)=>{var Bs=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",jE=require("path"),cL=Bs?";":":",DE=ME(),LE=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),qE=(t,e)=>{let r=e.colon||cL,a=t.match(/\//)||Bs&&t.match(/\\/)?[""]:[...Bs?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Bs?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Bs?n.split(r):[""];return Bs&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:a,pathExt:s,pathExtExe:n}},FE=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:a,pathExt:n,pathExtExe:s}=qE(t,e),i=[],o=u=>new Promise((l,d)=>{if(u===a.length)return e.all&&i.length?l(i):d(LE(t));let p=a[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=jE.join(m,t),_=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(_,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===n.length)return p(o(l+1));let g=n[d];DE(u+g,{pathExt:s},(_,f)=>{if(!_&&f)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?o(0).then(u=>r(null,u),r):o(0)},uL=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:a,pathExtExe:n}=qE(t,e),s=[];for(let i=0;i{"use strict";var HE=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(a=>a.toUpperCase()==="PATH")||"Path"};am.exports=HE;am.exports.default=HE});var WE=V((uX,ZE)=>{"use strict";var VE=require("path"),lL=zE(),dL=BE();function GE(t,e){let r=t.options.env||process.env,a=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch{}let i;try{i=lL.sync(t.command,{path:r[dL({env:r})],pathExt:e?VE.delimiter:void 0})}catch{}finally{s&&process.chdir(a)}return i&&(i=VE.resolve(n?t.options.cwd:"",i)),i}function pL(t){return GE(t)||GE(t,!0)}ZE.exports=pL});var KE=V((lX,im)=>{"use strict";var sm=/([()\][%!^"`<>&|;, *?])/g;function fL(t){return t=t.replace(sm,"^$1"),t}function mL(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(sm,"^$1"),e&&(t=t.replace(sm,"^$1")),t}im.exports.command=fL;im.exports.argument=mL});var JE=V((dX,XE)=>{"use strict";XE.exports=/^#!(.*)/});var QE=V((pX,YE)=>{"use strict";var hL=JE();YE.exports=(t="")=>{let e=t.match(hL);if(!e)return null;let[r,a]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?a:a?`${n} ${a}`:n}});var t1=V((fX,e1)=>{"use strict";var om=require("fs"),vL=QE();function gL(t){let r=Buffer.alloc(150),a;try{a=om.openSync(t,"r"),om.readSync(a,r,0,150,0),om.closeSync(a)}catch{}return vL(r.toString())}e1.exports=gL});var s1=V((mX,a1)=>{"use strict";var yL=require("path"),r1=WE(),n1=KE(),_L=t1(),bL=process.platform==="win32",SL=/\.(?:com|exe)$/i,xL=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wL(t){t.file=r1(t);let e=t.file&&_L(t.file);return e?(t.args.unshift(t.file),t.command=e,r1(t)):t.file}function EL(t){if(!bL)return t;let e=wL(t),r=!SL.test(e);if(t.options.forceShell||r){let a=xL.test(e);t.command=yL.normalize(t.command),t.command=n1.command(t.command),t.args=t.args.map(s=>n1.argument(s,a));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function TL(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let a={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?a:EL(a)}a1.exports=TL});var c1=V((hX,o1)=>{"use strict";var cm=process.platform==="win32";function um(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function kL(t,e){if(!cm)return;let r=t.emit;t.emit=function(a,n){if(a==="exit"){let s=i1(n,e);if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function i1(t,e){return cm&&t===1&&!e.file?um(e.original,"spawn"):null}function RL(t,e){return cm&&t===1&&!e.file?um(e.original,"spawnSync"):null}o1.exports={hookChildProcess:kL,verifyENOENT:i1,verifyENOENTSync:RL,notFoundError:um}});var d1=V((vX,Vs)=>{"use strict";var u1=require("child_process"),lm=s1(),dm=c1();function l1(t,e,r){let a=lm(t,e,r),n=u1.spawn(a.command,a.args,a.options);return dm.hookChildProcess(n,a),n}function PL(t,e,r){let a=lm(t,e,r),n=u1.spawnSync(a.command,a.args,a.options);return n.error=n.error||dm.verifyENOENTSync(n.status,a),n}Vs.exports=l1;Vs.exports.spawn=l1;Vs.exports.sync=PL;Vs.exports._parse=lm;Vs.exports._enoent=dm});var h1,v1,g1=Jr(()=>{"use strict";h1="bugfix,feature,refactor,discovery,decision,change",v1="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var b1={};ia(b1,{SettingsDefaultsManager:()=>Ze});var Zs,y1,_1,Ze,Or=Jr(()=>{"use strict";Zs=require("fs"),y1=require("path"),_1=require("os");g1();ot();Ze=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_MODEL:"xiaomi/mimo-v2-flash:free",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES:"20",CLAUDE_MEM_OPENROUTER_MAX_TOKENS:"100000",CLAUDE_MEM_DATA_DIR:(0,y1.join)((0,_1.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:h1,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:v1,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,Zs.existsSync)(e))return this.getAllDefaults();let r=(0,Zs.readFileSync)(e,"utf-8"),a=JSON.parse(r),n=a;if(a.env&&typeof a.env=="object"){n=a.env;try{(0,Zs.writeFileSync)(e,JSON.stringify(n,null,2),"utf-8"),O.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(i){O.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(s[i]=n[i]);return s}catch(r){return O.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},r),this.getAllDefaults()}}}});var Ws,Ku,pm,fm,O,ot=Jr(()=>{"use strict";Or();Ws=require("fs"),Ku=require("path"),pm=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(pm||{}),fm=class{level=null;useColor;logFilePath=null;constructor(){this.useColor=process.stdout.isTTY??!1,this.initializeLogFile()}initializeLogFile(){try{let e=Ze.get("CLAUDE_MEM_DATA_DIR"),r=(0,Ku.join)(e,"logs");(0,Ws.existsSync)(r)||(0,Ws.mkdirSync)(r,{recursive:!0});let a=new Date().toISOString().split("T")[0];this.logFilePath=(0,Ku.join)(r,`claude-mem-${a}.log`)}catch(e){console.error("[LOGGER] Failed to initialize log file:",e),this.logFilePath=null}}getLevel(){if(this.level===null)try{let e=Ze.get("CLAUDE_MEM_DATA_DIR"),r=(0,Ku.join)(e,"settings.json"),n=Ze.loadFromFile(r).CLAUDE_MEM_LOG_LEVEL.toUpperCase();this.level=pm[n]??1}catch(e){console.error("[LOGGER] Failed to load settings, using INFO level:",e),this.level=1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let a=typeof r=="string"?JSON.parse(r):r;if(e==="Bash"&&a.command)return`${e}(${a.command})`;if(a.file_path)return`${e}(${a.file_path})`;if(a.notebook_path)return`${e}(${a.notebook_path})`;if(e==="Glob"&&a.pattern)return`${e}(${a.pattern})`;if(e==="Grep"&&a.pattern)return`${e}(${a.pattern})`;if(a.url)return`${e}(${a.url})`;if(a.query)return`${e}(${a.query})`;if(e==="Task"){if(a.subagent_type)return`${e}(${a.subagent_type})`;if(a.description)return`${e}(${a.description})`}return e==="Skill"&&a.skill?`${e}(${a.skill})`:e==="LSP"&&a.operation?`${e}(${a.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),o=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${a}-${n} ${s}:${i}:${o}.${c}`}log(e,r,a,n,s){if(ehm,BACKUPS_DIR:()=>N1,CLAUDE_COMMANDS_DIR:()=>M1,CLAUDE_CONFIG_DIR:()=>Ro,CLAUDE_MD_PATH:()=>D9,CLAUDE_SETTINGS_PATH:()=>j9,DATA_DIR:()=>Jt,DB_PATH:()=>Po,LOGS_DIR:()=>I1,MODES_DIR:()=>vm,TRASH_DIR:()=>A1,USER_SETTINGS_PATH:()=>Ir,VECTOR_DB_DIR:()=>M9,createBackupFilename:()=>V9,ensureAllClaudeDirs:()=>z9,ensureAllDataDirs:()=>F9,ensureDir:()=>ir,ensureModesDir:()=>U9,getCurrentProjectName:()=>H9,getPackageCommandsDir:()=>B9,getPackageRoot:()=>or,getProjectArchiveDir:()=>L9,getWorkerSocketPath:()=>q9});function A9(){return typeof __dirname<"u"?__dirname:(0,$t.dirname)((0,C1.fileURLToPath)(G9.url))}function L9(t){return(0,$t.join)(hm,t)}function q9(t){return(0,$t.join)(Jt,`worker-${t}.sock`)}function ir(t){(0,$1.mkdirSync)(t,{recursive:!0})}function F9(){ir(Jt),ir(hm),ir(I1),ir(A1),ir(N1),ir(vm)}function U9(){ir(vm)}function z9(){ir(Ro),ir(M1)}function H9(){try{let t=(0,O1.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"],windowsHide:!0}).trim();return(0,$t.basename)(t)}catch{return(0,$t.basename)(process.cwd())}}function or(){return(0,$t.join)(N9,"..")}function B9(){let t=or();return(0,$t.join)(t,"commands")}function V9(t){let e=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${t}.backup.${e}`}var $t,P1,$1,O1,C1,G9,N9,Jt,Ro,hm,I1,A1,N1,vm,Ir,Po,M9,j9,M1,D9,mr=Jr(()=>{"use strict";$t=require("path"),P1=require("os"),$1=require("fs"),O1=require("child_process"),C1=require("url");Or();G9={};N9=A9(),Jt=Ze.get("CLAUDE_MEM_DATA_DIR"),Ro=process.env.CLAUDE_CONFIG_DIR||(0,$t.join)((0,P1.homedir)(),".claude"),hm=(0,$t.join)(Jt,"archives"),I1=(0,$t.join)(Jt,"logs"),A1=(0,$t.join)(Jt,"trash"),N1=(0,$t.join)(Jt,"backups"),vm=(0,$t.join)(Jt,"modes"),Ir=(0,$t.join)(Jt,"settings.json"),Po=(0,$t.join)(Jt,"claude-mem.db"),M9=(0,$t.join)(Jt,"vector-db"),j9=(0,$t.join)(Ro,"settings.json"),M1=(0,$t.join)(Ro,"commands"),D9=(0,$t.join)(Ro,"CLAUDE.md")});var D1,Gn,Ju=Jr(()=>{"use strict";D1=require("bun:sqlite");mr();ot();Gn=class{db;constructor(e=Po){e!==":memory:"&&ir(Jt),this.db=new D1.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename()}initializeSchema(){try{this.db.run(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",d={...a,location:l};return this.warn(e,`[HAPPY-PATH] ${r}`,d,n),s}},O=new fm});var j1={};ia(j1,{ARCHIVES_DIR:()=>hm,BACKUPS_DIR:()=>N1,CLAUDE_COMMANDS_DIR:()=>M1,CLAUDE_CONFIG_DIR:()=>Ro,CLAUDE_MD_PATH:()=>DL,CLAUDE_SETTINGS_PATH:()=>jL,DATA_DIR:()=>Jt,DB_PATH:()=>Po,LOGS_DIR:()=>I1,MODES_DIR:()=>vm,TRASH_DIR:()=>A1,USER_SETTINGS_PATH:()=>Ir,VECTOR_DB_DIR:()=>ML,createBackupFilename:()=>VL,ensureAllClaudeDirs:()=>zL,ensureAllDataDirs:()=>FL,ensureDir:()=>ir,ensureModesDir:()=>UL,getCurrentProjectName:()=>HL,getPackageCommandsDir:()=>BL,getPackageRoot:()=>or,getProjectArchiveDir:()=>LL,getWorkerSocketPath:()=>qL});function AL(){return typeof __dirname<"u"?__dirname:(0,$t.dirname)((0,C1.fileURLToPath)(GL.url))}function LL(t){return(0,$t.join)(hm,t)}function qL(t){return(0,$t.join)(Jt,`worker-${t}.sock`)}function ir(t){(0,$1.mkdirSync)(t,{recursive:!0})}function FL(){ir(Jt),ir(hm),ir(I1),ir(A1),ir(N1),ir(vm)}function UL(){ir(vm)}function zL(){ir(Ro),ir(M1)}function HL(){try{let t=(0,O1.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"],windowsHide:!0}).trim();return(0,$t.basename)(t)}catch{return(0,$t.basename)(process.cwd())}}function or(){return(0,$t.join)(NL,"..")}function BL(){let t=or();return(0,$t.join)(t,"commands")}function VL(t){let e=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${t}.backup.${e}`}var $t,P1,$1,O1,C1,GL,NL,Jt,Ro,hm,I1,A1,N1,vm,Ir,Po,ML,jL,M1,DL,mr=Jr(()=>{"use strict";$t=require("path"),P1=require("os"),$1=require("fs"),O1=require("child_process"),C1=require("url");Or();GL={};NL=AL(),Jt=Ze.get("CLAUDE_MEM_DATA_DIR"),Ro=process.env.CLAUDE_CONFIG_DIR||(0,$t.join)((0,P1.homedir)(),".claude"),hm=(0,$t.join)(Jt,"archives"),I1=(0,$t.join)(Jt,"logs"),A1=(0,$t.join)(Jt,"trash"),N1=(0,$t.join)(Jt,"backups"),vm=(0,$t.join)(Jt,"modes"),Ir=(0,$t.join)(Jt,"settings.json"),Po=(0,$t.join)(Jt,"claude-mem.db"),ML=(0,$t.join)(Jt,"vector-db"),jL=(0,$t.join)(Ro,"settings.json"),M1=(0,$t.join)(Ro,"commands"),DL=(0,$t.join)(Ro,"CLAUDE.md")});var D1,Gn,Ju=Jr(()=>{"use strict";D1=require("bun:sqlite");mr();ot();Gn=class{db;constructor(e=Po){e!==":memory:"&&ir(Jt),this.db=new D1.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable(),this.renameSessionIdColumns(),this.repairSessionIdColumnRename()}initializeSchema(){try{this.db.run(` CREATE TABLE IF NOT EXISTS schema_versions ( id INTEGER PRIMARY KEY, version INTEGER UNIQUE NOT NULL, applied_at TEXT NOT NULL ) - `);let e=this.db.prepare("SELECT version FROM schema_versions ORDER BY version").all();(e.length>0?Math.max(...e.map(a=>a.version)):0)===0&&(P.info("DB","Initializing fresh database with migration004"),this.db.run(` + `);let e=this.db.prepare("SELECT version FROM schema_versions ORDER BY version").all();(e.length>0?Math.max(...e.map(a=>a.version)):0)===0&&(O.info("DB","Initializing fresh database with migration004"),this.db.run(` CREATE TABLE IF NOT EXISTS sdk_sessions ( id INTEGER PRIMARY KEY AUTOINCREMENT, content_session_id TEXT UNIQUE NOT NULL, @@ -119,7 +119,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` CREATE INDEX IF NOT EXISTS idx_session_summaries_sdk_session ON session_summaries(memory_session_id); CREATE INDEX IF NOT EXISTS idx_session_summaries_project ON session_summaries(project); CREATE INDEX IF NOT EXISTS idx_session_summaries_created ON session_summaries(created_at_epoch DESC); - `),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(4,new Date().toISOString()),P.info("DB","Migration004 applied successfully"))}catch(e){throw P.error("DB","Schema initialization error",void 0,e),e}}ensureWorkerPortColumn(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(5))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(n=>n.name==="worker_port")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN worker_port INTEGER"),P.info("DB","Added worker_port column to sdk_sessions table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(5,new Date().toISOString())}ensurePromptTrackingColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(6))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(c=>c.name==="prompt_counter")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN prompt_counter INTEGER DEFAULT 0"),P.info("DB","Added prompt_counter column to sdk_sessions table")),this.db.query("PRAGMA table_info(observations)").all().some(c=>c.name==="prompt_number")||(this.db.run("ALTER TABLE observations ADD COLUMN prompt_number INTEGER"),P.info("DB","Added prompt_number column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(c=>c.name==="prompt_number")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN prompt_number INTEGER"),P.info("DB","Added prompt_number column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(6,new Date().toISOString())}removeSessionSummariesUniqueConstraint(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(7))return;if(!this.db.query("PRAGMA index_list(session_summaries)").all().some(n=>n.unique===1)){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString());return}P.info("DB","Removing UNIQUE constraint from session_summaries.memory_session_id"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` + `),this.db.prepare("INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)").run(4,new Date().toISOString()),O.info("DB","Migration004 applied successfully"))}catch(e){throw O.error("DB","Schema initialization error",void 0,e),e}}ensureWorkerPortColumn(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(5))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(n=>n.name==="worker_port")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN worker_port INTEGER"),O.info("DB","Added worker_port column to sdk_sessions table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(5,new Date().toISOString())}ensurePromptTrackingColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(6))return;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(c=>c.name==="prompt_counter")||(this.db.run("ALTER TABLE sdk_sessions ADD COLUMN prompt_counter INTEGER DEFAULT 0"),O.info("DB","Added prompt_counter column to sdk_sessions table")),this.db.query("PRAGMA table_info(observations)").all().some(c=>c.name==="prompt_number")||(this.db.run("ALTER TABLE observations ADD COLUMN prompt_number INTEGER"),O.info("DB","Added prompt_number column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(c=>c.name==="prompt_number")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN prompt_number INTEGER"),O.info("DB","Added prompt_number column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(6,new Date().toISOString())}removeSessionSummariesUniqueConstraint(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(7))return;if(!this.db.query("PRAGMA index_list(session_summaries)").all().some(n=>n.unique===1)){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString());return}O.info("DB","Removing UNIQUE constraint from session_summaries.memory_session_id"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` CREATE TABLE session_summaries_new ( id INTEGER PRIMARY KEY AUTOINCREMENT, memory_session_id TEXT NOT NULL, @@ -147,7 +147,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` CREATE INDEX idx_session_summaries_sdk_session ON session_summaries(memory_session_id); CREATE INDEX idx_session_summaries_project ON session_summaries(project); CREATE INDEX idx_session_summaries_created ON session_summaries(created_at_epoch DESC); - `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString()),P.info("DB","Successfully removed UNIQUE constraint from session_summaries.memory_session_id")}catch(n){throw this.db.run("ROLLBACK"),n}}addObservationHierarchicalFields(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(8))return;if(this.db.query("PRAGMA table_info(observations)").all().some(n=>n.name==="title")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString());return}P.info("DB","Adding hierarchical fields to observations table"),this.db.run(` + `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(7,new Date().toISOString()),O.info("DB","Successfully removed UNIQUE constraint from session_summaries.memory_session_id")}catch(n){throw this.db.run("ROLLBACK"),n}}addObservationHierarchicalFields(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(8))return;if(this.db.query("PRAGMA table_info(observations)").all().some(n=>n.name==="title")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString());return}O.info("DB","Adding hierarchical fields to observations table"),this.db.run(` ALTER TABLE observations ADD COLUMN title TEXT; ALTER TABLE observations ADD COLUMN subtitle TEXT; ALTER TABLE observations ADD COLUMN facts TEXT; @@ -155,7 +155,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` ALTER TABLE observations ADD COLUMN concepts TEXT; ALTER TABLE observations ADD COLUMN files_read TEXT; ALTER TABLE observations ADD COLUMN files_modified TEXT; - `),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString()),P.info("DB","Successfully added hierarchical fields to observations table")}makeObservationsTextNullable(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(9))return;let a=this.db.query("PRAGMA table_info(observations)").all().find(n=>n.name==="text");if(!a||a.notnull===0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString());return}P.info("DB","Making observations.text nullable"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` + `),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(8,new Date().toISOString()),O.info("DB","Successfully added hierarchical fields to observations table")}makeObservationsTextNullable(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(9))return;let a=this.db.query("PRAGMA table_info(observations)").all().find(n=>n.name==="text");if(!a||a.notnull===0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString());return}O.info("DB","Making observations.text nullable"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` CREATE TABLE observations_new ( id INTEGER PRIMARY KEY AUTOINCREMENT, memory_session_id TEXT NOT NULL, @@ -185,7 +185,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` CREATE INDEX idx_observations_project ON observations(project); CREATE INDEX idx_observations_type ON observations(type); CREATE INDEX idx_observations_created ON observations(created_at_epoch DESC); - `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString()),P.info("DB","Successfully made observations.text nullable")}catch(n){throw this.db.run("ROLLBACK"),n}}createUserPromptsTable(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(10))return;if(this.db.query("PRAGMA table_info(user_prompts)").all().length>0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(10,new Date().toISOString());return}P.info("DB","Creating user_prompts table with FTS5 support"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` + `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(9,new Date().toISOString()),O.info("DB","Successfully made observations.text nullable")}catch(n){throw this.db.run("ROLLBACK"),n}}createUserPromptsTable(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(10))return;if(this.db.query("PRAGMA table_info(user_prompts)").all().length>0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(10,new Date().toISOString());return}O.info("DB","Creating user_prompts table with FTS5 support"),this.db.run("BEGIN TRANSACTION");try{this.db.run(` CREATE TABLE user_prompts ( id INTEGER PRIMARY KEY AUTOINCREMENT, content_session_id TEXT NOT NULL, @@ -223,7 +223,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` INSERT INTO user_prompts_fts(rowid, prompt_text) VALUES (new.id, new.prompt_text); END; - `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(10,new Date().toISOString()),P.info("DB","Successfully created user_prompts table with FTS5 support")}catch(a){throw this.db.run("ROLLBACK"),a}}ensureDiscoveryTokensColumn(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(11))return;this.db.query("PRAGMA table_info(observations)").all().some(i=>i.name==="discovery_tokens")||(this.db.run("ALTER TABLE observations ADD COLUMN discovery_tokens INTEGER DEFAULT 0"),P.info("DB","Added discovery_tokens column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(i=>i.name==="discovery_tokens")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN discovery_tokens INTEGER DEFAULT 0"),P.info("DB","Added discovery_tokens column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(11,new Date().toISOString())}catch(e){throw P.error("DB","Discovery tokens migration error",void 0,e),e}}createPendingMessagesTable(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(16))return;if(this.db.query("SELECT name FROM sqlite_master WHERE type='table' AND name='pending_messages'").all().length>0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString());return}P.info("DB","Creating pending_messages table"),this.db.run(` + `),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(10,new Date().toISOString()),O.info("DB","Successfully created user_prompts table with FTS5 support")}catch(a){throw this.db.run("ROLLBACK"),a}}ensureDiscoveryTokensColumn(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(11))return;this.db.query("PRAGMA table_info(observations)").all().some(i=>i.name==="discovery_tokens")||(this.db.run("ALTER TABLE observations ADD COLUMN discovery_tokens INTEGER DEFAULT 0"),O.info("DB","Added discovery_tokens column to observations table")),this.db.query("PRAGMA table_info(session_summaries)").all().some(i=>i.name==="discovery_tokens")||(this.db.run("ALTER TABLE session_summaries ADD COLUMN discovery_tokens INTEGER DEFAULT 0"),O.info("DB","Added discovery_tokens column to session_summaries table")),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(11,new Date().toISOString())}catch(e){throw O.error("DB","Discovery tokens migration error",void 0,e),e}}createPendingMessagesTable(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(16))return;if(this.db.query("SELECT name FROM sqlite_master WHERE type='table' AND name='pending_messages'").all().length>0){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString());return}O.info("DB","Creating pending_messages table"),this.db.run(` CREATE TABLE pending_messages ( id INTEGER PRIMARY KEY AUTOINCREMENT, session_db_id INTEGER NOT NULL, @@ -243,7 +243,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` completed_at_epoch INTEGER, FOREIGN KEY (session_db_id) REFERENCES sdk_sessions(id) ON DELETE CASCADE ) - `),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),P.info("DB","pending_messages table created successfully")}catch(e){throw P.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;if(this.db.query("PRAGMA table_info(sdk_sessions)").all().some(n=>n.name==="content_session_id")){this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString());return}P.info("DB","Renaming session ID columns for semantic clarity"),this.db.run("BEGIN TRANSACTION");try{this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("COMMIT"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),P.info("DB","Successfully renamed session ID columns")}catch(n){throw this.db.run("ROLLBACK"),P.error("DB","Session ID column rename migration error",void 0,n),n}}repairSessionIdColumnRename(){try{if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19))return;P.info("DB","Checking session ID column renames (repair migration)");let r=!1;this.db.query("PRAGMA table_info(sdk_sessions)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing sdk_sessions columns"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id"),this.db.run("ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(pending_messages)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing pending_messages columns"),this.db.run("ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.query("PRAGMA table_info(observations)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing observations columns"),this.db.run("ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(session_summaries)").all().some(c=>c.name==="sdk_session_id")&&(P.info("DB","Repairing session_summaries columns"),this.db.run("ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id"),r=!0),this.db.query("PRAGMA table_info(user_prompts)").all().some(c=>c.name==="claude_session_id")&&(P.info("DB","Repairing user_prompts columns"),this.db.run("ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id"),r=!0),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString()),r?P.info("DB","Session ID column rename repairs completed"):P.info("DB","No session ID column repairs needed")}catch(e){throw P.error("DB","Session ID column rename repair error",void 0,e),e}}updateMemorySessionId(e,r){this.db.prepare(` + `),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_session ON pending_messages(session_db_id)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_status ON pending_messages(status)"),this.db.run("CREATE INDEX IF NOT EXISTS idx_pending_messages_claude_session ON pending_messages(content_session_id)"),this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(16,new Date().toISOString()),O.info("DB","pending_messages table created successfully")}catch(e){throw O.error("DB","Pending messages table migration error",void 0,e),e}}renameSessionIdColumns(){if(this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(17))return;O.info("DB","Checking session ID columns for semantic clarity rename");let r=0,a=(n,s,i)=>{try{let o=this.db.query(`PRAGMA table_info(${n})`).all(),c=o.some(l=>l.name===s);return o.some(l=>l.name===i)?!1:c?(this.db.run(`ALTER TABLE ${n} RENAME COLUMN ${s} TO ${i}`),O.info("DB",`Renamed ${n}.${s} to ${i}`),!0):(O.warn("DB",`Column ${s} not found in ${n}, skipping rename`),!1)}catch(o){return O.warn("DB",`Could not rename ${n}.${s}: ${o.message}`),!1}};a("sdk_sessions","claude_session_id","content_session_id")&&r++,a("sdk_sessions","sdk_session_id","memory_session_id")&&r++,a("pending_messages","claude_session_id","content_session_id")&&r++,a("observations","sdk_session_id","memory_session_id")&&r++,a("session_summaries","sdk_session_id","memory_session_id")&&r++,a("user_prompts","claude_session_id","content_session_id")&&r++,this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(17,new Date().toISOString()),r>0?O.info("DB",`Successfully renamed ${r} session ID columns`):O.info("DB","No session ID column renames needed (already up to date)")}repairSessionIdColumnRename(){this.db.prepare("SELECT version FROM schema_versions WHERE version = ?").get(19)||this.db.prepare("INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)").run(19,new Date().toISOString())}updateMemorySessionId(e,r){this.db.prepare(` UPDATE sdk_sessions SET memory_session_id = ? WHERE id = ? @@ -417,7 +417,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` WHERE id >= ? ${i} ORDER BY id ASC LIMIT ? - `;try{let _=this.db.prepare(m).all(e,...o,a+1),f=this.db.prepare(g).all(e,...o,n+1);if(_.length===0&&f.length===0)return{observations:[],sessions:[],prompts:[]};c=_.length>0?_[_.length-1].created_at_epoch:r,u=f.length>0?f[f.length-1].created_at_epoch:r}catch(_){return P.error("DB","Error getting boundary observations",void 0,{error:_,project:s}),{observations:[],sessions:[],prompts:[]}}}else{let m=` + `;try{let _=this.db.prepare(m).all(e,...o,a+1),f=this.db.prepare(g).all(e,...o,n+1);if(_.length===0&&f.length===0)return{observations:[],sessions:[],prompts:[]};c=_.length>0?_[_.length-1].created_at_epoch:r,u=f.length>0?f[f.length-1].created_at_epoch:r}catch(_){return O.error("DB","Error getting boundary observations",void 0,{error:_,project:s}),{observations:[],sessions:[],prompts:[]}}}else{let m=` SELECT created_at_epoch FROM observations WHERE created_at_epoch <= ? ${i} @@ -429,7 +429,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` WHERE created_at_epoch >= ? ${i} ORDER BY created_at_epoch ASC LIMIT ? - `;try{let _=this.db.prepare(m).all(r,...o,a),f=this.db.prepare(g).all(r,...o,n+1);if(_.length===0&&f.length===0)return{observations:[],sessions:[],prompts:[]};c=_.length>0?_[_.length-1].created_at_epoch:r,u=f.length>0?f[f.length-1].created_at_epoch:r}catch(_){return P.error("DB","Error getting boundary timestamps",void 0,{error:_,project:s}),{observations:[],sessions:[],prompts:[]}}}let l=` + `;try{let _=this.db.prepare(m).all(r,...o,a),f=this.db.prepare(g).all(r,...o,n+1);if(_.length===0&&f.length===0)return{observations:[],sessions:[],prompts:[]};c=_.length>0?_[_.length-1].created_at_epoch:r,u=f.length>0?f[f.length-1].created_at_epoch:r}catch(_){return O.error("DB","Error getting boundary timestamps",void 0,{error:_,project:s}),{observations:[],sessions:[],prompts:[]}}}let l=` SELECT * FROM observations WHERE created_at_epoch >= ? AND created_at_epoch <= ? ${i} @@ -445,7 +445,7 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` JOIN sdk_sessions s ON up.content_session_id = s.content_session_id WHERE up.created_at_epoch >= ? AND up.created_at_epoch <= ? ${i.replace("project","s.project")} ORDER BY up.created_at_epoch ASC - `;try{let m=this.db.prepare(l).all(c,u,...o),g=this.db.prepare(d).all(c,u,...o),_=this.db.prepare(p).all(c,u,...o);return{observations:m,sessions:g.map(f=>({id:f.id,memory_session_id:f.memory_session_id,project:f.project,request:f.request,completed:f.completed,next_steps:f.next_steps,created_at:f.created_at,created_at_epoch:f.created_at_epoch})),prompts:_.map(f=>({id:f.id,content_session_id:f.content_session_id,prompt_number:f.prompt_number,prompt_text:f.prompt_text,project:f.project,created_at:f.created_at,created_at_epoch:f.created_at_epoch}))}}catch(m){return P.error("DB","Error querying timeline records",void 0,{error:m,project:s}),{observations:[],sessions:[],prompts:[]}}}getPromptById(e){return this.db.prepare(` + `;try{let m=this.db.prepare(l).all(c,u,...o),g=this.db.prepare(d).all(c,u,...o),_=this.db.prepare(p).all(c,u,...o);return{observations:m,sessions:g.map(f=>({id:f.id,memory_session_id:f.memory_session_id,project:f.project,request:f.request,completed:f.completed,next_steps:f.next_steps,created_at:f.created_at,created_at_epoch:f.created_at_epoch})),prompts:_.map(f=>({id:f.id,content_session_id:f.content_session_id,prompt_number:f.prompt_number,prompt_text:f.prompt_text,project:f.project,created_at:f.created_at,created_at_epoch:f.created_at_epoch}))}}catch(m){return O.error("DB","Error querying timeline records",void 0,{error:m,project:s}),{observations:[],sessions:[],prompts:[]}}}getPromptById(e){return this.db.prepare(` SELECT p.id, p.content_session_id, @@ -612,8 +612,8 @@ ${s.stack}`:` ${s.message}`:this.getLevel()===0&&typeof s=="object"?l=` ORDER BY completed_at_epoch DESC LIMIT ? ) - `).run(e).changes}toPendingMessage(e){return{type:e.message_type,tool_name:e.tool_name||void 0,tool_input:e.tool_input?JSON.parse(e.tool_input):void 0,tool_response:e.tool_response?JSON.parse(e.tool_response):void 0,prompt_number:e.prompt_number||void 0,cwd:e.cwd||void 0,last_user_message:e.last_user_message||void 0,last_assistant_message:e.last_assistant_message||void 0}}}});var z1={};ia(z1,{ModeManager:()=>dt});var Co,sl,dt,ln=Jr(()=>{"use strict";Co=require("fs"),sl=require("path");ot();mr();dt=class t{static instance=null;activeMode=null;modesDir;constructor(){let e=or(),r=[(0,sl.join)(e,"modes"),(0,sl.join)(e,"..","plugin","modes")],a=r.find(n=>(0,Co.existsSync)(n));this.modesDir=a||r[0]}static getInstance(){return t.instance||(t.instance=new t),t.instance}parseInheritance(e){let r=e.split("--");if(r.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(r.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:r[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,r){let a={...e};for(let n in r){let s=r[n],i=e[n];this.isPlainObject(s)&&this.isPlainObject(i)?a[n]=this.deepMerge(i,s):a[n]=s}return a}loadModeFile(e){let r=(0,sl.join)(this.modesDir,`${e}.json`);if(!(0,Co.existsSync)(r))throw new Error(`Mode file not found: ${r}`);let a=(0,Co.readFileSync)(r,"utf-8");return JSON.parse(a)}loadMode(e){let r=this.parseInheritance(e);if(!r.hasParent)try{let c=this.loadModeFile(e);return this.activeMode=c,P.debug("SYSTEM",`Loaded mode: ${c.name} (${e})`,void 0,{types:c.observation_types.map(u=>u.id),concepts:c.observation_concepts.map(u=>u.id)}),c}catch{if(P.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:a,overrideId:n}=r,s;try{s=this.loadMode(a)}catch{P.warn("SYSTEM",`Parent mode '${a}' not found for ${e}, falling back to 'code'`),s=this.loadMode("code")}let i;try{i=this.loadModeFile(n),P.debug("SYSTEM",`Loaded override file: ${n} for parent ${a}`)}catch{return P.warn("SYSTEM",`Override file '${n}' not found, using parent mode '${a}' only`),this.activeMode=s,s}if(!i)return P.warn("SYSTEM",`Invalid override file: ${n}, using parent mode '${a}' only`),this.activeMode=s,s;let o=this.deepMerge(s,i);return this.activeMode=o,P.debug("SYSTEM",`Loaded mode with inheritance: ${o.name} (${e} = ${a} + ${n})`,void 0,{parent:a,override:n,types:o.observation_types.map(c=>c.id),concepts:o.observation_concepts.map(c=>c.id)}),o}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(a=>a.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(a=>a.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(r=>r.id===e)}getTypeLabel(e){return this.getObservationTypes().find(a=>a.id===e)?.label||e}}});function mh(t){if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e:[]}catch{return[]}}function $n(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Ei(t){return new Date(t).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Wa(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function fV(t,e){return fh.default.isAbsolute(t)?fh.default.relative(e,t):t}function Ka(t,e){let r=mh(t);return r.length>0?fV(r[0],e):"General"}function Wl(t){return t?Math.ceil(t.length/4):0}function SR(t,e){let r=new Map;for(let n of t){let s=e(n),i=Wa(s);r.has(i)||r.set(i,[]),r.get(i).push(n)}let a=Array.from(r.entries()).sort((n,s)=>{let i=new Date(n[0]).getTime(),o=new Date(s[0]).getTime();return i-o});return new Map(a)}var fh,hh=Jr(()=>{"use strict";fh=xt(require("path"),1)});var TR=V((uQ,ER)=>{"use strict";var wR=Object.getOwnPropertySymbols,vV=Object.prototype.hasOwnProperty,gV=Object.prototype.propertyIsEnumerable;function yV(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function _V(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var a=Object.getOwnPropertyNames(e).map(function(s){return e[s]});if(a.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(s){n[s]=s}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}ER.exports=_V()?Object.assign:function(t,e){for(var r,a=yV(t),n,s=1;s{(function(){"use strict";var t=TR(),e=pf(),r={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function a(g){return typeof g=="string"||g instanceof String}function n(g,_){if(Array.isArray(_)){for(var f=0;f<_.length;++f)if(n(g,_[f]))return!0;return!1}else return a(_)?g===_:_ instanceof RegExp?_.test(g):!!_}function s(g,_){var f=_.headers.origin,h=[],y;return!g.origin||g.origin==="*"?h.push([{key:"Access-Control-Allow-Origin",value:"*"}]):a(g.origin)?(h.push([{key:"Access-Control-Allow-Origin",value:g.origin}]),h.push([{key:"Vary",value:"Origin"}])):(y=n(f,g.origin),h.push([{key:"Access-Control-Allow-Origin",value:y?f:!1}]),h.push([{key:"Vary",value:"Origin"}])),h}function i(g){var _=g.methods;return _.join&&(_=g.methods.join(",")),{key:"Access-Control-Allow-Methods",value:_}}function o(g){return g.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(g,_){var f=g.allowedHeaders||g.headers,h=[];return f?f.join&&(f=f.join(",")):(f=_.headers["access-control-request-headers"],h.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),f&&f.length&&h.push([{key:"Access-Control-Allow-Headers",value:f}]),h}function u(g){var _=g.exposedHeaders;if(_)_.join&&(_=_.join(","));else return null;return _&&_.length?{key:"Access-Control-Expose-Headers",value:_}:null}function l(g){var _=(typeof g.maxAge=="number"||g.maxAge)&&g.maxAge.toString();return _&&_.length?{key:"Access-Control-Max-Age",value:_}:null}function d(g,_){for(var f=0,h=g.length;f{"use strict";DR=xt(require("path"),1);ot()});var bh={};ia(bh,{generateContext:()=>kV});function xV(){let t=id.default.join((0,od.homedir)(),".claude-mem","settings.json"),e=Ze.loadFromFile(t),r=e.CLAUDE_MEM_MODE,a=r==="code"||r.startsWith("code--"),n,s;if(a)n=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(i=>i.trim()).filter(Boolean)),s=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(i=>i.trim()).filter(Boolean));else{let i=dt.getInstance().getActiveMode();n=new Set(i.observation_types.map(o=>o.id)),s=new Set(i.observation_concepts.map(o=>o.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:n,observationConcepts:s,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}function sd(t,e,r,a){return e?a?[`${r}${t}:${pe.reset} ${e}`,""]:[`**${t}**: ${e}`,""]:[]}function EV(t){return t.replace(/\//g,"-")}function TV(t){try{if(!(0,Ri.existsSync)(t))return{userMessage:"",assistantMessage:""};let e=(0,Ri.readFileSync)(t,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let r=e.split(` -`).filter(n=>n.trim()),a="";for(let n=r.length-1;n>=0;n--)try{let s=r[n];if(!s.includes('"type":"assistant"'))continue;let i=JSON.parse(s);if(i.type==="assistant"&&i.message?.content&&Array.isArray(i.message.content)){let o="";for(let c of i.message.content)c.type==="text"&&(o+=c.text);if(o=o.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),o){a=o;break}}}catch{continue}return{userMessage:"",assistantMessage:a}}catch(e){return P.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:t},e),{userMessage:"",assistantMessage:""}}}async function kV(t,e=!1){let r=xV(),a=t?.cwd??process.cwd(),n=LR(a),s=null;try{s=new Gn}catch(h){if(h.code==="ERR_DLOPEN_FAILED"){try{(0,Ri.unlinkSync)(SV)}catch{}return P.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),""}throw h}let i=Array.from(r.observationTypes),o=i.map(()=>"?").join(","),c=Array.from(r.observationConcepts),u=c.map(()=>"?").join(","),l=s.db.prepare(` + `).run(e).changes}toPendingMessage(e){return{type:e.message_type,tool_name:e.tool_name||void 0,tool_input:e.tool_input?JSON.parse(e.tool_input):void 0,tool_response:e.tool_response?JSON.parse(e.tool_response):void 0,prompt_number:e.prompt_number||void 0,cwd:e.cwd||void 0,last_user_message:e.last_user_message||void 0,last_assistant_message:e.last_assistant_message||void 0}}}});var z1={};ia(z1,{ModeManager:()=>dt});var Co,sl,dt,ln=Jr(()=>{"use strict";Co=require("fs"),sl=require("path");ot();mr();dt=class t{static instance=null;activeMode=null;modesDir;constructor(){let e=or(),r=[(0,sl.join)(e,"modes"),(0,sl.join)(e,"..","plugin","modes")],a=r.find(n=>(0,Co.existsSync)(n));this.modesDir=a||r[0]}static getInstance(){return t.instance||(t.instance=new t),t.instance}parseInheritance(e){let r=e.split("--");if(r.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(r.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:r[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,r){let a={...e};for(let n in r){let s=r[n],i=e[n];this.isPlainObject(s)&&this.isPlainObject(i)?a[n]=this.deepMerge(i,s):a[n]=s}return a}loadModeFile(e){let r=(0,sl.join)(this.modesDir,`${e}.json`);if(!(0,Co.existsSync)(r))throw new Error(`Mode file not found: ${r}`);let a=(0,Co.readFileSync)(r,"utf-8");return JSON.parse(a)}loadMode(e){let r=this.parseInheritance(e);if(!r.hasParent)try{let c=this.loadModeFile(e);return this.activeMode=c,O.debug("SYSTEM",`Loaded mode: ${c.name} (${e})`,void 0,{types:c.observation_types.map(u=>u.id),concepts:c.observation_concepts.map(u=>u.id)}),c}catch{if(O.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:a,overrideId:n}=r,s;try{s=this.loadMode(a)}catch{O.warn("SYSTEM",`Parent mode '${a}' not found for ${e}, falling back to 'code'`),s=this.loadMode("code")}let i;try{i=this.loadModeFile(n),O.debug("SYSTEM",`Loaded override file: ${n} for parent ${a}`)}catch{return O.warn("SYSTEM",`Override file '${n}' not found, using parent mode '${a}' only`),this.activeMode=s,s}if(!i)return O.warn("SYSTEM",`Invalid override file: ${n}, using parent mode '${a}' only`),this.activeMode=s,s;let o=this.deepMerge(s,i);return this.activeMode=o,O.debug("SYSTEM",`Loaded mode with inheritance: ${o.name} (${e} = ${a} + ${n})`,void 0,{parent:a,override:n,types:o.observation_types.map(c=>c.id),concepts:o.observation_concepts.map(c=>c.id)}),o}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(a=>a.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(a=>a.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(r=>r.id===e)}getTypeLabel(e){return this.getObservationTypes().find(a=>a.id===e)?.label||e}}});function mh(t){if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e:[]}catch{return[]}}function $n(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Ei(t){return new Date(t).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Wa(t){return new Date(t).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function fV(t,e){return fh.default.isAbsolute(t)?fh.default.relative(e,t):t}function Ka(t,e){let r=mh(t);return r.length>0?fV(r[0],e):"General"}function Wl(t){return t?Math.ceil(t.length/4):0}function SR(t,e){let r=new Map;for(let n of t){let s=e(n),i=Wa(s);r.has(i)||r.set(i,[]),r.get(i).push(n)}let a=Array.from(r.entries()).sort((n,s)=>{let i=new Date(n[0]).getTime(),o=new Date(s[0]).getTime();return i-o});return new Map(a)}var fh,hh=Jr(()=>{"use strict";fh=xt(require("path"),1)});var TR=V((uQ,ER)=>{"use strict";var wR=Object.getOwnPropertySymbols,vV=Object.prototype.hasOwnProperty,gV=Object.prototype.propertyIsEnumerable;function yV(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function _V(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var a=Object.getOwnPropertyNames(e).map(function(s){return e[s]});if(a.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(s){n[s]=s}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}ER.exports=_V()?Object.assign:function(t,e){for(var r,a=yV(t),n,s=1;s{(function(){"use strict";var t=TR(),e=pf(),r={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function a(g){return typeof g=="string"||g instanceof String}function n(g,_){if(Array.isArray(_)){for(var f=0;f<_.length;++f)if(n(g,_[f]))return!0;return!1}else return a(_)?g===_:_ instanceof RegExp?_.test(g):!!_}function s(g,_){var f=_.headers.origin,h=[],y;return!g.origin||g.origin==="*"?h.push([{key:"Access-Control-Allow-Origin",value:"*"}]):a(g.origin)?(h.push([{key:"Access-Control-Allow-Origin",value:g.origin}]),h.push([{key:"Vary",value:"Origin"}])):(y=n(f,g.origin),h.push([{key:"Access-Control-Allow-Origin",value:y?f:!1}]),h.push([{key:"Vary",value:"Origin"}])),h}function i(g){var _=g.methods;return _.join&&(_=g.methods.join(",")),{key:"Access-Control-Allow-Methods",value:_}}function o(g){return g.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(g,_){var f=g.allowedHeaders||g.headers,h=[];return f?f.join&&(f=f.join(",")):(f=_.headers["access-control-request-headers"],h.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),f&&f.length&&h.push([{key:"Access-Control-Allow-Headers",value:f}]),h}function u(g){var _=g.exposedHeaders;if(_)_.join&&(_=_.join(","));else return null;return _&&_.length?{key:"Access-Control-Expose-Headers",value:_}:null}function l(g){var _=(typeof g.maxAge=="number"||g.maxAge)&&g.maxAge.toString();return _&&_.length?{key:"Access-Control-Max-Age",value:_}:null}function d(g,_){for(var f=0,h=g.length;f{"use strict";DR=xt(require("path"),1);ot()});var bh={};ia(bh,{generateContext:()=>kV});function xV(){let t=id.default.join((0,od.homedir)(),".claude-mem","settings.json"),e=Ze.loadFromFile(t),r=e.CLAUDE_MEM_MODE,a=r==="code"||r.startsWith("code--"),n,s;if(a)n=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(i=>i.trim()).filter(Boolean)),s=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(i=>i.trim()).filter(Boolean));else{let i=dt.getInstance().getActiveMode();n=new Set(i.observation_types.map(o=>o.id)),s=new Set(i.observation_concepts.map(o=>o.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:n,observationConcepts:s,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}function sd(t,e,r,a){return e?a?[`${r}${t}:${pe.reset} ${e}`,""]:[`**${t}**: ${e}`,""]:[]}function EV(t){return t.replace(/\//g,"-")}function TV(t){try{if(!(0,Ri.existsSync)(t))return{userMessage:"",assistantMessage:""};let e=(0,Ri.readFileSync)(t,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let r=e.split(` +`).filter(n=>n.trim()),a="";for(let n=r.length-1;n>=0;n--)try{let s=r[n];if(!s.includes('"type":"assistant"'))continue;let i=JSON.parse(s);if(i.type==="assistant"&&i.message?.content&&Array.isArray(i.message.content)){let o="";for(let c of i.message.content)c.type==="text"&&(o+=c.text);if(o=o.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),o){a=o;break}}}catch{continue}return{userMessage:"",assistantMessage:a}}catch(e){return O.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:t},e),{userMessage:"",assistantMessage:""}}}async function kV(t,e=!1){let r=xV(),a=t?.cwd??process.cwd(),n=LR(a),s=null;try{s=new Gn}catch(h){if(h.code==="ERR_DLOPEN_FAILED"){try{(0,Ri.unlinkSync)(SV)}catch{}return O.error("SYSTEM","Native module rebuild needed - restart Claude Code to auto-fix"),""}throw h}let i=Array.from(r.observationTypes),o=i.map(()=>"?").join(","),c=Array.from(r.observationConcepts),u=c.map(()=>"?").join(","),l=s.db.prepare(` SELECT id, memory_session_id, type, title, subtitle, narrative, facts, concepts, files_read, files_modified, discovery_tokens, @@ -640,11 +640,11 @@ ${pe.gray}${"\u2500".repeat(60)}${pe.reset} ${pe.dim}No previous sessions found for this project yet.${pe.reset} `:`# [${n}] recent context -No previous sessions found for this project yet.`;let g=d.slice(0,r.sessionCount),_=l,f=[];if(e?(f.push(""),f.push(`${pe.bright}${pe.cyan}[${n}] recent context${pe.reset}`),f.push(`${pe.gray}${"\u2500".repeat(60)}${pe.reset}`),f.push("")):(f.push(`# [${n}] recent context`),f.push("")),_.length>0){let y=dt.getInstance().getActiveMode().observation_types.map(ae=>`${ae.emoji} ${ae.id}`).join(" | ");e?f.push(`${pe.dim}Legend: \u{1F3AF} session-request | ${y}${pe.reset}`):f.push(`**Legend:** \u{1F3AF} session-request | ${y}`),f.push(""),e?(f.push(`${pe.bright}\u{1F4A1} Column Key${pe.reset}`),f.push(`${pe.dim} Read: Tokens to read this observation (cost to learn it now)${pe.reset}`),f.push(`${pe.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${pe.reset}`)):(f.push("\u{1F4A1} **Column Key**:"),f.push("- **Read**: Tokens to read this observation (cost to learn it now)"),f.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),f.push(""),e?(f.push(`${pe.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${pe.reset}`),f.push(""),f.push(`${pe.dim}When you need implementation details, rationale, or debugging context:${pe.reset}`),f.push(`${pe.dim} - Use the mem-search skill to fetch full observations on-demand${pe.reset}`),f.push(`${pe.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${pe.reset}`),f.push(`${pe.dim} - Trust this index over re-reading code for past decisions and learnings${pe.reset}`)):(f.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),f.push(""),f.push("When you need implementation details, rationale, or debugging context:"),f.push("- Use the mem-search skill to fetch full observations on-demand"),f.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),f.push("- Trust this index over re-reading code for past decisions and learnings")),f.push("");let v=l.length,b=l.reduce((ae,re)=>{let U=(re.title?.length||0)+(re.subtitle?.length||0)+(re.narrative?.length||0)+JSON.stringify(re.facts||[]).length;return ae+Math.ceil(U/FR)},0),w=l.reduce((ae,re)=>ae+(re.discovery_tokens||0),0),S=w-b,E=w>0?Math.round(S/w*100):0,T=r.showReadTokens||r.showWorkTokens||r.showSavingsAmount||r.showSavingsPercent;if(T)if(e){if(f.push(`${pe.bright}${pe.cyan}\u{1F4CA} Context Economics${pe.reset}`),f.push(`${pe.dim} Loading: ${v} observations (${b.toLocaleString()} tokens to read)${pe.reset}`),f.push(`${pe.dim} Work investment: ${w.toLocaleString()} tokens spent on research, building, and decisions${pe.reset}`),w>0&&(r.showSavingsAmount||r.showSavingsPercent)){let ae=" Your savings: ";r.showSavingsAmount&&r.showSavingsPercent?ae+=`${S.toLocaleString()} tokens (${E}% reduction from reuse)`:r.showSavingsAmount?ae+=`${S.toLocaleString()} tokens`:ae+=`${E}% reduction from reuse`,f.push(`${pe.green}${ae}${pe.reset}`)}f.push("")}else{if(f.push("\u{1F4CA} **Context Economics**:"),f.push(`- Loading: ${v} observations (${b.toLocaleString()} tokens to read)`),f.push(`- Work investment: ${w.toLocaleString()} tokens spent on research, building, and decisions`),w>0&&(r.showSavingsAmount||r.showSavingsPercent)){let ae="- Your savings: ";r.showSavingsAmount&&r.showSavingsPercent?ae+=`${S.toLocaleString()} tokens (${E}% reduction from reuse)`:r.showSavingsAmount?ae+=`${S.toLocaleString()} tokens`:ae+=`${E}% reduction from reuse`,f.push(ae)}f.push("")}let R=d[0]?.id,M=g.map((ae,re)=>{let U=re===0?null:d[re+1];return{...ae,displayEpoch:U?U.created_at_epoch:ae.created_at_epoch,displayTime:U?U.created_at:ae.created_at,shouldShowLink:ae.id!==R}}),j=new Set(l.slice(0,r.fullObservationCount).map(ae=>ae.id)),q=[..._.map(ae=>({type:"observation",data:ae})),...M.map(ae=>({type:"summary",data:ae}))];q.sort((ae,re)=>{let U=ae.type==="observation"?ae.data.created_at_epoch:ae.data.displayEpoch,$=re.type==="observation"?re.data.created_at_epoch:re.data.displayEpoch;return U-$});let H=new Map;for(let ae of q){let re=ae.type==="observation"?ae.data.created_at:ae.data.displayTime,U=Wa(re);H.has(U)||H.set(U,[]),H.get(U).push(ae)}let N=Array.from(H.entries()).sort((ae,re)=>{let U=new Date(ae[0]).getTime(),$=new Date(re[0]).getTime();return U-$});for(let[ae,re]of N){e?(f.push(`${pe.bright}${pe.cyan}${ae}${pe.reset}`),f.push("")):(f.push(`### ${ae}`),f.push(""));let U=null,$="",z=!1;for(let A of re)if(A.type==="summary"){z&&(f.push(""),z=!1,U=null,$="");let x=A.data,k=`${x.request||"Session started"} (${$n(x.displayTime)})`;e?f.push(`\u{1F3AF} ${pe.yellow}#S${x.id}${pe.reset} ${k}`):f.push(`**\u{1F3AF} #S${x.id}** ${k}`),f.push("")}else{let x=A.data,k=Ka(x.files_modified,a);k!==U&&(z&&f.push(""),e?f.push(`${pe.dim}${k}${pe.reset}`):f.push(`**${k}**`),e||(f.push("| ID | Time | T | Title | Read | Work |"),f.push("|----|------|---|-------|------|------|")),U=k,z=!0,$="");let D=Ei(x.created_at),K=x.title||"Untitled",J=dt.getInstance().getTypeIcon(x.type),de=(x.title?.length||0)+(x.subtitle?.length||0)+(x.narrative?.length||0)+JSON.stringify(x.facts||[]).length,se=Math.ceil(de/FR),me=x.discovery_tokens||0,C=dt.getInstance().getWorkEmoji(x.type),I=me>0?`${C} ${me.toLocaleString()}`:"-",F=D!==$,Z=F?D:"";if($=D,j.has(x.id)){let ce=r.fullObservationField==="narrative"?x.narrative:x.facts?mh(x.facts).join(` +No previous sessions found for this project yet.`;let g=d.slice(0,r.sessionCount),_=l,f=[];if(e?(f.push(""),f.push(`${pe.bright}${pe.cyan}[${n}] recent context${pe.reset}`),f.push(`${pe.gray}${"\u2500".repeat(60)}${pe.reset}`),f.push("")):(f.push(`# [${n}] recent context`),f.push("")),_.length>0){let y=dt.getInstance().getActiveMode().observation_types.map(ae=>`${ae.emoji} ${ae.id}`).join(" | ");e?f.push(`${pe.dim}Legend: \u{1F3AF} session-request | ${y}${pe.reset}`):f.push(`**Legend:** \u{1F3AF} session-request | ${y}`),f.push(""),e?(f.push(`${pe.bright}\u{1F4A1} Column Key${pe.reset}`),f.push(`${pe.dim} Read: Tokens to read this observation (cost to learn it now)${pe.reset}`),f.push(`${pe.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${pe.reset}`)):(f.push("\u{1F4A1} **Column Key**:"),f.push("- **Read**: Tokens to read this observation (cost to learn it now)"),f.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),f.push(""),e?(f.push(`${pe.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${pe.reset}`),f.push(""),f.push(`${pe.dim}When you need implementation details, rationale, or debugging context:${pe.reset}`),f.push(`${pe.dim} - Use the mem-search skill to fetch full observations on-demand${pe.reset}`),f.push(`${pe.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${pe.reset}`),f.push(`${pe.dim} - Trust this index over re-reading code for past decisions and learnings${pe.reset}`)):(f.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),f.push(""),f.push("When you need implementation details, rationale, or debugging context:"),f.push("- Use the mem-search skill to fetch full observations on-demand"),f.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),f.push("- Trust this index over re-reading code for past decisions and learnings")),f.push("");let v=l.length,b=l.reduce((ae,re)=>{let U=(re.title?.length||0)+(re.subtitle?.length||0)+(re.narrative?.length||0)+JSON.stringify(re.facts||[]).length;return ae+Math.ceil(U/FR)},0),w=l.reduce((ae,re)=>ae+(re.discovery_tokens||0),0),S=w-b,E=w>0?Math.round(S/w*100):0,T=r.showReadTokens||r.showWorkTokens||r.showSavingsAmount||r.showSavingsPercent;if(T)if(e){if(f.push(`${pe.bright}${pe.cyan}\u{1F4CA} Context Economics${pe.reset}`),f.push(`${pe.dim} Loading: ${v} observations (${b.toLocaleString()} tokens to read)${pe.reset}`),f.push(`${pe.dim} Work investment: ${w.toLocaleString()} tokens spent on research, building, and decisions${pe.reset}`),w>0&&(r.showSavingsAmount||r.showSavingsPercent)){let ae=" Your savings: ";r.showSavingsAmount&&r.showSavingsPercent?ae+=`${S.toLocaleString()} tokens (${E}% reduction from reuse)`:r.showSavingsAmount?ae+=`${S.toLocaleString()} tokens`:ae+=`${E}% reduction from reuse`,f.push(`${pe.green}${ae}${pe.reset}`)}f.push("")}else{if(f.push("\u{1F4CA} **Context Economics**:"),f.push(`- Loading: ${v} observations (${b.toLocaleString()} tokens to read)`),f.push(`- Work investment: ${w.toLocaleString()} tokens spent on research, building, and decisions`),w>0&&(r.showSavingsAmount||r.showSavingsPercent)){let ae="- Your savings: ";r.showSavingsAmount&&r.showSavingsPercent?ae+=`${S.toLocaleString()} tokens (${E}% reduction from reuse)`:r.showSavingsAmount?ae+=`${S.toLocaleString()} tokens`:ae+=`${E}% reduction from reuse`,f.push(ae)}f.push("")}let R=d[0]?.id,M=g.map((ae,re)=>{let U=re===0?null:d[re+1];return{...ae,displayEpoch:U?U.created_at_epoch:ae.created_at_epoch,displayTime:U?U.created_at:ae.created_at,shouldShowLink:ae.id!==R}}),j=new Set(l.slice(0,r.fullObservationCount).map(ae=>ae.id)),q=[..._.map(ae=>({type:"observation",data:ae})),...M.map(ae=>({type:"summary",data:ae}))];q.sort((ae,re)=>{let U=ae.type==="observation"?ae.data.created_at_epoch:ae.data.displayEpoch,P=re.type==="observation"?re.data.created_at_epoch:re.data.displayEpoch;return U-P});let H=new Map;for(let ae of q){let re=ae.type==="observation"?ae.data.created_at:ae.data.displayTime,U=Wa(re);H.has(U)||H.set(U,[]),H.get(U).push(ae)}let N=Array.from(H.entries()).sort((ae,re)=>{let U=new Date(ae[0]).getTime(),P=new Date(re[0]).getTime();return U-P});for(let[ae,re]of N){e?(f.push(`${pe.bright}${pe.cyan}${ae}${pe.reset}`),f.push("")):(f.push(`### ${ae}`),f.push(""));let U=null,P="",z=!1;for(let A of re)if(A.type==="summary"){z&&(f.push(""),z=!1,U=null,P="");let x=A.data,k=`${x.request||"Session started"} (${$n(x.displayTime)})`;e?f.push(`\u{1F3AF} ${pe.yellow}#S${x.id}${pe.reset} ${k}`):f.push(`**\u{1F3AF} #S${x.id}** ${k}`),f.push("")}else{let x=A.data,k=Ka(x.files_modified,a);k!==U&&(z&&f.push(""),e?f.push(`${pe.dim}${k}${pe.reset}`):f.push(`**${k}**`),e||(f.push("| ID | Time | T | Title | Read | Work |"),f.push("|----|------|---|-------|------|------|")),U=k,z=!0,P="");let D=Ei(x.created_at),K=x.title||"Untitled",J=dt.getInstance().getTypeIcon(x.type),de=(x.title?.length||0)+(x.subtitle?.length||0)+(x.narrative?.length||0)+JSON.stringify(x.facts||[]).length,se=Math.ceil(de/FR),me=x.discovery_tokens||0,C=dt.getInstance().getWorkEmoji(x.type),I=me>0?`${C} ${me.toLocaleString()}`:"-",F=D!==P,Z=F?D:"";if(P=D,j.has(x.id)){let ce=r.fullObservationField==="narrative"?x.narrative:x.facts?mh(x.facts).join(` `):null;if(e){let ke=F?`${pe.dim}${D}${pe.reset}`:" ".repeat(D.length),Ne=r.showReadTokens&&se>0?`${pe.dim}(~${se}t)${pe.reset}`:"",Me=r.showWorkTokens&&me>0?`${pe.dim}(${C} ${me.toLocaleString()}t)${pe.reset}`:"";f.push(` ${pe.dim}#${x.id}${pe.reset} ${ke} ${J} ${pe.bright}${K}${pe.reset}`),ce&&f.push(` ${pe.dim}${ce}${pe.reset}`),(Ne||Me)&&f.push(` ${Ne} ${Me}`),f.push("")}else{z&&(f.push(""),z=!1),f.push(`**#${x.id}** ${Z||"\u2033"} ${J} **${K}**`),ce&&(f.push(""),f.push(ce),f.push(""));let ke=[];r.showReadTokens&&ke.push(`Read: ~${se}`),r.showWorkTokens&&ke.push(`Work: ${I}`),ke.length>0&&f.push(ke.join(", ")),f.push(""),U=null}}else if(e){let ce=F?`${pe.dim}${D}${pe.reset}`:" ".repeat(D.length),ke=r.showReadTokens&&se>0?`${pe.dim}(~${se}t)${pe.reset}`:"",Ne=r.showWorkTokens&&me>0?`${pe.dim}(${C} ${me.toLocaleString()}t)${pe.reset}`:"";f.push(` ${pe.dim}#${x.id}${pe.reset} ${ce} ${J} ${K} ${ke} ${Ne}`)}else{let ce=r.showReadTokens?`~${se}`:"",ke=r.showWorkTokens?I:"";f.push(`| #${x.id} | ${Z||"\u2033"} | ${J} | ${K} | ${ce} | ${ke} |`)}}z&&f.push("")}let W=d[0],oe=l[0];if(r.showLastSummary&&W&&(W.investigated||W.learned||W.completed||W.next_steps)&&(!oe||W.created_at_epoch>oe.created_at_epoch)&&(f.push(...sd("Investigated",W.investigated,pe.blue,e)),f.push(...sd("Learned",W.learned,pe.yellow,e)),f.push(...sd("Completed",W.completed,pe.green,e)),f.push(...sd("Next Steps",W.next_steps,pe.magenta,e))),m&&(f.push(""),f.push("---"),f.push(""),e?(f.push(`${pe.bright}${pe.magenta}\u{1F4CB} Previously${pe.reset}`),f.push(""),f.push(`${pe.dim}A: ${m}${pe.reset}`)):(f.push("**\u{1F4CB} Previously**"),f.push(""),f.push(`A: ${m}`)),f.push("")),T&&w>0&&S>0){let ae=Math.round(w/1e3);f.push(""),e?f.push(`${pe.dim}\u{1F4B0} Access ${ae}k tokens of past research & decisions for just ${b.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.${pe.reset}`):f.push(`\u{1F4B0} Access ${ae}k tokens of past research & decisions for just ${b.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.`)}}return s?.close(),f.join(` -`).trimEnd()}var id,od,Ri,SV,FR,wV,pe,Sh=Jr(()=>{"use strict";id=xt(require("path"),1),od=require("os"),Ri=require("fs");Ju();ot();Or();hh();qR();ln();SV=id.default.join((0,od.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");FR=4,wV=1,pe={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"}});var BV={};ia(BV,{WorkerService:()=>dd,updateCursorContextForProject:()=>Za});module.exports=Vh(BV);var VR=xt(mu(),1),xe=xt(require("path"),1),Ph=xt(require("fs"),1);var O={};ia(O,{BRAND:()=>B2,DIRTY:()=>xa,EMPTY_PATH:()=>x2,INVALID:()=>Pe,NEVER:()=>P4,OK:()=>Ht,ParseStatus:()=>Ft,Schema:()=>Fe,ZodAny:()=>Un,ZodArray:()=>xn,ZodBigInt:()=>Ea,ZodBoolean:()=>Ta,ZodBranded:()=>go,ZodCatch:()=>ja,ZodDate:()=>ka,ZodDefault:()=>Ma,ZodDiscriminatedUnion:()=>gu,ZodEffects:()=>Tr,ZodEnum:()=>Aa,ZodError:()=>nr,ZodFirstPartyTypeKind:()=>Oe,ZodFunction:()=>_u,ZodIntersection:()=>Oa,ZodIssueCode:()=>ie,ZodLazy:()=>Ca,ZodLiteral:()=>Ia,ZodMap:()=>Fs,ZodNaN:()=>zs,ZodNativeEnum:()=>Na,ZodNever:()=>zr,ZodNull:()=>Pa,ZodNullable:()=>cn,ZodNumber:()=>wa,ZodObject:()=>ar,ZodOptional:()=>wr,ZodParsedType:()=>ge,ZodPipeline:()=>yo,ZodPromise:()=>zn,ZodReadonly:()=>Da,ZodRecord:()=>yu,ZodSchema:()=>Fe,ZodSet:()=>Us,ZodString:()=>Fn,ZodSymbol:()=>Ls,ZodTransformer:()=>Tr,ZodTuple:()=>on,ZodType:()=>Fe,ZodUndefined:()=>Ra,ZodUnion:()=>$a,ZodUnknown:()=>Sn,ZodVoid:()=>qs,addIssueToContext:()=>fe,any:()=>Q2,array:()=>n4,bigint:()=>W2,boolean:()=>rx,coerce:()=>R4,custom:()=>QS,date:()=>K2,datetimeRegex:()=>JS,defaultErrorMap:()=>_n,discriminatedUnion:()=>o4,effect:()=>_4,enum:()=>v4,function:()=>f4,getErrorMap:()=>Ms,getParsedType:()=>sn,instanceof:()=>G2,intersection:()=>c4,isAborted:()=>hu,isAsync:()=>js,isDirty:()=>vu,isValid:()=>qn,late:()=>V2,lazy:()=>m4,literal:()=>h4,makeIssue:()=>vo,map:()=>d4,nan:()=>Z2,nativeEnum:()=>g4,never:()=>t4,null:()=>Y2,nullable:()=>S4,number:()=>tx,object:()=>a4,objectUtil:()=>vf,oboolean:()=>k4,onumber:()=>T4,optional:()=>b4,ostring:()=>E4,pipeline:()=>w4,preprocess:()=>x4,promise:()=>y4,quotelessJson:()=>_2,record:()=>l4,set:()=>p4,setErrorMap:()=>S2,strictObject:()=>s4,string:()=>ex,symbol:()=>X2,transformer:()=>_4,tuple:()=>u4,undefined:()=>J2,union:()=>i4,unknown:()=>e4,util:()=>Ve,void:()=>r4});var Ve;(function(t){t.assertEqual=n=>{};function e(n){}t.assertIs=e;function r(n){throw new Error}t.assertNever=r,t.arrayToEnum=n=>{let s={};for(let i of n)s[i]=i;return s},t.getValidEnumValues=n=>{let s=t.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(let o of s)i[o]=n[o];return t.objectValues(i)},t.objectValues=n=>t.objectKeys(n).map(function(s){return n[s]}),t.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let s=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&s.push(i);return s},t.find=(n,s)=>{for(let i of n)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function a(n,s=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=a,t.jsonStringifyReplacer=(n,s)=>typeof s=="bigint"?s.toString():s})(Ve||(Ve={}));var vf;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(vf||(vf={}));var ge=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),sn=t=>{switch(typeof t){case"undefined":return ge.undefined;case"string":return ge.string;case"number":return Number.isNaN(t)?ge.nan:ge.number;case"boolean":return ge.boolean;case"function":return ge.function;case"bigint":return ge.bigint;case"symbol":return ge.symbol;case"object":return Array.isArray(t)?ge.array:t===null?ge.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ge.promise:typeof Map<"u"&&t instanceof Map?ge.map:typeof Set<"u"&&t instanceof Set?ge.set:typeof Date<"u"&&t instanceof Date?ge.date:ge.object;default:return ge.unknown}};var ie=Ve.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"]),_2=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),nr=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};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},a={_errors:[]},n=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)a._errors.push(r(i));else{let o=a,c=0;for(;cr.message){let r={},a=[];for(let n of this.issues)if(n.path.length>0){let s=n.path[0];r[s]=r[s]||[],r[s].push(e(n))}else a.push(e(n));return{formErrors:a,fieldErrors:r}}get formErrors(){return this.flatten()}};nr.create=t=>new nr(t);var b2=(t,e)=>{let r;switch(t.code){case ie.invalid_type:t.received===ge.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case ie.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Ve.jsonStringifyReplacer)}`;break;case ie.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ve.joinValues(t.keys,", ")}`;break;case ie.invalid_union:r="Invalid input";break;case ie.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ve.joinValues(t.options)}`;break;case ie.invalid_enum_value:r=`Invalid enum value. Expected ${Ve.joinValues(t.options)}, received '${t.received}'`;break;case ie.invalid_arguments:r="Invalid function arguments";break;case ie.invalid_return_type:r="Invalid function return type";break;case ie.invalid_date:r="Invalid date";break;case ie.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}"`:Ve.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case ie.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 ie.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 ie.custom:r="Invalid input";break;case ie.invalid_intersection_types:r="Intersection results could not be merged";break;case ie.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case ie.not_finite:r="Number must be finite";break;default:r=e.defaultError,Ve.assertNever(t)}return{message:r}},_n=b2;var GS=_n;function S2(t){GS=t}function Ms(){return GS}var vo=t=>{let{data:e,path:r,errorMaps:a,issueData:n}=t,s=[...r,...n.path||[]],i={...n,path:s};if(n.message!==void 0)return{...n,path:s,message:n.message};let o="",c=a.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:e,defaultError:o}).message;return{...n,path:s,message:o}},x2=[];function fe(t,e){let r=Ms(),a=vo({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===_n?void 0:_n].filter(n=>!!n)});t.common.issues.push(a)}var Ft=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 a=[];for(let n of r){if(n.status==="aborted")return Pe;n.status==="dirty"&&e.dirty(),a.push(n.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,r){let a=[];for(let n of r){let s=await n.key,i=await n.value;a.push({key:s,value:i})}return t.mergeObjectSync(e,a)}static mergeObjectSync(e,r){let a={};for(let n of r){let{key:s,value:i}=n;if(s.status==="aborted"||i.status==="aborted")return Pe;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(a[s.value]=i.value)}return{status:e.value,value:a}}},Pe=Object.freeze({status:"aborted"}),xa=t=>({status:"dirty",value:t}),Ht=t=>({status:"valid",value:t}),hu=t=>t.status==="aborted",vu=t=>t.status==="dirty",qn=t=>t.status==="valid",js=t=>typeof Promise<"u"&&t instanceof Promise;var be;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(be||(be={}));var Er=class{constructor(e,r,a,n){this._cachedPath=[],this.parent=e,this.data=r,this._path=a,this._key=n}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}},ZS=(t,e)=>{if(qn(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 nr(t.common.issues);return this._error=r,this._error}}};function De(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:a,description:n}=t;if(e&&(r||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,o)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??o.defaultError}:typeof o.data>"u"?{message:c??a??o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:c??r??o.defaultError}},description:n}}var Fe=class{get description(){return this._def.description}_getType(e){return sn(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:sn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ft,ctx:{common:e.parent.common,data:e.data,parsedType:sn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(js(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 a=this.safeParse(e,r);if(a.success)return a.data;throw a.error}safeParse(e,r){let a={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)},n=this._parseSync({data:e,path:a.path,parent:a});return ZS(a,n)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:r});return qn(a)?{value:a.value}:{issues:r.common.issues}}catch(a){a?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(a=>qn(a)?{value:a.value}:{issues:r.common.issues})}async parseAsync(e,r){let a=await this.safeParseAsync(e,r);if(a.success)return a.data;throw a.error}async safeParseAsync(e,r){let a={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)},n=this._parse({data:e,path:a.path,parent:a}),s=await(js(n)?n:Promise.resolve(n));return ZS(a,s)}refine(e,r){let a=n=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(n):r;return this._refinement((n,s)=>{let i=e(n),o=()=>s.addIssue({code:ie.custom,...a(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,r){return this._refinement((a,n)=>e(a)?!0:(n.addIssue(typeof r=="function"?r(a,n):r),!1))}_refinement(e){return new Tr({schema:this,typeName:Oe.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 wr.create(this,this._def)}nullable(){return cn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xn.create(this)}promise(){return zn.create(this,this._def)}or(e){return $a.create([this,e],this._def)}and(e){return Oa.create(this,e,this._def)}transform(e){return new Tr({...De(this._def),schema:this,typeName:Oe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Ma({...De(this._def),innerType:this,defaultValue:r,typeName:Oe.ZodDefault})}brand(){return new go({typeName:Oe.ZodBranded,type:this,...De(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new ja({...De(this._def),innerType:this,catchValue:r,typeName:Oe.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return yo.create(this,e)}readonly(){return Da.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},w2=/^c[^\s-]{8,}$/i,E2=/^[0-9a-z]+$/,T2=/^[0-9A-HJKMNP-TV-Z]{26}$/i,k2=/^[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,R2=/^[a-z0-9_-]{21}$/i,P2=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,$2=/^[-+]?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)?)??$/,O2=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,C2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",gf,I2=/^(?:(?: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])$/,A2=/^(?:(?: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])$/,N2=/^(([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]))$/,M2=/^(([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])$/,j2=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,D2=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,KS="((\\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])))",L2=new RegExp(`^${KS}$`);function XS(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 q2(t){return new RegExp(`^${XS(t)}$`)}function JS(t){let e=`${KS}T${XS(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 F2(t,e){return!!((e==="v4"||!e)&&I2.test(t)||(e==="v6"||!e)&&N2.test(t))}function U2(t,e){if(!P2.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let a=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),n=JSON.parse(atob(a));return!(typeof n!="object"||n===null||"typ"in n&&n?.typ!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function z2(t,e){return!!((e==="v4"||!e)&&A2.test(t)||(e==="v6"||!e)&&M2.test(t))}var Fn=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ge.string){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.string,received:s.parsedType}),Pe}let a=new Ft,n;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(n=this._getOrReturnCtx(e,n),fe(n,{code:ie.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),a.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,o=e.data.lengthe.test(n),{validation:r,code:ie.invalid_string,...be.errToObj(a)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...be.errToObj(e)})}url(e){return this._addCheck({kind:"url",...be.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...be.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...be.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...be.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...be.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...be.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...be.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...be.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...be.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...be.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...be.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...be.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,...be.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,...be.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...be.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...be.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...be.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...be.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...be.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...be.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...be.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...be.errToObj(r)})}nonempty(e){return this.min(1,be.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Fn({checks:[],typeName:Oe.ZodString,coerce:t?.coerce??!1,...De(t)});function H2(t,e){let r=(t.toString().split(".")[1]||"").length,a=(e.toString().split(".")[1]||"").length,n=r>a?r:a,s=Number.parseInt(t.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return s%i/10**n}var wa=class t extends Fe{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)!==ge.number){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.number,received:s.parsedType}),Pe}let a,n=new Ft;for(let s of this._def.checks)s.kind==="int"?Ve.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.invalid_type,expected:"integer",received:"float",message:s.message}),n.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),n.dirty()):s.kind==="multipleOf"?H2(e.data,s.value)!==0&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_multiple_of,multipleOf:s.value,message:s.message}),n.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_finite,message:s.message}),n.dirty()):Ve.assertNever(s);return{status:n.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,be.toString(r))}gt(e,r){return this.setLimit("min",e,!1,be.toString(r))}lte(e,r){return this.setLimit("max",e,!0,be.toString(r))}lt(e,r){return this.setLimit("max",e,!1,be.toString(r))}setLimit(e,r,a,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:a,message:be.toString(n)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:be.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:be.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:be.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:be.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:be.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:be.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:be.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:be.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:be.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Ve.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let a of this._def.checks){if(a.kind==="finite"||a.kind==="int"||a.kind==="multipleOf")return!0;a.kind==="min"?(r===null||a.value>r)&&(r=a.value):a.kind==="max"&&(e===null||a.valuenew wa({checks:[],typeName:Oe.ZodNumber,coerce:t?.coerce||!1,...De(t)});var Ea=class t extends Fe{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)!==ge.bigint)return this._getInvalidInput(e);let a,n=new Ft;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),n.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_multiple_of,multipleOf:s.value,message:s.message}),n.dirty()):Ve.assertNever(s);return{status:n.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return fe(r,{code:ie.invalid_type,expected:ge.bigint,received:r.parsedType}),Pe}gte(e,r){return this.setLimit("min",e,!0,be.toString(r))}gt(e,r){return this.setLimit("min",e,!1,be.toString(r))}lte(e,r){return this.setLimit("max",e,!0,be.toString(r))}lt(e,r){return this.setLimit("max",e,!1,be.toString(r))}setLimit(e,r,a,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:a,message:be.toString(n)}]})}_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:be.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:be.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:be.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:be.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:be.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Ea({checks:[],typeName:Oe.ZodBigInt,coerce:t?.coerce??!1,...De(t)});var Ta=class extends Fe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ge.boolean){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.boolean,received:a.parsedType}),Pe}return Ht(e.data)}};Ta.create=t=>new Ta({typeName:Oe.ZodBoolean,coerce:t?.coerce||!1,...De(t)});var ka=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ge.date){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.date,received:s.parsedType}),Pe}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_date}),Pe}let a=new Ft,n;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(n=this._getOrReturnCtx(e,n),fe(n,{code:ie.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),a.dirty()):Ve.assertNever(s);return{status:a.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:be.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:be.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew ka({checks:[],coerce:t?.coerce||!1,typeName:Oe.ZodDate,...De(t)});var Ls=class extends Fe{_parse(e){if(this._getType(e)!==ge.symbol){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.symbol,received:a.parsedType}),Pe}return Ht(e.data)}};Ls.create=t=>new Ls({typeName:Oe.ZodSymbol,...De(t)});var Ra=class extends Fe{_parse(e){if(this._getType(e)!==ge.undefined){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.undefined,received:a.parsedType}),Pe}return Ht(e.data)}};Ra.create=t=>new Ra({typeName:Oe.ZodUndefined,...De(t)});var Pa=class extends Fe{_parse(e){if(this._getType(e)!==ge.null){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.null,received:a.parsedType}),Pe}return Ht(e.data)}};Pa.create=t=>new Pa({typeName:Oe.ZodNull,...De(t)});var Un=class extends Fe{constructor(){super(...arguments),this._any=!0}_parse(e){return Ht(e.data)}};Un.create=t=>new Un({typeName:Oe.ZodAny,...De(t)});var Sn=class extends Fe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ht(e.data)}};Sn.create=t=>new Sn({typeName:Oe.ZodUnknown,...De(t)});var zr=class extends Fe{_parse(e){let r=this._getOrReturnCtx(e);return fe(r,{code:ie.invalid_type,expected:ge.never,received:r.parsedType}),Pe}};zr.create=t=>new zr({typeName:Oe.ZodNever,...De(t)});var qs=class extends Fe{_parse(e){if(this._getType(e)!==ge.undefined){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.void,received:a.parsedType}),Pe}return Ht(e.data)}};qs.create=t=>new qs({typeName:Oe.ZodVoid,...De(t)});var xn=class t extends Fe{_parse(e){let{ctx:r,status:a}=this._processInputParams(e),n=this._def;if(r.parsedType!==ge.array)return fe(r,{code:ie.invalid_type,expected:ge.array,received:r.parsedType}),Pe;if(n.exactLength!==null){let i=r.data.length>n.exactLength.value,o=r.data.lengthn.maxLength.value&&(fe(r,{code:ie.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),a.dirty()),r.common.async)return Promise.all([...r.data].map((i,o)=>n.type._parseAsync(new Er(r,i,r.path,o)))).then(i=>Ft.mergeArray(a,i));let s=[...r.data].map((i,o)=>n.type._parseSync(new Er(r,i,r.path,o)));return Ft.mergeArray(a,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:be.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:be.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:be.toString(r)}})}nonempty(e){return this.min(1,e)}};xn.create=(t,e)=>new xn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Oe.ZodArray,...De(e)});function Ds(t){if(t instanceof ar){let e={};for(let r in t.shape){let a=t.shape[r];e[r]=wr.create(Ds(a))}return new ar({...t._def,shape:()=>e})}else return t instanceof xn?new xn({...t._def,type:Ds(t.element)}):t instanceof wr?wr.create(Ds(t.unwrap())):t instanceof cn?cn.create(Ds(t.unwrap())):t instanceof on?on.create(t.items.map(e=>Ds(e))):t}var ar=class t extends Fe{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=Ve.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==ge.object){let u=this._getOrReturnCtx(e);return fe(u,{code:ie.invalid_type,expected:ge.object,received:u.parsedType}),Pe}let{status:a,ctx:n}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof zr&&this._def.unknownKeys==="strip"))for(let u in n.data)i.includes(u)||o.push(u);let c=[];for(let u of i){let l=s[u],d=n.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Er(n,d,n.path,u)),alwaysSet:u in n.data})}if(this._def.catchall instanceof zr){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of o)c.push({key:{status:"valid",value:l},value:{status:"valid",value:n.data[l]}});else if(u==="strict")o.length>0&&(fe(n,{code:ie.unrecognized_keys,keys:o}),a.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of o){let d=n.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Er(n,d,n.path,l)),alwaysSet:l in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Ft.mergeObjectSync(a,u)):Ft.mergeObjectSync(a,c)}get shape(){return this._def.shape()}strict(e){return be.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,a)=>{let n=this._def.errorMap?.(r,a).message??a.defaultError;return r.code==="unrecognized_keys"?{message:be.errToObj(e).message??n}:{message:n}}}:{}})}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:Oe.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let a of Ve.objectKeys(e))e[a]&&this.shape[a]&&(r[a]=this.shape[a]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let a of Ve.objectKeys(this.shape))e[a]||(r[a]=this.shape[a]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ds(this)}partial(e){let r={};for(let a of Ve.objectKeys(this.shape)){let n=this.shape[a];e&&!e[a]?r[a]=n:r[a]=n.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let a of Ve.objectKeys(this.shape))if(e&&!e[a])r[a]=this.shape[a];else{let s=this.shape[a];for(;s instanceof wr;)s=s._def.innerType;r[a]=s}return new t({...this._def,shape:()=>r})}keyof(){return YS(Ve.objectKeys(this.shape))}};ar.create=(t,e)=>new ar({shape:()=>t,unknownKeys:"strip",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});ar.strictCreate=(t,e)=>new ar({shape:()=>t,unknownKeys:"strict",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});ar.lazycreate=(t,e)=>new ar({shape:t,unknownKeys:"strip",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});var $a=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=this._def.options;function n(s){for(let o of s)if(o.result.status==="valid")return o.result;for(let o of s)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;let i=s.map(o=>new nr(o.ctx.common.issues));return fe(r,{code:ie.invalid_union,unionErrors:i}),Pe}if(r.common.async)return Promise.all(a.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(n);{let s,i=[];for(let c of a){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 o=i.map(c=>new nr(c));return fe(r,{code:ie.invalid_union,unionErrors:o}),Pe}}get options(){return this._def.options}};$a.create=(t,e)=>new $a({options:t,typeName:Oe.ZodUnion,...De(e)});var bn=t=>t instanceof Ca?bn(t.schema):t instanceof Tr?bn(t.innerType()):t instanceof Ia?[t.value]:t instanceof Aa?t.options:t instanceof Na?Ve.objectValues(t.enum):t instanceof Ma?bn(t._def.innerType):t instanceof Ra?[void 0]:t instanceof Pa?[null]:t instanceof wr?[void 0,...bn(t.unwrap())]:t instanceof cn?[null,...bn(t.unwrap())]:t instanceof go||t instanceof Da?bn(t.unwrap()):t instanceof ja?bn(t._def.innerType):[],gu=class t extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.object)return fe(r,{code:ie.invalid_type,expected:ge.object,received:r.parsedType}),Pe;let a=this.discriminator,n=r.data[a],s=this.optionsMap.get(n);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}):(fe(r,{code:ie.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),Pe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,a){let n=new Map;for(let s of r){let i=bn(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 o of i){if(n.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);n.set(o,s)}}return new t({typeName:Oe.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:n,...De(a)})}};function yf(t,e){let r=sn(t),a=sn(e);if(t===e)return{valid:!0,data:t};if(r===ge.object&&a===ge.object){let n=Ve.objectKeys(e),s=Ve.objectKeys(t).filter(o=>n.indexOf(o)!==-1),i={...t,...e};for(let o of s){let c=yf(t[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(r===ge.array&&a===ge.array){if(t.length!==e.length)return{valid:!1};let n=[];for(let s=0;s{if(hu(s)||hu(i))return Pe;let o=yf(s.value,i.value);return o.valid?((vu(s)||vu(i))&&r.dirty(),{status:r.value,value:o.data}):(fe(a,{code:ie.invalid_intersection_types}),Pe)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([s,i])=>n(s,i)):n(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}};Oa.create=(t,e,r)=>new Oa({left:t,right:e,typeName:Oe.ZodIntersection,...De(r)});var on=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.array)return fe(a,{code:ie.invalid_type,expected:ge.array,received:a.parsedType}),Pe;if(a.data.lengththis._def.items.length&&(fe(a,{code:ie.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...a.data].map((i,o)=>{let c=this._def.items[o]||this._def.rest;return c?c._parse(new Er(a,i,a.path,o)):null}).filter(i=>!!i);return a.common.async?Promise.all(s).then(i=>Ft.mergeArray(r,i)):Ft.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};on.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new on({items:t,typeName:Oe.ZodTuple,rest:null,...De(e)})};var yu=class t extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.object)return fe(a,{code:ie.invalid_type,expected:ge.object,received:a.parsedType}),Pe;let n=[],s=this._def.keyType,i=this._def.valueType;for(let o in a.data)n.push({key:s._parse(new Er(a,o,a.path,o)),value:i._parse(new Er(a,a.data[o],a.path,o)),alwaysSet:o in a.data});return a.common.async?Ft.mergeObjectAsync(r,n):Ft.mergeObjectSync(r,n)}get element(){return this._def.valueType}static create(e,r,a){return r instanceof Fe?new t({keyType:e,valueType:r,typeName:Oe.ZodRecord,...De(a)}):new t({keyType:Fn.create(),valueType:e,typeName:Oe.ZodRecord,...De(r)})}},Fs=class extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.map)return fe(a,{code:ie.invalid_type,expected:ge.map,received:a.parsedType}),Pe;let n=this._def.keyType,s=this._def.valueType,i=[...a.data.entries()].map(([o,c],u)=>({key:n._parse(new Er(a,o,a.path,[u,"key"])),value:s._parse(new Er(a,c,a.path,[u,"value"]))}));if(a.common.async){let o=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 Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),o.set(u.value,l.value)}return{status:r.value,value:o}})}else{let o=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),o.set(u.value,l.value)}return{status:r.value,value:o}}}};Fs.create=(t,e,r)=>new Fs({valueType:e,keyType:t,typeName:Oe.ZodMap,...De(r)});var Us=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.set)return fe(a,{code:ie.invalid_type,expected:ge.set,received:a.parsedType}),Pe;let n=this._def;n.minSize!==null&&a.data.sizen.maxSize.value&&(fe(a,{code:ie.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.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 Pe;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let o=[...a.data.values()].map((c,u)=>s._parse(new Er(a,c,a.path,u)));return a.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,r){return new t({...this._def,minSize:{value:e,message:be.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:be.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Us.create=(t,e)=>new Us({valueType:t,minSize:null,maxSize:null,typeName:Oe.ZodSet,...De(e)});var _u=class t extends Fe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.function)return fe(r,{code:ie.invalid_type,expected:ge.function,received:r.parsedType}),Pe;function a(o,c){return vo({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ms(),_n].filter(u=>!!u),issueData:{code:ie.invalid_arguments,argumentsError:c}})}function n(o,c){return vo({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ms(),_n].filter(u=>!!u),issueData:{code:ie.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof zn){let o=this;return Ht(async function(...c){let u=new nr([]),l=await o._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(a(c,m)),u}),d=await Reflect.apply(i,this,l);return await o._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(n(d,m)),u})})}else{let o=this;return Ht(function(...c){let u=o._def.args.safeParse(c,s);if(!u.success)throw new nr([a(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=o._def.returns.safeParse(l,s);if(!d.success)throw new nr([n(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:on.create(e).rest(Sn.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,a){return new t({args:e||on.create([]).rest(Sn.create()),returns:r||Sn.create(),typeName:Oe.ZodFunction,...De(a)})}},Ca=class extends Fe{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})}};Ca.create=(t,e)=>new Ca({getter:t,typeName:Oe.ZodLazy,...De(e)});var Ia=class extends Fe{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return fe(r,{received:r.data,code:ie.invalid_literal,expected:this._def.value}),Pe}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ia.create=(t,e)=>new Ia({value:t,typeName:Oe.ZodLiteral,...De(e)});function YS(t,e){return new Aa({values:t,typeName:Oe.ZodEnum,...De(e)})}var Aa=class t extends Fe{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),a=this._def.values;return fe(r,{expected:Ve.joinValues(a),received:r.parsedType,code:ie.invalid_type}),Pe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),a=this._def.values;return fe(r,{received:r.data,code:ie.invalid_enum_value,options:a}),Pe}return Ht(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(a=>!e.includes(a)),{...this._def,...r})}};Aa.create=YS;var Na=class extends Fe{_parse(e){let r=Ve.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==ge.string&&a.parsedType!==ge.number){let n=Ve.objectValues(r);return fe(a,{expected:Ve.joinValues(n),received:a.parsedType,code:ie.invalid_type}),Pe}if(this._cache||(this._cache=new Set(Ve.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let n=Ve.objectValues(r);return fe(a,{received:a.data,code:ie.invalid_enum_value,options:n}),Pe}return Ht(e.data)}get enum(){return this._def.values}};Na.create=(t,e)=>new Na({values:t,typeName:Oe.ZodNativeEnum,...De(e)});var zn=class extends Fe{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.promise&&r.common.async===!1)return fe(r,{code:ie.invalid_type,expected:ge.promise,received:r.parsedType}),Pe;let a=r.parsedType===ge.promise?r.data:Promise.resolve(r.data);return Ht(a.then(n=>this._def.type.parseAsync(n,{path:r.path,errorMap:r.common.contextualErrorMap})))}};zn.create=(t,e)=>new zn({type:t,typeName:Oe.ZodPromise,...De(e)});var Tr=class extends Fe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:a}=this._processInputParams(e),n=this._def.effect||null,s={addIssue:i=>{fe(a,i),i.fatal?r.abort():r.dirty()},get path(){return a.path}};if(s.addIssue=s.addIssue.bind(s),n.type==="preprocess"){let i=n.transform(a.data,s);if(a.common.async)return Promise.resolve(i).then(async o=>{if(r.value==="aborted")return Pe;let c=await this._def.schema._parseAsync({data:o,path:a.path,parent:a});return c.status==="aborted"?Pe:c.status==="dirty"?xa(c.value):r.value==="dirty"?xa(c.value):c});{if(r.value==="aborted")return Pe;let o=this._def.schema._parseSync({data:i,path:a.path,parent:a});return o.status==="aborted"?Pe:o.status==="dirty"?xa(o.value):r.value==="dirty"?xa(o.value):o}}if(n.type==="refinement"){let i=o=>{let c=n.refinement(o,s);if(a.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(a.common.async===!1){let o=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return o.status==="aborted"?Pe:(o.status==="dirty"&&r.dirty(),i(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(o=>o.status==="aborted"?Pe:(o.status==="dirty"&&r.dirty(),i(o.value).then(()=>({status:r.value,value:o.value}))))}if(n.type==="transform")if(a.common.async===!1){let i=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!qn(i))return Pe;let o=n.transform(i.value,s);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(i=>qn(i)?Promise.resolve(n.transform(i.value,s)).then(o=>({status:r.value,value:o})):Pe);Ve.assertNever(n)}};Tr.create=(t,e,r)=>new Tr({schema:t,typeName:Oe.ZodEffects,effect:e,...De(r)});Tr.createWithPreprocess=(t,e,r)=>new Tr({schema:e,effect:{type:"preprocess",transform:t},typeName:Oe.ZodEffects,...De(r)});var wr=class extends Fe{_parse(e){return this._getType(e)===ge.undefined?Ht(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};wr.create=(t,e)=>new wr({innerType:t,typeName:Oe.ZodOptional,...De(e)});var cn=class extends Fe{_parse(e){return this._getType(e)===ge.null?Ht(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};cn.create=(t,e)=>new cn({innerType:t,typeName:Oe.ZodNullable,...De(e)});var Ma=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=r.data;return r.parsedType===ge.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ma.create=(t,e)=>new Ma({innerType:t,typeName:Oe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...De(e)});var ja=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a={...r,common:{...r.common,issues:[]}},n=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return js(n)?n.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new nr(a.common.issues)},input:a.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new nr(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}};ja.create=(t,e)=>new ja({innerType:t,typeName:Oe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...De(e)});var zs=class extends Fe{_parse(e){if(this._getType(e)!==ge.nan){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.nan,received:a.parsedType}),Pe}return{status:"valid",value:e.data}}};zs.create=t=>new zs({typeName:Oe.ZodNaN,...De(t)});var B2=Symbol("zod_brand"),go=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=r.data;return this._def.type._parse({data:a,path:r.path,parent:r})}unwrap(){return this._def.type}},yo=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return s.status==="aborted"?Pe:s.status==="dirty"?(r.dirty(),xa(s.value)):this._def.out._parseAsync({data:s.value,path:a.path,parent:a})})();{let n=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return n.status==="aborted"?Pe:n.status==="dirty"?(r.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:a.path,parent:a})}}static create(e,r){return new t({in:e,out:r,typeName:Oe.ZodPipeline})}},Da=class extends Fe{_parse(e){let r=this._def.innerType._parse(e),a=n=>(qn(n)&&(n.value=Object.freeze(n.value)),n);return js(r)?r.then(n=>a(n)):a(r)}unwrap(){return this._def.innerType}};Da.create=(t,e)=>new Da({innerType:t,typeName:Oe.ZodReadonly,...De(e)});function WS(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function QS(t,e={},r){return t?Un.create().superRefine((a,n)=>{let s=t(a);if(s instanceof Promise)return s.then(i=>{if(!i){let o=WS(e,a),c=o.fatal??r??!0;n.addIssue({code:"custom",...o,fatal:c})}});if(!s){let i=WS(e,a),o=i.fatal??r??!0;n.addIssue({code:"custom",...i,fatal:o})}}):Un.create()}var V2={object:ar.lazycreate},Oe;(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"})(Oe||(Oe={}));var G2=(t,e={message:`Input not instance of ${t.name}`})=>QS(r=>r instanceof t,e),ex=Fn.create,tx=wa.create,Z2=zs.create,W2=Ea.create,rx=Ta.create,K2=ka.create,X2=Ls.create,J2=Ra.create,Y2=Pa.create,Q2=Un.create,e4=Sn.create,t4=zr.create,r4=qs.create,n4=xn.create,a4=ar.create,s4=ar.strictCreate,i4=$a.create,o4=gu.create,c4=Oa.create,u4=on.create,l4=yu.create,d4=Fs.create,p4=Us.create,f4=_u.create,m4=Ca.create,h4=Ia.create,v4=Aa.create,g4=Na.create,y4=zn.create,_4=Tr.create,b4=wr.create,S4=cn.create,x4=Tr.createWithPreprocess,w4=yo.create,E4=()=>ex().optional(),T4=()=>tx().optional(),k4=()=>rx().optional(),R4={string:(t=>Fn.create({...t,coerce:!0})),number:(t=>wa.create({...t,coerce:!0})),boolean:(t=>Ta.create({...t,coerce:!0})),bigint:(t=>Ea.create({...t,coerce:!0})),date:(t=>ka.create({...t,coerce:!0}))};var P4=Pe;var _f="2025-06-18";var nx=[_f,"2025-03-26","2024-11-05","2024-10-07"],bu="2.0",ax=O.union([O.string(),O.number().int()]),sx=O.string(),$4=O.object({progressToken:O.optional(ax)}).passthrough(),Pr=O.object({_meta:O.optional($4)}).passthrough(),sr=O.object({method:O.string(),params:O.optional(Pr)}),_o=O.object({_meta:O.optional(O.object({}).passthrough())}).passthrough(),un=O.object({method:O.string(),params:O.optional(_o)}),$r=O.object({_meta:O.optional(O.object({}).passthrough())}).passthrough(),Su=O.union([O.string(),O.number().int()]),ix=O.object({jsonrpc:O.literal(bu),id:Su}).merge(sr).strict(),ox=t=>ix.safeParse(t).success,cx=O.object({jsonrpc:O.literal(bu)}).merge(un).strict(),ux=t=>cx.safeParse(t).success,lx=O.object({jsonrpc:O.literal(bu),id:Su,result:$r}).strict(),bf=t=>lx.safeParse(t).success,kr;(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"})(kr||(kr={}));var dx=O.object({jsonrpc:O.literal(bu),id:Su,error:O.object({code:O.number().int(),message:O.string(),data:O.optional(O.unknown())})}).strict(),px=t=>dx.safeParse(t).success,fx=O.union([ix,cx,lx,dx]),La=$r.strict(),xu=un.extend({method:O.literal("notifications/cancelled"),params:_o.extend({requestId:Su,reason:O.string().optional()})}),O4=O.object({src:O.string(),mimeType:O.optional(O.string()),sizes:O.optional(O.array(O.string()))}).passthrough(),bo=O.object({icons:O.array(O4).optional()}).passthrough(),So=O.object({name:O.string(),title:O.optional(O.string())}).passthrough(),mx=So.extend({version:O.string(),websiteUrl:O.optional(O.string())}).merge(bo),C4=O.object({experimental:O.optional(O.object({}).passthrough()),sampling:O.optional(O.object({}).passthrough()),elicitation:O.optional(O.object({}).passthrough()),roots:O.optional(O.object({listChanged:O.optional(O.boolean())}).passthrough())}).passthrough(),I4=sr.extend({method:O.literal("initialize"),params:Pr.extend({protocolVersion:O.string(),capabilities:C4,clientInfo:mx})});var A4=O.object({experimental:O.optional(O.object({}).passthrough()),logging:O.optional(O.object({}).passthrough()),completions:O.optional(O.object({}).passthrough()),prompts:O.optional(O.object({listChanged:O.optional(O.boolean())}).passthrough()),resources:O.optional(O.object({subscribe:O.optional(O.boolean()),listChanged:O.optional(O.boolean())}).passthrough()),tools:O.optional(O.object({listChanged:O.optional(O.boolean())}).passthrough())}).passthrough(),Sf=$r.extend({protocolVersion:O.string(),capabilities:A4,serverInfo:mx,instructions:O.optional(O.string())}),N4=un.extend({method:O.literal("notifications/initialized")});var wu=sr.extend({method:O.literal("ping")}),M4=O.object({progress:O.number(),total:O.optional(O.number()),message:O.optional(O.string())}).passthrough(),Eu=un.extend({method:O.literal("notifications/progress"),params:_o.merge(M4).extend({progressToken:ax})}),Tu=sr.extend({params:Pr.extend({cursor:O.optional(sx)}).optional()}),ku=$r.extend({nextCursor:O.optional(sx)}),hx=O.object({uri:O.string(),mimeType:O.optional(O.string()),_meta:O.optional(O.object({}).passthrough())}).passthrough(),vx=hx.extend({text:O.string()}),xf=O.string().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),gx=hx.extend({blob:xf}),yx=So.extend({uri:O.string(),description:O.optional(O.string()),mimeType:O.optional(O.string()),_meta:O.optional(O.object({}).passthrough())}).merge(bo),j4=So.extend({uriTemplate:O.string(),description:O.optional(O.string()),mimeType:O.optional(O.string()),_meta:O.optional(O.object({}).passthrough())}).merge(bo),D4=Tu.extend({method:O.literal("resources/list")}),wf=ku.extend({resources:O.array(yx)}),L4=Tu.extend({method:O.literal("resources/templates/list")}),Ef=ku.extend({resourceTemplates:O.array(j4)}),q4=sr.extend({method:O.literal("resources/read"),params:Pr.extend({uri:O.string()})}),Tf=$r.extend({contents:O.array(O.union([vx,gx]))}),F4=un.extend({method:O.literal("notifications/resources/list_changed")}),U4=sr.extend({method:O.literal("resources/subscribe"),params:Pr.extend({uri:O.string()})}),z4=sr.extend({method:O.literal("resources/unsubscribe"),params:Pr.extend({uri:O.string()})}),H4=un.extend({method:O.literal("notifications/resources/updated"),params:_o.extend({uri:O.string()})}),B4=O.object({name:O.string(),description:O.optional(O.string()),required:O.optional(O.boolean())}).passthrough(),V4=So.extend({description:O.optional(O.string()),arguments:O.optional(O.array(B4)),_meta:O.optional(O.object({}).passthrough())}).merge(bo),G4=Tu.extend({method:O.literal("prompts/list")}),kf=ku.extend({prompts:O.array(V4)}),Z4=sr.extend({method:O.literal("prompts/get"),params:Pr.extend({name:O.string(),arguments:O.optional(O.record(O.string()))})}),Rf=O.object({type:O.literal("text"),text:O.string(),_meta:O.optional(O.object({}).passthrough())}).passthrough(),Pf=O.object({type:O.literal("image"),data:xf,mimeType:O.string(),_meta:O.optional(O.object({}).passthrough())}).passthrough(),$f=O.object({type:O.literal("audio"),data:xf,mimeType:O.string(),_meta:O.optional(O.object({}).passthrough())}).passthrough(),W4=O.object({type:O.literal("resource"),resource:O.union([vx,gx]),_meta:O.optional(O.object({}).passthrough())}).passthrough(),K4=yx.extend({type:O.literal("resource_link")}),_x=O.union([Rf,Pf,$f,K4,W4]),X4=O.object({role:O.enum(["user","assistant"]),content:_x}).passthrough(),Of=$r.extend({description:O.optional(O.string()),messages:O.array(X4)}),J4=un.extend({method:O.literal("notifications/prompts/list_changed")}),Y4=O.object({title:O.optional(O.string()),readOnlyHint:O.optional(O.boolean()),destructiveHint:O.optional(O.boolean()),idempotentHint:O.optional(O.boolean()),openWorldHint:O.optional(O.boolean())}).passthrough(),Q4=So.extend({description:O.optional(O.string()),inputSchema:O.object({type:O.literal("object"),properties:O.optional(O.object({}).passthrough()),required:O.optional(O.array(O.string()))}).passthrough(),outputSchema:O.optional(O.object({type:O.literal("object"),properties:O.optional(O.object({}).passthrough()),required:O.optional(O.array(O.string()))}).passthrough()),annotations:O.optional(Y4),_meta:O.optional(O.object({}).passthrough())}).merge(bo),e8=Tu.extend({method:O.literal("tools/list")}),Cf=ku.extend({tools:O.array(Q4)}),Ru=$r.extend({content:O.array(_x).default([]),structuredContent:O.object({}).passthrough().optional(),isError:O.optional(O.boolean())}),QW=Ru.or($r.extend({toolResult:O.unknown()})),t8=sr.extend({method:O.literal("tools/call"),params:Pr.extend({name:O.string(),arguments:O.optional(O.record(O.unknown()))})}),r8=un.extend({method:O.literal("notifications/tools/list_changed")}),bx=O.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),n8=sr.extend({method:O.literal("logging/setLevel"),params:Pr.extend({level:bx})}),a8=un.extend({method:O.literal("notifications/message"),params:_o.extend({level:bx,logger:O.optional(O.string()),data:O.unknown()})}),s8=O.object({name:O.string().optional()}).passthrough(),i8=O.object({hints:O.optional(O.array(s8)),costPriority:O.optional(O.number().min(0).max(1)),speedPriority:O.optional(O.number().min(0).max(1)),intelligencePriority:O.optional(O.number().min(0).max(1))}).passthrough(),o8=O.object({role:O.enum(["user","assistant"]),content:O.union([Rf,Pf,$f])}).passthrough(),c8=sr.extend({method:O.literal("sampling/createMessage"),params:Pr.extend({messages:O.array(o8),systemPrompt:O.optional(O.string()),includeContext:O.optional(O.enum(["none","thisServer","allServers"])),temperature:O.optional(O.number()),maxTokens:O.number().int(),stopSequences:O.optional(O.array(O.string())),metadata:O.optional(O.object({}).passthrough()),modelPreferences:O.optional(i8)})}),u8=$r.extend({model:O.string(),stopReason:O.optional(O.enum(["endTurn","stopSequence","maxTokens"]).or(O.string())),role:O.enum(["user","assistant"]),content:O.discriminatedUnion("type",[Rf,Pf,$f])}),l8=O.object({type:O.literal("boolean"),title:O.optional(O.string()),description:O.optional(O.string()),default:O.optional(O.boolean())}).passthrough(),d8=O.object({type:O.literal("string"),title:O.optional(O.string()),description:O.optional(O.string()),minLength:O.optional(O.number()),maxLength:O.optional(O.number()),format:O.optional(O.enum(["email","uri","date","date-time"]))}).passthrough(),p8=O.object({type:O.enum(["number","integer"]),title:O.optional(O.string()),description:O.optional(O.string()),minimum:O.optional(O.number()),maximum:O.optional(O.number())}).passthrough(),f8=O.object({type:O.literal("string"),title:O.optional(O.string()),description:O.optional(O.string()),enum:O.array(O.string()),enumNames:O.optional(O.array(O.string()))}).passthrough(),m8=O.union([l8,d8,p8,f8]),h8=sr.extend({method:O.literal("elicitation/create"),params:Pr.extend({message:O.string(),requestedSchema:O.object({type:O.literal("object"),properties:O.record(O.string(),m8),required:O.optional(O.array(O.string()))}).passthrough()})}),v8=$r.extend({action:O.enum(["accept","decline","cancel"]),content:O.optional(O.record(O.string(),O.unknown()))}),g8=O.object({type:O.literal("ref/resource"),uri:O.string()}).passthrough();var y8=O.object({type:O.literal("ref/prompt"),name:O.string()}).passthrough(),_8=sr.extend({method:O.literal("completion/complete"),params:Pr.extend({ref:O.union([y8,g8]),argument:O.object({name:O.string(),value:O.string()}).passthrough(),context:O.optional(O.object({arguments:O.optional(O.record(O.string(),O.string()))}))})}),If=$r.extend({completion:O.object({values:O.array(O.string()).max(100),total:O.optional(O.number().int()),hasMore:O.optional(O.boolean())}).passthrough()}),b8=O.object({uri:O.string().startsWith("file://"),name:O.optional(O.string()),_meta:O.optional(O.object({}).passthrough())}).passthrough(),S8=sr.extend({method:O.literal("roots/list")}),x8=$r.extend({roots:O.array(b8)}),w8=un.extend({method:O.literal("notifications/roots/list_changed")}),eK=O.union([wu,I4,_8,n8,Z4,G4,D4,L4,q4,U4,z4,t8,e8]),tK=O.union([xu,Eu,N4,w8]),rK=O.union([La,u8,v8,x8]),nK=O.union([wu,c8,h8,S8]),aK=O.union([xu,Eu,a8,H4,F4,r8,J4]),sK=O.union([La,Sf,If,Of,kf,wf,Ef,Tf,Ru,Cf]),Rr=class extends Error{constructor(e,r,a){super(`MCP error ${e}: ${r}`),this.code=e,this.data=a,this.name="McpError"}};var E8=6e4,Pu=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.setNotificationHandler(xu,r=>{let a=this._requestHandlerAbortControllers.get(r.params.requestId);a?.abort(r.params.reason)}),this.setNotificationHandler(Eu,r=>{this._onprogress(r)}),this.setRequestHandler(wu,r=>({}))}_setupTimeout(e,r,a,n,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(n,r),startTime:Date.now(),timeout:r,maxTotalTimeout:a,resetTimeoutOnProgress:s,onTimeout:n})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let a=Date.now()-r.startTime;if(r.maxTotalTimeout&&a>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Rr(kr.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:a});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){var r,a,n;this._transport=e;let s=(r=this.transport)===null||r===void 0?void 0:r.onclose;this._transport.onclose=()=>{s?.(),this._onclose()};let i=(a=this.transport)===null||a===void 0?void 0:a.onerror;this._transport.onerror=c=>{i?.(c),this._onerror(c)};let o=(n=this._transport)===null||n===void 0?void 0:n.onmessage;this._transport.onmessage=(c,u)=>{o?.(c,u),bf(c)||px(c)?this._onresponse(c):ox(c)?this._onrequest(c,u):ux(c)?this._onnotification(c):this._onerror(new Error(`Unknown message type: ${JSON.stringify(c)}`))},await this._transport.start()}_onclose(){var e;let r=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear(),this._transport=void 0,(e=this.onclose)===null||e===void 0||e.call(this);let a=new Rr(kr.ConnectionClosed,"Connection closed");for(let n of r.values())n(a)}_onerror(e){var r;(r=this.onerror)===null||r===void 0||r.call(this,e)}_onnotification(e){var r;let a=(r=this._notificationHandlers.get(e.method))!==null&&r!==void 0?r:this.fallbackNotificationHandler;a!==void 0&&Promise.resolve().then(()=>a(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){var a,n;let s=(a=this._requestHandlers.get(e.method))!==null&&a!==void 0?a:this.fallbackRequestHandler,i=this._transport;if(s===void 0){i?.send({jsonrpc:"2.0",id:e.id,error:{code:kr.MethodNotFound,message:"Method not found"}}).catch(u=>this._onerror(new Error(`Failed to send an error response: ${u}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let c={signal:o.signal,sessionId:i?.sessionId,_meta:(n=e.params)===null||n===void 0?void 0:n._meta,sendNotification:u=>this.notification(u,{relatedRequestId:e.id}),sendRequest:(u,l,d)=>this.request(u,l,{...d,relatedRequestId:e.id}),authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo};Promise.resolve().then(()=>s(e,c)).then(u=>{if(!o.signal.aborted)return i?.send({result:u,jsonrpc:"2.0",id:e.id})},u=>{var l;if(!o.signal.aborted)return i?.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(u.code)?u.code:kr.InternalError,message:(l=u.message)!==null&&l!==void 0?l:"Internal error"}})}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...a}=e.params,n=Number(r),s=this._progressHandlers.get(n);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(n),o=this._timeoutInfo.get(n);if(o&&i&&o.resetTimeoutOnProgress)try{this._resetTimeout(n)}catch(c){i(c);return}s(a)}_onresponse(e){let r=Number(e.id),a=this._responseHandlers.get(r);if(a===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}if(this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),bf(e))a(e);else{let n=new Rr(e.error.code,e.error.message,e.error.data);a(n)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)===null||e===void 0?void 0:e.close())}request(e,r,a){let{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}=a??{};return new Promise((o,c)=>{var u,l,d,p,m,g;if(!this._transport){c(new Error("Not connected"));return}((u=this._options)===null||u===void 0?void 0:u.enforceStrictCapabilities)===!0&&this.assertCapabilityForMethod(e.method),(l=a?.signal)===null||l===void 0||l.throwIfAborted();let _=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:_};a?.onprogress&&(this._progressHandlers.set(_,a.onprogress),f.params={...e.params,_meta:{...((d=e.params)===null||d===void 0?void 0:d._meta)||{},progressToken:_}});let h=b=>{var w;this._responseHandlers.delete(_),this._progressHandlers.delete(_),this._cleanupTimeout(_),(w=this._transport)===null||w===void 0||w.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:_,reason:String(b)}},{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}).catch(S=>this._onerror(new Error(`Failed to send cancellation: ${S}`))),c(b)};this._responseHandlers.set(_,b=>{var w;if(!(!((w=a?.signal)===null||w===void 0)&&w.aborted)){if(b instanceof Error)return c(b);try{let S=r.parse(b.result);o(S)}catch(S){c(S)}}}),(p=a?.signal)===null||p===void 0||p.addEventListener("abort",()=>{var b;h((b=a?.signal)===null||b===void 0?void 0:b.reason)});let y=(m=a?.timeout)!==null&&m!==void 0?m:E8,v=()=>h(new Rr(kr.RequestTimeout,"Request timed out",{timeout:y}));this._setupTimeout(_,y,a?.maxTotalTimeout,v,(g=a?.resetTimeoutOnProgress)!==null&&g!==void 0?g:!1),this._transport.send(f,{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}).catch(b=>{this._cleanupTimeout(_),c(b)})})}async notification(e,r){var a,n;if(!this._transport)throw new Error("Not connected");if(this.assertNotificationCapability(e.method),((n=(a=this._options)===null||a===void 0?void 0:a.debouncedNotificationMethods)!==null&&n!==void 0?n:[]).includes(e.method)&&!e.params&&!r?.relatedRequestId){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var c;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};(c=this._transport)===null||c===void 0||c.send(u,r).catch(l=>this._onerror(l))});return}let o={...e,jsonrpc:"2.0"};await this._transport.send(o,r)}setRequestHandler(e,r){let a=e.shape.method.value;this.assertRequestHandlerCapability(a),this._requestHandlers.set(a,(n,s)=>Promise.resolve(r(e.parse(n),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){this._notificationHandlers.set(e.shape.method.value,a=>Promise.resolve(r(e.parse(a))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function Sx(t,e){return Object.entries(e).reduce((r,[a,n])=>(n&&typeof n=="object"?r[a]=r[a]?{...r[a],...n}:n:r[a]=n,r),{...t})}var wE=xt(xE(),1),Hs=class extends Pu{constructor(e,r){var a;super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._capabilities=(a=r?.capabilities)!==null&&a!==void 0?a:{},this._ajv=new wE.default}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Sx(this._capabilities,e)}assertCapability(e,r){var a;if(!(!((a=this._serverCapabilities)===null||a===void 0)&&a[e]))throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let a=await this.request({method:"initialize",params:{protocolVersion:_f,capabilities:this._capabilities,clientInfo:this._clientInfo}},Sf,r);if(a===void 0)throw new Error(`Server sent invalid initialize result: ${a}`);if(!nx.includes(a.protocolVersion))throw new Error(`Server's protocol version is not supported: ${a.protocolVersion}`);this._serverCapabilities=a.capabilities,this._serverVersion=a.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(a.protocolVersion),this._instructions=a.instructions,await this.notification({method:"notifications/initialized"})}catch(a){throw this.close(),a}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var r,a,n,s,i;switch(e){case"logging/setLevel":if(!(!((r=this._serverCapabilities)===null||r===void 0)&&r.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!(!((a=this._serverCapabilities)===null||a===void 0)&&a.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!(!((n=this._serverCapabilities)===null||n===void 0)&&n.resources))throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!(!((s=this._serverCapabilities)===null||s===void 0)&&s.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!(!((i=this._serverCapabilities)===null||i===void 0)&&i.completions))throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){var r;switch(e){case"notifications/roots/list_changed":if(!(!((r=this._capabilities.roots)===null||r===void 0)&&r.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"ping":break}}async ping(e){return this.request({method:"ping"},La,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},If,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},La,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},Of,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},kf,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},wf,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},Ef,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},Tf,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},La,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},La,r)}async callTool(e,r=Ru,a){let n=await this.request({method:"tools/call",params:e},r,a),s=this.getToolOutputValidator(e.name);if(s){if(!n.structuredContent&&!n.isError)throw new Rr(kr.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(n.structuredContent)try{if(!s(n.structuredContent))throw new Rr(kr.InvalidParams,`Structured content does not match the tool's output schema: ${this._ajv.errorsText(s.errors)}`)}catch(i){throw i instanceof Rr?i:new Rr(kr.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return n}cacheToolOutputSchemas(e){this._cachedToolOutputValidators.clear();for(let r of e)if(r.outputSchema)try{let a=this._ajv.compile(r.outputSchema);this._cachedToolOutputValidators.set(r.name,a)}catch{}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let a=await this.request({method:"tools/list",params:e},Cf,r);return this.cacheToolOutputSchemas(a.tools),a}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var f1=xt(d1(),1),wo=xt(require("node:process"),1),m1=require("node:stream");var Wu=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` -`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),$9(r)}clear(){this._buffer=void 0}};function $9(t){return fx.parse(JSON.parse(t))}function p1(t){return JSON.stringify(t)+` -`}var O9=wo.default.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function C9(){let t={};for(let e of O9){let r=wo.default.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var Gs=class{constructor(e){this._abortController=new AbortController,this._readBuffer=new Wu,this._stderrStream=null,this._serverParams=e,(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new m1.PassThrough)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{var a,n,s,i,o;this._process=(0,f1.default)(this._serverParams.command,(a=this._serverParams.args)!==null&&a!==void 0?a:[],{env:{...C9(),...this._serverParams.env},stdio:["pipe","pipe",(n=this._serverParams.stderr)!==null&&n!==void 0?n:"inherit"],shell:!1,signal:this._abortController.signal,windowsHide:wo.default.platform==="win32"&&I9(),cwd:this._serverParams.cwd}),this._process.on("error",c=>{var u,l;if(c.name==="AbortError"){(u=this.onclose)===null||u===void 0||u.call(this);return}r(c),(l=this.onerror)===null||l===void 0||l.call(this,c)}),this._process.on("spawn",()=>{e()}),this._process.on("close",c=>{var u;this._process=void 0,(u=this.onclose)===null||u===void 0||u.call(this)}),(s=this._process.stdin)===null||s===void 0||s.on("error",c=>{var u;(u=this.onerror)===null||u===void 0||u.call(this,c)}),(i=this._process.stdout)===null||i===void 0||i.on("data",c=>{this._readBuffer.append(c),this.processReadBuffer()}),(o=this._process.stdout)===null||o===void 0||o.on("error",c=>{var u;(u=this.onerror)===null||u===void 0||u.call(this,c)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){var e,r;return this._stderrStream?this._stderrStream:(r=(e=this._process)===null||e===void 0?void 0:e.stderr)!==null&&r!==void 0?r:null}get pid(){var e,r;return(r=(e=this._process)===null||e===void 0?void 0:e.pid)!==null&&r!==void 0?r:null}processReadBuffer(){for(var e,r;;)try{let a=this._readBuffer.readMessage();if(a===null)break;(e=this.onmessage)===null||e===void 0||e.call(this,a)}catch(a){(r=this.onerror)===null||r===void 0||r.call(this,a)}}async close(){this._abortController.abort(),this._process=void 0,this._readBuffer.clear()}send(e){return new Promise(r=>{var a;if(!(!((a=this._process)===null||a===void 0)&&a.stdin))throw new Error("Not connected");let n=p1(e);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};function I9(){return"type"in wo.default}var Xu=xt(require("path"),1),x1=require("os");ot();var mm={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function S1(t){return process.platform==="win32"?Math.round(t*mm.WINDOWS_MULTIPLIER):t}Or();var AX=Xu.default.join((0,x1.homedir)(),".claude","plugins","marketplaces","thedotmack"),NX=S1(mm.HEALTH_CHECK),Eo=null,To=null;function Xt(){if(Eo!==null)return Eo;let t=Xu.default.join(Ze.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=Ze.loadFromFile(t);return Eo=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),Eo}function w1(){if(To!==null)return To;let t=Xu.default.join(Ze.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return To=Ze.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,To}function E1(){Eo=null,To=null}ot();var ra=require("child_process"),Wr=require("os"),Ae=require("fs"),GR=xt(require("readline"),1),ZR=require("util");var Cr=require("fs"),ko=require("path");function T1(t){try{return(0,Cr.existsSync)(t)?JSON.parse((0,Cr.readFileSync)(t,"utf-8")):{}}catch{return{}}}function k1(t,e){let r=(0,ko.join)(t,"..");(0,Cr.mkdirSync)(r,{recursive:!0}),(0,Cr.writeFileSync)(t,JSON.stringify(e,null,2))}function R1(t,e){let r=(0,ko.join)(t,".cursor","rules"),a=(0,ko.join)(r,"claude-mem-context.mdc"),n=`${a}.tmp`;(0,Cr.mkdirSync)(r,{recursive:!0});let s=`--- +`).trimEnd()}var id,od,Ri,SV,FR,wV,pe,Sh=Jr(()=>{"use strict";id=xt(require("path"),1),od=require("os"),Ri=require("fs");Ju();ot();Or();hh();qR();ln();SV=id.default.join((0,od.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");FR=4,wV=1,pe={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"}});var BV={};ia(BV,{WorkerService:()=>dd,updateCursorContextForProject:()=>Za});module.exports=Vh(BV);var VR=xt(mu(),1),xe=xt(require("path"),1),Ph=xt(require("fs"),1);var $={};ia($,{BRAND:()=>B2,DIRTY:()=>xa,EMPTY_PATH:()=>x2,INVALID:()=>Pe,NEVER:()=>P4,OK:()=>Ht,ParseStatus:()=>Ft,Schema:()=>Fe,ZodAny:()=>Un,ZodArray:()=>xn,ZodBigInt:()=>Ea,ZodBoolean:()=>Ta,ZodBranded:()=>go,ZodCatch:()=>ja,ZodDate:()=>ka,ZodDefault:()=>Ma,ZodDiscriminatedUnion:()=>gu,ZodEffects:()=>Tr,ZodEnum:()=>Aa,ZodError:()=>nr,ZodFirstPartyTypeKind:()=>Oe,ZodFunction:()=>_u,ZodIntersection:()=>Oa,ZodIssueCode:()=>ie,ZodLazy:()=>Ca,ZodLiteral:()=>Ia,ZodMap:()=>Fs,ZodNaN:()=>zs,ZodNativeEnum:()=>Na,ZodNever:()=>zr,ZodNull:()=>Pa,ZodNullable:()=>cn,ZodNumber:()=>wa,ZodObject:()=>ar,ZodOptional:()=>wr,ZodParsedType:()=>ge,ZodPipeline:()=>yo,ZodPromise:()=>zn,ZodReadonly:()=>Da,ZodRecord:()=>yu,ZodSchema:()=>Fe,ZodSet:()=>Us,ZodString:()=>Fn,ZodSymbol:()=>Ls,ZodTransformer:()=>Tr,ZodTuple:()=>on,ZodType:()=>Fe,ZodUndefined:()=>Ra,ZodUnion:()=>$a,ZodUnknown:()=>Sn,ZodVoid:()=>qs,addIssueToContext:()=>fe,any:()=>Q2,array:()=>n4,bigint:()=>W2,boolean:()=>rx,coerce:()=>R4,custom:()=>QS,date:()=>K2,datetimeRegex:()=>JS,defaultErrorMap:()=>_n,discriminatedUnion:()=>o4,effect:()=>_4,enum:()=>v4,function:()=>f4,getErrorMap:()=>Ms,getParsedType:()=>sn,instanceof:()=>G2,intersection:()=>c4,isAborted:()=>hu,isAsync:()=>js,isDirty:()=>vu,isValid:()=>qn,late:()=>V2,lazy:()=>m4,literal:()=>h4,makeIssue:()=>vo,map:()=>d4,nan:()=>Z2,nativeEnum:()=>g4,never:()=>t4,null:()=>Y2,nullable:()=>S4,number:()=>tx,object:()=>a4,objectUtil:()=>vf,oboolean:()=>k4,onumber:()=>T4,optional:()=>b4,ostring:()=>E4,pipeline:()=>w4,preprocess:()=>x4,promise:()=>y4,quotelessJson:()=>_2,record:()=>l4,set:()=>p4,setErrorMap:()=>S2,strictObject:()=>s4,string:()=>ex,symbol:()=>X2,transformer:()=>_4,tuple:()=>u4,undefined:()=>J2,union:()=>i4,unknown:()=>e4,util:()=>Ve,void:()=>r4});var Ve;(function(t){t.assertEqual=n=>{};function e(n){}t.assertIs=e;function r(n){throw new Error}t.assertNever=r,t.arrayToEnum=n=>{let s={};for(let i of n)s[i]=i;return s},t.getValidEnumValues=n=>{let s=t.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(let o of s)i[o]=n[o];return t.objectValues(i)},t.objectValues=n=>t.objectKeys(n).map(function(s){return n[s]}),t.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let s=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&s.push(i);return s},t.find=(n,s)=>{for(let i of n)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function a(n,s=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=a,t.jsonStringifyReplacer=(n,s)=>typeof s=="bigint"?s.toString():s})(Ve||(Ve={}));var vf;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(vf||(vf={}));var ge=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),sn=t=>{switch(typeof t){case"undefined":return ge.undefined;case"string":return ge.string;case"number":return Number.isNaN(t)?ge.nan:ge.number;case"boolean":return ge.boolean;case"function":return ge.function;case"bigint":return ge.bigint;case"symbol":return ge.symbol;case"object":return Array.isArray(t)?ge.array:t===null?ge.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?ge.promise:typeof Map<"u"&&t instanceof Map?ge.map:typeof Set<"u"&&t instanceof Set?ge.set:typeof Date<"u"&&t instanceof Date?ge.date:ge.object;default:return ge.unknown}};var ie=Ve.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"]),_2=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),nr=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};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},a={_errors:[]},n=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)a._errors.push(r(i));else{let o=a,c=0;for(;cr.message){let r={},a=[];for(let n of this.issues)if(n.path.length>0){let s=n.path[0];r[s]=r[s]||[],r[s].push(e(n))}else a.push(e(n));return{formErrors:a,fieldErrors:r}}get formErrors(){return this.flatten()}};nr.create=t=>new nr(t);var b2=(t,e)=>{let r;switch(t.code){case ie.invalid_type:t.received===ge.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case ie.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Ve.jsonStringifyReplacer)}`;break;case ie.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ve.joinValues(t.keys,", ")}`;break;case ie.invalid_union:r="Invalid input";break;case ie.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ve.joinValues(t.options)}`;break;case ie.invalid_enum_value:r=`Invalid enum value. Expected ${Ve.joinValues(t.options)}, received '${t.received}'`;break;case ie.invalid_arguments:r="Invalid function arguments";break;case ie.invalid_return_type:r="Invalid function return type";break;case ie.invalid_date:r="Invalid date";break;case ie.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}"`:Ve.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case ie.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 ie.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 ie.custom:r="Invalid input";break;case ie.invalid_intersection_types:r="Intersection results could not be merged";break;case ie.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case ie.not_finite:r="Number must be finite";break;default:r=e.defaultError,Ve.assertNever(t)}return{message:r}},_n=b2;var GS=_n;function S2(t){GS=t}function Ms(){return GS}var vo=t=>{let{data:e,path:r,errorMaps:a,issueData:n}=t,s=[...r,...n.path||[]],i={...n,path:s};if(n.message!==void 0)return{...n,path:s,message:n.message};let o="",c=a.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:e,defaultError:o}).message;return{...n,path:s,message:o}},x2=[];function fe(t,e){let r=Ms(),a=vo({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===_n?void 0:_n].filter(n=>!!n)});t.common.issues.push(a)}var Ft=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 a=[];for(let n of r){if(n.status==="aborted")return Pe;n.status==="dirty"&&e.dirty(),a.push(n.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,r){let a=[];for(let n of r){let s=await n.key,i=await n.value;a.push({key:s,value:i})}return t.mergeObjectSync(e,a)}static mergeObjectSync(e,r){let a={};for(let n of r){let{key:s,value:i}=n;if(s.status==="aborted"||i.status==="aborted")return Pe;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(a[s.value]=i.value)}return{status:e.value,value:a}}},Pe=Object.freeze({status:"aborted"}),xa=t=>({status:"dirty",value:t}),Ht=t=>({status:"valid",value:t}),hu=t=>t.status==="aborted",vu=t=>t.status==="dirty",qn=t=>t.status==="valid",js=t=>typeof Promise<"u"&&t instanceof Promise;var be;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(be||(be={}));var Er=class{constructor(e,r,a,n){this._cachedPath=[],this.parent=e,this.data=r,this._path=a,this._key=n}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}},ZS=(t,e)=>{if(qn(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 nr(t.common.issues);return this._error=r,this._error}}};function De(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:a,description:n}=t;if(e&&(r||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,o)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??o.defaultError}:typeof o.data>"u"?{message:c??a??o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:c??r??o.defaultError}},description:n}}var Fe=class{get description(){return this._def.description}_getType(e){return sn(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:sn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ft,ctx:{common:e.parent.common,data:e.data,parsedType:sn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(js(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 a=this.safeParse(e,r);if(a.success)return a.data;throw a.error}safeParse(e,r){let a={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)},n=this._parseSync({data:e,path:a.path,parent:a});return ZS(a,n)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:r});return qn(a)?{value:a.value}:{issues:r.common.issues}}catch(a){a?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(a=>qn(a)?{value:a.value}:{issues:r.common.issues})}async parseAsync(e,r){let a=await this.safeParseAsync(e,r);if(a.success)return a.data;throw a.error}async safeParseAsync(e,r){let a={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sn(e)},n=this._parse({data:e,path:a.path,parent:a}),s=await(js(n)?n:Promise.resolve(n));return ZS(a,s)}refine(e,r){let a=n=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(n):r;return this._refinement((n,s)=>{let i=e(n),o=()=>s.addIssue({code:ie.custom,...a(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,r){return this._refinement((a,n)=>e(a)?!0:(n.addIssue(typeof r=="function"?r(a,n):r),!1))}_refinement(e){return new Tr({schema:this,typeName:Oe.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 wr.create(this,this._def)}nullable(){return cn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xn.create(this)}promise(){return zn.create(this,this._def)}or(e){return $a.create([this,e],this._def)}and(e){return Oa.create(this,e,this._def)}transform(e){return new Tr({...De(this._def),schema:this,typeName:Oe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Ma({...De(this._def),innerType:this,defaultValue:r,typeName:Oe.ZodDefault})}brand(){return new go({typeName:Oe.ZodBranded,type:this,...De(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new ja({...De(this._def),innerType:this,catchValue:r,typeName:Oe.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return yo.create(this,e)}readonly(){return Da.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},w2=/^c[^\s-]{8,}$/i,E2=/^[0-9a-z]+$/,T2=/^[0-9A-HJKMNP-TV-Z]{26}$/i,k2=/^[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,R2=/^[a-z0-9_-]{21}$/i,P2=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,$2=/^[-+]?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)?)??$/,O2=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,C2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",gf,I2=/^(?:(?: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])$/,A2=/^(?:(?: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])$/,N2=/^(([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]))$/,M2=/^(([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])$/,j2=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,D2=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,KS="((\\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])))",L2=new RegExp(`^${KS}$`);function XS(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 q2(t){return new RegExp(`^${XS(t)}$`)}function JS(t){let e=`${KS}T${XS(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 F2(t,e){return!!((e==="v4"||!e)&&I2.test(t)||(e==="v6"||!e)&&N2.test(t))}function U2(t,e){if(!P2.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let a=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),n=JSON.parse(atob(a));return!(typeof n!="object"||n===null||"typ"in n&&n?.typ!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function z2(t,e){return!!((e==="v4"||!e)&&A2.test(t)||(e==="v6"||!e)&&M2.test(t))}var Fn=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==ge.string){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.string,received:s.parsedType}),Pe}let a=new Ft,n;for(let s of this._def.checks)if(s.kind==="min")e.data.lengths.value&&(n=this._getOrReturnCtx(e,n),fe(n,{code:ie.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),a.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,o=e.data.lengthe.test(n),{validation:r,code:ie.invalid_string,...be.errToObj(a)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...be.errToObj(e)})}url(e){return this._addCheck({kind:"url",...be.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...be.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...be.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...be.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...be.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...be.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...be.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...be.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...be.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...be.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...be.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...be.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,...be.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,...be.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...be.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...be.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...be.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...be.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...be.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...be.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...be.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...be.errToObj(r)})}nonempty(e){return this.min(1,be.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Fn({checks:[],typeName:Oe.ZodString,coerce:t?.coerce??!1,...De(t)});function H2(t,e){let r=(t.toString().split(".")[1]||"").length,a=(e.toString().split(".")[1]||"").length,n=r>a?r:a,s=Number.parseInt(t.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return s%i/10**n}var wa=class t extends Fe{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)!==ge.number){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.number,received:s.parsedType}),Pe}let a,n=new Ft;for(let s of this._def.checks)s.kind==="int"?Ve.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.invalid_type,expected:"integer",received:"float",message:s.message}),n.dirty()):s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),n.dirty()):s.kind==="multipleOf"?H2(e.data,s.value)!==0&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_multiple_of,multipleOf:s.value,message:s.message}),n.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_finite,message:s.message}),n.dirty()):Ve.assertNever(s);return{status:n.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,be.toString(r))}gt(e,r){return this.setLimit("min",e,!1,be.toString(r))}lte(e,r){return this.setLimit("max",e,!0,be.toString(r))}lt(e,r){return this.setLimit("max",e,!1,be.toString(r))}setLimit(e,r,a,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:a,message:be.toString(n)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:be.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:be.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:be.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:be.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:be.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:be.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:be.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:be.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:be.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Ve.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let a of this._def.checks){if(a.kind==="finite"||a.kind==="int"||a.kind==="multipleOf")return!0;a.kind==="min"?(r===null||a.value>r)&&(r=a.value):a.kind==="max"&&(e===null||a.valuenew wa({checks:[],typeName:Oe.ZodNumber,coerce:t?.coerce||!1,...De(t)});var Ea=class t extends Fe{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)!==ge.bigint)return this._getInvalidInput(e);let a,n=new Ft;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.datas.value:e.data>=s.value)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),n.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),fe(a,{code:ie.not_multiple_of,multipleOf:s.value,message:s.message}),n.dirty()):Ve.assertNever(s);return{status:n.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return fe(r,{code:ie.invalid_type,expected:ge.bigint,received:r.parsedType}),Pe}gte(e,r){return this.setLimit("min",e,!0,be.toString(r))}gt(e,r){return this.setLimit("min",e,!1,be.toString(r))}lte(e,r){return this.setLimit("max",e,!0,be.toString(r))}lt(e,r){return this.setLimit("max",e,!1,be.toString(r))}setLimit(e,r,a,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:a,message:be.toString(n)}]})}_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:be.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:be.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:be.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:be.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:be.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Ea({checks:[],typeName:Oe.ZodBigInt,coerce:t?.coerce??!1,...De(t)});var Ta=class extends Fe{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==ge.boolean){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.boolean,received:a.parsedType}),Pe}return Ht(e.data)}};Ta.create=t=>new Ta({typeName:Oe.ZodBoolean,coerce:t?.coerce||!1,...De(t)});var ka=class t extends Fe{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==ge.date){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_type,expected:ge.date,received:s.parsedType}),Pe}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return fe(s,{code:ie.invalid_date}),Pe}let a=new Ft,n;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()s.value&&(n=this._getOrReturnCtx(e,n),fe(n,{code:ie.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),a.dirty()):Ve.assertNever(s);return{status:a.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:be.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:be.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew ka({checks:[],coerce:t?.coerce||!1,typeName:Oe.ZodDate,...De(t)});var Ls=class extends Fe{_parse(e){if(this._getType(e)!==ge.symbol){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.symbol,received:a.parsedType}),Pe}return Ht(e.data)}};Ls.create=t=>new Ls({typeName:Oe.ZodSymbol,...De(t)});var Ra=class extends Fe{_parse(e){if(this._getType(e)!==ge.undefined){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.undefined,received:a.parsedType}),Pe}return Ht(e.data)}};Ra.create=t=>new Ra({typeName:Oe.ZodUndefined,...De(t)});var Pa=class extends Fe{_parse(e){if(this._getType(e)!==ge.null){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.null,received:a.parsedType}),Pe}return Ht(e.data)}};Pa.create=t=>new Pa({typeName:Oe.ZodNull,...De(t)});var Un=class extends Fe{constructor(){super(...arguments),this._any=!0}_parse(e){return Ht(e.data)}};Un.create=t=>new Un({typeName:Oe.ZodAny,...De(t)});var Sn=class extends Fe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ht(e.data)}};Sn.create=t=>new Sn({typeName:Oe.ZodUnknown,...De(t)});var zr=class extends Fe{_parse(e){let r=this._getOrReturnCtx(e);return fe(r,{code:ie.invalid_type,expected:ge.never,received:r.parsedType}),Pe}};zr.create=t=>new zr({typeName:Oe.ZodNever,...De(t)});var qs=class extends Fe{_parse(e){if(this._getType(e)!==ge.undefined){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.void,received:a.parsedType}),Pe}return Ht(e.data)}};qs.create=t=>new qs({typeName:Oe.ZodVoid,...De(t)});var xn=class t extends Fe{_parse(e){let{ctx:r,status:a}=this._processInputParams(e),n=this._def;if(r.parsedType!==ge.array)return fe(r,{code:ie.invalid_type,expected:ge.array,received:r.parsedType}),Pe;if(n.exactLength!==null){let i=r.data.length>n.exactLength.value,o=r.data.lengthn.maxLength.value&&(fe(r,{code:ie.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),a.dirty()),r.common.async)return Promise.all([...r.data].map((i,o)=>n.type._parseAsync(new Er(r,i,r.path,o)))).then(i=>Ft.mergeArray(a,i));let s=[...r.data].map((i,o)=>n.type._parseSync(new Er(r,i,r.path,o)));return Ft.mergeArray(a,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:be.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:be.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:be.toString(r)}})}nonempty(e){return this.min(1,e)}};xn.create=(t,e)=>new xn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Oe.ZodArray,...De(e)});function Ds(t){if(t instanceof ar){let e={};for(let r in t.shape){let a=t.shape[r];e[r]=wr.create(Ds(a))}return new ar({...t._def,shape:()=>e})}else return t instanceof xn?new xn({...t._def,type:Ds(t.element)}):t instanceof wr?wr.create(Ds(t.unwrap())):t instanceof cn?cn.create(Ds(t.unwrap())):t instanceof on?on.create(t.items.map(e=>Ds(e))):t}var ar=class t extends Fe{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=Ve.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==ge.object){let u=this._getOrReturnCtx(e);return fe(u,{code:ie.invalid_type,expected:ge.object,received:u.parsedType}),Pe}let{status:a,ctx:n}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof zr&&this._def.unknownKeys==="strip"))for(let u in n.data)i.includes(u)||o.push(u);let c=[];for(let u of i){let l=s[u],d=n.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Er(n,d,n.path,u)),alwaysSet:u in n.data})}if(this._def.catchall instanceof zr){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of o)c.push({key:{status:"valid",value:l},value:{status:"valid",value:n.data[l]}});else if(u==="strict")o.length>0&&(fe(n,{code:ie.unrecognized_keys,keys:o}),a.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of o){let d=n.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Er(n,d,n.path,l)),alwaysSet:l in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Ft.mergeObjectSync(a,u)):Ft.mergeObjectSync(a,c)}get shape(){return this._def.shape()}strict(e){return be.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,a)=>{let n=this._def.errorMap?.(r,a).message??a.defaultError;return r.code==="unrecognized_keys"?{message:be.errToObj(e).message??n}:{message:n}}}:{}})}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:Oe.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let a of Ve.objectKeys(e))e[a]&&this.shape[a]&&(r[a]=this.shape[a]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let a of Ve.objectKeys(this.shape))e[a]||(r[a]=this.shape[a]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ds(this)}partial(e){let r={};for(let a of Ve.objectKeys(this.shape)){let n=this.shape[a];e&&!e[a]?r[a]=n:r[a]=n.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let a of Ve.objectKeys(this.shape))if(e&&!e[a])r[a]=this.shape[a];else{let s=this.shape[a];for(;s instanceof wr;)s=s._def.innerType;r[a]=s}return new t({...this._def,shape:()=>r})}keyof(){return YS(Ve.objectKeys(this.shape))}};ar.create=(t,e)=>new ar({shape:()=>t,unknownKeys:"strip",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});ar.strictCreate=(t,e)=>new ar({shape:()=>t,unknownKeys:"strict",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});ar.lazycreate=(t,e)=>new ar({shape:t,unknownKeys:"strip",catchall:zr.create(),typeName:Oe.ZodObject,...De(e)});var $a=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=this._def.options;function n(s){for(let o of s)if(o.result.status==="valid")return o.result;for(let o of s)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;let i=s.map(o=>new nr(o.ctx.common.issues));return fe(r,{code:ie.invalid_union,unionErrors:i}),Pe}if(r.common.async)return Promise.all(a.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(n);{let s,i=[];for(let c of a){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 o=i.map(c=>new nr(c));return fe(r,{code:ie.invalid_union,unionErrors:o}),Pe}}get options(){return this._def.options}};$a.create=(t,e)=>new $a({options:t,typeName:Oe.ZodUnion,...De(e)});var bn=t=>t instanceof Ca?bn(t.schema):t instanceof Tr?bn(t.innerType()):t instanceof Ia?[t.value]:t instanceof Aa?t.options:t instanceof Na?Ve.objectValues(t.enum):t instanceof Ma?bn(t._def.innerType):t instanceof Ra?[void 0]:t instanceof Pa?[null]:t instanceof wr?[void 0,...bn(t.unwrap())]:t instanceof cn?[null,...bn(t.unwrap())]:t instanceof go||t instanceof Da?bn(t.unwrap()):t instanceof ja?bn(t._def.innerType):[],gu=class t extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.object)return fe(r,{code:ie.invalid_type,expected:ge.object,received:r.parsedType}),Pe;let a=this.discriminator,n=r.data[a],s=this.optionsMap.get(n);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}):(fe(r,{code:ie.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),Pe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,a){let n=new Map;for(let s of r){let i=bn(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 o of i){if(n.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);n.set(o,s)}}return new t({typeName:Oe.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:n,...De(a)})}};function yf(t,e){let r=sn(t),a=sn(e);if(t===e)return{valid:!0,data:t};if(r===ge.object&&a===ge.object){let n=Ve.objectKeys(e),s=Ve.objectKeys(t).filter(o=>n.indexOf(o)!==-1),i={...t,...e};for(let o of s){let c=yf(t[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(r===ge.array&&a===ge.array){if(t.length!==e.length)return{valid:!1};let n=[];for(let s=0;s{if(hu(s)||hu(i))return Pe;let o=yf(s.value,i.value);return o.valid?((vu(s)||vu(i))&&r.dirty(),{status:r.value,value:o.data}):(fe(a,{code:ie.invalid_intersection_types}),Pe)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([s,i])=>n(s,i)):n(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}};Oa.create=(t,e,r)=>new Oa({left:t,right:e,typeName:Oe.ZodIntersection,...De(r)});var on=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.array)return fe(a,{code:ie.invalid_type,expected:ge.array,received:a.parsedType}),Pe;if(a.data.lengththis._def.items.length&&(fe(a,{code:ie.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...a.data].map((i,o)=>{let c=this._def.items[o]||this._def.rest;return c?c._parse(new Er(a,i,a.path,o)):null}).filter(i=>!!i);return a.common.async?Promise.all(s).then(i=>Ft.mergeArray(r,i)):Ft.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};on.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new on({items:t,typeName:Oe.ZodTuple,rest:null,...De(e)})};var yu=class t extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.object)return fe(a,{code:ie.invalid_type,expected:ge.object,received:a.parsedType}),Pe;let n=[],s=this._def.keyType,i=this._def.valueType;for(let o in a.data)n.push({key:s._parse(new Er(a,o,a.path,o)),value:i._parse(new Er(a,a.data[o],a.path,o)),alwaysSet:o in a.data});return a.common.async?Ft.mergeObjectAsync(r,n):Ft.mergeObjectSync(r,n)}get element(){return this._def.valueType}static create(e,r,a){return r instanceof Fe?new t({keyType:e,valueType:r,typeName:Oe.ZodRecord,...De(a)}):new t({keyType:Fn.create(),valueType:e,typeName:Oe.ZodRecord,...De(r)})}},Fs=class extends Fe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.map)return fe(a,{code:ie.invalid_type,expected:ge.map,received:a.parsedType}),Pe;let n=this._def.keyType,s=this._def.valueType,i=[...a.data.entries()].map(([o,c],u)=>({key:n._parse(new Er(a,o,a.path,[u,"key"])),value:s._parse(new Er(a,c,a.path,[u,"value"]))}));if(a.common.async){let o=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 Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),o.set(u.value,l.value)}return{status:r.value,value:o}})}else{let o=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return Pe;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),o.set(u.value,l.value)}return{status:r.value,value:o}}}};Fs.create=(t,e,r)=>new Fs({valueType:e,keyType:t,typeName:Oe.ZodMap,...De(r)});var Us=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.parsedType!==ge.set)return fe(a,{code:ie.invalid_type,expected:ge.set,received:a.parsedType}),Pe;let n=this._def;n.minSize!==null&&a.data.sizen.maxSize.value&&(fe(a,{code:ie.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.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 Pe;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let o=[...a.data.values()].map((c,u)=>s._parse(new Er(a,c,a.path,u)));return a.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,r){return new t({...this._def,minSize:{value:e,message:be.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:be.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Us.create=(t,e)=>new Us({valueType:t,minSize:null,maxSize:null,typeName:Oe.ZodSet,...De(e)});var _u=class t extends Fe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.function)return fe(r,{code:ie.invalid_type,expected:ge.function,received:r.parsedType}),Pe;function a(o,c){return vo({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ms(),_n].filter(u=>!!u),issueData:{code:ie.invalid_arguments,argumentsError:c}})}function n(o,c){return vo({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ms(),_n].filter(u=>!!u),issueData:{code:ie.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof zn){let o=this;return Ht(async function(...c){let u=new nr([]),l=await o._def.args.parseAsync(c,s).catch(m=>{throw u.addIssue(a(c,m)),u}),d=await Reflect.apply(i,this,l);return await o._def.returns._def.type.parseAsync(d,s).catch(m=>{throw u.addIssue(n(d,m)),u})})}else{let o=this;return Ht(function(...c){let u=o._def.args.safeParse(c,s);if(!u.success)throw new nr([a(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=o._def.returns.safeParse(l,s);if(!d.success)throw new nr([n(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:on.create(e).rest(Sn.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,a){return new t({args:e||on.create([]).rest(Sn.create()),returns:r||Sn.create(),typeName:Oe.ZodFunction,...De(a)})}},Ca=class extends Fe{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})}};Ca.create=(t,e)=>new Ca({getter:t,typeName:Oe.ZodLazy,...De(e)});var Ia=class extends Fe{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return fe(r,{received:r.data,code:ie.invalid_literal,expected:this._def.value}),Pe}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ia.create=(t,e)=>new Ia({value:t,typeName:Oe.ZodLiteral,...De(e)});function YS(t,e){return new Aa({values:t,typeName:Oe.ZodEnum,...De(e)})}var Aa=class t extends Fe{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),a=this._def.values;return fe(r,{expected:Ve.joinValues(a),received:r.parsedType,code:ie.invalid_type}),Pe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),a=this._def.values;return fe(r,{received:r.data,code:ie.invalid_enum_value,options:a}),Pe}return Ht(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(a=>!e.includes(a)),{...this._def,...r})}};Aa.create=YS;var Na=class extends Fe{_parse(e){let r=Ve.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==ge.string&&a.parsedType!==ge.number){let n=Ve.objectValues(r);return fe(a,{expected:Ve.joinValues(n),received:a.parsedType,code:ie.invalid_type}),Pe}if(this._cache||(this._cache=new Set(Ve.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let n=Ve.objectValues(r);return fe(a,{received:a.data,code:ie.invalid_enum_value,options:n}),Pe}return Ht(e.data)}get enum(){return this._def.values}};Na.create=(t,e)=>new Na({values:t,typeName:Oe.ZodNativeEnum,...De(e)});var zn=class extends Fe{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==ge.promise&&r.common.async===!1)return fe(r,{code:ie.invalid_type,expected:ge.promise,received:r.parsedType}),Pe;let a=r.parsedType===ge.promise?r.data:Promise.resolve(r.data);return Ht(a.then(n=>this._def.type.parseAsync(n,{path:r.path,errorMap:r.common.contextualErrorMap})))}};zn.create=(t,e)=>new zn({type:t,typeName:Oe.ZodPromise,...De(e)});var Tr=class extends Fe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:a}=this._processInputParams(e),n=this._def.effect||null,s={addIssue:i=>{fe(a,i),i.fatal?r.abort():r.dirty()},get path(){return a.path}};if(s.addIssue=s.addIssue.bind(s),n.type==="preprocess"){let i=n.transform(a.data,s);if(a.common.async)return Promise.resolve(i).then(async o=>{if(r.value==="aborted")return Pe;let c=await this._def.schema._parseAsync({data:o,path:a.path,parent:a});return c.status==="aborted"?Pe:c.status==="dirty"?xa(c.value):r.value==="dirty"?xa(c.value):c});{if(r.value==="aborted")return Pe;let o=this._def.schema._parseSync({data:i,path:a.path,parent:a});return o.status==="aborted"?Pe:o.status==="dirty"?xa(o.value):r.value==="dirty"?xa(o.value):o}}if(n.type==="refinement"){let i=o=>{let c=n.refinement(o,s);if(a.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(a.common.async===!1){let o=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return o.status==="aborted"?Pe:(o.status==="dirty"&&r.dirty(),i(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(o=>o.status==="aborted"?Pe:(o.status==="dirty"&&r.dirty(),i(o.value).then(()=>({status:r.value,value:o.value}))))}if(n.type==="transform")if(a.common.async===!1){let i=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!qn(i))return Pe;let o=n.transform(i.value,s);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(i=>qn(i)?Promise.resolve(n.transform(i.value,s)).then(o=>({status:r.value,value:o})):Pe);Ve.assertNever(n)}};Tr.create=(t,e,r)=>new Tr({schema:t,typeName:Oe.ZodEffects,effect:e,...De(r)});Tr.createWithPreprocess=(t,e,r)=>new Tr({schema:e,effect:{type:"preprocess",transform:t},typeName:Oe.ZodEffects,...De(r)});var wr=class extends Fe{_parse(e){return this._getType(e)===ge.undefined?Ht(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};wr.create=(t,e)=>new wr({innerType:t,typeName:Oe.ZodOptional,...De(e)});var cn=class extends Fe{_parse(e){return this._getType(e)===ge.null?Ht(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};cn.create=(t,e)=>new cn({innerType:t,typeName:Oe.ZodNullable,...De(e)});var Ma=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=r.data;return r.parsedType===ge.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Ma.create=(t,e)=>new Ma({innerType:t,typeName:Oe.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...De(e)});var ja=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a={...r,common:{...r.common,issues:[]}},n=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return js(n)?n.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new nr(a.common.issues)},input:a.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new nr(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}};ja.create=(t,e)=>new ja({innerType:t,typeName:Oe.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...De(e)});var zs=class extends Fe{_parse(e){if(this._getType(e)!==ge.nan){let a=this._getOrReturnCtx(e);return fe(a,{code:ie.invalid_type,expected:ge.nan,received:a.parsedType}),Pe}return{status:"valid",value:e.data}}};zs.create=t=>new zs({typeName:Oe.ZodNaN,...De(t)});var B2=Symbol("zod_brand"),go=class extends Fe{_parse(e){let{ctx:r}=this._processInputParams(e),a=r.data;return this._def.type._parse({data:a,path:r.path,parent:r})}unwrap(){return this._def.type}},yo=class t extends Fe{_parse(e){let{status:r,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return s.status==="aborted"?Pe:s.status==="dirty"?(r.dirty(),xa(s.value)):this._def.out._parseAsync({data:s.value,path:a.path,parent:a})})();{let n=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return n.status==="aborted"?Pe:n.status==="dirty"?(r.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:a.path,parent:a})}}static create(e,r){return new t({in:e,out:r,typeName:Oe.ZodPipeline})}},Da=class extends Fe{_parse(e){let r=this._def.innerType._parse(e),a=n=>(qn(n)&&(n.value=Object.freeze(n.value)),n);return js(r)?r.then(n=>a(n)):a(r)}unwrap(){return this._def.innerType}};Da.create=(t,e)=>new Da({innerType:t,typeName:Oe.ZodReadonly,...De(e)});function WS(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function QS(t,e={},r){return t?Un.create().superRefine((a,n)=>{let s=t(a);if(s instanceof Promise)return s.then(i=>{if(!i){let o=WS(e,a),c=o.fatal??r??!0;n.addIssue({code:"custom",...o,fatal:c})}});if(!s){let i=WS(e,a),o=i.fatal??r??!0;n.addIssue({code:"custom",...i,fatal:o})}}):Un.create()}var V2={object:ar.lazycreate},Oe;(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"})(Oe||(Oe={}));var G2=(t,e={message:`Input not instance of ${t.name}`})=>QS(r=>r instanceof t,e),ex=Fn.create,tx=wa.create,Z2=zs.create,W2=Ea.create,rx=Ta.create,K2=ka.create,X2=Ls.create,J2=Ra.create,Y2=Pa.create,Q2=Un.create,e4=Sn.create,t4=zr.create,r4=qs.create,n4=xn.create,a4=ar.create,s4=ar.strictCreate,i4=$a.create,o4=gu.create,c4=Oa.create,u4=on.create,l4=yu.create,d4=Fs.create,p4=Us.create,f4=_u.create,m4=Ca.create,h4=Ia.create,v4=Aa.create,g4=Na.create,y4=zn.create,_4=Tr.create,b4=wr.create,S4=cn.create,x4=Tr.createWithPreprocess,w4=yo.create,E4=()=>ex().optional(),T4=()=>tx().optional(),k4=()=>rx().optional(),R4={string:(t=>Fn.create({...t,coerce:!0})),number:(t=>wa.create({...t,coerce:!0})),boolean:(t=>Ta.create({...t,coerce:!0})),bigint:(t=>Ea.create({...t,coerce:!0})),date:(t=>ka.create({...t,coerce:!0}))};var P4=Pe;var _f="2025-06-18";var nx=[_f,"2025-03-26","2024-11-05","2024-10-07"],bu="2.0",ax=$.union([$.string(),$.number().int()]),sx=$.string(),$4=$.object({progressToken:$.optional(ax)}).passthrough(),Pr=$.object({_meta:$.optional($4)}).passthrough(),sr=$.object({method:$.string(),params:$.optional(Pr)}),_o=$.object({_meta:$.optional($.object({}).passthrough())}).passthrough(),un=$.object({method:$.string(),params:$.optional(_o)}),$r=$.object({_meta:$.optional($.object({}).passthrough())}).passthrough(),Su=$.union([$.string(),$.number().int()]),ix=$.object({jsonrpc:$.literal(bu),id:Su}).merge(sr).strict(),ox=t=>ix.safeParse(t).success,cx=$.object({jsonrpc:$.literal(bu)}).merge(un).strict(),ux=t=>cx.safeParse(t).success,lx=$.object({jsonrpc:$.literal(bu),id:Su,result:$r}).strict(),bf=t=>lx.safeParse(t).success,kr;(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"})(kr||(kr={}));var dx=$.object({jsonrpc:$.literal(bu),id:Su,error:$.object({code:$.number().int(),message:$.string(),data:$.optional($.unknown())})}).strict(),px=t=>dx.safeParse(t).success,fx=$.union([ix,cx,lx,dx]),La=$r.strict(),xu=un.extend({method:$.literal("notifications/cancelled"),params:_o.extend({requestId:Su,reason:$.string().optional()})}),O4=$.object({src:$.string(),mimeType:$.optional($.string()),sizes:$.optional($.array($.string()))}).passthrough(),bo=$.object({icons:$.array(O4).optional()}).passthrough(),So=$.object({name:$.string(),title:$.optional($.string())}).passthrough(),mx=So.extend({version:$.string(),websiteUrl:$.optional($.string())}).merge(bo),C4=$.object({experimental:$.optional($.object({}).passthrough()),sampling:$.optional($.object({}).passthrough()),elicitation:$.optional($.object({}).passthrough()),roots:$.optional($.object({listChanged:$.optional($.boolean())}).passthrough())}).passthrough(),I4=sr.extend({method:$.literal("initialize"),params:Pr.extend({protocolVersion:$.string(),capabilities:C4,clientInfo:mx})});var A4=$.object({experimental:$.optional($.object({}).passthrough()),logging:$.optional($.object({}).passthrough()),completions:$.optional($.object({}).passthrough()),prompts:$.optional($.object({listChanged:$.optional($.boolean())}).passthrough()),resources:$.optional($.object({subscribe:$.optional($.boolean()),listChanged:$.optional($.boolean())}).passthrough()),tools:$.optional($.object({listChanged:$.optional($.boolean())}).passthrough())}).passthrough(),Sf=$r.extend({protocolVersion:$.string(),capabilities:A4,serverInfo:mx,instructions:$.optional($.string())}),N4=un.extend({method:$.literal("notifications/initialized")});var wu=sr.extend({method:$.literal("ping")}),M4=$.object({progress:$.number(),total:$.optional($.number()),message:$.optional($.string())}).passthrough(),Eu=un.extend({method:$.literal("notifications/progress"),params:_o.merge(M4).extend({progressToken:ax})}),Tu=sr.extend({params:Pr.extend({cursor:$.optional(sx)}).optional()}),ku=$r.extend({nextCursor:$.optional(sx)}),hx=$.object({uri:$.string(),mimeType:$.optional($.string()),_meta:$.optional($.object({}).passthrough())}).passthrough(),vx=hx.extend({text:$.string()}),xf=$.string().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),gx=hx.extend({blob:xf}),yx=So.extend({uri:$.string(),description:$.optional($.string()),mimeType:$.optional($.string()),_meta:$.optional($.object({}).passthrough())}).merge(bo),j4=So.extend({uriTemplate:$.string(),description:$.optional($.string()),mimeType:$.optional($.string()),_meta:$.optional($.object({}).passthrough())}).merge(bo),D4=Tu.extend({method:$.literal("resources/list")}),wf=ku.extend({resources:$.array(yx)}),L4=Tu.extend({method:$.literal("resources/templates/list")}),Ef=ku.extend({resourceTemplates:$.array(j4)}),q4=sr.extend({method:$.literal("resources/read"),params:Pr.extend({uri:$.string()})}),Tf=$r.extend({contents:$.array($.union([vx,gx]))}),F4=un.extend({method:$.literal("notifications/resources/list_changed")}),U4=sr.extend({method:$.literal("resources/subscribe"),params:Pr.extend({uri:$.string()})}),z4=sr.extend({method:$.literal("resources/unsubscribe"),params:Pr.extend({uri:$.string()})}),H4=un.extend({method:$.literal("notifications/resources/updated"),params:_o.extend({uri:$.string()})}),B4=$.object({name:$.string(),description:$.optional($.string()),required:$.optional($.boolean())}).passthrough(),V4=So.extend({description:$.optional($.string()),arguments:$.optional($.array(B4)),_meta:$.optional($.object({}).passthrough())}).merge(bo),G4=Tu.extend({method:$.literal("prompts/list")}),kf=ku.extend({prompts:$.array(V4)}),Z4=sr.extend({method:$.literal("prompts/get"),params:Pr.extend({name:$.string(),arguments:$.optional($.record($.string()))})}),Rf=$.object({type:$.literal("text"),text:$.string(),_meta:$.optional($.object({}).passthrough())}).passthrough(),Pf=$.object({type:$.literal("image"),data:xf,mimeType:$.string(),_meta:$.optional($.object({}).passthrough())}).passthrough(),$f=$.object({type:$.literal("audio"),data:xf,mimeType:$.string(),_meta:$.optional($.object({}).passthrough())}).passthrough(),W4=$.object({type:$.literal("resource"),resource:$.union([vx,gx]),_meta:$.optional($.object({}).passthrough())}).passthrough(),K4=yx.extend({type:$.literal("resource_link")}),_x=$.union([Rf,Pf,$f,K4,W4]),X4=$.object({role:$.enum(["user","assistant"]),content:_x}).passthrough(),Of=$r.extend({description:$.optional($.string()),messages:$.array(X4)}),J4=un.extend({method:$.literal("notifications/prompts/list_changed")}),Y4=$.object({title:$.optional($.string()),readOnlyHint:$.optional($.boolean()),destructiveHint:$.optional($.boolean()),idempotentHint:$.optional($.boolean()),openWorldHint:$.optional($.boolean())}).passthrough(),Q4=So.extend({description:$.optional($.string()),inputSchema:$.object({type:$.literal("object"),properties:$.optional($.object({}).passthrough()),required:$.optional($.array($.string()))}).passthrough(),outputSchema:$.optional($.object({type:$.literal("object"),properties:$.optional($.object({}).passthrough()),required:$.optional($.array($.string()))}).passthrough()),annotations:$.optional(Y4),_meta:$.optional($.object({}).passthrough())}).merge(bo),e8=Tu.extend({method:$.literal("tools/list")}),Cf=ku.extend({tools:$.array(Q4)}),Ru=$r.extend({content:$.array(_x).default([]),structuredContent:$.object({}).passthrough().optional(),isError:$.optional($.boolean())}),QW=Ru.or($r.extend({toolResult:$.unknown()})),t8=sr.extend({method:$.literal("tools/call"),params:Pr.extend({name:$.string(),arguments:$.optional($.record($.unknown()))})}),r8=un.extend({method:$.literal("notifications/tools/list_changed")}),bx=$.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),n8=sr.extend({method:$.literal("logging/setLevel"),params:Pr.extend({level:bx})}),a8=un.extend({method:$.literal("notifications/message"),params:_o.extend({level:bx,logger:$.optional($.string()),data:$.unknown()})}),s8=$.object({name:$.string().optional()}).passthrough(),i8=$.object({hints:$.optional($.array(s8)),costPriority:$.optional($.number().min(0).max(1)),speedPriority:$.optional($.number().min(0).max(1)),intelligencePriority:$.optional($.number().min(0).max(1))}).passthrough(),o8=$.object({role:$.enum(["user","assistant"]),content:$.union([Rf,Pf,$f])}).passthrough(),c8=sr.extend({method:$.literal("sampling/createMessage"),params:Pr.extend({messages:$.array(o8),systemPrompt:$.optional($.string()),includeContext:$.optional($.enum(["none","thisServer","allServers"])),temperature:$.optional($.number()),maxTokens:$.number().int(),stopSequences:$.optional($.array($.string())),metadata:$.optional($.object({}).passthrough()),modelPreferences:$.optional(i8)})}),u8=$r.extend({model:$.string(),stopReason:$.optional($.enum(["endTurn","stopSequence","maxTokens"]).or($.string())),role:$.enum(["user","assistant"]),content:$.discriminatedUnion("type",[Rf,Pf,$f])}),l8=$.object({type:$.literal("boolean"),title:$.optional($.string()),description:$.optional($.string()),default:$.optional($.boolean())}).passthrough(),d8=$.object({type:$.literal("string"),title:$.optional($.string()),description:$.optional($.string()),minLength:$.optional($.number()),maxLength:$.optional($.number()),format:$.optional($.enum(["email","uri","date","date-time"]))}).passthrough(),p8=$.object({type:$.enum(["number","integer"]),title:$.optional($.string()),description:$.optional($.string()),minimum:$.optional($.number()),maximum:$.optional($.number())}).passthrough(),f8=$.object({type:$.literal("string"),title:$.optional($.string()),description:$.optional($.string()),enum:$.array($.string()),enumNames:$.optional($.array($.string()))}).passthrough(),m8=$.union([l8,d8,p8,f8]),h8=sr.extend({method:$.literal("elicitation/create"),params:Pr.extend({message:$.string(),requestedSchema:$.object({type:$.literal("object"),properties:$.record($.string(),m8),required:$.optional($.array($.string()))}).passthrough()})}),v8=$r.extend({action:$.enum(["accept","decline","cancel"]),content:$.optional($.record($.string(),$.unknown()))}),g8=$.object({type:$.literal("ref/resource"),uri:$.string()}).passthrough();var y8=$.object({type:$.literal("ref/prompt"),name:$.string()}).passthrough(),_8=sr.extend({method:$.literal("completion/complete"),params:Pr.extend({ref:$.union([y8,g8]),argument:$.object({name:$.string(),value:$.string()}).passthrough(),context:$.optional($.object({arguments:$.optional($.record($.string(),$.string()))}))})}),If=$r.extend({completion:$.object({values:$.array($.string()).max(100),total:$.optional($.number().int()),hasMore:$.optional($.boolean())}).passthrough()}),b8=$.object({uri:$.string().startsWith("file://"),name:$.optional($.string()),_meta:$.optional($.object({}).passthrough())}).passthrough(),S8=sr.extend({method:$.literal("roots/list")}),x8=$r.extend({roots:$.array(b8)}),w8=un.extend({method:$.literal("notifications/roots/list_changed")}),eK=$.union([wu,I4,_8,n8,Z4,G4,D4,L4,q4,U4,z4,t8,e8]),tK=$.union([xu,Eu,N4,w8]),rK=$.union([La,u8,v8,x8]),nK=$.union([wu,c8,h8,S8]),aK=$.union([xu,Eu,a8,H4,F4,r8,J4]),sK=$.union([La,Sf,If,Of,kf,wf,Ef,Tf,Ru,Cf]),Rr=class extends Error{constructor(e,r,a){super(`MCP error ${e}: ${r}`),this.code=e,this.data=a,this.name="McpError"}};var E8=6e4,Pu=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.setNotificationHandler(xu,r=>{let a=this._requestHandlerAbortControllers.get(r.params.requestId);a?.abort(r.params.reason)}),this.setNotificationHandler(Eu,r=>{this._onprogress(r)}),this.setRequestHandler(wu,r=>({}))}_setupTimeout(e,r,a,n,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(n,r),startTime:Date.now(),timeout:r,maxTotalTimeout:a,resetTimeoutOnProgress:s,onTimeout:n})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let a=Date.now()-r.startTime;if(r.maxTotalTimeout&&a>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Rr(kr.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:a});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){var r,a,n;this._transport=e;let s=(r=this.transport)===null||r===void 0?void 0:r.onclose;this._transport.onclose=()=>{s?.(),this._onclose()};let i=(a=this.transport)===null||a===void 0?void 0:a.onerror;this._transport.onerror=c=>{i?.(c),this._onerror(c)};let o=(n=this._transport)===null||n===void 0?void 0:n.onmessage;this._transport.onmessage=(c,u)=>{o?.(c,u),bf(c)||px(c)?this._onresponse(c):ox(c)?this._onrequest(c,u):ux(c)?this._onnotification(c):this._onerror(new Error(`Unknown message type: ${JSON.stringify(c)}`))},await this._transport.start()}_onclose(){var e;let r=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear(),this._transport=void 0,(e=this.onclose)===null||e===void 0||e.call(this);let a=new Rr(kr.ConnectionClosed,"Connection closed");for(let n of r.values())n(a)}_onerror(e){var r;(r=this.onerror)===null||r===void 0||r.call(this,e)}_onnotification(e){var r;let a=(r=this._notificationHandlers.get(e.method))!==null&&r!==void 0?r:this.fallbackNotificationHandler;a!==void 0&&Promise.resolve().then(()=>a(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){var a,n;let s=(a=this._requestHandlers.get(e.method))!==null&&a!==void 0?a:this.fallbackRequestHandler,i=this._transport;if(s===void 0){i?.send({jsonrpc:"2.0",id:e.id,error:{code:kr.MethodNotFound,message:"Method not found"}}).catch(u=>this._onerror(new Error(`Failed to send an error response: ${u}`)));return}let o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);let c={signal:o.signal,sessionId:i?.sessionId,_meta:(n=e.params)===null||n===void 0?void 0:n._meta,sendNotification:u=>this.notification(u,{relatedRequestId:e.id}),sendRequest:(u,l,d)=>this.request(u,l,{...d,relatedRequestId:e.id}),authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo};Promise.resolve().then(()=>s(e,c)).then(u=>{if(!o.signal.aborted)return i?.send({result:u,jsonrpc:"2.0",id:e.id})},u=>{var l;if(!o.signal.aborted)return i?.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(u.code)?u.code:kr.InternalError,message:(l=u.message)!==null&&l!==void 0?l:"Internal error"}})}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...a}=e.params,n=Number(r),s=this._progressHandlers.get(n);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let i=this._responseHandlers.get(n),o=this._timeoutInfo.get(n);if(o&&i&&o.resetTimeoutOnProgress)try{this._resetTimeout(n)}catch(c){i(c);return}s(a)}_onresponse(e){let r=Number(e.id),a=this._responseHandlers.get(r);if(a===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}if(this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),bf(e))a(e);else{let n=new Rr(e.error.code,e.error.message,e.error.data);a(n)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)===null||e===void 0?void 0:e.close())}request(e,r,a){let{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}=a??{};return new Promise((o,c)=>{var u,l,d,p,m,g;if(!this._transport){c(new Error("Not connected"));return}((u=this._options)===null||u===void 0?void 0:u.enforceStrictCapabilities)===!0&&this.assertCapabilityForMethod(e.method),(l=a?.signal)===null||l===void 0||l.throwIfAborted();let _=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:_};a?.onprogress&&(this._progressHandlers.set(_,a.onprogress),f.params={...e.params,_meta:{...((d=e.params)===null||d===void 0?void 0:d._meta)||{},progressToken:_}});let h=b=>{var w;this._responseHandlers.delete(_),this._progressHandlers.delete(_),this._cleanupTimeout(_),(w=this._transport)===null||w===void 0||w.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:_,reason:String(b)}},{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}).catch(S=>this._onerror(new Error(`Failed to send cancellation: ${S}`))),c(b)};this._responseHandlers.set(_,b=>{var w;if(!(!((w=a?.signal)===null||w===void 0)&&w.aborted)){if(b instanceof Error)return c(b);try{let S=r.parse(b.result);o(S)}catch(S){c(S)}}}),(p=a?.signal)===null||p===void 0||p.addEventListener("abort",()=>{var b;h((b=a?.signal)===null||b===void 0?void 0:b.reason)});let y=(m=a?.timeout)!==null&&m!==void 0?m:E8,v=()=>h(new Rr(kr.RequestTimeout,"Request timed out",{timeout:y}));this._setupTimeout(_,y,a?.maxTotalTimeout,v,(g=a?.resetTimeoutOnProgress)!==null&&g!==void 0?g:!1),this._transport.send(f,{relatedRequestId:n,resumptionToken:s,onresumptiontoken:i}).catch(b=>{this._cleanupTimeout(_),c(b)})})}async notification(e,r){var a,n;if(!this._transport)throw new Error("Not connected");if(this.assertNotificationCapability(e.method),((n=(a=this._options)===null||a===void 0?void 0:a.debouncedNotificationMethods)!==null&&n!==void 0?n:[]).includes(e.method)&&!e.params&&!r?.relatedRequestId){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var c;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};(c=this._transport)===null||c===void 0||c.send(u,r).catch(l=>this._onerror(l))});return}let o={...e,jsonrpc:"2.0"};await this._transport.send(o,r)}setRequestHandler(e,r){let a=e.shape.method.value;this.assertRequestHandlerCapability(a),this._requestHandlers.set(a,(n,s)=>Promise.resolve(r(e.parse(n),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){this._notificationHandlers.set(e.shape.method.value,a=>Promise.resolve(r(e.parse(a))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function Sx(t,e){return Object.entries(e).reduce((r,[a,n])=>(n&&typeof n=="object"?r[a]=r[a]?{...r[a],...n}:n:r[a]=n,r),{...t})}var wE=xt(xE(),1),Hs=class extends Pu{constructor(e,r){var a;super(r),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._capabilities=(a=r?.capabilities)!==null&&a!==void 0?a:{},this._ajv=new wE.default}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Sx(this._capabilities,e)}assertCapability(e,r){var a;if(!(!((a=this._serverCapabilities)===null||a===void 0)&&a[e]))throw new Error(`Server does not support ${e} (required for ${r})`)}async connect(e,r){if(await super.connect(e),e.sessionId===void 0)try{let a=await this.request({method:"initialize",params:{protocolVersion:_f,capabilities:this._capabilities,clientInfo:this._clientInfo}},Sf,r);if(a===void 0)throw new Error(`Server sent invalid initialize result: ${a}`);if(!nx.includes(a.protocolVersion))throw new Error(`Server's protocol version is not supported: ${a.protocolVersion}`);this._serverCapabilities=a.capabilities,this._serverVersion=a.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(a.protocolVersion),this._instructions=a.instructions,await this.notification({method:"notifications/initialized"})}catch(a){throw this.close(),a}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var r,a,n,s,i;switch(e){case"logging/setLevel":if(!(!((r=this._serverCapabilities)===null||r===void 0)&&r.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!(!((a=this._serverCapabilities)===null||a===void 0)&&a.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!(!((n=this._serverCapabilities)===null||n===void 0)&&n.resources))throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!(!((s=this._serverCapabilities)===null||s===void 0)&&s.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!(!((i=this._serverCapabilities)===null||i===void 0)&&i.completions))throw new Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){var r;switch(e){case"notifications/roots/list_changed":if(!(!((r=this._capabilities.roots)===null||r===void 0)&&r.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"ping":break}}async ping(e){return this.request({method:"ping"},La,e)}async complete(e,r){return this.request({method:"completion/complete",params:e},If,r)}async setLoggingLevel(e,r){return this.request({method:"logging/setLevel",params:{level:e}},La,r)}async getPrompt(e,r){return this.request({method:"prompts/get",params:e},Of,r)}async listPrompts(e,r){return this.request({method:"prompts/list",params:e},kf,r)}async listResources(e,r){return this.request({method:"resources/list",params:e},wf,r)}async listResourceTemplates(e,r){return this.request({method:"resources/templates/list",params:e},Ef,r)}async readResource(e,r){return this.request({method:"resources/read",params:e},Tf,r)}async subscribeResource(e,r){return this.request({method:"resources/subscribe",params:e},La,r)}async unsubscribeResource(e,r){return this.request({method:"resources/unsubscribe",params:e},La,r)}async callTool(e,r=Ru,a){let n=await this.request({method:"tools/call",params:e},r,a),s=this.getToolOutputValidator(e.name);if(s){if(!n.structuredContent&&!n.isError)throw new Rr(kr.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(n.structuredContent)try{if(!s(n.structuredContent))throw new Rr(kr.InvalidParams,`Structured content does not match the tool's output schema: ${this._ajv.errorsText(s.errors)}`)}catch(i){throw i instanceof Rr?i:new Rr(kr.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}return n}cacheToolOutputSchemas(e){this._cachedToolOutputValidators.clear();for(let r of e)if(r.outputSchema)try{let a=this._ajv.compile(r.outputSchema);this._cachedToolOutputValidators.set(r.name,a)}catch{}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,r){let a=await this.request({method:"tools/list",params:e},Cf,r);return this.cacheToolOutputSchemas(a.tools),a}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var f1=xt(d1(),1),wo=xt(require("node:process"),1),m1=require("node:stream");var Wu=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` +`);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),$L(r)}clear(){this._buffer=void 0}};function $L(t){return fx.parse(JSON.parse(t))}function p1(t){return JSON.stringify(t)+` +`}var OL=wo.default.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function CL(){let t={};for(let e of OL){let r=wo.default.env[e];r!==void 0&&(r.startsWith("()")||(t[e]=r))}return t}var Gs=class{constructor(e){this._abortController=new AbortController,this._readBuffer=new Wu,this._stderrStream=null,this._serverParams=e,(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new m1.PassThrough)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,r)=>{var a,n,s,i,o;this._process=(0,f1.default)(this._serverParams.command,(a=this._serverParams.args)!==null&&a!==void 0?a:[],{env:{...CL(),...this._serverParams.env},stdio:["pipe","pipe",(n=this._serverParams.stderr)!==null&&n!==void 0?n:"inherit"],shell:!1,signal:this._abortController.signal,windowsHide:wo.default.platform==="win32"&&IL(),cwd:this._serverParams.cwd}),this._process.on("error",c=>{var u,l;if(c.name==="AbortError"){(u=this.onclose)===null||u===void 0||u.call(this);return}r(c),(l=this.onerror)===null||l===void 0||l.call(this,c)}),this._process.on("spawn",()=>{e()}),this._process.on("close",c=>{var u;this._process=void 0,(u=this.onclose)===null||u===void 0||u.call(this)}),(s=this._process.stdin)===null||s===void 0||s.on("error",c=>{var u;(u=this.onerror)===null||u===void 0||u.call(this,c)}),(i=this._process.stdout)===null||i===void 0||i.on("data",c=>{this._readBuffer.append(c),this.processReadBuffer()}),(o=this._process.stdout)===null||o===void 0||o.on("error",c=>{var u;(u=this.onerror)===null||u===void 0||u.call(this,c)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){var e,r;return this._stderrStream?this._stderrStream:(r=(e=this._process)===null||e===void 0?void 0:e.stderr)!==null&&r!==void 0?r:null}get pid(){var e,r;return(r=(e=this._process)===null||e===void 0?void 0:e.pid)!==null&&r!==void 0?r:null}processReadBuffer(){for(var e,r;;)try{let a=this._readBuffer.readMessage();if(a===null)break;(e=this.onmessage)===null||e===void 0||e.call(this,a)}catch(a){(r=this.onerror)===null||r===void 0||r.call(this,a)}}async close(){this._abortController.abort(),this._process=void 0,this._readBuffer.clear()}send(e){return new Promise(r=>{var a;if(!(!((a=this._process)===null||a===void 0)&&a.stdin))throw new Error("Not connected");let n=p1(e);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};function IL(){return"type"in wo.default}var Xu=xt(require("path"),1),x1=require("os");ot();var mm={DEFAULT:3e5,HEALTH_CHECK:3e4,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:300,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function S1(t){return process.platform==="win32"?Math.round(t*mm.WINDOWS_MULTIPLIER):t}Or();var AX=Xu.default.join((0,x1.homedir)(),".claude","plugins","marketplaces","thedotmack"),NX=S1(mm.HEALTH_CHECK),Eo=null,To=null;function Xt(){if(Eo!==null)return Eo;let t=Xu.default.join(Ze.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=Ze.loadFromFile(t);return Eo=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),Eo}function w1(){if(To!==null)return To;let t=Xu.default.join(Ze.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return To=Ze.loadFromFile(t).CLAUDE_MEM_WORKER_HOST,To}function E1(){Eo=null,To=null}ot();var ra=require("child_process"),Wr=require("os"),Ae=require("fs"),GR=xt(require("readline"),1),ZR=require("util");var Cr=require("fs"),ko=require("path");function T1(t){try{return(0,Cr.existsSync)(t)?JSON.parse((0,Cr.readFileSync)(t,"utf-8")):{}}catch{return{}}}function k1(t,e){let r=(0,ko.join)(t,"..");(0,Cr.mkdirSync)(r,{recursive:!0}),(0,Cr.writeFileSync)(t,JSON.stringify(e,null,2))}function R1(t,e){let r=(0,ko.join)(t,".cursor","rules"),a=(0,ko.join)(r,"claude-mem-context.mdc"),n=`${a}.tmp`;(0,Cr.mkdirSync)(r,{recursive:!0});let s=`--- alwaysApply: true description: "Claude-mem context from past sessions (auto-updated)" --- @@ -657,7 +657,7 @@ ${e} --- *Updated after last session. Use claude-mem's MCP search tools for more detailed queries.* -`;(0,Cr.writeFileSync)(n,s),(0,Cr.renameSync)(n,a)}Ju();var L1=require("bun:sqlite");mr();ot();var Yu=class{db;constructor(e){e||(ir(Jt),e=Po),this.db=new L1.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.ensureFTSTables()}ensureFTSTables(){this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%_fts'").all().some(a=>a.name==="observations_fts"||a.name==="session_summaries_fts")||(P.info("DB","Creating FTS5 tables"),this.db.run(` +`;(0,Cr.writeFileSync)(n,s),(0,Cr.renameSync)(n,a)}Ju();var L1=require("bun:sqlite");mr();ot();var Yu=class{db;constructor(e){e||(ir(Jt),e=Po),this.db=new L1.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.ensureFTSTables()}ensureFTSTables(){this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%_fts'").all().some(a=>a.name==="observations_fts"||a.name==="session_summaries_fts")||(O.info("DB","Creating FTS5 tables"),this.db.run(` CREATE VIRTUAL TABLE IF NOT EXISTS observations_fts USING fts5( title, subtitle, @@ -721,7 +721,7 @@ ${e} INSERT INTO session_summaries_fts(rowid, request, investigated, learned, completed, next_steps, notes) VALUES (new.id, new.request, new.investigated, new.learned, new.completed, new.next_steps, new.notes); END; - `),P.info("DB","FTS5 tables created successfully"))}buildFilterClause(e,r,a="o"){let n=[];if(e.project&&(n.push(`${a}.project = ?`),r.push(e.project)),e.type)if(Array.isArray(e.type)){let s=e.type.map(()=>"?").join(",");n.push(`${a}.type IN (${s})`),r.push(...e.type)}else n.push(`${a}.type = ?`),r.push(e.type);if(e.dateRange){let{start:s,end:i}=e.dateRange;if(s){let o=typeof s=="number"?s:new Date(s).getTime();n.push(`${a}.created_at_epoch >= ?`),r.push(o)}if(i){let o=typeof i=="number"?i:new Date(i).getTime();n.push(`${a}.created_at_epoch <= ?`),r.push(o)}}if(e.concepts){let s=Array.isArray(e.concepts)?e.concepts:[e.concepts],i=s.map(()=>`EXISTS (SELECT 1 FROM json_each(${a}.concepts) WHERE value = ?)`);i.length>0&&(n.push(`(${i.join(" OR ")})`),r.push(...s))}if(e.files){let s=Array.isArray(e.files)?e.files:[e.files],i=s.map(()=>`( + `),O.info("DB","FTS5 tables created successfully"))}buildFilterClause(e,r,a="o"){let n=[];if(e.project&&(n.push(`${a}.project = ?`),r.push(e.project)),e.type)if(Array.isArray(e.type)){let s=e.type.map(()=>"?").join(",");n.push(`${a}.type IN (${s})`),r.push(...e.type)}else n.push(`${a}.type = ?`),r.push(e.type);if(e.dateRange){let{start:s,end:i}=e.dateRange;if(s){let o=typeof s=="number"?s:new Date(s).getTime();n.push(`${a}.created_at_epoch >= ?`),r.push(o)}if(i){let o=typeof i=="number"?i:new Date(i).getTime();n.push(`${a}.created_at_epoch <= ?`),r.push(o)}}if(e.concepts){let s=Array.isArray(e.concepts)?e.concepts:[e.concepts],i=s.map(()=>`EXISTS (SELECT 1 FROM json_each(${a}.concepts) WHERE value = ?)`);i.length>0&&(n.push(`(${i.join(" OR ")})`),r.push(...s))}if(e.files){let s=Array.isArray(e.files)?e.files:[e.files],i=s.map(()=>`( EXISTS (SELECT 1 FROM json_each(${a}.files_read) WHERE value LIKE ?) OR EXISTS (SELECT 1 FROM json_each(${a}.files_modified) WHERE value LIKE ?) )`);i.length>0&&(n.push(`(${i.join(" OR ")})`),s.forEach(o=>{r.push(`%${o}%`,`%${o}%`)}))}return n.length>0?n.join(" AND "):""}buildOrderClause(e="relevance",r=!0,a="observations_fts"){switch(e){case"relevance":return r?`ORDER BY ${a}.rank ASC`:"ORDER BY o.created_at_epoch DESC";case"date_desc":return"ORDER BY o.created_at_epoch DESC";case"date_asc":return"ORDER BY o.created_at_epoch ASC";default:return"ORDER BY o.created_at_epoch DESC"}}searchObservations(e,r={}){let a=[],{limit:n=50,offset:s=0,orderBy:i="relevance",...o}=r;if(!e){let c=this.buildFilterClause(o,a,"o");if(!c)throw new Error("Either query or filters required for search");let u=this.buildOrderClause(i,!1),l=` @@ -730,13 +730,13 @@ ${e} WHERE ${c} ${u} LIMIT ? OFFSET ? - `;return a.push(n,s),this.db.prepare(l).all(...a)}return P.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}searchSessions(e,r={}){let a=[],{limit:n=50,offset:s=0,orderBy:i="relevance",...o}=r;if(!e){let c={...o};delete c.type;let u=this.buildFilterClause(c,a,"s");if(!u)throw new Error("Either query or filters required for search");let d=` + `;return a.push(n,s),this.db.prepare(l).all(...a)}return O.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}searchSessions(e,r={}){let a=[],{limit:n=50,offset:s=0,orderBy:i="relevance",...o}=r;if(!e){let c={...o};delete c.type;let u=this.buildFilterClause(c,a,"s");if(!u)throw new Error("Either query or filters required for search");let d=` SELECT s.*, s.discovery_tokens FROM session_summaries s WHERE ${u} ${i==="date_asc"?"ORDER BY s.created_at_epoch ASC":"ORDER BY s.created_at_epoch DESC"} LIMIT ? OFFSET ? - `;return a.push(n,s),this.db.prepare(d).all(...a)}return P.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}findByConcept(e,r={}){let a=[],{limit:n=50,offset:s=0,orderBy:i="date_desc",...o}=r,c={...o,concepts:e},u=this.buildFilterClause(c,a,"o"),l=this.buildOrderClause(i,!1),d=` + `;return a.push(n,s),this.db.prepare(d).all(...a)}return O.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}findByConcept(e,r={}){let a=[],{limit:n=50,offset:s=0,orderBy:i="date_desc",...o}=r,c={...o,concepts:e},u=this.buildFilterClause(c,a,"o"),l=this.buildOrderClause(i,!1),d=` SELECT o.*, o.discovery_tokens FROM observations o WHERE ${u} @@ -770,7 +770,7 @@ ${e} ${`WHERE ${c.join(" AND ")}`} ${i==="date_asc"?"ORDER BY up.created_at_epoch ASC":"ORDER BY up.created_at_epoch DESC"} LIMIT ? OFFSET ? - `;return a.push(n,s),this.db.prepare(d).all(...a)}return P.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}getUserPromptsBySession(e){return this.db.prepare(` + `;return a.push(n,s),this.db.prepare(d).all(...a)}return O.warn("DB","Text search not supported - use ChromaDB for vector search"),[]}getUserPromptsBySession(e){return this.db.prepare(` SELECT id, content_session_id, @@ -781,19 +781,19 @@ ${e} FROM user_prompts WHERE content_session_id = ? ORDER BY prompt_number ASC - `).all(e)}close(){this.db.close()}};Ju();ot();Or();mr();var q1=xt(require("path"),1),F1=xt(require("os"),1),Qu=class{client=null;transport=null;connected=!1;project;collectionName;VECTOR_DB_DIR;BATCH_SIZE=100;constructor(e){this.project=e,this.collectionName=`cm__${e}`,this.VECTOR_DB_DIR=q1.default.join(F1.default.homedir(),".claude-mem","vector-db")}async ensureConnection(){if(!(this.connected&&this.client)){P.info("CHROMA_SYNC","Connecting to Chroma MCP server...",{project:this.project});try{let r=Ze.loadFromFile(Ir).CLAUDE_MEM_PYTHON_VERSION,a=process.platform==="win32",n={command:"uvx",args:["--python",r,"chroma-mcp","--client-type","persistent","--data-dir",this.VECTOR_DB_DIR],stderr:"ignore"};a&&(n.windowsHide=!0,P.debug("CHROMA_SYNC","Windows detected, attempting to hide console window",{project:this.project})),this.transport=new Gs(n),this.client=new Hs({name:"claude-mem-chroma-sync",version:"1.0.0"},{capabilities:{}}),await this.client.connect(this.transport),this.connected=!0,P.info("CHROMA_SYNC","Connected to Chroma MCP server",{project:this.project})}catch(e){throw P.error("CHROMA_SYNC","Failed to connect to Chroma MCP server",{project:this.project},e),new Error(`Chroma connection failed: ${e instanceof Error?e.message:String(e)}`)}}}async ensureCollection(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_get_collection_info",arguments:{collection_name:this.collectionName}}),P.debug("CHROMA_SYNC","Collection exists",{collection:this.collectionName})}catch{P.info("CHROMA_SYNC","Creating collection",{collection:this.collectionName});try{await this.client.callTool({name:"chroma_create_collection",arguments:{collection_name:this.collectionName,embedding_function_name:"default"}}),P.info("CHROMA_SYNC","Collection created",{collection:this.collectionName})}catch(r){throw P.error("CHROMA_SYNC","Failed to create collection",{collection:this.collectionName},r),new Error(`Collection creation failed: ${r instanceof Error?r.message:String(r)}`)}}}formatObservationDocs(e){let r=[],a=e.facts?JSON.parse(e.facts):[],n=e.concepts?JSON.parse(e.concepts):[],s=e.files_read?JSON.parse(e.files_read):[],i=e.files_modified?JSON.parse(e.files_modified):[],o={sqlite_id:e.id,doc_type:"observation",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,type:e.type||"discovery",title:e.title||"Untitled"};return e.subtitle&&(o.subtitle=e.subtitle),n.length>0&&(o.concepts=n.join(",")),s.length>0&&(o.files_read=s.join(",")),i.length>0&&(o.files_modified=i.join(",")),e.narrative&&r.push({id:`obs_${e.id}_narrative`,document:e.narrative,metadata:{...o,field_type:"narrative"}}),e.text&&r.push({id:`obs_${e.id}_text`,document:e.text,metadata:{...o,field_type:"text"}}),a.forEach((c,u)=>{r.push({id:`obs_${e.id}_fact_${u}`,document:c,metadata:{...o,field_type:"fact",fact_index:u}})}),r}formatSummaryDocs(e){let r=[],a={sqlite_id:e.id,doc_type:"session_summary",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number||0};return e.request&&r.push({id:`summary_${e.id}_request`,document:e.request,metadata:{...a,field_type:"request"}}),e.investigated&&r.push({id:`summary_${e.id}_investigated`,document:e.investigated,metadata:{...a,field_type:"investigated"}}),e.learned&&r.push({id:`summary_${e.id}_learned`,document:e.learned,metadata:{...a,field_type:"learned"}}),e.completed&&r.push({id:`summary_${e.id}_completed`,document:e.completed,metadata:{...a,field_type:"completed"}}),e.next_steps&&r.push({id:`summary_${e.id}_next_steps`,document:e.next_steps,metadata:{...a,field_type:"next_steps"}}),e.notes&&r.push({id:`summary_${e.id}_notes`,document:e.notes,metadata:{...a,field_type:"notes"}}),r}async addDocuments(e){if(e.length!==0){if(await this.ensureCollection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_add_documents",arguments:{collection_name:this.collectionName,documents:e.map(r=>r.document),ids:e.map(r=>r.id),metadatas:e.map(r=>r.metadata)}}),P.debug("CHROMA_SYNC","Documents added",{collection:this.collectionName,count:e.length})}catch(r){throw P.error("CHROMA_SYNC","Failed to add documents",{collection:this.collectionName,count:e.length},r),new Error(`Document add failed: ${r instanceof Error?r.message:String(r)}`)}}}async syncObservation(e,r,a,n,s,i,o=0){let c={id:e,memory_session_id:r,project:a,text:null,type:n.type,title:n.title,subtitle:n.subtitle,facts:JSON.stringify(n.facts),narrative:n.narrative,concepts:JSON.stringify(n.concepts),files_read:JSON.stringify(n.files_read),files_modified:JSON.stringify(n.files_modified),prompt_number:s,discovery_tokens:o,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i},u=this.formatObservationDocs(c);P.info("CHROMA_SYNC","Syncing observation",{observationId:e,documentCount:u.length,project:a}),await this.addDocuments(u)}async syncSummary(e,r,a,n,s,i,o=0){let c={id:e,memory_session_id:r,project:a,request:n.request,investigated:n.investigated,learned:n.learned,completed:n.completed,next_steps:n.next_steps,notes:n.notes,prompt_number:s,discovery_tokens:o,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i},u=this.formatSummaryDocs(c);P.info("CHROMA_SYNC","Syncing summary",{summaryId:e,documentCount:u.length,project:a}),await this.addDocuments(u)}formatUserPromptDoc(e){return{id:`prompt_${e.id}`,document:e.prompt_text,metadata:{sqlite_id:e.id,doc_type:"user_prompt",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number}}}async syncUserPrompt(e,r,a,n,s,i){let o={id:e,content_session_id:"",prompt_number:s,prompt_text:n,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i,memory_session_id:r,project:a},c=this.formatUserPromptDoc(o);P.info("CHROMA_SYNC","Syncing user prompt",{promptId:e,project:a}),await this.addDocuments([c])}async getExistingChromaIds(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);let e=new Set,r=new Set,a=new Set,n=0,s=1e3;for(P.info("CHROMA_SYNC","Fetching existing Chroma document IDs...",{project:this.project});;)try{let o=(await this.client.callTool({name:"chroma_get_documents",arguments:{collection_name:this.collectionName,limit:s,offset:n,where:{project:this.project},include:["metadatas"]}})).content[0];if(o.type!=="text")throw new Error("Unexpected response type from chroma_get_documents");let u=JSON.parse(o.text).metadatas||[];if(u.length===0)break;for(let l of u)l.sqlite_id&&(l.doc_type==="observation"?e.add(l.sqlite_id):l.doc_type==="session_summary"?r.add(l.sqlite_id):l.doc_type==="user_prompt"&&a.add(l.sqlite_id));n+=s,P.debug("CHROMA_SYNC","Fetched batch of existing IDs",{project:this.project,offset:n,batchSize:u.length})}catch(i){throw P.error("CHROMA_SYNC","Failed to fetch existing IDs",{project:this.project},i),i}return P.info("CHROMA_SYNC","Existing IDs fetched",{project:this.project,observations:e.size,summaries:r.size,prompts:a.size}),{observations:e,summaries:r,prompts:a}}async ensureBackfilled(){P.info("CHROMA_SYNC","Starting smart backfill",{project:this.project}),await this.ensureCollection();let e=await this.getExistingChromaIds(),r=new Gn;try{let a=Array.from(e.observations),n=a.length>0?`AND id NOT IN (${a.join(",")})`:"",s=r.db.prepare(` + `).all(e)}close(){this.db.close()}};Ju();ot();Or();mr();var q1=xt(require("path"),1),F1=xt(require("os"),1),Qu=class{client=null;transport=null;connected=!1;project;collectionName;VECTOR_DB_DIR;BATCH_SIZE=100;constructor(e){this.project=e,this.collectionName=`cm__${e}`,this.VECTOR_DB_DIR=q1.default.join(F1.default.homedir(),".claude-mem","vector-db")}async ensureConnection(){if(!(this.connected&&this.client)){O.info("CHROMA_SYNC","Connecting to Chroma MCP server...",{project:this.project});try{let r=Ze.loadFromFile(Ir).CLAUDE_MEM_PYTHON_VERSION,a=process.platform==="win32",n={command:"uvx",args:["--python",r,"chroma-mcp","--client-type","persistent","--data-dir",this.VECTOR_DB_DIR],stderr:"ignore"};a&&(n.windowsHide=!0,O.debug("CHROMA_SYNC","Windows detected, attempting to hide console window",{project:this.project})),this.transport=new Gs(n),this.client=new Hs({name:"claude-mem-chroma-sync",version:"1.0.0"},{capabilities:{}}),await this.client.connect(this.transport),this.connected=!0,O.info("CHROMA_SYNC","Connected to Chroma MCP server",{project:this.project})}catch(e){throw O.error("CHROMA_SYNC","Failed to connect to Chroma MCP server",{project:this.project},e),new Error(`Chroma connection failed: ${e instanceof Error?e.message:String(e)}`)}}}async ensureCollection(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_get_collection_info",arguments:{collection_name:this.collectionName}}),O.debug("CHROMA_SYNC","Collection exists",{collection:this.collectionName})}catch{O.info("CHROMA_SYNC","Creating collection",{collection:this.collectionName});try{await this.client.callTool({name:"chroma_create_collection",arguments:{collection_name:this.collectionName,embedding_function_name:"default"}}),O.info("CHROMA_SYNC","Collection created",{collection:this.collectionName})}catch(r){throw O.error("CHROMA_SYNC","Failed to create collection",{collection:this.collectionName},r),new Error(`Collection creation failed: ${r instanceof Error?r.message:String(r)}`)}}}formatObservationDocs(e){let r=[],a=e.facts?JSON.parse(e.facts):[],n=e.concepts?JSON.parse(e.concepts):[],s=e.files_read?JSON.parse(e.files_read):[],i=e.files_modified?JSON.parse(e.files_modified):[],o={sqlite_id:e.id,doc_type:"observation",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,type:e.type||"discovery",title:e.title||"Untitled"};return e.subtitle&&(o.subtitle=e.subtitle),n.length>0&&(o.concepts=n.join(",")),s.length>0&&(o.files_read=s.join(",")),i.length>0&&(o.files_modified=i.join(",")),e.narrative&&r.push({id:`obs_${e.id}_narrative`,document:e.narrative,metadata:{...o,field_type:"narrative"}}),e.text&&r.push({id:`obs_${e.id}_text`,document:e.text,metadata:{...o,field_type:"text"}}),a.forEach((c,u)=>{r.push({id:`obs_${e.id}_fact_${u}`,document:c,metadata:{...o,field_type:"fact",fact_index:u}})}),r}formatSummaryDocs(e){let r=[],a={sqlite_id:e.id,doc_type:"session_summary",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number||0};return e.request&&r.push({id:`summary_${e.id}_request`,document:e.request,metadata:{...a,field_type:"request"}}),e.investigated&&r.push({id:`summary_${e.id}_investigated`,document:e.investigated,metadata:{...a,field_type:"investigated"}}),e.learned&&r.push({id:`summary_${e.id}_learned`,document:e.learned,metadata:{...a,field_type:"learned"}}),e.completed&&r.push({id:`summary_${e.id}_completed`,document:e.completed,metadata:{...a,field_type:"completed"}}),e.next_steps&&r.push({id:`summary_${e.id}_next_steps`,document:e.next_steps,metadata:{...a,field_type:"next_steps"}}),e.notes&&r.push({id:`summary_${e.id}_notes`,document:e.notes,metadata:{...a,field_type:"notes"}}),r}async addDocuments(e){if(e.length!==0){if(await this.ensureCollection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);try{await this.client.callTool({name:"chroma_add_documents",arguments:{collection_name:this.collectionName,documents:e.map(r=>r.document),ids:e.map(r=>r.id),metadatas:e.map(r=>r.metadata)}}),O.debug("CHROMA_SYNC","Documents added",{collection:this.collectionName,count:e.length})}catch(r){throw O.error("CHROMA_SYNC","Failed to add documents",{collection:this.collectionName,count:e.length},r),new Error(`Document add failed: ${r instanceof Error?r.message:String(r)}`)}}}async syncObservation(e,r,a,n,s,i,o=0){let c={id:e,memory_session_id:r,project:a,text:null,type:n.type,title:n.title,subtitle:n.subtitle,facts:JSON.stringify(n.facts),narrative:n.narrative,concepts:JSON.stringify(n.concepts),files_read:JSON.stringify(n.files_read),files_modified:JSON.stringify(n.files_modified),prompt_number:s,discovery_tokens:o,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i},u=this.formatObservationDocs(c);O.info("CHROMA_SYNC","Syncing observation",{observationId:e,documentCount:u.length,project:a}),await this.addDocuments(u)}async syncSummary(e,r,a,n,s,i,o=0){let c={id:e,memory_session_id:r,project:a,request:n.request,investigated:n.investigated,learned:n.learned,completed:n.completed,next_steps:n.next_steps,notes:n.notes,prompt_number:s,discovery_tokens:o,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i},u=this.formatSummaryDocs(c);O.info("CHROMA_SYNC","Syncing summary",{summaryId:e,documentCount:u.length,project:a}),await this.addDocuments(u)}formatUserPromptDoc(e){return{id:`prompt_${e.id}`,document:e.prompt_text,metadata:{sqlite_id:e.id,doc_type:"user_prompt",memory_session_id:e.memory_session_id,project:e.project,created_at_epoch:e.created_at_epoch,prompt_number:e.prompt_number}}}async syncUserPrompt(e,r,a,n,s,i){let o={id:e,content_session_id:"",prompt_number:s,prompt_text:n,created_at:new Date(i*1e3).toISOString(),created_at_epoch:i,memory_session_id:r,project:a},c=this.formatUserPromptDoc(o);O.info("CHROMA_SYNC","Syncing user prompt",{promptId:e,project:a}),await this.addDocuments([c])}async getExistingChromaIds(){if(await this.ensureConnection(),!this.client)throw new Error(`Chroma client not initialized. Call ensureConnection() before using client methods. Project: ${this.project}`);let e=new Set,r=new Set,a=new Set,n=0,s=1e3;for(O.info("CHROMA_SYNC","Fetching existing Chroma document IDs...",{project:this.project});;)try{let o=(await this.client.callTool({name:"chroma_get_documents",arguments:{collection_name:this.collectionName,limit:s,offset:n,where:{project:this.project},include:["metadatas"]}})).content[0];if(o.type!=="text")throw new Error("Unexpected response type from chroma_get_documents");let u=JSON.parse(o.text).metadatas||[];if(u.length===0)break;for(let l of u)l.sqlite_id&&(l.doc_type==="observation"?e.add(l.sqlite_id):l.doc_type==="session_summary"?r.add(l.sqlite_id):l.doc_type==="user_prompt"&&a.add(l.sqlite_id));n+=s,O.debug("CHROMA_SYNC","Fetched batch of existing IDs",{project:this.project,offset:n,batchSize:u.length})}catch(i){throw O.error("CHROMA_SYNC","Failed to fetch existing IDs",{project:this.project},i),i}return O.info("CHROMA_SYNC","Existing IDs fetched",{project:this.project,observations:e.size,summaries:r.size,prompts:a.size}),{observations:e,summaries:r,prompts:a}}async ensureBackfilled(){O.info("CHROMA_SYNC","Starting smart backfill",{project:this.project}),await this.ensureCollection();let e=await this.getExistingChromaIds(),r=new Gn;try{let a=Array.from(e.observations),n=a.length>0?`AND id NOT IN (${a.join(",")})`:"",s=r.db.prepare(` SELECT * FROM observations WHERE project = ? ${n} ORDER BY id ASC `).all(this.project),i=r.db.prepare(` SELECT COUNT(*) as count FROM observations WHERE project = ? - `).get(this.project);P.info("CHROMA_SYNC","Backfilling observations",{project:this.project,missing:s.length,existing:e.observations.size,total:i.count});let o=[];for(let y of s)o.push(...this.formatObservationDocs(y));for(let y=0;y0?`AND id NOT IN (${c.join(",")})`:"",l=r.db.prepare(` + `).get(this.project);O.info("CHROMA_SYNC","Backfilling observations",{project:this.project,missing:s.length,existing:e.observations.size,total:i.count});let o=[];for(let y of s)o.push(...this.formatObservationDocs(y));for(let y=0;y0?`AND id NOT IN (${c.join(",")})`:"",l=r.db.prepare(` SELECT * FROM session_summaries WHERE project = ? ${u} ORDER BY id ASC `).all(this.project),d=r.db.prepare(` SELECT COUNT(*) as count FROM session_summaries WHERE project = ? - `).get(this.project);P.info("CHROMA_SYNC","Backfilling summaries",{project:this.project,missing:l.length,existing:e.summaries.size,total:d.count});let p=[];for(let y of l)p.push(...this.formatSummaryDocs(y));for(let y=0;y0?`AND up.id NOT IN (${m.join(",")})`:"",_=r.db.prepare(` + `).get(this.project);O.info("CHROMA_SYNC","Backfilling summaries",{project:this.project,missing:l.length,existing:e.summaries.size,total:d.count});let p=[];for(let y of l)p.push(...this.formatSummaryDocs(y));for(let y=0;y0?`AND up.id NOT IN (${m.join(",")})`:"",_=r.db.prepare(` SELECT up.*, s.project, @@ -807,11 +807,11 @@ ${e} FROM user_prompts up JOIN sdk_sessions s ON up.content_session_id = s.content_session_id WHERE s.project = ? - `).get(this.project);P.info("CHROMA_SYNC","Backfilling user prompts",{project:this.project,missing:_.length,existing:e.prompts.size,total:f.count});let h=[];for(let y of _)h.push(this.formatUserPromptDoc(y));for(let y=0;ysetTimeout(n,1e3))}}toPendingMessageWithId(e){return{...this.store.toPendingMessage(e),_persistentId:e.id,_originalTimestamp:e.created_at_epoch}}waitForMessage(e){return new Promise(r=>{let a=()=>{s(),r()},n=()=>{s(),r()},s=()=>{this.events.off("message",a),e.removeEventListener("abort",n)};this.events.once("message",a),e.addEventListener("abort",n,{once:!0})})}};var nl=class{dbManager;sessions=new Map;sessionQueues=new Map;onSessionDeletedCallback;pendingStore=null;constructor(e){this.dbManager=e}getPendingStore(){if(!this.pendingStore){let e=this.dbManager.getSessionStore();this.pendingStore=new $o(e.db,3)}return this.pendingStore}setOnSessionDeleted(e){this.onSessionDeletedCallback=e}initializeSession(e,r,a){P.info("SESSION","initializeSession called",{sessionDbId:e,promptNumber:a,has_currentUserPrompt:!!r});let n=this.sessions.get(e);if(n){P.info("SESSION","Returning cached session",{sessionDbId:e,contentSessionId:n.contentSessionId,lastPromptNumber:n.lastPromptNumber});let c=this.dbManager.getSessionById(e);return c.project&&c.project!==n.project&&(P.debug("SESSION","Updating project from database",{sessionDbId:e,oldProject:n.project,newProject:c.project}),n.project=c.project),r?(P.debug("SESSION","Updating userPrompt for continuation",{sessionDbId:e,promptNumber:a,oldPrompt:n.userPrompt.substring(0,80),newPrompt:r.substring(0,80)}),n.userPrompt=r,n.lastPromptNumber=a||n.lastPromptNumber):P.debug("SESSION","No currentUserPrompt provided for existing session",{sessionDbId:e,promptNumber:a,usingCachedPrompt:n.userPrompt.substring(0,80)}),n}let s=this.dbManager.getSessionById(e);P.info("SESSION","Fetched session from database",{sessionDbId:e,content_session_id:s.content_session_id,memory_session_id:s.memory_session_id});let i=r||s.user_prompt;r?P.debug("SESSION","Initializing session with fresh userPrompt",{sessionDbId:e,promptNumber:a,userPrompt:r.substring(0,80)}):P.debug("SESSION","No currentUserPrompt provided for new session, using database",{sessionDbId:e,promptNumber:a,dbPrompt:s.user_prompt.substring(0,80)}),n={sessionDbId:e,contentSessionId:s.content_session_id,memorySessionId:s.memory_session_id||null,project:s.project,userPrompt:i,pendingMessages:[],abortController:new AbortController,generatorPromise:null,lastPromptNumber:a||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(s.content_session_id),startTime:Date.now(),cumulativeInputTokens:0,cumulativeOutputTokens:0,pendingProcessingIds:new Set,earliestPendingTimestamp:null,conversationHistory:[],currentProvider:null},P.info("SESSION","Creating new session object",{sessionDbId:e,contentSessionId:s.content_session_id,memorySessionId:s.memory_session_id||"(none - fresh session)",lastPromptNumber:a||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(s.content_session_id)}),this.sessions.set(e,n);let o=new U1.EventEmitter;return this.sessionQueues.set(e,o),P.info("SESSION","Session initialized",{sessionId:e,project:n.project,contentSessionId:n.contentSessionId,queueDepth:0,hasGenerator:!1}),n}getSession(e){return this.sessions.get(e)}queueObservation(e,r){let a=this.sessions.get(e);a||(a=this.initializeSession(e));let n={type:"observation",tool_name:r.tool_name,tool_input:r.tool_input,tool_response:r.tool_response,prompt_number:r.prompt_number,cwd:r.cwd};try{let o=this.getPendingStore().enqueue(e,a.contentSessionId,n);P.debug("SESSION","Observation persisted to DB",{sessionId:e,messageId:o,tool:r.tool_name})}catch(o){throw P.error("SESSION","Failed to persist observation to DB",{sessionId:e,tool:r.tool_name},o),o}this.sessionQueues.get(e)?.emit("message");let i=P.formatTool(r.tool_name,r.tool_input);P.info("SESSION","Observation queued",{sessionId:e,tool:i,hasGenerator:!!a.generatorPromise})}queueSummarize(e,r,a){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let s={type:"summarize",last_user_message:r,last_assistant_message:a};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,s);P.debug("SESSION","Summarize persisted to DB",{sessionId:e,messageId:o})}catch(o){throw P.error("SESSION","Failed to persist summarize to DB",{sessionId:e},o),o}this.sessionQueues.get(e)?.emit("message"),P.info("SESSION","Summarize queued",{sessionId:e,hasGenerator:!!n.generatorPromise})}async deleteSession(e){let r=this.sessions.get(e);if(!r)return;let a=Date.now()-r.startTime;r.abortController.abort(),r.generatorPromise&&await r.generatorPromise.catch(()=>{}),this.sessions.delete(e),this.sessionQueues.delete(e),P.info("SESSION","Session deleted",{sessionId:e,duration:`${(a/1e3).toFixed(1)}s`,project:r.project}),this.onSessionDeletedCallback&&this.onSessionDeletedCallback()}async shutdownAll(){let e=Array.from(this.sessions.keys());await Promise.all(e.map(r=>this.deleteSession(r)))}hasPendingMessages(){return this.getPendingStore().hasAnyPendingWork()}getActiveSessionCount(){return this.sessions.size}getTotalQueueDepth(){let e=0;for(let r of this.sessions.values())e+=this.getPendingStore().getPendingCount(r.sessionDbId);return e}getTotalActiveWork(){return this.getTotalQueueDepth()}isAnySessionProcessing(){return this.getPendingStore().hasAnyPendingWork()}async*getMessageIterator(e){let r=this.sessions.get(e);r||(r=this.initializeSession(e));let a=this.sessionQueues.get(e);if(!a)throw new Error(`No emitter for session ${e}`);let n=new rl(this.getPendingStore(),a);for await(let s of n.createIterator(e,r.abortController.signal))r.pendingProcessingIds.add(s._persistentId),r.earliestPendingTimestamp===null?r.earliestPendingTimestamp=s._originalTimestamp:r.earliestPendingTimestamp=Math.min(r.earliestPendingTimestamp,s._originalTimestamp),yield s}getPendingMessageStore(){return this.getPendingStore()}};ot();var al=class{sseClients=new Set;addClient(e){this.sseClients.add(e),P.debug("WORKER","Client connected",{total:this.sseClients.size}),e.on("close",()=>{this.removeClient(e)}),this.sendToClient(e,{type:"connected",timestamp:Date.now()})}removeClient(e){this.sseClients.delete(e),P.debug("WORKER","Client disconnected",{total:this.sseClients.size})}broadcast(e){if(this.sseClients.size===0){P.debug("WORKER","SSE broadcast skipped (no clients)",{eventType:e.type});return}let r={...e,timestamp:Date.now()},a=`data: ${JSON.stringify(r)} + `).get(this.project);O.info("CHROMA_SYNC","Backfilling user prompts",{project:this.project,missing:_.length,existing:e.prompts.size,total:f.count});let h=[];for(let y of _)h.push(this.formatUserPromptDoc(y));for(let y=0;ysetTimeout(n,1e3))}}toPendingMessageWithId(e){return{...this.store.toPendingMessage(e),_persistentId:e.id,_originalTimestamp:e.created_at_epoch}}waitForMessage(e){return new Promise(r=>{let a=()=>{s(),r()},n=()=>{s(),r()},s=()=>{this.events.off("message",a),e.removeEventListener("abort",n)};this.events.once("message",a),e.addEventListener("abort",n,{once:!0})})}};var nl=class{dbManager;sessions=new Map;sessionQueues=new Map;onSessionDeletedCallback;pendingStore=null;constructor(e){this.dbManager=e}getPendingStore(){if(!this.pendingStore){let e=this.dbManager.getSessionStore();this.pendingStore=new $o(e.db,3)}return this.pendingStore}setOnSessionDeleted(e){this.onSessionDeletedCallback=e}initializeSession(e,r,a){O.info("SESSION","initializeSession called",{sessionDbId:e,promptNumber:a,has_currentUserPrompt:!!r});let n=this.sessions.get(e);if(n){O.info("SESSION","Returning cached session",{sessionDbId:e,contentSessionId:n.contentSessionId,lastPromptNumber:n.lastPromptNumber});let c=this.dbManager.getSessionById(e);return c.project&&c.project!==n.project&&(O.debug("SESSION","Updating project from database",{sessionDbId:e,oldProject:n.project,newProject:c.project}),n.project=c.project),r?(O.debug("SESSION","Updating userPrompt for continuation",{sessionDbId:e,promptNumber:a,oldPrompt:n.userPrompt.substring(0,80),newPrompt:r.substring(0,80)}),n.userPrompt=r,n.lastPromptNumber=a||n.lastPromptNumber):O.debug("SESSION","No currentUserPrompt provided for existing session",{sessionDbId:e,promptNumber:a,usingCachedPrompt:n.userPrompt.substring(0,80)}),n}let s=this.dbManager.getSessionById(e);O.info("SESSION","Fetched session from database",{sessionDbId:e,content_session_id:s.content_session_id,memory_session_id:s.memory_session_id});let i=r||s.user_prompt;r?O.debug("SESSION","Initializing session with fresh userPrompt",{sessionDbId:e,promptNumber:a,userPrompt:r.substring(0,80)}):O.debug("SESSION","No currentUserPrompt provided for new session, using database",{sessionDbId:e,promptNumber:a,dbPrompt:s.user_prompt.substring(0,80)}),n={sessionDbId:e,contentSessionId:s.content_session_id,memorySessionId:s.memory_session_id||null,project:s.project,userPrompt:i,pendingMessages:[],abortController:new AbortController,generatorPromise:null,lastPromptNumber:a||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(s.content_session_id),startTime:Date.now(),cumulativeInputTokens:0,cumulativeOutputTokens:0,pendingProcessingIds:new Set,earliestPendingTimestamp:null,conversationHistory:[],currentProvider:null},O.info("SESSION","Creating new session object",{sessionDbId:e,contentSessionId:s.content_session_id,memorySessionId:s.memory_session_id||"(none - fresh session)",lastPromptNumber:a||this.dbManager.getSessionStore().getPromptNumberFromUserPrompts(s.content_session_id)}),this.sessions.set(e,n);let o=new U1.EventEmitter;return this.sessionQueues.set(e,o),O.info("SESSION","Session initialized",{sessionId:e,project:n.project,contentSessionId:n.contentSessionId,queueDepth:0,hasGenerator:!1}),n}getSession(e){return this.sessions.get(e)}queueObservation(e,r){let a=this.sessions.get(e);a||(a=this.initializeSession(e));let n={type:"observation",tool_name:r.tool_name,tool_input:r.tool_input,tool_response:r.tool_response,prompt_number:r.prompt_number,cwd:r.cwd};try{let o=this.getPendingStore().enqueue(e,a.contentSessionId,n);O.debug("SESSION","Observation persisted to DB",{sessionId:e,messageId:o,tool:r.tool_name})}catch(o){throw O.error("SESSION","Failed to persist observation to DB",{sessionId:e,tool:r.tool_name},o),o}this.sessionQueues.get(e)?.emit("message");let i=O.formatTool(r.tool_name,r.tool_input);O.info("SESSION","Observation queued",{sessionId:e,tool:i,hasGenerator:!!a.generatorPromise})}queueSummarize(e,r,a){let n=this.sessions.get(e);n||(n=this.initializeSession(e));let s={type:"summarize",last_user_message:r,last_assistant_message:a};try{let o=this.getPendingStore().enqueue(e,n.contentSessionId,s);O.debug("SESSION","Summarize persisted to DB",{sessionId:e,messageId:o})}catch(o){throw O.error("SESSION","Failed to persist summarize to DB",{sessionId:e},o),o}this.sessionQueues.get(e)?.emit("message"),O.info("SESSION","Summarize queued",{sessionId:e,hasGenerator:!!n.generatorPromise})}async deleteSession(e){let r=this.sessions.get(e);if(!r)return;let a=Date.now()-r.startTime;r.abortController.abort(),r.generatorPromise&&await r.generatorPromise.catch(()=>{}),this.sessions.delete(e),this.sessionQueues.delete(e),O.info("SESSION","Session deleted",{sessionId:e,duration:`${(a/1e3).toFixed(1)}s`,project:r.project}),this.onSessionDeletedCallback&&this.onSessionDeletedCallback()}async shutdownAll(){let e=Array.from(this.sessions.keys());await Promise.all(e.map(r=>this.deleteSession(r)))}hasPendingMessages(){return this.getPendingStore().hasAnyPendingWork()}getActiveSessionCount(){return this.sessions.size}getTotalQueueDepth(){let e=0;for(let r of this.sessions.values())e+=this.getPendingStore().getPendingCount(r.sessionDbId);return e}getTotalActiveWork(){return this.getTotalQueueDepth()}isAnySessionProcessing(){return this.getPendingStore().hasAnyPendingWork()}async*getMessageIterator(e){let r=this.sessions.get(e);r||(r=this.initializeSession(e));let a=this.sessionQueues.get(e);if(!a)throw new Error(`No emitter for session ${e}`);let n=new rl(this.getPendingStore(),a);for await(let s of n.createIterator(e,r.abortController.signal))r.pendingProcessingIds.add(s._persistentId),r.earliestPendingTimestamp===null?r.earliestPendingTimestamp=s._originalTimestamp:r.earliestPendingTimestamp=Math.min(r.earliestPendingTimestamp,s._originalTimestamp),yield s}getPendingMessageStore(){return this.getPendingStore()}};ot();var al=class{sseClients=new Set;addClient(e){this.sseClients.add(e),O.debug("WORKER","Client connected",{total:this.sseClients.size}),e.on("close",()=>{this.removeClient(e)}),this.sendToClient(e,{type:"connected",timestamp:Date.now()})}removeClient(e){this.sseClients.delete(e),O.debug("WORKER","Client disconnected",{total:this.sseClients.size})}broadcast(e){if(this.sseClients.size===0){O.debug("WORKER","SSE broadcast skipped (no clients)",{eventType:e.type});return}let r={...e,timestamp:Date.now()},a=`data: ${JSON.stringify(r)} -`;P.debug("WORKER","SSE broadcast sent",{eventType:e.type,clients:this.sseClients.size});for(let n of this.sseClients)n.write(a)}getClientCount(){return this.sseClients.size}sendToClient(e,r){let a=`data: ${JSON.stringify(r)} +`;O.debug("WORKER","SSE broadcast sent",{eventType:e.type,clients:this.sseClients.size});for(let n of this.sseClients)n.write(a)}getClientCount(){return this.sseClients.size}sendToClient(e,r){let a=`data: ${JSON.stringify(r)} -`;e.write(a)}};var gR=require("child_process"),yR=require("os"),_R=xt(require("path"),1);ot();ot();ln();function Ks(t,e){let r=[],a=/([\s\S]*?)<\/observation>/g,n;for(;(n=a.exec(t))!==null;){let s=n[1],i=dn(s,"type"),o=dn(s,"title"),c=dn(s,"subtitle"),u=dn(s,"narrative"),l=il(s,"facts","fact"),d=il(s,"concepts","concept"),p=il(s,"files_read","file"),m=il(s,"files_modified","file"),_=dt.getInstance().getActiveMode().observation_types.map(v=>v.id),f=_[0],h=f;i?_.includes(i.trim())?h=i.trim():P.warn("PARSER",`Invalid observation type: ${i}, using "${f}"`,{correlationId:e}):P.warn("PARSER",`Observation missing type field, using "${f}"`,{correlationId:e});let y=d.filter(v=>v!==h);y.length!==d.length&&P.warn("PARSER","Removed observation type from concepts array",{correlationId:e,type:h,originalConcepts:d,cleanedConcepts:y}),r.push({type:h,title:o,subtitle:c,facts:l,narrative:u,concepts:y,files_read:p,files_modified:m})}return r}function Xs(t,e){let a=//.exec(t);if(a)return P.info("PARSER","Summary skipped",{sessionId:e,reason:a[1]}),null;let s=/([\s\S]*?)<\/summary>/.exec(t);if(!s)return null;let i=s[1],o=dn(i,"request"),c=dn(i,"investigated"),u=dn(i,"learned"),l=dn(i,"completed"),d=dn(i,"next_steps"),p=dn(i,"notes");return{request:o,investigated:c,learned:u,completed:l,next_steps:d,notes:p}}function dn(t,e){let a=new RegExp(`<${e}>([^<]*)`).exec(t);if(!a)return null;let n=a[1].trim();return n===""?null:n}function il(t,e,r){let a=[],s=new RegExp(`<${e}>(.*?)`,"s").exec(t);if(!s)return a;let i=s[1],o=new RegExp(`<${r}>([^<]+)`,"g"),c;for(;(c=o.exec(i))!==null;)a.push(c[1].trim());return a}ot();function Js(t,e,r,a){return`${a.prompts.system_identity} +`;e.write(a)}};var gR=require("child_process"),yR=require("os"),_R=xt(require("path"),1);ot();ot();ln();function Ks(t,e){let r=[],a=/([\s\S]*?)<\/observation>/g,n;for(;(n=a.exec(t))!==null;){let s=n[1],i=dn(s,"type"),o=dn(s,"title"),c=dn(s,"subtitle"),u=dn(s,"narrative"),l=il(s,"facts","fact"),d=il(s,"concepts","concept"),p=il(s,"files_read","file"),m=il(s,"files_modified","file"),_=dt.getInstance().getActiveMode().observation_types.map(v=>v.id),f=_[0],h=f;i?_.includes(i.trim())?h=i.trim():O.warn("PARSER",`Invalid observation type: ${i}, using "${f}"`,{correlationId:e}):O.warn("PARSER",`Observation missing type field, using "${f}"`,{correlationId:e});let y=d.filter(v=>v!==h);y.length!==d.length&&O.warn("PARSER","Removed observation type from concepts array",{correlationId:e,type:h,originalConcepts:d,cleanedConcepts:y}),r.push({type:h,title:o,subtitle:c,facts:l,narrative:u,concepts:y,files_read:p,files_modified:m})}return r}function Xs(t,e){let a=//.exec(t);if(a)return O.info("PARSER","Summary skipped",{sessionId:e,reason:a[1]}),null;let s=/([\s\S]*?)<\/summary>/.exec(t);if(!s)return null;let i=s[1],o=dn(i,"request"),c=dn(i,"investigated"),u=dn(i,"learned"),l=dn(i,"completed"),d=dn(i,"next_steps"),p=dn(i,"notes");return{request:o,investigated:c,learned:u,completed:l,next_steps:d,notes:p}}function dn(t,e){let a=new RegExp(`<${e}>([^<]*)`).exec(t);if(!a)return null;let n=a[1].trim();return n===""?null:n}function il(t,e,r){let a=[],s=new RegExp(`<${e}>(.*?)`,"s").exec(t);if(!s)return a;let i=s[1],o=new RegExp(`<${r}>([^<]+)`,"g"),c;for(;(c=o.exec(i))!==null;)a.push(c[1].trim());return a}ot();function Js(t,e,r,a){return`${a.prompts.system_identity} ${r} @@ -872,7 +872,7 @@ ${a.prompts.header_memory_start}`}function Ys(t){let e,r;try{e=typeof t.tool_inp ${t.cwd}`:""} ${JSON.stringify(e,null,2)} ${JSON.stringify(r,null,2)} -`}function Qs(t,e){let r=t.last_assistant_message||P.happyPathError("SDK","Missing last_assistant_message in session for summary prompt",{sessionId:t.id},void 0,"");return`${e.prompts.header_summary_checkpoint} +`}function Qs(t,e){let r=t.last_assistant_message||O.happyPathError("SDK","Missing last_assistant_message in session for summary prompt",{sessionId:t.id},void 0,"");return`${e.prompts.header_summary_checkpoint} ${e.prompts.summary_instruction} ${e.prompts.summary_context_label} @@ -947,25 +947,25 @@ ${a.prompts.format_examples} ${a.prompts.footer} -${a.prompts.header_memory_continued}`}Or();mr();ln();var xm=require("path"),NT=require("url"),MT=require("events"),DT=require("child_process"),LT=require("readline"),Te=xt(require("fs"),1),qT=require("fs/promises"),BT=require("path"),VT=require("os"),Ha=require("path"),ZT=require("process"),WT=require("fs"),KT=require("crypto"),QT=require("crypto"),Si=require("fs"),wm=require("path"),ek=require("crypto");var sV={},Z9=Object.create,W9=Object.getPrototypeOf,Sm=Object.defineProperty,K9=Object.getOwnPropertyNames,X9=Object.prototype.hasOwnProperty,ST=(t,e,r)=>{r=t!=null?Z9(W9(t)):{};let a=e||!t||!t.__esModule?Sm(r,"default",{value:t,enumerable:!0}):r;for(let n of K9(t))X9.call(a,n)||Sm(a,n,{get:()=>t[n],enumerable:!0});return a},Q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xT=(t,e)=>{for(var r in e)Sm(t,r,{get:e[r],enumerable:!0,configurable:!0,set:a=>e[r]=()=>a})};var pl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class a extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=a,t.nil=new a("");function n(h,...y){let v=[h[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=pl();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var a;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(a||(t.UsedValueState=a={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class n{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=n;class s extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=s;var i=(0,e._)`\n`;class o extends n{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:e.nil}}get(){return this._scope}name(u){return new s(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:m}=p,g=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[m];if(_){let y=_.get(g);if(y)return y}else _=this._values[m]=new Map;_.set(g,p);let f=this._scope[m]||(this._scope[m]=[]),h=f.length;return f[h]=l.ref,p.setValue(l,{property:m,itemIndex:h}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let m=e.nil;for(let g in u){let _=u[g];if(!_)continue;let f=d[g]=d[g]||new Map;_.forEach(h=>{if(f.has(h))return;f.set(h,a.Started);let y=l(h);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;m=(0,e._)`${m}${v} ${h} = ${y};${this.opts._n}`}else if(y=p?.(h))m=(0,e._)`${m}${y}${this.opts._n}`;else throw new r(h);f.set(h,a.Completed)})}return m}}t.ValueScope=o}),Ge=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=pl(),r=H1(),a=pl();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return a.Name}});var n=H1();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return n.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return n.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return n.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return n.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class s{optimizeNodes(){return this}optimizeNames(x,k){return this}}class i extends s{constructor(x,k,D){super(),this.varKind=x,this.name=k,this.rhs=D}render({es5:x,_n:k}){let D=x?r.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${D} ${this.name}${K};`+k}optimizeNames(x,k){if(x[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,x,k)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class o extends s{constructor(x,k,D){super(),this.lhs=x,this.rhs=k,this.sideEffects=D}render({_n:x}){return`${this.lhs} = ${this.rhs};`+x}optimizeNames(x,k){if(!(this.lhs instanceof e.Name&&!x[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,x,k),this}get names(){let x=this.lhs instanceof e.Name?{}:{...this.lhs.names};return H(x,this.rhs)}}class c extends o{constructor(x,k,D,K){super(x,D,K),this.op=k}render({_n:x}){return`${this.lhs} ${this.op}= ${this.rhs};`+x}}class u extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`${this.label}:`+x}}class l extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`break${this.label?` ${this.label}`:""};`+x}}class d extends s{constructor(x){super(),this.error=x}render({_n:x}){return`throw ${this.error};`+x}get names(){return this.error.names}}class p extends s{constructor(x){super(),this.code=x}render({_n:x}){return`${this.code};`+x}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(x,k){return this.code=N(this.code,x,k),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class m extends s{constructor(x=[]){super(),this.nodes=x}render(x){return this.nodes.reduce((k,D)=>k+D.render(x),"")}optimizeNodes(){let{nodes:x}=this,k=x.length;for(;k--;){let D=x[k].optimizeNodes();Array.isArray(D)?x.splice(k,1,...D):D?x[k]=D:x.splice(k,1)}return x.length>0?this:void 0}optimizeNames(x,k){let{nodes:D}=this,K=D.length;for(;K--;){let J=D[K];J.optimizeNames(x,k)||(W(x,J.names),D.splice(K,1))}return D.length>0?this:void 0}get names(){return this.nodes.reduce((x,k)=>q(x,k.names),{})}}class g extends m{render(x){return"{"+x._n+super.render(x)+"}"+x._n}}class _ extends m{}class f extends g{}f.kind="else";class h extends g{constructor(x,k){super(k),this.condition=x}render(x){let k=`if(${this.condition})`+super.render(x);return this.else&&(k+="else "+this.else.render(x)),k}optimizeNodes(){super.optimizeNodes();let x=this.condition;if(x===!0)return this.nodes;let k=this.else;if(k){let D=k.optimizeNodes();k=this.else=Array.isArray(D)?new f(D):D}if(k)return x===!1?k instanceof h?k:k.nodes:this.nodes.length?this:new h(oe(x),k instanceof h?[k]:k.nodes);if(!(x===!1||!this.nodes.length))return this}optimizeNames(x,k){var D;if(this.else=(D=this.else)===null||D===void 0?void 0:D.optimizeNames(x,k),!!(super.optimizeNames(x,k)||this.else))return this.condition=N(this.condition,x,k),this}get names(){let x=super.names;return H(x,this.condition),this.else&&q(x,this.else.names),x}}h.kind="if";class y extends g{}y.kind="for";class v extends y{constructor(x){super(),this.iteration=x}render(x){return`for(${this.iteration})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iteration=N(this.iteration,x,k),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor(x,k,D,K){super(),this.varKind=x,this.name=k,this.from=D,this.to=K}render(x){let k=x.es5?r.varKinds.var:this.varKind,{name:D,from:K,to:J}=this;return`for(${k} ${D}=${K}; ${D}<${J}; ${D}++)`+super.render(x)}get names(){let x=H(super.names,this.from);return H(x,this.to)}}class w extends y{constructor(x,k,D,K){super(),this.loop=x,this.varKind=k,this.name=D,this.iterable=K}render(x){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iterable=N(this.iterable,x,k),this}get names(){return q(super.names,this.iterable.names)}}class S extends g{constructor(x,k,D){super(),this.name=x,this.args=k,this.async=D}render(x){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(x)}}S.kind="func";class E extends m{render(x){return"return "+super.render(x)}}E.kind="return";class T extends g{render(x){let k="try"+super.render(x);return this.catch&&(k+=this.catch.render(x)),this.finally&&(k+=this.finally.render(x)),k}optimizeNodes(){var x,k;return super.optimizeNodes(),(x=this.catch)===null||x===void 0||x.optimizeNodes(),(k=this.finally)===null||k===void 0||k.optimizeNodes(),this}optimizeNames(x,k){var D,K;return super.optimizeNames(x,k),(D=this.catch)===null||D===void 0||D.optimizeNames(x,k),(K=this.finally)===null||K===void 0||K.optimizeNames(x,k),this}get names(){let x=super.names;return this.catch&&q(x,this.catch.names),this.finally&&q(x,this.finally.names),x}}class R extends g{constructor(x){super(),this.error=x}render(x){return`catch(${this.error})`+super.render(x)}}R.kind="catch";class M extends g{render(x){return"finally"+super.render(x)}}M.kind="finally";class j{constructor(x,k={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...k,_n:k.lines?` -`:""},this._extScope=x,this._scope=new r.Scope({parent:x}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name(x){return this._scope.name(x)}scopeName(x){return this._extScope.name(x)}scopeValue(x,k){let D=this._extScope.value(x,k);return(this._values[D.prefix]||(this._values[D.prefix]=new Set)).add(D),D}getScopeValue(x,k){return this._extScope.getValue(x,k)}scopeRefs(x){return this._extScope.scopeRefs(x,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(x,k,D,K){let J=this._scope.toName(k);return D!==void 0&&K&&(this._constants[J.str]=D),this._leafNode(new i(x,J,D)),J}const(x,k,D){return this._def(r.varKinds.const,x,k,D)}let(x,k,D){return this._def(r.varKinds.let,x,k,D)}var(x,k,D){return this._def(r.varKinds.var,x,k,D)}assign(x,k,D){return this._leafNode(new o(x,k,D))}add(x,k){return this._leafNode(new c(x,t.operators.ADD,k))}code(x){return typeof x=="function"?x():x!==e.nil&&this._leafNode(new p(x)),this}object(...x){let k=["{"];for(let[D,K]of x)k.length>1&&k.push(","),k.push(D),(D!==K||this.opts.es5)&&(k.push(":"),(0,e.addCodeArg)(k,K));return k.push("}"),new e._Code(k)}if(x,k,D){if(this._blockNode(new h(x)),k&&D)this.code(k).else().code(D).endIf();else if(k)this.code(k).endIf();else if(D)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(x){return this._elseNode(new h(x))}else(){return this._elseNode(new f)}endIf(){return this._endBlockNode(h,f)}_for(x,k){return this._blockNode(x),k&&this.code(k).endFor(),this}for(x,k){return this._for(new v(x),k)}forRange(x,k,D,K,J=this.opts.es5?r.varKinds.var:r.varKinds.let){let de=this._scope.toName(x);return this._for(new b(J,de,k,D),()=>K(de))}forOf(x,k,D,K=r.varKinds.const){let J=this._scope.toName(x);if(this.opts.es5){let de=k instanceof e.Name?k:this.var("_arr",k);return this.forRange("_i",0,(0,e._)`${de}.length`,se=>{this.var(J,(0,e._)`${de}[${se}]`),D(J)})}return this._for(new w("of",K,J,k),()=>D(J))}forIn(x,k,D,K=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(x,(0,e._)`Object.keys(${k})`,D);let J=this._scope.toName(x);return this._for(new w("in",K,J,k),()=>D(J))}endFor(){return this._endBlockNode(y)}label(x){return this._leafNode(new u(x))}break(x){return this._leafNode(new l(x))}return(x){let k=new E;if(this._blockNode(k),this.code(x),k.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(x,k,D){if(!k&&!D)throw new Error('CodeGen: "try" without "catch" and "finally"');let K=new T;if(this._blockNode(K),this.code(x),k){let J=this.name("e");this._currNode=K.catch=new R(J),k(J)}return D&&(this._currNode=K.finally=new M,this.code(D)),this._endBlockNode(R,M)}throw(x){return this._leafNode(new d(x))}block(x,k){return this._blockStarts.push(this._nodes.length),x&&this.code(x).endBlock(k),this}endBlock(x){let k=this._blockStarts.pop();if(k===void 0)throw new Error("CodeGen: not in self-balancing block");let D=this._nodes.length-k;if(D<0||x!==void 0&&D!==x)throw new Error(`CodeGen: wrong number of nodes: ${D} vs ${x} expected`);return this._nodes.length=k,this}func(x,k=e.nil,D,K){return this._blockNode(new S(x,k,D)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(x=1){for(;x-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(x){return this._currNode.nodes.push(x),this}_blockNode(x){this._currNode.nodes.push(x),this._nodes.push(x)}_endBlockNode(x,k){let D=this._currNode;if(D instanceof x||k&&D instanceof k)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${k?`${x.kind}/${k.kind}`:x.kind}"`)}_elseNode(x){let k=this._currNode;if(!(k instanceof h))throw new Error('CodeGen: "else" without "if"');return this._currNode=k.else=x,this}get _root(){return this._nodes[0]}get _currNode(){let x=this._nodes;return x[x.length-1]}set _currNode(x){let k=this._nodes;k[k.length-1]=x}}t.CodeGen=j;function q(A,x){for(let k in x)A[k]=(A[k]||0)+(x[k]||0);return A}function H(A,x){return x instanceof e._CodeOrName?q(A,x.names):A}function N(A,x,k){if(A instanceof e.Name)return D(A);if(!K(A))return A;return new e._Code(A._items.reduce((J,de)=>(de instanceof e.Name&&(de=D(de)),de instanceof e._Code?J.push(...de._items):J.push(de),J),[]));function D(J){let de=k[J.str];return de===void 0||x[J.str]!==1?J:(delete x[J.str],de)}function K(J){return J instanceof e._Code&&J._items.some(de=>de instanceof e.Name&&x[de.str]===1&&k[de.str]!==void 0)}}function W(A,x){for(let k in x)A[k]=(A[k]||0)-(x[k]||0)}function oe(A){return typeof A=="boolean"||typeof A=="number"||A===null?!A:(0,e._)`!${z(A)}`}t.not=oe;var he=$(t.operators.AND);function ae(...A){return A.reduce(he)}t.and=ae;var re=$(t.operators.OR);function U(...A){return A.reduce(re)}t.or=U;function $(A){return(x,k)=>x===e.nil?k:k===e.nil?x:(0,e._)`${z(x)} ${A} ${z(k)}`}function z(A){return A instanceof e.Name?A:(0,e._)`(${A})`}}),Qe=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Ge(),r=pl();function a(S){let E={};for(let T of S)E[T]=!0;return E}t.toHash=a;function n(S,E){return typeof E=="boolean"?E:Object.keys(E).length===0?!0:(s(S,E),!i(E,S.self.RULES.all))}t.alwaysValidSchema=n;function s(S,E=S.schema){let{opts:T,self:R}=S;if(!T.strictSchema||typeof E=="boolean")return;let M=R.RULES.keywords;for(let j in E)M[j]||w(S,`unknown keyword: "${j}"`)}t.checkUnknownRules=s;function i(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(E[T])return!0;return!1}t.schemaHasRules=i;function o(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(T!=="$ref"&&E.all[T])return!0;return!1}t.schemaHasRulesButRef=o;function c({topSchemaRef:S,schemaPath:E},T,R,M){if(!M){if(typeof T=="number"||typeof T=="boolean")return T;if(typeof T=="string")return(0,e._)`${T}`}return(0,e._)`${S}${E}${(0,e.getProperty)(R)}`}t.schemaRefOrVal=c;function u(S){return p(decodeURIComponent(S))}t.unescapeFragment=u;function l(S){return encodeURIComponent(d(S))}t.escapeFragment=l;function d(S){return typeof S=="number"?`${S}`:S.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(S){return S.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function m(S,E){if(Array.isArray(S))for(let T of S)E(T);else E(S)}t.eachItem=m;function g({mergeNames:S,mergeToName:E,mergeValues:T,resultToName:R}){return(M,j,q,H)=>{let N=q===void 0?j:q instanceof e.Name?(j instanceof e.Name?S(M,j,q):E(M,j,q),q):j instanceof e.Name?(E(M,q,j),j):T(j,q);return H===e.Name&&!(N instanceof e.Name)?R(M,N):N}}t.mergeEvaluated={props:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>{S.if((0,e._)`${E} === true`,()=>S.assign(T,!0),()=>S.assign(T,(0,e._)`${T} || {}`).code((0,e._)`Object.assign(${T}, ${E})`))}),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>{E===!0?S.assign(T,!0):(S.assign(T,(0,e._)`${T} || {}`),f(S,T,E))}),mergeValues:(S,E)=>S===!0?!0:{...S,...E},resultToName:_}),items:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>S.assign(T,(0,e._)`${E} === true ? true : ${T} > ${E} ? ${T} : ${E}`)),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>S.assign(T,E===!0?!0:(0,e._)`${T} > ${E} ? ${T} : ${E}`)),mergeValues:(S,E)=>S===!0?!0:Math.max(S,E),resultToName:(S,E)=>S.var("items",E)})};function _(S,E){if(E===!0)return S.var("props",!0);let T=S.var("props",(0,e._)`{}`);return E!==void 0&&f(S,T,E),T}t.evaluatedPropsToName=_;function f(S,E,T){Object.keys(T).forEach(R=>S.assign((0,e._)`${E}${(0,e.getProperty)(R)}`,!0))}t.setEvaluated=f;var h={};function y(S,E){return S.scopeValue("func",{ref:E,code:h[E.code]||(h[E.code]=new r._Code(E.code))})}t.useFunc=y;var v;(function(S){S[S.Num=0]="Num",S[S.Str=1]="Str"})(v||(t.Type=v={}));function b(S,E,T){if(S instanceof e.Name){let R=E===v.Num;return T?R?(0,e._)`"[" + ${S} + "]"`:(0,e._)`"['" + ${S} + "']"`:R?(0,e._)`"/" + ${S}`:(0,e._)`"/" + ${S}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return T?(0,e.getProperty)(S).toString():"/"+d(S)}t.getErrorPath=b;function w(S,E,T=S.opts.strictSchema){if(T){if(E=`strict mode: ${E}`,T===!0)throw new Error(E);S.self.logger.warn(E)}}t.checkStrictMode=w}),Yn=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),xl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Ge(),r=Qe(),a=Yn();t.keywordError={message:({keyword:f})=>(0,e.str)`must pass "${f}" keyword validation`},t.keyword$DataError={message:({keyword:f,schemaType:h})=>h?(0,e.str)`"${f}" keyword must be ${h} ($data)`:(0,e.str)`"${f}" keyword is invalid ($data)`};function n(f,h=t.keywordError,y,v){let{it:b}=f,{gen:w,compositeRule:S,allErrors:E}=b,T=d(f,h,y);v??(S||E)?c(w,T):u(b,(0,e._)`[${T}]`)}t.reportError=n;function s(f,h=t.keywordError,y){let{it:v}=f,{gen:b,compositeRule:w,allErrors:S}=v,E=d(f,h,y);c(b,E),w||S||u(v,a.default.vErrors)}t.reportExtraError=s;function i(f,h){f.assign(a.default.errors,h),f.if((0,e._)`${a.default.vErrors} !== null`,()=>f.if(h,()=>f.assign((0,e._)`${a.default.vErrors}.length`,h),()=>f.assign(a.default.vErrors,null)))}t.resetErrorsCount=i;function o({gen:f,keyword:h,schemaValue:y,data:v,errsCount:b,it:w}){if(b===void 0)throw new Error("ajv implementation error");let S=f.name("err");f.forRange("i",b,a.default.errors,E=>{f.const(S,(0,e._)`${a.default.vErrors}[${E}]`),f.if((0,e._)`${S}.instancePath === undefined`,()=>f.assign((0,e._)`${S}.instancePath`,(0,e.strConcat)(a.default.instancePath,w.errorPath))),f.assign((0,e._)`${S}.schemaPath`,(0,e.str)`${w.errSchemaPath}/${h}`),w.opts.verbose&&(f.assign((0,e._)`${S}.schema`,y),f.assign((0,e._)`${S}.data`,v))})}t.extendErrors=o;function c(f,h){let y=f.const("err",h);f.if((0,e._)`${a.default.vErrors} === null`,()=>f.assign(a.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${a.default.vErrors}.push(${y})`),f.code((0,e._)`${a.default.errors}++`)}function u(f,h){let{gen:y,validateName:v,schemaEnv:b}=f;b.$async?y.throw((0,e._)`new ${f.ValidationError}(${h})`):(y.assign((0,e._)`${v}.errors`,h),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(f,h,y){let{createErrors:v}=f.it;return v===!1?(0,e._)`{}`:p(f,h,y)}function p(f,h,y={}){let{gen:v,it:b}=f,w=[m(b,y),g(f,y)];return _(f,h,w),v.object(...w)}function m({errorPath:f},{instancePath:h}){let y=h?(0,e.str)`${f}${(0,r.getErrorPath)(h,r.Type.Str)}`:f;return[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,y)]}function g({keyword:f,it:{errSchemaPath:h}},{schemaPath:y,parentSchema:v}){let b=v?h:(0,e.str)`${h}/${f}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(f,{params:h,message:y},v){let{keyword:b,data:w,schemaValue:S,it:E}=f,{opts:T,propertyName:R,topSchemaRef:M,schemaPath:j}=E;v.push([l.keyword,b],[l.params,typeof h=="function"?h(f):h||(0,e._)`{}`]),T.messages&&v.push([l.message,typeof y=="function"?y(f):y]),T.verbose&&v.push([l.schema,S],[l.parentSchema,(0,e._)`${M}${j}`],[a.default.data,w]),R&&v.push([l.propertyName,R])}}),J9=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=xl(),r=Ge(),a=Yn(),n={message:"boolean schema is false"};function s(c){let{gen:u,schema:l,validateName:d}=c;l===!1?o(c,!1):typeof l=="object"&&l.$async===!0?u.return(a.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=s;function i(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),o(c)):l.var(u,!0)}t.boolOrEmptySchema=i;function o(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,n,void 0,u)}}),wT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function a(s){return typeof s=="string"&&r.has(s)}t.isJSONType=a;function n(){let s={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...s,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},s.number,s.string,s.array,s.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=n}),ET=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:n,self:s},i){let o=s.RULES.types[i];return o&&o!==!0&&r(n,o)}t.schemaHasRulesForType=e;function r(n,s){return s.rules.some(i=>a(n,i))}t.shouldUseGroup=r;function a(n,s){var i;return n[s.keyword]!==void 0||((i=s.definition.implements)===null||i===void 0?void 0:i.some(o=>n[o]!==void 0))}t.shouldUseRule=a}),fl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=wT(),r=ET(),a=xl(),n=Ge(),s=Qe(),i;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(i||(t.DataType=i={}));function o(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=o;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:w,data:S,opts:E}=v,T=d(b,E.coerceTypes),R=b.length>0&&!(T.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(R){let M=_(b,S,E.strictNumbers,i.Wrong);w.if(M,()=>{T.length?p(v,b,T):h(v)})}return R}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(w=>l.has(w)||b==="array"&&w==="array"):[]}function p(v,b,w){let{gen:S,data:E,opts:T}=v,R=S.let("dataType",(0,n._)`typeof ${E}`),M=S.let("coerced",(0,n._)`undefined`);T.coerceTypes==="array"&&S.if((0,n._)`${R} == 'object' && Array.isArray(${E}) && ${E}.length == 1`,()=>S.assign(E,(0,n._)`${E}[0]`).assign(R,(0,n._)`typeof ${E}`).if(_(b,E,T.strictNumbers),()=>S.assign(M,E))),S.if((0,n._)`${M} !== undefined`);for(let q of w)(l.has(q)||q==="array"&&T.coerceTypes==="array")&&j(q);S.else(),h(v),S.endIf(),S.if((0,n._)`${M} !== undefined`,()=>{S.assign(E,M),m(v,M)});function j(q){switch(q){case"string":S.elseIf((0,n._)`${R} == "number" || ${R} == "boolean"`).assign(M,(0,n._)`"" + ${E}`).elseIf((0,n._)`${E} === null`).assign(M,(0,n._)`""`);return;case"number":S.elseIf((0,n._)`${R} == "boolean" || ${E} === null +${a.prompts.header_memory_continued}`}Or();mr();ln();var xm=require("path"),NT=require("url"),MT=require("events"),DT=require("child_process"),LT=require("readline"),Te=xt(require("fs"),1),qT=require("fs/promises"),BT=require("path"),VT=require("os"),Ha=require("path"),ZT=require("process"),WT=require("fs"),KT=require("crypto"),QT=require("crypto"),Si=require("fs"),wm=require("path"),ek=require("crypto");var sV={},ZL=Object.create,WL=Object.getPrototypeOf,Sm=Object.defineProperty,KL=Object.getOwnPropertyNames,XL=Object.prototype.hasOwnProperty,ST=(t,e,r)=>{r=t!=null?ZL(WL(t)):{};let a=e||!t||!t.__esModule?Sm(r,"default",{value:t,enumerable:!0}):r;for(let n of KL(t))XL.call(a,n)||Sm(a,n,{get:()=>t[n],enumerable:!0});return a},Q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xT=(t,e)=>{for(var r in e)Sm(t,r,{get:e[r],enumerable:!0,configurable:!0,set:a=>e[r]=()=>a})};var pl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class a extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=a,t.nil=new a("");function n(h,...y){let v=[h[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=pl();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var a;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(a||(t.UsedValueState=a={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class n{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=n;class s extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=s;var i=(0,e._)`\n`;class o extends n{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:e.nil}}get(){return this._scope}name(u){return new s(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:m}=p,g=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[m];if(_){let y=_.get(g);if(y)return y}else _=this._values[m]=new Map;_.set(g,p);let f=this._scope[m]||(this._scope[m]=[]),h=f.length;return f[h]=l.ref,p.setValue(l,{property:m,itemIndex:h}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let m=e.nil;for(let g in u){let _=u[g];if(!_)continue;let f=d[g]=d[g]||new Map;_.forEach(h=>{if(f.has(h))return;f.set(h,a.Started);let y=l(h);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;m=(0,e._)`${m}${v} ${h} = ${y};${this.opts._n}`}else if(y=p?.(h))m=(0,e._)`${m}${y}${this.opts._n}`;else throw new r(h);f.set(h,a.Completed)})}return m}}t.ValueScope=o}),Ge=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=pl(),r=H1(),a=pl();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return a.Name}});var n=H1();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return n.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return n.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return n.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return n.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class s{optimizeNodes(){return this}optimizeNames(x,k){return this}}class i extends s{constructor(x,k,D){super(),this.varKind=x,this.name=k,this.rhs=D}render({es5:x,_n:k}){let D=x?r.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${D} ${this.name}${K};`+k}optimizeNames(x,k){if(x[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,x,k)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class o extends s{constructor(x,k,D){super(),this.lhs=x,this.rhs=k,this.sideEffects=D}render({_n:x}){return`${this.lhs} = ${this.rhs};`+x}optimizeNames(x,k){if(!(this.lhs instanceof e.Name&&!x[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,x,k),this}get names(){let x=this.lhs instanceof e.Name?{}:{...this.lhs.names};return H(x,this.rhs)}}class c extends o{constructor(x,k,D,K){super(x,D,K),this.op=k}render({_n:x}){return`${this.lhs} ${this.op}= ${this.rhs};`+x}}class u extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`${this.label}:`+x}}class l extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`break${this.label?` ${this.label}`:""};`+x}}class d extends s{constructor(x){super(),this.error=x}render({_n:x}){return`throw ${this.error};`+x}get names(){return this.error.names}}class p extends s{constructor(x){super(),this.code=x}render({_n:x}){return`${this.code};`+x}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(x,k){return this.code=N(this.code,x,k),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class m extends s{constructor(x=[]){super(),this.nodes=x}render(x){return this.nodes.reduce((k,D)=>k+D.render(x),"")}optimizeNodes(){let{nodes:x}=this,k=x.length;for(;k--;){let D=x[k].optimizeNodes();Array.isArray(D)?x.splice(k,1,...D):D?x[k]=D:x.splice(k,1)}return x.length>0?this:void 0}optimizeNames(x,k){let{nodes:D}=this,K=D.length;for(;K--;){let J=D[K];J.optimizeNames(x,k)||(W(x,J.names),D.splice(K,1))}return D.length>0?this:void 0}get names(){return this.nodes.reduce((x,k)=>q(x,k.names),{})}}class g extends m{render(x){return"{"+x._n+super.render(x)+"}"+x._n}}class _ extends m{}class f extends g{}f.kind="else";class h extends g{constructor(x,k){super(k),this.condition=x}render(x){let k=`if(${this.condition})`+super.render(x);return this.else&&(k+="else "+this.else.render(x)),k}optimizeNodes(){super.optimizeNodes();let x=this.condition;if(x===!0)return this.nodes;let k=this.else;if(k){let D=k.optimizeNodes();k=this.else=Array.isArray(D)?new f(D):D}if(k)return x===!1?k instanceof h?k:k.nodes:this.nodes.length?this:new h(oe(x),k instanceof h?[k]:k.nodes);if(!(x===!1||!this.nodes.length))return this}optimizeNames(x,k){var D;if(this.else=(D=this.else)===null||D===void 0?void 0:D.optimizeNames(x,k),!!(super.optimizeNames(x,k)||this.else))return this.condition=N(this.condition,x,k),this}get names(){let x=super.names;return H(x,this.condition),this.else&&q(x,this.else.names),x}}h.kind="if";class y extends g{}y.kind="for";class v extends y{constructor(x){super(),this.iteration=x}render(x){return`for(${this.iteration})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iteration=N(this.iteration,x,k),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor(x,k,D,K){super(),this.varKind=x,this.name=k,this.from=D,this.to=K}render(x){let k=x.es5?r.varKinds.var:this.varKind,{name:D,from:K,to:J}=this;return`for(${k} ${D}=${K}; ${D}<${J}; ${D}++)`+super.render(x)}get names(){let x=H(super.names,this.from);return H(x,this.to)}}class w extends y{constructor(x,k,D,K){super(),this.loop=x,this.varKind=k,this.name=D,this.iterable=K}render(x){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iterable=N(this.iterable,x,k),this}get names(){return q(super.names,this.iterable.names)}}class S extends g{constructor(x,k,D){super(),this.name=x,this.args=k,this.async=D}render(x){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(x)}}S.kind="func";class E extends m{render(x){return"return "+super.render(x)}}E.kind="return";class T extends g{render(x){let k="try"+super.render(x);return this.catch&&(k+=this.catch.render(x)),this.finally&&(k+=this.finally.render(x)),k}optimizeNodes(){var x,k;return super.optimizeNodes(),(x=this.catch)===null||x===void 0||x.optimizeNodes(),(k=this.finally)===null||k===void 0||k.optimizeNodes(),this}optimizeNames(x,k){var D,K;return super.optimizeNames(x,k),(D=this.catch)===null||D===void 0||D.optimizeNames(x,k),(K=this.finally)===null||K===void 0||K.optimizeNames(x,k),this}get names(){let x=super.names;return this.catch&&q(x,this.catch.names),this.finally&&q(x,this.finally.names),x}}class R extends g{constructor(x){super(),this.error=x}render(x){return`catch(${this.error})`+super.render(x)}}R.kind="catch";class M extends g{render(x){return"finally"+super.render(x)}}M.kind="finally";class j{constructor(x,k={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...k,_n:k.lines?` +`:""},this._extScope=x,this._scope=new r.Scope({parent:x}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name(x){return this._scope.name(x)}scopeName(x){return this._extScope.name(x)}scopeValue(x,k){let D=this._extScope.value(x,k);return(this._values[D.prefix]||(this._values[D.prefix]=new Set)).add(D),D}getScopeValue(x,k){return this._extScope.getValue(x,k)}scopeRefs(x){return this._extScope.scopeRefs(x,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(x,k,D,K){let J=this._scope.toName(k);return D!==void 0&&K&&(this._constants[J.str]=D),this._leafNode(new i(x,J,D)),J}const(x,k,D){return this._def(r.varKinds.const,x,k,D)}let(x,k,D){return this._def(r.varKinds.let,x,k,D)}var(x,k,D){return this._def(r.varKinds.var,x,k,D)}assign(x,k,D){return this._leafNode(new o(x,k,D))}add(x,k){return this._leafNode(new c(x,t.operators.ADD,k))}code(x){return typeof x=="function"?x():x!==e.nil&&this._leafNode(new p(x)),this}object(...x){let k=["{"];for(let[D,K]of x)k.length>1&&k.push(","),k.push(D),(D!==K||this.opts.es5)&&(k.push(":"),(0,e.addCodeArg)(k,K));return k.push("}"),new e._Code(k)}if(x,k,D){if(this._blockNode(new h(x)),k&&D)this.code(k).else().code(D).endIf();else if(k)this.code(k).endIf();else if(D)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(x){return this._elseNode(new h(x))}else(){return this._elseNode(new f)}endIf(){return this._endBlockNode(h,f)}_for(x,k){return this._blockNode(x),k&&this.code(k).endFor(),this}for(x,k){return this._for(new v(x),k)}forRange(x,k,D,K,J=this.opts.es5?r.varKinds.var:r.varKinds.let){let de=this._scope.toName(x);return this._for(new b(J,de,k,D),()=>K(de))}forOf(x,k,D,K=r.varKinds.const){let J=this._scope.toName(x);if(this.opts.es5){let de=k instanceof e.Name?k:this.var("_arr",k);return this.forRange("_i",0,(0,e._)`${de}.length`,se=>{this.var(J,(0,e._)`${de}[${se}]`),D(J)})}return this._for(new w("of",K,J,k),()=>D(J))}forIn(x,k,D,K=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(x,(0,e._)`Object.keys(${k})`,D);let J=this._scope.toName(x);return this._for(new w("in",K,J,k),()=>D(J))}endFor(){return this._endBlockNode(y)}label(x){return this._leafNode(new u(x))}break(x){return this._leafNode(new l(x))}return(x){let k=new E;if(this._blockNode(k),this.code(x),k.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(x,k,D){if(!k&&!D)throw new Error('CodeGen: "try" without "catch" and "finally"');let K=new T;if(this._blockNode(K),this.code(x),k){let J=this.name("e");this._currNode=K.catch=new R(J),k(J)}return D&&(this._currNode=K.finally=new M,this.code(D)),this._endBlockNode(R,M)}throw(x){return this._leafNode(new d(x))}block(x,k){return this._blockStarts.push(this._nodes.length),x&&this.code(x).endBlock(k),this}endBlock(x){let k=this._blockStarts.pop();if(k===void 0)throw new Error("CodeGen: not in self-balancing block");let D=this._nodes.length-k;if(D<0||x!==void 0&&D!==x)throw new Error(`CodeGen: wrong number of nodes: ${D} vs ${x} expected`);return this._nodes.length=k,this}func(x,k=e.nil,D,K){return this._blockNode(new S(x,k,D)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(x=1){for(;x-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(x){return this._currNode.nodes.push(x),this}_blockNode(x){this._currNode.nodes.push(x),this._nodes.push(x)}_endBlockNode(x,k){let D=this._currNode;if(D instanceof x||k&&D instanceof k)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${k?`${x.kind}/${k.kind}`:x.kind}"`)}_elseNode(x){let k=this._currNode;if(!(k instanceof h))throw new Error('CodeGen: "else" without "if"');return this._currNode=k.else=x,this}get _root(){return this._nodes[0]}get _currNode(){let x=this._nodes;return x[x.length-1]}set _currNode(x){let k=this._nodes;k[k.length-1]=x}}t.CodeGen=j;function q(A,x){for(let k in x)A[k]=(A[k]||0)+(x[k]||0);return A}function H(A,x){return x instanceof e._CodeOrName?q(A,x.names):A}function N(A,x,k){if(A instanceof e.Name)return D(A);if(!K(A))return A;return new e._Code(A._items.reduce((J,de)=>(de instanceof e.Name&&(de=D(de)),de instanceof e._Code?J.push(...de._items):J.push(de),J),[]));function D(J){let de=k[J.str];return de===void 0||x[J.str]!==1?J:(delete x[J.str],de)}function K(J){return J instanceof e._Code&&J._items.some(de=>de instanceof e.Name&&x[de.str]===1&&k[de.str]!==void 0)}}function W(A,x){for(let k in x)A[k]=(A[k]||0)-(x[k]||0)}function oe(A){return typeof A=="boolean"||typeof A=="number"||A===null?!A:(0,e._)`!${z(A)}`}t.not=oe;var he=P(t.operators.AND);function ae(...A){return A.reduce(he)}t.and=ae;var re=P(t.operators.OR);function U(...A){return A.reduce(re)}t.or=U;function P(A){return(x,k)=>x===e.nil?k:k===e.nil?x:(0,e._)`${z(x)} ${A} ${z(k)}`}function z(A){return A instanceof e.Name?A:(0,e._)`(${A})`}}),Qe=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=Ge(),r=pl();function a(S){let E={};for(let T of S)E[T]=!0;return E}t.toHash=a;function n(S,E){return typeof E=="boolean"?E:Object.keys(E).length===0?!0:(s(S,E),!i(E,S.self.RULES.all))}t.alwaysValidSchema=n;function s(S,E=S.schema){let{opts:T,self:R}=S;if(!T.strictSchema||typeof E=="boolean")return;let M=R.RULES.keywords;for(let j in E)M[j]||w(S,`unknown keyword: "${j}"`)}t.checkUnknownRules=s;function i(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(E[T])return!0;return!1}t.schemaHasRules=i;function o(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(T!=="$ref"&&E.all[T])return!0;return!1}t.schemaHasRulesButRef=o;function c({topSchemaRef:S,schemaPath:E},T,R,M){if(!M){if(typeof T=="number"||typeof T=="boolean")return T;if(typeof T=="string")return(0,e._)`${T}`}return(0,e._)`${S}${E}${(0,e.getProperty)(R)}`}t.schemaRefOrVal=c;function u(S){return p(decodeURIComponent(S))}t.unescapeFragment=u;function l(S){return encodeURIComponent(d(S))}t.escapeFragment=l;function d(S){return typeof S=="number"?`${S}`:S.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(S){return S.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function m(S,E){if(Array.isArray(S))for(let T of S)E(T);else E(S)}t.eachItem=m;function g({mergeNames:S,mergeToName:E,mergeValues:T,resultToName:R}){return(M,j,q,H)=>{let N=q===void 0?j:q instanceof e.Name?(j instanceof e.Name?S(M,j,q):E(M,j,q),q):j instanceof e.Name?(E(M,q,j),j):T(j,q);return H===e.Name&&!(N instanceof e.Name)?R(M,N):N}}t.mergeEvaluated={props:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>{S.if((0,e._)`${E} === true`,()=>S.assign(T,!0),()=>S.assign(T,(0,e._)`${T} || {}`).code((0,e._)`Object.assign(${T}, ${E})`))}),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>{E===!0?S.assign(T,!0):(S.assign(T,(0,e._)`${T} || {}`),f(S,T,E))}),mergeValues:(S,E)=>S===!0?!0:{...S,...E},resultToName:_}),items:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>S.assign(T,(0,e._)`${E} === true ? true : ${T} > ${E} ? ${T} : ${E}`)),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>S.assign(T,E===!0?!0:(0,e._)`${T} > ${E} ? ${T} : ${E}`)),mergeValues:(S,E)=>S===!0?!0:Math.max(S,E),resultToName:(S,E)=>S.var("items",E)})};function _(S,E){if(E===!0)return S.var("props",!0);let T=S.var("props",(0,e._)`{}`);return E!==void 0&&f(S,T,E),T}t.evaluatedPropsToName=_;function f(S,E,T){Object.keys(T).forEach(R=>S.assign((0,e._)`${E}${(0,e.getProperty)(R)}`,!0))}t.setEvaluated=f;var h={};function y(S,E){return S.scopeValue("func",{ref:E,code:h[E.code]||(h[E.code]=new r._Code(E.code))})}t.useFunc=y;var v;(function(S){S[S.Num=0]="Num",S[S.Str=1]="Str"})(v||(t.Type=v={}));function b(S,E,T){if(S instanceof e.Name){let R=E===v.Num;return T?R?(0,e._)`"[" + ${S} + "]"`:(0,e._)`"['" + ${S} + "']"`:R?(0,e._)`"/" + ${S}`:(0,e._)`"/" + ${S}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return T?(0,e.getProperty)(S).toString():"/"+d(S)}t.getErrorPath=b;function w(S,E,T=S.opts.strictSchema){if(T){if(E=`strict mode: ${E}`,T===!0)throw new Error(E);S.self.logger.warn(E)}}t.checkStrictMode=w}),Yn=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),xl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=Ge(),r=Qe(),a=Yn();t.keywordError={message:({keyword:f})=>(0,e.str)`must pass "${f}" keyword validation`},t.keyword$DataError={message:({keyword:f,schemaType:h})=>h?(0,e.str)`"${f}" keyword must be ${h} ($data)`:(0,e.str)`"${f}" keyword is invalid ($data)`};function n(f,h=t.keywordError,y,v){let{it:b}=f,{gen:w,compositeRule:S,allErrors:E}=b,T=d(f,h,y);v??(S||E)?c(w,T):u(b,(0,e._)`[${T}]`)}t.reportError=n;function s(f,h=t.keywordError,y){let{it:v}=f,{gen:b,compositeRule:w,allErrors:S}=v,E=d(f,h,y);c(b,E),w||S||u(v,a.default.vErrors)}t.reportExtraError=s;function i(f,h){f.assign(a.default.errors,h),f.if((0,e._)`${a.default.vErrors} !== null`,()=>f.if(h,()=>f.assign((0,e._)`${a.default.vErrors}.length`,h),()=>f.assign(a.default.vErrors,null)))}t.resetErrorsCount=i;function o({gen:f,keyword:h,schemaValue:y,data:v,errsCount:b,it:w}){if(b===void 0)throw new Error("ajv implementation error");let S=f.name("err");f.forRange("i",b,a.default.errors,E=>{f.const(S,(0,e._)`${a.default.vErrors}[${E}]`),f.if((0,e._)`${S}.instancePath === undefined`,()=>f.assign((0,e._)`${S}.instancePath`,(0,e.strConcat)(a.default.instancePath,w.errorPath))),f.assign((0,e._)`${S}.schemaPath`,(0,e.str)`${w.errSchemaPath}/${h}`),w.opts.verbose&&(f.assign((0,e._)`${S}.schema`,y),f.assign((0,e._)`${S}.data`,v))})}t.extendErrors=o;function c(f,h){let y=f.const("err",h);f.if((0,e._)`${a.default.vErrors} === null`,()=>f.assign(a.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${a.default.vErrors}.push(${y})`),f.code((0,e._)`${a.default.errors}++`)}function u(f,h){let{gen:y,validateName:v,schemaEnv:b}=f;b.$async?y.throw((0,e._)`new ${f.ValidationError}(${h})`):(y.assign((0,e._)`${v}.errors`,h),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(f,h,y){let{createErrors:v}=f.it;return v===!1?(0,e._)`{}`:p(f,h,y)}function p(f,h,y={}){let{gen:v,it:b}=f,w=[m(b,y),g(f,y)];return _(f,h,w),v.object(...w)}function m({errorPath:f},{instancePath:h}){let y=h?(0,e.str)`${f}${(0,r.getErrorPath)(h,r.Type.Str)}`:f;return[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,y)]}function g({keyword:f,it:{errSchemaPath:h}},{schemaPath:y,parentSchema:v}){let b=v?h:(0,e.str)`${h}/${f}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(f,{params:h,message:y},v){let{keyword:b,data:w,schemaValue:S,it:E}=f,{opts:T,propertyName:R,topSchemaRef:M,schemaPath:j}=E;v.push([l.keyword,b],[l.params,typeof h=="function"?h(f):h||(0,e._)`{}`]),T.messages&&v.push([l.message,typeof y=="function"?y(f):y]),T.verbose&&v.push([l.schema,S],[l.parentSchema,(0,e._)`${M}${j}`],[a.default.data,w]),R&&v.push([l.propertyName,R])}}),JL=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=xl(),r=Ge(),a=Yn(),n={message:"boolean schema is false"};function s(c){let{gen:u,schema:l,validateName:d}=c;l===!1?o(c,!1):typeof l=="object"&&l.$async===!0?u.return(a.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=s;function i(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),o(c)):l.var(u,!0)}t.boolOrEmptySchema=i;function o(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,n,void 0,u)}}),wT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function a(s){return typeof s=="string"&&r.has(s)}t.isJSONType=a;function n(){let s={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...s,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},s.number,s.string,s.array,s.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=n}),ET=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:n,self:s},i){let o=s.RULES.types[i];return o&&o!==!0&&r(n,o)}t.schemaHasRulesForType=e;function r(n,s){return s.rules.some(i=>a(n,i))}t.shouldUseGroup=r;function a(n,s){var i;return n[s.keyword]!==void 0||((i=s.definition.implements)===null||i===void 0?void 0:i.some(o=>n[o]!==void 0))}t.shouldUseRule=a}),fl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=wT(),r=ET(),a=xl(),n=Ge(),s=Qe(),i;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(i||(t.DataType=i={}));function o(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=o;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:w,data:S,opts:E}=v,T=d(b,E.coerceTypes),R=b.length>0&&!(T.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(R){let M=_(b,S,E.strictNumbers,i.Wrong);w.if(M,()=>{T.length?p(v,b,T):h(v)})}return R}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(w=>l.has(w)||b==="array"&&w==="array"):[]}function p(v,b,w){let{gen:S,data:E,opts:T}=v,R=S.let("dataType",(0,n._)`typeof ${E}`),M=S.let("coerced",(0,n._)`undefined`);T.coerceTypes==="array"&&S.if((0,n._)`${R} == 'object' && Array.isArray(${E}) && ${E}.length == 1`,()=>S.assign(E,(0,n._)`${E}[0]`).assign(R,(0,n._)`typeof ${E}`).if(_(b,E,T.strictNumbers),()=>S.assign(M,E))),S.if((0,n._)`${M} !== undefined`);for(let q of w)(l.has(q)||q==="array"&&T.coerceTypes==="array")&&j(q);S.else(),h(v),S.endIf(),S.if((0,n._)`${M} !== undefined`,()=>{S.assign(E,M),m(v,M)});function j(q){switch(q){case"string":S.elseIf((0,n._)`${R} == "number" || ${R} == "boolean"`).assign(M,(0,n._)`"" + ${E}`).elseIf((0,n._)`${E} === null`).assign(M,(0,n._)`""`);return;case"number":S.elseIf((0,n._)`${R} == "boolean" || ${E} === null || (${R} == "string" && ${E} && ${E} == +${E})`).assign(M,(0,n._)`+${E}`);return;case"integer":S.elseIf((0,n._)`${R} === "boolean" || ${E} === null || (${R} === "string" && ${E} && ${E} == +${E} && !(${E} % 1))`).assign(M,(0,n._)`+${E}`);return;case"boolean":S.elseIf((0,n._)`${E} === "false" || ${E} === 0 || ${E} === null`).assign(M,!1).elseIf((0,n._)`${E} === "true" || ${E} === 1`).assign(M,!0);return;case"null":S.elseIf((0,n._)`${E} === "" || ${E} === 0 || ${E} === false`),S.assign(M,null);return;case"array":S.elseIf((0,n._)`${R} === "string" || ${R} === "number" - || ${R} === "boolean" || ${E} === null`).assign(M,(0,n._)`[${E}]`)}}}function m({gen:v,parentData:b,parentDataProperty:w},S){v.if((0,n._)`${b} !== undefined`,()=>v.assign((0,n._)`${b}[${w}]`,S))}function g(v,b,w,S=i.Correct){let E=S===i.Correct?n.operators.EQ:n.operators.NEQ,T;switch(v){case"null":return(0,n._)`${b} ${E} null`;case"array":T=(0,n._)`Array.isArray(${b})`;break;case"object":T=(0,n._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":T=R((0,n._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":T=R();break;default:return(0,n._)`typeof ${b} ${E} ${v}`}return S===i.Correct?T:(0,n.not)(T);function R(M=n.nil){return(0,n.and)((0,n._)`typeof ${b} == "number"`,M,w?(0,n._)`isFinite(${b})`:n.nil)}}t.checkDataType=g;function _(v,b,w,S){if(v.length===1)return g(v[0],b,w,S);let E,T=(0,s.toHash)(v);if(T.array&&T.object){let R=(0,n._)`typeof ${b} != "object"`;E=T.null?R:(0,n._)`!${b} || ${R}`,delete T.null,delete T.array,delete T.object}else E=n.nil;T.number&&delete T.integer;for(let R in T)E=(0,n.and)(E,g(R,b,w,S));return E}t.checkDataTypes=_;var f={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,n._)`{type: ${v}}`:(0,n._)`{type: ${b}}`};function h(v){let b=y(v);(0,a.reportError)(b,f)}t.reportTypeError=h;function y(v){let{gen:b,data:w,schema:S}=v,E=(0,s.schemaRefOrVal)(v,S,"type");return{gen:b,keyword:"type",data:w,schema:S.type,schemaCode:E,schemaValue:E,parentSchema:S,params:{},it:v}}}),Y9=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Ge(),r=Qe();function a(s,i){let{properties:o,items:c}=s.schema;if(i==="object"&&o)for(let u in o)n(s,u,o[u].default);else i==="array"&&Array.isArray(c)&&c.forEach((u,l)=>n(s,l,u.default))}t.assignDefaults=a;function n(s,i,o){let{gen:c,compositeRule:u,data:l,opts:d}=s;if(o===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(i)}`;if(u){(0,r.checkStrictMode)(s,`default is ignored for: ${p}`);return}let m=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(m=(0,e._)`${m} || ${p} === null || ${p} === ""`),c.if(m,(0,e._)`${p} = ${(0,e.stringify)(o)}`)}}),Gr=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Ge(),r=Qe(),a=Yn(),n=Qe();function s(v,b){let{gen:w,data:S,it:E}=v;w.if(d(w,S,b,E.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=s;function i({gen:v,data:b,it:{opts:w}},S,E){return(0,e.or)(...S.map(T=>(0,e.and)(d(v,b,T,w.ownProperties),(0,e._)`${E} = ${T}`)))}t.checkMissingProp=i;function o(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=o;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,w){return(0,e._)`${c(v)}.call(${b}, ${w})`}t.isOwnProperty=u;function l(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} !== undefined`;return S?(0,e._)`${E} && ${u(v,b,w)}`:E}t.propertyInData=l;function d(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} === undefined`;return S?(0,e.or)(E,(0,e.not)(u(v,b,w))):E}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function m(v,b){return p(b).filter(w=>!(0,r.alwaysValidSchema)(v,b[w]))}t.schemaProperties=m;function g({schemaCode:v,data:b,it:{gen:w,topSchemaRef:S,schemaPath:E,errorPath:T},it:R},M,j,q){let H=q?(0,e._)`${v}, ${b}, ${S}${E}`:b,N=[[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,T)],[a.default.parentData,R.parentData],[a.default.parentDataProperty,R.parentDataProperty],[a.default.rootData,a.default.rootData]];R.opts.dynamicRef&&N.push([a.default.dynamicAnchors,a.default.dynamicAnchors]);let W=(0,e._)`${H}, ${w.object(...N)}`;return j!==e.nil?(0,e._)`${M}.call(${j}, ${W})`:(0,e._)`${M}(${W})`}t.callValidateCode=g;var _=(0,e._)`new RegExp`;function f({gen:v,it:{opts:b}},w){let S=b.unicodeRegExp?"u":"",{regExp:E}=b.code,T=E(w,S);return v.scopeValue("pattern",{key:T.toString(),ref:T,code:(0,e._)`${E.code==="new RegExp"?_:(0,n.useFunc)(v,E)}(${w}, ${S})`})}t.usePattern=f;function h(v){let{gen:b,data:w,keyword:S,it:E}=v,T=b.name("valid");if(E.allErrors){let M=b.let("valid",!0);return R(()=>b.assign(M,!1)),M}return b.var(T,!0),R(()=>b.break()),T;function R(M){let j=b.const("len",(0,e._)`${w}.length`);b.forRange("i",0,j,q=>{v.subschema({keyword:S,dataProp:q,dataPropType:r.Type.Num},T),b.if((0,e.not)(T),M)})}}t.validateArray=h;function y(v){let{gen:b,schema:w,keyword:S,it:E}=v;if(!Array.isArray(w))throw new Error("ajv implementation error");if(w.some(j=>(0,r.alwaysValidSchema)(E,j))&&!E.opts.unevaluated)return;let R=b.let("valid",!1),M=b.name("_valid");b.block(()=>w.forEach((j,q)=>{let H=v.subschema({keyword:S,schemaProp:q,compositeRule:!0},M);b.assign(R,(0,e._)`${R} || ${M}`),v.mergeValidEvaluated(H,M)||b.if((0,e.not)(R))})),v.result(R,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),Q9=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Ge(),r=Yn(),a=Gr(),n=xl();function s(m,g){let{gen:_,keyword:f,schema:h,parentSchema:y,it:v}=m,b=g.macro.call(v.self,h,y,v),w=l(_,f,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let S=_.name("valid");m.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${f}`,topSchemaRef:w,compositeRule:!0},S),m.pass(S,()=>m.error(!0))}t.macroKeywordCode=s;function i(m,g){var _;let{gen:f,keyword:h,schema:y,parentSchema:v,$data:b,it:w}=m;u(w,g);let S=!b&&g.compile?g.compile.call(w.self,y,v,w):g.validate,E=l(f,h,S),T=f.let("valid");m.block$data(T,R),m.ok((_=g.valid)!==null&&_!==void 0?_:T);function R(){if(g.errors===!1)q(),g.modifying&&o(m),H(()=>m.error());else{let N=g.async?M():j();g.modifying&&o(m),H(()=>c(m,N))}}function M(){let N=f.let("ruleErrs",null);return f.try(()=>q((0,e._)`await `),W=>f.assign(T,!1).if((0,e._)`${W} instanceof ${w.ValidationError}`,()=>f.assign(N,(0,e._)`${W}.errors`),()=>f.throw(W))),N}function j(){let N=(0,e._)`${E}.errors`;return f.assign(N,null),q(e.nil),N}function q(N=g.async?(0,e._)`await `:e.nil){let W=w.opts.passContext?r.default.this:r.default.self,oe=!("compile"in g&&!b||g.schema===!1);f.assign(T,(0,e._)`${N}${(0,a.callValidateCode)(m,E,W,oe)}`,g.modifying)}function H(N){var W;f.if((0,e.not)((W=g.valid)!==null&&W!==void 0?W:T),N)}}t.funcKeywordCode=i;function o(m){let{gen:g,data:_,it:f}=m;g.if(f.parentData,()=>g.assign(_,(0,e._)`${f.parentData}[${f.parentDataProperty}]`))}function c(m,g){let{gen:_}=m;_.if((0,e._)`Array.isArray(${g})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${g} : ${r.default.vErrors}.concat(${g})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,n.extendErrors)(m)},()=>m.error())}function u({schemaEnv:m},g){if(g.async&&!m.$async)throw new Error("async keyword in sync schema")}function l(m,g,_){if(_===void 0)throw new Error(`keyword "${g}" failed to compile`);return m.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(m,g,_=!1){return!g.length||g.some(f=>f==="array"?Array.isArray(m):f==="object"?m&&typeof m=="object"&&!Array.isArray(m):typeof m==f||_&&typeof m>"u")}t.validSchemaType=d;function p({schema:m,opts:g,self:_,errSchemaPath:f},h,y){if(Array.isArray(h.keyword)?!h.keyword.includes(y):h.keyword!==y)throw new Error("ajv implementation error");let v=h.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(m,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(h.validateSchema&&!h.validateSchema(m[y])){let w=`keyword "${y}" value is invalid at path "${f}": `+_.errorsText(h.validateSchema.errors);if(g.validateSchema==="log")_.logger.error(w);else throw new Error(w)}}t.validateKeywordUsage=p}),eq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Ge(),r=Qe();function a(i,{keyword:o,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(o!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){let m=i.schema[o];return c===void 0?{schema:m,schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}`,errSchemaPath:`${i.errSchemaPath}/${o}`}:{schema:m[c],schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}${(0,e.getProperty)(c)}`,errSchemaPath:`${i.errSchemaPath}/${o}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=a;function n(i,o,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=o;if(c!==void 0){let{errorPath:_,dataPathArr:f,opts:h}=o,y=m.let("data",(0,e._)`${o.data}${(0,e.getProperty)(c)}`,!0);g(y),i.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,h.jsPropertySyntax)}`,i.parentDataProperty=(0,e._)`${c}`,i.dataPathArr=[...f,i.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:m.let("data",l,!0);g(_),p!==void 0&&(i.propertyName=p)}d&&(i.dataTypes=d);function g(_){i.data=_,i.dataLevel=o.dataLevel+1,i.dataTypes=[],o.definedProperties=new Set,i.parentData=o.data,i.dataNames=[...o.dataNames,_]}}t.extendSubschemaData=n;function s(i,{jtdDiscriminator:o,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(i.compositeRule=u),l!==void 0&&(i.createErrors=l),d!==void 0&&(i.allErrors=d),i.jtdDiscriminator=o,i.jtdMetadata=c}t.extendSubschemaMode=s}),wl=Q((t,e)=>{e.exports=function r(a,n){if(a===n)return!0;if(a&&n&&typeof a=="object"&&typeof n=="object"){if(a.constructor!==n.constructor)return!1;var s,i,o;if(Array.isArray(a)){if(s=a.length,s!=n.length)return!1;for(i=s;i--!==0;)if(!r(a[i],n[i]))return!1;return!0}if(a.constructor===RegExp)return a.source===n.source&&a.flags===n.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===n.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===n.toString();if(o=Object.keys(a),s=o.length,s!==Object.keys(n).length)return!1;for(i=s;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=s;i--!==0;){var c=o[i];if(!r(a[c],n[c]))return!1}return!0}return a!==a&&n!==n}}),tq=Q((t,e)=>{var r=e.exports=function(s,i,o){typeof i=="function"&&(o=i,i={}),o=i.cb||o;var c=typeof o=="function"?o:o.pre||function(){},u=o.post||function(){};a(i,c,u,s,"",s)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.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 a(s,i,o,c,u,l,d,p,m,g){if(c&&typeof c=="object"&&!Array.isArray(c)){i(c,u,l,d,p,m,g);for(var _ in c){var f=c[_];if(Array.isArray(f)){if(_ in r.arrayKeywords)for(var h=0;h{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=Qe(),r=wl(),a=tq(),n=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function s(f,h=!0){return typeof f=="boolean"?!0:h===!0?!o(f):h?c(f)<=h:!1}t.inlineRef=s;var i=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function o(f){for(let h in f){if(i.has(h))return!0;let y=f[h];if(Array.isArray(y)&&y.some(o)||typeof y=="object"&&o(y))return!0}return!1}function c(f){let h=0;for(let y in f){if(y==="$ref")return 1/0;if(h++,!n.has(y)&&(typeof f[y]=="object"&&(0,e.eachItem)(f[y],v=>h+=c(v)),h===1/0))return 1/0}return h}function u(f,h="",y){y!==!1&&(h=p(h));let v=f.parse(h);return l(f,v)}t.getFullPath=u;function l(f,h){return f.serialize(h).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(f){return f?f.replace(d,""):""}t.normalizeId=p;function m(f,h,y){return y=p(y),f.resolve(h,y)}t.resolveUrl=m;var g=/^[a-z_][-a-z0-9._]*$/i;function _(f,h){if(typeof f=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(f[y]||h),w={"":b},S=u(v,b,!1),E={},T=new Set;return a(f,{allKeys:!0},(j,q,H,N)=>{if(N===void 0)return;let W=S+q,oe=w[N];typeof j[y]=="string"&&(oe=he.call(this,j[y])),ae.call(this,j.$anchor),ae.call(this,j.$dynamicAnchor),w[q]=oe;function he(re){let U=this.opts.uriResolver.resolve;if(re=p(oe?U(oe,re):re),T.has(re))throw M(re);T.add(re);let $=this.refs[re];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?R(j,$.schema,re):re!==p(W)&&(re[0]==="#"?(R(j,E[re],re),E[re]=j):this.refs[re]=W),re}function ae(re){if(typeof re=="string"){if(!g.test(re))throw new Error(`invalid anchor "${re}"`);he.call(this,`#${re}`)}}}),E;function R(j,q,H){if(q!==void 0&&!r(j,q))throw M(H)}function M(j){return new Error(`reference "${j}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Tl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=J9(),r=fl(),a=ET(),n=fl(),s=Y9(),i=Q9(),o=eq(),c=Ge(),u=Yn(),l=El(),d=Qe(),p=xl();function m(C){if(S(C)&&(T(C),w(C))){h(C);return}g(C,()=>(0,e.topBoolOrEmptySchema)(C))}t.validateFunctionCode=m;function g({gen:C,validateName:I,schema:F,schemaEnv:Z,opts:ee},ce){ee.code.es5?C.func(I,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{C.code((0,c._)`"use strict"; ${v(F,ee)}`),f(C,ee),C.code(ce)}):C.func(I,(0,c._)`${u.default.data}, ${_(ee)}`,Z.$async,()=>C.code(v(F,ee)).code(ce))}function _(C){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${C.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function f(C,I){C.if(u.default.valCxt,()=>{C.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),C.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),C.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),C.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{C.var(u.default.instancePath,(0,c._)`""`),C.var(u.default.parentData,(0,c._)`undefined`),C.var(u.default.parentDataProperty,(0,c._)`undefined`),C.var(u.default.rootData,u.default.data),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function h(C){let{schema:I,opts:F,gen:Z}=C;g(C,()=>{F.$comment&&I.$comment&&N(C),j(C),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),F.unevaluated&&y(C),R(C),W(C)})}function y(C){let{gen:I,validateName:F}=C;C.evaluated=I.const("evaluated",(0,c._)`${F}.evaluated`),I.if((0,c._)`${C.evaluated}.dynamicProps`,()=>I.assign((0,c._)`${C.evaluated}.props`,(0,c._)`undefined`)),I.if((0,c._)`${C.evaluated}.dynamicItems`,()=>I.assign((0,c._)`${C.evaluated}.items`,(0,c._)`undefined`))}function v(C,I){let F=typeof C=="object"&&C[I.schemaId];return F&&(I.code.source||I.code.process)?(0,c._)`/*# sourceURL=${F} */`:c.nil}function b(C,I){if(S(C)&&(T(C),w(C))){E(C,I);return}(0,e.boolOrEmptySchema)(C,I)}function w({schema:C,self:I}){if(typeof C=="boolean")return!C;for(let F in C)if(I.RULES.all[F])return!0;return!1}function S(C){return typeof C.schema!="boolean"}function E(C,I){let{schema:F,gen:Z,opts:ee}=C;ee.$comment&&F.$comment&&N(C),q(C),H(C);let ce=Z.const("_errs",u.default.errors);R(C,ce),Z.var(I,(0,c._)`${ce} === ${u.default.errors}`)}function T(C){(0,d.checkUnknownRules)(C),M(C)}function R(C,I){if(C.opts.jtd)return he(C,[],!1,I);let F=(0,r.getSchemaTypes)(C.schema),Z=(0,r.coerceAndCheckDataType)(C,F);he(C,F,!Z,I)}function M(C){let{schema:I,errSchemaPath:F,opts:Z,self:ee}=C;I.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(I,ee.RULES)&&ee.logger.warn(`$ref: keywords ignored in schema at path "${F}"`)}function j(C){let{schema:I,opts:F}=C;I.default!==void 0&&F.useDefaults&&F.strictSchema&&(0,d.checkStrictMode)(C,"default is ignored in the schema root")}function q(C){let I=C.schema[C.opts.schemaId];I&&(C.baseId=(0,l.resolveUrl)(C.opts.uriResolver,C.baseId,I))}function H(C){if(C.schema.$async&&!C.schemaEnv.$async)throw new Error("async schema in sync schema")}function N({gen:C,schemaEnv:I,schema:F,errSchemaPath:Z,opts:ee}){let ce=F.$comment;if(ee.$comment===!0)C.code((0,c._)`${u.default.self}.logger.log(${ce})`);else if(typeof ee.$comment=="function"){let ke=(0,c.str)`${Z}/$comment`,Ne=C.scopeValue("root",{ref:I.root});C.code((0,c._)`${u.default.self}.opts.$comment(${ce}, ${ke}, ${Ne}.schema)`)}}function W(C){let{gen:I,schemaEnv:F,validateName:Z,ValidationError:ee,opts:ce}=C;F.$async?I.if((0,c._)`${u.default.errors} === 0`,()=>I.return(u.default.data),()=>I.throw((0,c._)`new ${ee}(${u.default.vErrors})`)):(I.assign((0,c._)`${Z}.errors`,u.default.vErrors),ce.unevaluated&&oe(C),I.return((0,c._)`${u.default.errors} === 0`))}function oe({gen:C,evaluated:I,props:F,items:Z}){F instanceof c.Name&&C.assign((0,c._)`${I}.props`,F),Z instanceof c.Name&&C.assign((0,c._)`${I}.items`,Z)}function he(C,I,F,Z){let{gen:ee,schema:ce,data:ke,allErrors:Ne,opts:Me,self:je}=C,{RULES:Re}=je;if(ce.$ref&&(Me.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ce,Re))){ee.block(()=>J(C,"$ref",Re.all.$ref.definition));return}Me.jtd||re(C,I),ee.block(()=>{for(let Ue of Re.rules)vt(Ue);vt(Re.post)});function vt(Ue){(0,a.shouldUseGroup)(ce,Ue)&&(Ue.type?(ee.if((0,n.checkDataType)(Ue.type,ke,Me.strictNumbers)),ae(C,Ue),I.length===1&&I[0]===Ue.type&&F&&(ee.else(),(0,n.reportTypeError)(C)),ee.endIf()):ae(C,Ue),Ne||ee.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function ae(C,I){let{gen:F,schema:Z,opts:{useDefaults:ee}}=C;ee&&(0,s.assignDefaults)(C,I.type),F.block(()=>{for(let ce of I.rules)(0,a.shouldUseRule)(Z,ce)&&J(C,ce.keyword,ce.definition,I.type)})}function re(C,I){C.schemaEnv.meta||!C.opts.strictTypes||(U(C,I),C.opts.allowUnionTypes||$(C,I),z(C,C.dataTypes))}function U(C,I){if(I.length){if(!C.dataTypes.length){C.dataTypes=I;return}I.forEach(F=>{x(C.dataTypes,F)||D(C,`type "${F}" not allowed by context "${C.dataTypes.join(",")}"`)}),k(C,I)}}function $(C,I){I.length>1&&!(I.length===2&&I.includes("null"))&&D(C,"use allowUnionTypes to allow union type keyword")}function z(C,I){let F=C.self.RULES.all;for(let Z in F){let ee=F[Z];if(typeof ee=="object"&&(0,a.shouldUseRule)(C.schema,ee)){let{type:ce}=ee.definition;ce.length&&!ce.some(ke=>A(I,ke))&&D(C,`missing type "${ce.join(",")}" for keyword "${Z}"`)}}}function A(C,I){return C.includes(I)||I==="number"&&C.includes("integer")}function x(C,I){return C.includes(I)||I==="integer"&&C.includes("number")}function k(C,I){let F=[];for(let Z of C.dataTypes)x(I,Z)?F.push(Z):I.includes("integer")&&Z==="number"&&F.push("integer");C.dataTypes=F}function D(C,I){let F=C.schemaEnv.baseId+C.errSchemaPath;I+=` at "${F}" (strictTypes)`,(0,d.checkStrictMode)(C,I,C.opts.strictTypes)}class K{constructor(I,F,Z){if((0,i.validateKeywordUsage)(I,F,Z),this.gen=I.gen,this.allErrors=I.allErrors,this.keyword=Z,this.data=I.data,this.schema=I.schema[Z],this.$data=F.$data&&I.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(I,this.schema,Z,this.$data),this.schemaType=F.schemaType,this.parentSchema=I.schema,this.params={},this.it=I,this.def=F,this.$data)this.schemaCode=I.gen.const("vSchema",me(this.$data,I));else if(this.schemaCode=this.schemaValue,!(0,i.validSchemaType)(this.schema,F.schemaType,F.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(F.schemaType)}`);("code"in F?F.trackErrors:F.errors!==!1)&&(this.errsCount=I.gen.const("_errs",u.default.errors))}result(I,F,Z){this.failResult((0,c.not)(I),F,Z)}failResult(I,F,Z){this.gen.if(I),Z?Z():this.error(),F?(this.gen.else(),F(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(I,F){this.failResult((0,c.not)(I),void 0,F)}fail(I){if(I===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(I),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(I){if(!this.$data)return this.fail(I);let{schemaCode:F}=this;this.fail((0,c._)`${F} !== undefined && (${(0,c.or)(this.invalid$data(),I)})`)}error(I,F,Z){if(F){this.setParams(F),this._error(I,Z),this.setParams({});return}this._error(I,Z)}_error(I,F){(I?p.reportExtraError:p.reportError)(this,this.def.error,F)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(I){this.allErrors||this.gen.if(I)}setParams(I,F){F?Object.assign(this.params,I):this.params=I}block$data(I,F,Z=c.nil){this.gen.block(()=>{this.check$data(I,Z),F()})}check$data(I=c.nil,F=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:ee,schemaType:ce,def:ke}=this;Z.if((0,c.or)((0,c._)`${ee} === undefined`,F)),I!==c.nil&&Z.assign(I,!0),(ce.length||ke.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),I!==c.nil&&Z.assign(I,!1)),Z.else()}invalid$data(){let{gen:I,schemaCode:F,schemaType:Z,def:ee,it:ce}=this;return(0,c.or)(ke(),Ne());function ke(){if(Z.length){if(!(F instanceof c.Name))throw new Error("ajv implementation error");let Me=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,n.checkDataTypes)(Me,F,ce.opts.strictNumbers,n.DataType.Wrong)}`}return c.nil}function Ne(){if(ee.validateSchema){let Me=I.scopeValue("validate$data",{ref:ee.validateSchema});return(0,c._)`!${Me}(${F})`}return c.nil}}subschema(I,F){let Z=(0,o.getSubschema)(this.it,I);(0,o.extendSubschemaData)(Z,this.it,I),(0,o.extendSubschemaMode)(Z,I);let ee={...this.it,...Z,items:void 0,props:void 0};return b(ee,F),ee}mergeEvaluated(I,F){let{it:Z,gen:ee}=this;Z.opts.unevaluated&&(Z.props!==!0&&I.props!==void 0&&(Z.props=d.mergeEvaluated.props(ee,I.props,Z.props,F)),Z.items!==!0&&I.items!==void 0&&(Z.items=d.mergeEvaluated.items(ee,I.items,Z.items,F)))}mergeValidEvaluated(I,F){let{it:Z,gen:ee}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return ee.if(F,()=>this.mergeEvaluated(I,c.Name)),!0}}t.KeywordCxt=K;function J(C,I,F,Z){let ee=new K(C,F,I);"code"in F?F.code(ee,Z):ee.$data&&F.validate?(0,i.funcKeywordCode)(ee,F):"macro"in F?(0,i.macroKeywordCode)(ee,F):(F.compile||F.validate)&&(0,i.funcKeywordCode)(ee,F)}var de=/^\/(?:[^~]|~0|~1)*$/,se=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function me(C,{dataLevel:I,dataNames:F,dataPathArr:Z}){let ee,ce;if(C==="")return u.default.rootData;if(C[0]==="/"){if(!de.test(C))throw new Error(`Invalid JSON-pointer: ${C}`);ee=C,ce=u.default.rootData}else{let je=se.exec(C);if(!je)throw new Error(`Invalid JSON-pointer: ${C}`);let Re=+je[1];if(ee=je[2],ee==="#"){if(Re>=I)throw new Error(Me("property/index",Re));return Z[I-Re]}if(Re>I)throw new Error(Me("data",Re));if(ce=F[I-Re],!ee)return ce}let ke=ce,Ne=ee.split("/");for(let je of Ne)je&&(ce=(0,c._)`${ce}${(0,c.getProperty)((0,d.unescapeJsonPointer)(je))}`,ke=(0,c._)`${ke} && ${ce}`);return ke;function Me(je,Re){return`Cannot access ${je} ${Re} levels up, current level is ${I}`}}t.getData=me}),zm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(a){super("validation failed"),this.errors=a,this.ajv=this.validation=!0}}t.default=e}),kl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=El();class r extends Error{constructor(n,s,i,o){super(o||`can't resolve reference ${i} from id ${s}`),this.missingRef=(0,e.resolveUrl)(n,s,i),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(n,this.missingRef))}}t.default=r}),Hm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Ge(),r=zm(),a=Yn(),n=El(),s=Qe(),i=Tl();class o{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,n.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=o;function c(h){let y=d.call(this,h);if(y)return y;let v=(0,n.getFullPath)(this.opts.uriResolver,h.root.baseId),{es5:b,lines:w}=this.opts.code,{ownProperties:S}=this.opts,E=new e.CodeGen(this.scope,{es5:b,lines:w,ownProperties:S}),T;h.$async&&(T=E.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let R=E.scopeName("validate");h.validateName=R;let M={gen:E,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:E.scopeValue("schema",this.opts.code.source===!0?{ref:h.schema,code:(0,e.stringify)(h.schema)}:{ref:h.schema}),validateName:R,ValidationError:T,schema:h.schema,schemaEnv:h,rootId:v,baseId:h.baseId||v,schemaPath:e.nil,errSchemaPath:h.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},j;try{this._compilations.add(h),(0,i.validateFunctionCode)(M),E.optimize(this.opts.code.optimize);let q=E.toString();j=`${E.scopeRefs(a.default.scope)}return ${q}`,this.opts.code.process&&(j=this.opts.code.process(j,h));let N=new Function(`${a.default.self}`,`${a.default.scope}`,j)(this,this.scope.get());if(this.scope.value(R,{ref:N}),N.errors=null,N.schema=h.schema,N.schemaEnv=h,h.$async&&(N.$async=!0),this.opts.code.source===!0&&(N.source={validateName:R,validateCode:q,scopeValues:E._values}),this.opts.unevaluated){let{props:W,items:oe}=M;N.evaluated={props:W instanceof e.Name?void 0:W,items:oe instanceof e.Name?void 0:oe,dynamicProps:W instanceof e.Name,dynamicItems:oe instanceof e.Name},N.source&&(N.source.evaluated=(0,e.stringify)(N.evaluated))}return h.validate=N,h}catch(q){throw delete h.validate,delete h.validateName,j&&this.logger.error("Error compiling schema, function code:",j),q}finally{this._compilations.delete(h)}}t.compileSchema=c;function u(h,y,v){var b;v=(0,n.resolveUrl)(this.opts.uriResolver,y,v);let w=h.refs[v];if(w)return w;let S=m.call(this,h,v);if(S===void 0){let E=(b=h.localRefs)===null||b===void 0?void 0:b[v],{schemaId:T}=this.opts;E&&(S=new o({schema:E,schemaId:T,root:h,baseId:y}))}if(S!==void 0)return h.refs[v]=l.call(this,S)}t.resolveRef=u;function l(h){return(0,n.inlineRef)(h.schema,this.opts.inlineRefs)?h.schema:h.validate?h:c.call(this,h)}function d(h){for(let y of this._compilations)if(p(y,h))return y}t.getCompilingSchema=d;function p(h,y){return h.schema===y.schema&&h.root===y.root&&h.baseId===y.baseId}function m(h,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||g.call(this,h,y)}function g(h,y){let v=this.opts.uriResolver.parse(y),b=(0,n._getFullPath)(this.opts.uriResolver,v),w=(0,n.getFullPath)(this.opts.uriResolver,h.baseId,void 0);if(Object.keys(h.schema).length>0&&b===w)return f.call(this,v,h);let S=(0,n.normalizeId)(b),E=this.refs[S]||this.schemas[S];if(typeof E=="string"){let T=g.call(this,h,E);return typeof T?.schema!="object"?void 0:f.call(this,v,T)}if(typeof E?.schema=="object"){if(E.validate||c.call(this,E),S===(0,n.normalizeId)(y)){let{schema:T}=E,{schemaId:R}=this.opts,M=T[R];return M&&(w=(0,n.resolveUrl)(this.opts.uriResolver,w,M)),new o({schema:T,schemaId:R,root:h,baseId:w})}return f.call(this,v,E)}}t.resolveSchema=g;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function f(h,{baseId:y,schema:v,root:b}){var w;if(((w=h.fragment)===null||w===void 0?void 0:w[0])!=="/")return;for(let T of h.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let R=v[(0,s.unescapeFragment)(T)];if(R===void 0)return;v=R;let M=typeof v=="object"&&v[this.opts.schemaId];!_.has(T)&&M&&(y=(0,n.resolveUrl)(this.opts.uriResolver,y,M))}let S;if(typeof v!="boolean"&&v.$ref&&!(0,s.schemaHasRulesButRef)(v,this.RULES)){let T=(0,n.resolveUrl)(this.opts.uriResolver,y,v.$ref);S=g.call(this,b,T)}let{schemaId:E}=this.opts;if(S=S||new o({schema:v,schemaId:E,root:b,baseId:y}),S.schema!==S.root.schema)return S}}),rq=Q((t,e)=>{e.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}}),nq=Q((t,e)=>{var r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};e.exports={HEX:r}}),aq=Q((t,e)=>{var{HEX:r}=nq(),a=/^(?:(?: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 n(h){if(u(h,".")<3)return{host:h,isIPV4:!1};let y=h.match(a)||[],[v]=y;return v?{host:c(v,"."),isIPV4:!0}:{host:h,isIPV4:!1}}function s(h,y=!1){let v="",b=!0;for(let w of h){if(r[w]===void 0)return;w!=="0"&&b===!0&&(b=!1),b||(v+=w)}return y&&v.length===0&&(v="0"),v}function i(h){let y=0,v={error:!1,address:"",zone:""},b=[],w=[],S=!1,E=!1,T=!1;function R(){if(w.length){if(S===!1){let M=s(w);if(M!==void 0)b.push(M);else return v.error=!0,!1}w.length=0}return!0}for(let M=0;M7){v.error=!0;break}M-1>=0&&h[M-1]===":"&&(E=!0);continue}else if(j==="%"){if(!R())break;S=!0}else{w.push(j);continue}}return w.length&&(S?v.zone=w.join(""):T?b.push(w.join("")):b.push(s(w))),v.address=b.join(""),v}function o(h){if(u(h,":")<2)return{host:h,isIPV6:!1};let y=i(h);if(y.error)return{host:h,isIPV6:!1};{let v=y.address,b=y.address;return y.zone&&(v+="%"+y.zone,b+="%25"+y.zone),{host:v,escapedHost:b,isIPV6:!0}}}function c(h,y){let v="",b=!0,w=h.length;for(let S=0;S{var r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,a=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function n(b){return typeof b.secure=="boolean"?b.secure:String(b.scheme).toLowerCase()==="wss"}function s(b){return b.host||(b.error=b.error||"HTTP URIs must have a host."),b}function i(b){let w=String(b.scheme).toLowerCase()==="https";return(b.port===(w?443:80)||b.port==="")&&(b.port=void 0),b.path||(b.path="/"),b}function o(b){return b.secure=n(b),b.resourceName=(b.path||"/")+(b.query?"?"+b.query:""),b.path=void 0,b.query=void 0,b}function c(b){if((b.port===(n(b)?443:80)||b.port==="")&&(b.port=void 0),typeof b.secure=="boolean"&&(b.scheme=b.secure?"wss":"ws",b.secure=void 0),b.resourceName){let[w,S]=b.resourceName.split("?");b.path=w&&w!=="/"?w:void 0,b.query=S,b.resourceName=void 0}return b.fragment=void 0,b}function u(b,w){if(!b.path)return b.error="URN can not be parsed",b;let S=b.path.match(a);if(S){let E=w.scheme||b.scheme||"urn";b.nid=S[1].toLowerCase(),b.nss=S[2];let T=`${E}:${w.nid||b.nid}`,R=v[T];b.path=void 0,R&&(b=R.parse(b,w))}else b.error=b.error||"URN can not be parsed.";return b}function l(b,w){let S=w.scheme||b.scheme||"urn",E=b.nid.toLowerCase(),T=`${S}:${w.nid||E}`,R=v[T];R&&(b=R.serialize(b,w));let M=b,j=b.nss;return M.path=`${E||w.nid}:${j}`,w.skipEscape=!0,M}function d(b,w){let S=b;return S.uuid=S.nss,S.nss=void 0,!w.tolerant&&(!S.uuid||!r.test(S.uuid))&&(S.error=S.error||"UUID is not valid."),S}function p(b){let w=b;return w.nss=(b.uuid||"").toLowerCase(),w}var m={scheme:"http",domainHost:!0,parse:s,serialize:i},g={scheme:"https",domainHost:m.domainHost,parse:s,serialize:i},_={scheme:"ws",domainHost:!0,parse:o,serialize:c},f={scheme:"wss",domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},h={scheme:"urn",parse:u,serialize:l,skipNormalize:!0},y={scheme:"urn:uuid",parse:d,serialize:p,skipNormalize:!0},v={http:m,https:g,ws:_,wss:f,urn:h,"urn:uuid":y};e.exports=v}),TT=Q((t,e)=>{var{normalizeIPv6:r,normalizeIPv4:a,removeDotSegments:n,recomposeAuthority:s,normalizeComponentEncoding:i}=aq(),o=sq();function c(y,v){return typeof y=="string"?y=p(f(y,v),v):typeof y=="object"&&(y=f(p(y,v),v)),y}function u(y,v,b){let w=Object.assign({scheme:"null"},b),S=l(f(y,w),f(v,w),w,!0);return p(S,{...w,skipEscape:!0})}function l(y,v,b,w){let S={};return w||(y=f(p(y,b),b),v=f(p(v,b),b)),b=b||{},!b.tolerant&&v.scheme?(S.scheme=v.scheme,S.userinfo=v.userinfo,S.host=v.host,S.port=v.port,S.path=n(v.path||""),S.query=v.query):(v.userinfo!==void 0||v.host!==void 0||v.port!==void 0?(S.userinfo=v.userinfo,S.host=v.host,S.port=v.port,S.path=n(v.path||""),S.query=v.query):(v.path?(v.path.charAt(0)==="/"?S.path=n(v.path):((y.userinfo!==void 0||y.host!==void 0||y.port!==void 0)&&!y.path?S.path="/"+v.path:y.path?S.path=y.path.slice(0,y.path.lastIndexOf("/")+1)+v.path:S.path=v.path,S.path=n(S.path)),S.query=v.query):(S.path=y.path,v.query!==void 0?S.query=v.query:S.query=y.query),S.userinfo=y.userinfo,S.host=y.host,S.port=y.port),S.scheme=y.scheme),S.fragment=v.fragment,S}function d(y,v,b){return typeof y=="string"?(y=unescape(y),y=p(i(f(y,b),!0),{...b,skipEscape:!0})):typeof y=="object"&&(y=p(i(y,!0),{...b,skipEscape:!0})),typeof v=="string"?(v=unescape(v),v=p(i(f(v,b),!0),{...b,skipEscape:!0})):typeof v=="object"&&(v=p(i(v,!0),{...b,skipEscape:!0})),y.toLowerCase()===v.toLowerCase()}function p(y,v){let b={host:y.host,scheme:y.scheme,userinfo:y.userinfo,port:y.port,path:y.path,query:y.query,nid:y.nid,nss:y.nss,uuid:y.uuid,fragment:y.fragment,reference:y.reference,resourceName:y.resourceName,secure:y.secure,error:""},w=Object.assign({},v),S=[],E=o[(w.scheme||b.scheme||"").toLowerCase()];E&&E.serialize&&E.serialize(b,w),b.path!==void 0&&(w.skipEscape?b.path=unescape(b.path):(b.path=escape(b.path),b.scheme!==void 0&&(b.path=b.path.split("%3A").join(":")))),w.reference!=="suffix"&&b.scheme&&S.push(b.scheme,":");let T=s(b);if(T!==void 0&&(w.reference!=="suffix"&&S.push("//"),S.push(T),b.path&&b.path.charAt(0)!=="/"&&S.push("/")),b.path!==void 0){let R=b.path;!w.absolutePath&&(!E||!E.absolutePath)&&(R=n(R)),T===void 0&&(R=R.replace(/^\/\//u,"/%2F")),S.push(R)}return b.query!==void 0&&S.push("?",b.query),b.fragment!==void 0&&S.push("#",b.fragment),S.join("")}var m=Array.from({length:127},(y,v)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(v)));function g(y){let v=0;for(let b=0,w=y.length;b126||m[v])return!0;return!1}var _=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function f(y,v){let b=Object.assign({},v),w={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},S=y.indexOf("%")!==-1,E=!1;b.reference==="suffix"&&(y=(b.scheme?b.scheme+":":"")+"//"+y);let T=y.match(_);if(T){if(w.scheme=T[1],w.userinfo=T[3],w.host=T[4],w.port=parseInt(T[5],10),w.path=T[6]||"",w.query=T[7],w.fragment=T[8],isNaN(w.port)&&(w.port=T[5]),w.host){let M=a(w.host);if(M.isIPV4===!1){let j=r(M.host);w.host=j.host.toLowerCase(),E=j.isIPV6}else w.host=M.host,E=!0}w.scheme===void 0&&w.userinfo===void 0&&w.host===void 0&&w.port===void 0&&w.query===void 0&&!w.path?w.reference="same-document":w.scheme===void 0?w.reference="relative":w.fragment===void 0?w.reference="absolute":w.reference="uri",b.reference&&b.reference!=="suffix"&&b.reference!==w.reference&&(w.error=w.error||"URI is not a "+b.reference+" reference.");let R=o[(b.scheme||w.scheme||"").toLowerCase()];if(!b.unicodeSupport&&(!R||!R.unicodeSupport)&&w.host&&(b.domainHost||R&&R.domainHost)&&E===!1&&g(w.host))try{w.host=URL.domainToASCII(w.host.toLowerCase())}catch(M){w.error=w.error||"Host's domain name can not be converted to ASCII: "+M}(!R||R&&!R.skipNormalize)&&(S&&w.scheme!==void 0&&(w.scheme=unescape(w.scheme)),S&&w.host!==void 0&&(w.host=unescape(w.host)),w.path&&(w.path=escape(unescape(w.path))),w.fragment&&(w.fragment=encodeURI(decodeURIComponent(w.fragment)))),R&&R.parse&&R.parse(w,b)}else w.error=w.error||"URI can not be parsed.";return w}var h={SCHEMES:o,normalize:c,resolve:u,resolveComponents:l,equal:d,serialize:p,parse:f};e.exports=h,e.exports.default=h,e.exports.fastUri=h}),iq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=TT();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),oq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Tl();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Ge();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var a=zm(),n=kl(),s=wT(),i=Hm(),o=Ge(),c=El(),u=fl(),l=Qe(),d=rq(),p=iq(),m=(U,$)=>new RegExp(U,$);m.code="new RegExp";var g=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),f={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."},h={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(U){var $,z,A,x,k,D,K,J,de,se,me,C,I,F,Z,ee,ce,ke,Ne,Me,je,Re,vt,Ue,vr;let Zt=U.strict,Nt=($=U.code)===null||$===void 0?void 0:$.optimize,Lr=Nt===!0||Nt===void 0?1:Nt||0,On=(A=(z=U.code)===null||z===void 0?void 0:z.regExp)!==null&&A!==void 0?A:m,es=(x=U.uriResolver)!==null&&x!==void 0?x:p.default;return{strictSchema:(D=(k=U.strictSchema)!==null&&k!==void 0?k:Zt)!==null&&D!==void 0?D:!0,strictNumbers:(J=(K=U.strictNumbers)!==null&&K!==void 0?K:Zt)!==null&&J!==void 0?J:!0,strictTypes:(se=(de=U.strictTypes)!==null&&de!==void 0?de:Zt)!==null&&se!==void 0?se:"log",strictTuples:(C=(me=U.strictTuples)!==null&&me!==void 0?me:Zt)!==null&&C!==void 0?C:"log",strictRequired:(F=(I=U.strictRequired)!==null&&I!==void 0?I:Zt)!==null&&F!==void 0?F:!1,code:U.code?{...U.code,optimize:Lr,regExp:On}:{optimize:Lr,regExp:On},loopRequired:(Z=U.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(ee=U.loopEnum)!==null&&ee!==void 0?ee:y,meta:(ce=U.meta)!==null&&ce!==void 0?ce:!0,messages:(ke=U.messages)!==null&&ke!==void 0?ke:!0,inlineRefs:(Ne=U.inlineRefs)!==null&&Ne!==void 0?Ne:!0,schemaId:(Me=U.schemaId)!==null&&Me!==void 0?Me:"$id",addUsedSchema:(je=U.addUsedSchema)!==null&&je!==void 0?je:!0,validateSchema:(Re=U.validateSchema)!==null&&Re!==void 0?Re:!0,validateFormats:(vt=U.validateFormats)!==null&&vt!==void 0?vt:!0,unicodeRegExp:(Ue=U.unicodeRegExp)!==null&&Ue!==void 0?Ue:!0,int32range:(vr=U.int32range)!==null&&vr!==void 0?vr:!0,uriResolver:es}}class b{constructor($={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...v($)};let{es5:z,lines:A}=this.opts.code;this.scope=new o.ValueScope({scope:{},prefixes:_,es5:z,lines:A}),this.logger=q($.logger);let x=$.validateFormats;$.validateFormats=!1,this.RULES=(0,s.getRules)(),w.call(this,f,$,"NOT SUPPORTED"),w.call(this,h,$,"DEPRECATED","warn"),this._metaOpts=M.call(this),$.formats&&T.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords&&R.call(this,$.keywords),typeof $.meta=="object"&&this.addMetaSchema($.meta),E.call(this),$.validateFormats=x}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:$,meta:z,schemaId:A}=this.opts,x=d;A==="id"&&(x={...d},x.id=x.$id,delete x.$id),z&&$&&this.addMetaSchema(x,x[A],!1)}defaultMeta(){let{meta:$,schemaId:z}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[z]||$:void 0}validate($,z){let A;if(typeof $=="string"){if(A=this.getSchema($),!A)throw new Error(`no schema with key or ref "${$}"`)}else A=this.compile($);let x=A(z);return"$async"in A||(this.errors=A.errors),x}compile($,z){let A=this._addSchema($,z);return A.validate||this._compileSchemaEnv(A)}compileAsync($,z){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:A}=this.opts;return x.call(this,$,z);async function x(se,me){await k.call(this,se.$schema);let C=this._addSchema(se,me);return C.validate||D.call(this,C)}async function k(se){se&&!this.getSchema(se)&&await x.call(this,{$ref:se},!0)}async function D(se){try{return this._compileSchemaEnv(se)}catch(me){if(!(me instanceof n.default))throw me;return K.call(this,me),await J.call(this,me.missingSchema),D.call(this,se)}}function K({missingSchema:se,missingRef:me}){if(this.refs[se])throw new Error(`AnySchema ${se} is loaded but ${me} cannot be resolved`)}async function J(se){let me=await de.call(this,se);this.refs[se]||await k.call(this,me.$schema),this.refs[se]||this.addSchema(me,se,z)}async function de(se){let me=this._loading[se];if(me)return me;try{return await(this._loading[se]=A(se))}finally{delete this._loading[se]}}}addSchema($,z,A,x=this.opts.validateSchema){if(Array.isArray($)){for(let D of $)this.addSchema(D,void 0,A,x);return this}let k;if(typeof $=="object"){let{schemaId:D}=this.opts;if(k=$[D],k!==void 0&&typeof k!="string")throw new Error(`schema ${D} must be string`)}return z=(0,c.normalizeId)(z||k),this._checkUnique(z),this.schemas[z]=this._addSchema($,A,z,x,!0),this}addMetaSchema($,z,A=this.opts.validateSchema){return this.addSchema($,z,!0,A),this}validateSchema($,z){if(typeof $=="boolean")return!0;let A;if(A=$.$schema,A!==void 0&&typeof A!="string")throw new Error("$schema must be a string");if(A=A||this.opts.defaultMeta||this.defaultMeta(),!A)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let x=this.validate(A,$);if(!x&&z){let k="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(k);else throw new Error(k)}return x}getSchema($){let z;for(;typeof(z=S.call(this,$))=="string";)$=z;if(z===void 0){let{schemaId:A}=this.opts,x=new i.SchemaEnv({schema:{},schemaId:A});if(z=i.resolveSchema.call(this,x,$),!z)return;this.refs[$]=z}return z.validate||this._compileSchemaEnv(z)}removeSchema($){if($ instanceof RegExp)return this._removeAllSchemas(this.schemas,$),this._removeAllSchemas(this.refs,$),this;switch(typeof $){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let z=S.call(this,$);return typeof z=="object"&&this._cache.delete(z.schema),delete this.schemas[$],delete this.refs[$],this}case"object":{let z=$;this._cache.delete(z);let A=$[this.opts.schemaId];return A&&(A=(0,c.normalizeId)(A),delete this.schemas[A],delete this.refs[A]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(let z of $)this.addKeyword(z);return this}addKeyword($,z){let A;if(typeof $=="string")A=$,typeof z=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),z.keyword=A);else if(typeof $=="object"&&z===void 0){if(z=$,A=z.keyword,Array.isArray(A)&&!A.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N.call(this,A,z),!z)return(0,l.eachItem)(A,k=>W.call(this,k)),this;he.call(this,z);let x={...z,type:(0,u.getJSONTypes)(z.type),schemaType:(0,u.getJSONTypes)(z.schemaType)};return(0,l.eachItem)(A,x.type.length===0?k=>W.call(this,k,x):k=>x.type.forEach(D=>W.call(this,k,x,D))),this}getKeyword($){let z=this.RULES.all[$];return typeof z=="object"?z.definition:!!z}removeKeyword($){let{RULES:z}=this;delete z.keywords[$],delete z.all[$];for(let A of z.rules){let x=A.rules.findIndex(k=>k.keyword===$);x>=0&&A.rules.splice(x,1)}return this}addFormat($,z){return typeof z=="string"&&(z=new RegExp(z)),this.formats[$]=z,this}errorsText($=this.errors,{separator:z=", ",dataVar:A="data"}={}){return!$||$.length===0?"No errors":$.map(x=>`${A}${x.instancePath} ${x.message}`).reduce((x,k)=>x+z+k)}$dataMetaSchema($,z){let A=this.RULES.all;$=JSON.parse(JSON.stringify($));for(let x of z){let k=x.split("/").slice(1),D=$;for(let K of k)D=D[K];for(let K in A){let J=A[K];if(typeof J!="object")continue;let{$data:de}=J.definition,se=D[K];de&&se&&(D[K]=re(se))}}return $}_removeAllSchemas($,z){for(let A in $){let x=$[A];(!z||z.test(A))&&(typeof x=="string"?delete $[A]:x&&!x.meta&&(this._cache.delete(x.schema),delete $[A]))}}_addSchema($,z,A,x=this.opts.validateSchema,k=this.opts.addUsedSchema){let D,{schemaId:K}=this.opts;if(typeof $=="object")D=$[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof $!="boolean")throw new Error("schema must be object or boolean")}let J=this._cache.get($);if(J!==void 0)return J;A=(0,c.normalizeId)(D||A);let de=c.getSchemaRefs.call(this,$,A);return J=new i.SchemaEnv({schema:$,schemaId:K,meta:z,baseId:A,localRefs:de}),this._cache.set(J.schema,J),k&&!A.startsWith("#")&&(A&&this._checkUnique(A),this.refs[A]=J),x&&this.validateSchema($,!0),J}_checkUnique($){if(this.schemas[$]||this.refs[$])throw new Error(`schema with key or id "${$}" already exists`)}_compileSchemaEnv($){if($.meta?this._compileMetaSchema($):i.compileSchema.call(this,$),!$.validate)throw new Error("ajv implementation error");return $.validate}_compileMetaSchema($){let z=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,$)}finally{this.opts=z}}}b.ValidationError=a.default,b.MissingRefError=n.default,t.default=b;function w(U,$,z,A="error"){for(let x in U){let k=x;k in $&&this.logger[A](`${z}: option ${x}. ${U[k]}`)}}function S(U){return U=(0,c.normalizeId)(U),this.schemas[U]||this.refs[U]}function E(){let U=this.opts.schemas;if(U)if(Array.isArray(U))this.addSchema(U);else for(let $ in U)this.addSchema(U[$],$)}function T(){for(let U in this.opts.formats){let $=this.opts.formats[U];$&&this.addFormat(U,$)}}function R(U){if(Array.isArray(U)){this.addVocabulary(U);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let $ in U){let z=U[$];z.keyword||(z.keyword=$),this.addKeyword(z)}}function M(){let U={...this.opts};for(let $ of g)delete U[$];return U}var j={log(){},warn(){},error(){}};function q(U){if(U===!1)return j;if(U===void 0)return console;if(U.log&&U.warn&&U.error)return U;throw new Error("logger must implement log, warn and error methods")}var H=/^[a-z_$][a-z0-9_$:-]*$/i;function N(U,$){let{RULES:z}=this;if((0,l.eachItem)(U,A=>{if(z.keywords[A])throw new Error(`Keyword ${A} is already defined`);if(!H.test(A))throw new Error(`Keyword ${A} has invalid name`)}),!!$&&$.$data&&!("code"in $||"validate"in $))throw new Error('$data keyword must have "code" or "validate" function')}function W(U,$,z){var A;let x=$?.post;if(z&&x)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:k}=this,D=x?k.post:k.rules.find(({type:J})=>J===z);if(D||(D={type:z,rules:[]},k.rules.push(D)),k.keywords[U]=!0,!$)return;let K={keyword:U,definition:{...$,type:(0,u.getJSONTypes)($.type),schemaType:(0,u.getJSONTypes)($.schemaType)}};$.before?oe.call(this,D,K,$.before):D.rules.push(K),k.all[U]=K,(A=$.implements)===null||A===void 0||A.forEach(J=>this.addKeyword(J))}function oe(U,$,z){let A=U.rules.findIndex(x=>x.keyword===z);A>=0?U.rules.splice(A,0,$):(U.rules.push($),this.logger.warn(`rule ${z} is not defined`))}function he(U){let{metaSchema:$}=U;$!==void 0&&(U.$data&&this.opts.$data&&($=re($)),U.validateSchema=this.compile($,!0))}var ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function re(U){return{anyOf:[U,ae]}}}),cq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),uq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=kl(),r=Gr(),a=Ge(),n=Yn(),s=Hm(),i=Qe(),o={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:m}=l,{baseId:g,schemaEnv:_,validateName:f,opts:h,self:y}=m,{root:v}=_;if((p==="#"||p==="#/")&&g===v.baseId)return w();let b=s.resolveRef.call(y,v,g,p);if(b===void 0)throw new e.default(m.opts.uriResolver,g,p);if(b instanceof s.SchemaEnv)return S(b);return E(b);function w(){if(_===v)return u(l,f,_,_.$async);let T=d.scopeValue("root",{ref:v});return u(l,(0,a._)`${T}.validate`,v,v.$async)}function S(T){let R=c(l,T);u(l,R,T,T.$async)}function E(T){let R=d.scopeValue("schema",h.code.source===!0?{ref:T,code:(0,a.stringify)(T)}:{ref:T}),M=d.name("valid"),j=l.subschema({schema:T,dataTypes:[],schemaPath:a.nil,topSchemaRef:R,errSchemaPath:p},M);l.mergeEvaluated(j),l.ok(M)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,a._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,m){let{gen:g,it:_}=l,{allErrors:f,schemaEnv:h,opts:y}=_,v=y.passContext?n.default.this:a.nil;m?b():w();function b(){if(!h.$async)throw new Error("async schema referenced by sync schema");let T=g.let("valid");g.try(()=>{g.code((0,a._)`await ${(0,r.callValidateCode)(l,d,v)}`),E(d),f||g.assign(T,!0)},R=>{g.if((0,a._)`!(${R} instanceof ${_.ValidationError})`,()=>g.throw(R)),S(R),f||g.assign(T,!1)}),l.ok(T)}function w(){l.result((0,r.callValidateCode)(l,d,v),()=>E(d),()=>S(d))}function S(T){let R=(0,a._)`${T}.errors`;g.assign(n.default.vErrors,(0,a._)`${n.default.vErrors} === null ? ${R} : ${n.default.vErrors}.concat(${R})`),g.assign(n.default.errors,(0,a._)`${n.default.vErrors}.length`)}function E(T){var R;if(!_.opts.unevaluated)return;let M=(R=p?.validate)===null||R===void 0?void 0:R.evaluated;if(_.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(_.props=i.mergeEvaluated.props(g,M.props,_.props));else{let j=g.var("props",(0,a._)`${T}.evaluated.props`);_.props=i.mergeEvaluated.props(g,j,_.props,a.Name)}if(_.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(_.items=i.mergeEvaluated.items(g,M.items,_.items));else{let j=g.var("items",(0,a._)`${T}.evaluated.items`);_.items=i.mergeEvaluated.items(g,j,_.items,a.Name)}}}t.callRef=u,t.default=o}),lq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=cq(),r=uq(),a=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=a}),dq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=e.operators,a={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},n={message:({keyword:i,schemaCode:o})=>(0,e.str)`must be ${a[i].okStr} ${o}`,params:({keyword:i,schemaCode:o})=>(0,e._)`{comparison: ${a[i].okStr}, limit: ${o}}`},s={keyword:Object.keys(a),type:"number",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u}=i;i.fail$data((0,e._)`${c} ${a[o].fail} ${u} || isNaN(${c})`)}};t.default=s}),pq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message:({schemaCode:n})=>(0,e.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,e._)`{multipleOf: ${n}}`},a={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(n){let{gen:s,data:i,schemaCode:o,it:c}=n,u=c.opts.multipleOfPrecision,l=s.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;n.fail$data((0,e._)`(${o} === 0 || (${l} = ${i}/${o}, ${d}))`)}};t.default=a}),fq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let a=r.length,n=0,s=0,i;for(;s=55296&&i<=56319&&s{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=fq(),n={message({keyword:i,schemaCode:o}){let c=i==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${o} characters`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u,it:l}=i,d=o==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(i.gen,a.default)}(${c})`;i.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=s}),hq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a={message:({schemaCode:s})=>(0,r.str)`must match pattern "${s}"`,params:({schemaCode:s})=>(0,r._)`{pattern: ${s}}`},n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:a,code(s){let{data:i,$data:o,schema:c,schemaCode:u,it:l}=s,d=l.opts.unicodeRegExp?"u":"",p=o?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(s,c);s.fail$data((0,r._)`!${p}.test(${i})`)}};t.default=n}),vq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message({keyword:n,schemaCode:s}){let i=n==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} properties`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxProperties"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`Object.keys(${i}).length ${c} ${o}`)}};t.default=a}),gq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Qe(),n={message:({params:{missingProperty:i}})=>(0,r.str)`must have required property '${i}'`,params:({params:{missingProperty:i}})=>(0,r._)`{missingProperty: ${i}}`},s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,schema:c,schemaCode:u,data:l,$data:d,it:p}=i,{opts:m}=p;if(!d&&c.length===0)return;let g=c.length>=m.loopRequired;if(p.allErrors?_():f(),m.strictRequired){let v=i.parentSchema.properties,{definedProperties:b}=i.it;for(let w of c)if(v?.[w]===void 0&&!b.has(w)){let S=p.schemaEnv.baseId+p.errSchemaPath,E=`required property "${w}" is not defined at "${S}" (strictRequired)`;(0,a.checkStrictMode)(p,E,p.opts.strictRequired)}}function _(){if(g||d)i.block$data(r.nil,h);else for(let v of c)(0,e.checkReportMissingProp)(i,v)}function f(){let v=o.let("missing");if(g||d){let b=o.let("valid",!0);i.block$data(b,()=>y(v,b)),i.ok(b)}else o.if((0,e.checkMissingProp)(i,c,v)),(0,e.reportMissingProp)(i,v),o.else()}function h(){o.forOf("prop",u,v=>{i.setParams({missingProperty:v}),o.if((0,e.noPropertyInData)(o,l,v,m.ownProperties),()=>i.error())})}function y(v,b){i.setParams({missingProperty:v}),o.forOf(v,u,()=>{o.assign(b,(0,e.propertyInData)(o,l,v,m.ownProperties)),o.if((0,r.not)(b),()=>{i.error(),o.break()})},r.nil)}}};t.default=s}),yq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message({keyword:n,schemaCode:s}){let i=n==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} items`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxItems"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`${i}.length ${c} ${o}`)}};t.default=a}),Bm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=wl();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),_q=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=fl(),r=Ge(),a=Qe(),n=Bm(),s={message:({params:{i:o,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${o} are identical)`,params:({params:{i:o,j:c}})=>(0,r._)`{i: ${o}, j: ${c}}`},i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s,code(o){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:m,it:g}=o;if(!l&&!d)return;let _=c.let("valid"),f=p.items?(0,e.getSchemaTypes)(p.items):[];o.block$data(_,h,(0,r._)`${m} === false`),o.ok(_);function h(){let w=c.let("i",(0,r._)`${u}.length`),S=c.let("j");o.setParams({i:w,j:S}),c.assign(_,!0),c.if((0,r._)`${w} > 1`,()=>(y()?v:b)(w,S))}function y(){return f.length>0&&!f.some(w=>w==="object"||w==="array")}function v(w,S){let E=c.name("item"),T=(0,e.checkDataTypes)(f,E,g.opts.strictNumbers,e.DataType.Wrong),R=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${w}--;`,()=>{c.let(E,(0,r._)`${u}[${w}]`),c.if(T,(0,r._)`continue`),f.length>1&&c.if((0,r._)`typeof ${E} == "string"`,(0,r._)`${E} += "_"`),c.if((0,r._)`typeof ${R}[${E}] == "number"`,()=>{c.assign(S,(0,r._)`${R}[${E}]`),o.error(),c.assign(_,!1).break()}).code((0,r._)`${R}[${E}] = ${w}`)})}function b(w,S){let E=(0,a.useFunc)(c,n.default),T=c.name("outer");c.label(T).for((0,r._)`;${w}--;`,()=>c.for((0,r._)`${S} = ${w}; ${S}--;`,()=>c.if((0,r._)`${E}(${u}[${w}], ${u}[${S}])`,()=>{o.error(),c.assign(_,!1).break(T)})))}}};t.default=i}),bq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Bm(),n={message:"must be equal to constant",params:({schemaCode:i})=>(0,e._)`{allowedValue: ${i}}`},s={keyword:"const",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schemaCode:l,schema:d}=i;u||d&&typeof d=="object"?i.fail$data((0,e._)`!${(0,r.useFunc)(o,a.default)}(${c}, ${l})`):i.fail((0,e._)`${d} !== ${c}`)}};t.default=s}),Sq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Bm(),n={message:"must be equal to one of the allowed values",params:({schemaCode:i})=>(0,e._)`{allowedValues: ${i}}`},s={keyword:"enum",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schema:l,schemaCode:d,it:p}=i;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let m=l.length>=p.opts.loopEnum,g,_=()=>g??(g=(0,r.useFunc)(o,a.default)),f;if(m||u)f=o.let("valid"),i.block$data(f,h);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=o.const("vSchema",d);f=(0,e.or)(...l.map((b,w)=>y(v,w)))}i.pass(f);function h(){o.assign(f,!1),o.forOf("v",d,v=>o.if((0,e._)`${_()}(${c}, ${v})`,()=>o.assign(f,!0).break()))}function y(v,b){let w=l[b];return typeof w=="object"&&w!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${w}`}}};t.default=s}),xq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=dq(),r=pq(),a=mq(),n=hq(),s=vq(),i=gq(),o=yq(),c=_q(),u=bq(),l=Sq(),d=[e.default,r.default,a.default,n.default,s.default,i.default,o.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),kT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Ge(),r=Qe(),a={message:({params:{len:i}})=>(0,e.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,e._)`{limit: ${i}}`},n={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:a,code(i){let{parentSchema:o,it:c}=i,{items:u}=o;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}s(i,u)}};function s(i,o){let{gen:c,schema:u,data:l,keyword:d,it:p}=i;p.items=!0;let m=c.const("len",(0,e._)`${l}.length`);if(u===!1)i.setParams({len:o.length}),i.pass((0,e._)`${m} <= ${o.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${m} <= ${o.length}`);c.if((0,e.not)(_),()=>g(_)),i.ok(_)}function g(_){c.forRange("i",o.length,m,f=>{i.subschema({keyword:d,dataProp:f,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=s,t.default=n}),RT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Ge(),r=Qe(),a=Gr(),n={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(i){let{schema:o,it:c}=i;if(Array.isArray(o))return s(i,"additionalItems",o);c.items=!0,!(0,r.alwaysValidSchema)(c,o)&&i.ok((0,a.validateArray)(i))}};function s(i,o,c=i.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:m}=i;f(l),m.opts.unevaluated&&c.length&&m.items!==!0&&(m.items=r.mergeEvaluated.items(u,c.length,m.items));let g=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((h,y)=>{(0,r.alwaysValidSchema)(m,h)||(u.if((0,e._)`${_} > ${y}`,()=>i.subschema({keyword:p,schemaProp:y,dataProp:y},g)),i.ok(g))});function f(h){let{opts:y,errSchemaPath:v}=m,b=c.length,w=b===h.minItems&&(b===h.maxItems||h[o]===!1);if(y.strictTuples&&!w){let S=`"${p}" is ${b}-tuple, but minItems or maxItems/${o} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(m,S,y.strictTuples)}}}t.validateTuple=s,t.default=n}),wq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=RT(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:a=>(0,e.validateTuple)(a,"items")};t.default=r}),Eq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Gr(),n=kT(),s={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:s,code(o){let{schema:c,parentSchema:u,it:l}=o,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,n.validateAdditionalItems)(o,d):o.ok((0,a.validateArray)(o)))}};t.default=i}),Tq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:({params:{min:s,max:i}})=>i===void 0?(0,e.str)`must contain at least ${s} valid item(s)`:(0,e.str)`must contain at least ${s} and no more than ${i} valid item(s)`,params:({params:{min:s,max:i}})=>i===void 0?(0,e._)`{minContains: ${s}}`:(0,e._)`{minContains: ${s}, maxContains: ${i}}`},n={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,data:u,it:l}=s,d,p,{minContains:m,maxContains:g}=c;l.opts.next?(d=m===void 0?1:m,p=g):d=1;let _=i.const("len",(0,e._)`${u}.length`);if(s.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),s.fail();return}if((0,r.alwaysValidSchema)(l,o)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),s.pass(b);return}l.items=!0;let f=i.name("valid");p===void 0&&d===1?y(f,()=>i.if(f,()=>i.break())):d===0?(i.let(f,!0),p!==void 0&&i.if((0,e._)`${u}.length > 0`,h)):(i.let(f,!1),h()),s.result(f,()=>s.reset());function h(){let b=i.name("_valid"),w=i.let("count",0);y(b,()=>i.if(b,()=>v(w)))}function y(b,w){i.forRange("i",0,_,S=>{s.subschema({keyword:"contains",dataProp:S,dataPropType:r.Type.Num,compositeRule:!0},b),w()})}function v(b){i.code((0,e._)`${b}++`),p===void 0?i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0).break()):(i.if((0,e._)`${b} > ${p}`,()=>i.assign(f,!1).break()),d===1?i.assign(f,!0):i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0)))}}};t.default=n}),kq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Ge(),r=Qe(),a=Gr();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, + || ${R} === "boolean" || ${E} === null`).assign(M,(0,n._)`[${E}]`)}}}function m({gen:v,parentData:b,parentDataProperty:w},S){v.if((0,n._)`${b} !== undefined`,()=>v.assign((0,n._)`${b}[${w}]`,S))}function g(v,b,w,S=i.Correct){let E=S===i.Correct?n.operators.EQ:n.operators.NEQ,T;switch(v){case"null":return(0,n._)`${b} ${E} null`;case"array":T=(0,n._)`Array.isArray(${b})`;break;case"object":T=(0,n._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":T=R((0,n._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":T=R();break;default:return(0,n._)`typeof ${b} ${E} ${v}`}return S===i.Correct?T:(0,n.not)(T);function R(M=n.nil){return(0,n.and)((0,n._)`typeof ${b} == "number"`,M,w?(0,n._)`isFinite(${b})`:n.nil)}}t.checkDataType=g;function _(v,b,w,S){if(v.length===1)return g(v[0],b,w,S);let E,T=(0,s.toHash)(v);if(T.array&&T.object){let R=(0,n._)`typeof ${b} != "object"`;E=T.null?R:(0,n._)`!${b} || ${R}`,delete T.null,delete T.array,delete T.object}else E=n.nil;T.number&&delete T.integer;for(let R in T)E=(0,n.and)(E,g(R,b,w,S));return E}t.checkDataTypes=_;var f={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,n._)`{type: ${v}}`:(0,n._)`{type: ${b}}`};function h(v){let b=y(v);(0,a.reportError)(b,f)}t.reportTypeError=h;function y(v){let{gen:b,data:w,schema:S}=v,E=(0,s.schemaRefOrVal)(v,S,"type");return{gen:b,keyword:"type",data:w,schema:S.type,schemaCode:E,schemaValue:E,parentSchema:S,params:{},it:v}}}),YL=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=Ge(),r=Qe();function a(s,i){let{properties:o,items:c}=s.schema;if(i==="object"&&o)for(let u in o)n(s,u,o[u].default);else i==="array"&&Array.isArray(c)&&c.forEach((u,l)=>n(s,l,u.default))}t.assignDefaults=a;function n(s,i,o){let{gen:c,compositeRule:u,data:l,opts:d}=s;if(o===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(i)}`;if(u){(0,r.checkStrictMode)(s,`default is ignored for: ${p}`);return}let m=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(m=(0,e._)`${m} || ${p} === null || ${p} === ""`),c.if(m,(0,e._)`${p} = ${(0,e.stringify)(o)}`)}}),Gr=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=Ge(),r=Qe(),a=Yn(),n=Qe();function s(v,b){let{gen:w,data:S,it:E}=v;w.if(d(w,S,b,E.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=s;function i({gen:v,data:b,it:{opts:w}},S,E){return(0,e.or)(...S.map(T=>(0,e.and)(d(v,b,T,w.ownProperties),(0,e._)`${E} = ${T}`)))}t.checkMissingProp=i;function o(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=o;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,w){return(0,e._)`${c(v)}.call(${b}, ${w})`}t.isOwnProperty=u;function l(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} !== undefined`;return S?(0,e._)`${E} && ${u(v,b,w)}`:E}t.propertyInData=l;function d(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} === undefined`;return S?(0,e.or)(E,(0,e.not)(u(v,b,w))):E}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function m(v,b){return p(b).filter(w=>!(0,r.alwaysValidSchema)(v,b[w]))}t.schemaProperties=m;function g({schemaCode:v,data:b,it:{gen:w,topSchemaRef:S,schemaPath:E,errorPath:T},it:R},M,j,q){let H=q?(0,e._)`${v}, ${b}, ${S}${E}`:b,N=[[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,T)],[a.default.parentData,R.parentData],[a.default.parentDataProperty,R.parentDataProperty],[a.default.rootData,a.default.rootData]];R.opts.dynamicRef&&N.push([a.default.dynamicAnchors,a.default.dynamicAnchors]);let W=(0,e._)`${H}, ${w.object(...N)}`;return j!==e.nil?(0,e._)`${M}.call(${j}, ${W})`:(0,e._)`${M}(${W})`}t.callValidateCode=g;var _=(0,e._)`new RegExp`;function f({gen:v,it:{opts:b}},w){let S=b.unicodeRegExp?"u":"",{regExp:E}=b.code,T=E(w,S);return v.scopeValue("pattern",{key:T.toString(),ref:T,code:(0,e._)`${E.code==="new RegExp"?_:(0,n.useFunc)(v,E)}(${w}, ${S})`})}t.usePattern=f;function h(v){let{gen:b,data:w,keyword:S,it:E}=v,T=b.name("valid");if(E.allErrors){let M=b.let("valid",!0);return R(()=>b.assign(M,!1)),M}return b.var(T,!0),R(()=>b.break()),T;function R(M){let j=b.const("len",(0,e._)`${w}.length`);b.forRange("i",0,j,q=>{v.subschema({keyword:S,dataProp:q,dataPropType:r.Type.Num},T),b.if((0,e.not)(T),M)})}}t.validateArray=h;function y(v){let{gen:b,schema:w,keyword:S,it:E}=v;if(!Array.isArray(w))throw new Error("ajv implementation error");if(w.some(j=>(0,r.alwaysValidSchema)(E,j))&&!E.opts.unevaluated)return;let R=b.let("valid",!1),M=b.name("_valid");b.block(()=>w.forEach((j,q)=>{let H=v.subschema({keyword:S,schemaProp:q,compositeRule:!0},M);b.assign(R,(0,e._)`${R} || ${M}`),v.mergeValidEvaluated(H,M)||b.if((0,e.not)(R))})),v.result(R,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),QL=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=Ge(),r=Yn(),a=Gr(),n=xl();function s(m,g){let{gen:_,keyword:f,schema:h,parentSchema:y,it:v}=m,b=g.macro.call(v.self,h,y,v),w=l(_,f,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let S=_.name("valid");m.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${f}`,topSchemaRef:w,compositeRule:!0},S),m.pass(S,()=>m.error(!0))}t.macroKeywordCode=s;function i(m,g){var _;let{gen:f,keyword:h,schema:y,parentSchema:v,$data:b,it:w}=m;u(w,g);let S=!b&&g.compile?g.compile.call(w.self,y,v,w):g.validate,E=l(f,h,S),T=f.let("valid");m.block$data(T,R),m.ok((_=g.valid)!==null&&_!==void 0?_:T);function R(){if(g.errors===!1)q(),g.modifying&&o(m),H(()=>m.error());else{let N=g.async?M():j();g.modifying&&o(m),H(()=>c(m,N))}}function M(){let N=f.let("ruleErrs",null);return f.try(()=>q((0,e._)`await `),W=>f.assign(T,!1).if((0,e._)`${W} instanceof ${w.ValidationError}`,()=>f.assign(N,(0,e._)`${W}.errors`),()=>f.throw(W))),N}function j(){let N=(0,e._)`${E}.errors`;return f.assign(N,null),q(e.nil),N}function q(N=g.async?(0,e._)`await `:e.nil){let W=w.opts.passContext?r.default.this:r.default.self,oe=!("compile"in g&&!b||g.schema===!1);f.assign(T,(0,e._)`${N}${(0,a.callValidateCode)(m,E,W,oe)}`,g.modifying)}function H(N){var W;f.if((0,e.not)((W=g.valid)!==null&&W!==void 0?W:T),N)}}t.funcKeywordCode=i;function o(m){let{gen:g,data:_,it:f}=m;g.if(f.parentData,()=>g.assign(_,(0,e._)`${f.parentData}[${f.parentDataProperty}]`))}function c(m,g){let{gen:_}=m;_.if((0,e._)`Array.isArray(${g})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${g} : ${r.default.vErrors}.concat(${g})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,n.extendErrors)(m)},()=>m.error())}function u({schemaEnv:m},g){if(g.async&&!m.$async)throw new Error("async keyword in sync schema")}function l(m,g,_){if(_===void 0)throw new Error(`keyword "${g}" failed to compile`);return m.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(m,g,_=!1){return!g.length||g.some(f=>f==="array"?Array.isArray(m):f==="object"?m&&typeof m=="object"&&!Array.isArray(m):typeof m==f||_&&typeof m>"u")}t.validSchemaType=d;function p({schema:m,opts:g,self:_,errSchemaPath:f},h,y){if(Array.isArray(h.keyword)?!h.keyword.includes(y):h.keyword!==y)throw new Error("ajv implementation error");let v=h.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(m,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(h.validateSchema&&!h.validateSchema(m[y])){let w=`keyword "${y}" value is invalid at path "${f}": `+_.errorsText(h.validateSchema.errors);if(g.validateSchema==="log")_.logger.error(w);else throw new Error(w)}}t.validateKeywordUsage=p}),eq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=Ge(),r=Qe();function a(i,{keyword:o,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(o!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){let m=i.schema[o];return c===void 0?{schema:m,schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}`,errSchemaPath:`${i.errSchemaPath}/${o}`}:{schema:m[c],schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}${(0,e.getProperty)(c)}`,errSchemaPath:`${i.errSchemaPath}/${o}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=a;function n(i,o,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=o;if(c!==void 0){let{errorPath:_,dataPathArr:f,opts:h}=o,y=m.let("data",(0,e._)`${o.data}${(0,e.getProperty)(c)}`,!0);g(y),i.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,h.jsPropertySyntax)}`,i.parentDataProperty=(0,e._)`${c}`,i.dataPathArr=[...f,i.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:m.let("data",l,!0);g(_),p!==void 0&&(i.propertyName=p)}d&&(i.dataTypes=d);function g(_){i.data=_,i.dataLevel=o.dataLevel+1,i.dataTypes=[],o.definedProperties=new Set,i.parentData=o.data,i.dataNames=[...o.dataNames,_]}}t.extendSubschemaData=n;function s(i,{jtdDiscriminator:o,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(i.compositeRule=u),l!==void 0&&(i.createErrors=l),d!==void 0&&(i.allErrors=d),i.jtdDiscriminator=o,i.jtdMetadata=c}t.extendSubschemaMode=s}),wl=Q((t,e)=>{e.exports=function r(a,n){if(a===n)return!0;if(a&&n&&typeof a=="object"&&typeof n=="object"){if(a.constructor!==n.constructor)return!1;var s,i,o;if(Array.isArray(a)){if(s=a.length,s!=n.length)return!1;for(i=s;i--!==0;)if(!r(a[i],n[i]))return!1;return!0}if(a.constructor===RegExp)return a.source===n.source&&a.flags===n.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===n.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===n.toString();if(o=Object.keys(a),s=o.length,s!==Object.keys(n).length)return!1;for(i=s;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=s;i--!==0;){var c=o[i];if(!r(a[c],n[c]))return!1}return!0}return a!==a&&n!==n}}),tq=Q((t,e)=>{var r=e.exports=function(s,i,o){typeof i=="function"&&(o=i,i={}),o=i.cb||o;var c=typeof o=="function"?o:o.pre||function(){},u=o.post||function(){};a(i,c,u,s,"",s)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.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 a(s,i,o,c,u,l,d,p,m,g){if(c&&typeof c=="object"&&!Array.isArray(c)){i(c,u,l,d,p,m,g);for(var _ in c){var f=c[_];if(Array.isArray(f)){if(_ in r.arrayKeywords)for(var h=0;h{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=Qe(),r=wl(),a=tq(),n=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function s(f,h=!0){return typeof f=="boolean"?!0:h===!0?!o(f):h?c(f)<=h:!1}t.inlineRef=s;var i=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function o(f){for(let h in f){if(i.has(h))return!0;let y=f[h];if(Array.isArray(y)&&y.some(o)||typeof y=="object"&&o(y))return!0}return!1}function c(f){let h=0;for(let y in f){if(y==="$ref")return 1/0;if(h++,!n.has(y)&&(typeof f[y]=="object"&&(0,e.eachItem)(f[y],v=>h+=c(v)),h===1/0))return 1/0}return h}function u(f,h="",y){y!==!1&&(h=p(h));let v=f.parse(h);return l(f,v)}t.getFullPath=u;function l(f,h){return f.serialize(h).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(f){return f?f.replace(d,""):""}t.normalizeId=p;function m(f,h,y){return y=p(y),f.resolve(h,y)}t.resolveUrl=m;var g=/^[a-z_][-a-z0-9._]*$/i;function _(f,h){if(typeof f=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(f[y]||h),w={"":b},S=u(v,b,!1),E={},T=new Set;return a(f,{allKeys:!0},(j,q,H,N)=>{if(N===void 0)return;let W=S+q,oe=w[N];typeof j[y]=="string"&&(oe=he.call(this,j[y])),ae.call(this,j.$anchor),ae.call(this,j.$dynamicAnchor),w[q]=oe;function he(re){let U=this.opts.uriResolver.resolve;if(re=p(oe?U(oe,re):re),T.has(re))throw M(re);T.add(re);let P=this.refs[re];return typeof P=="string"&&(P=this.refs[P]),typeof P=="object"?R(j,P.schema,re):re!==p(W)&&(re[0]==="#"?(R(j,E[re],re),E[re]=j):this.refs[re]=W),re}function ae(re){if(typeof re=="string"){if(!g.test(re))throw new Error(`invalid anchor "${re}"`);he.call(this,`#${re}`)}}}),E;function R(j,q,H){if(q!==void 0&&!r(j,q))throw M(H)}function M(j){return new Error(`reference "${j}" resolves to more than one schema`)}}t.getSchemaRefs=_}),Tl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=JL(),r=fl(),a=ET(),n=fl(),s=YL(),i=QL(),o=eq(),c=Ge(),u=Yn(),l=El(),d=Qe(),p=xl();function m(C){if(S(C)&&(T(C),w(C))){h(C);return}g(C,()=>(0,e.topBoolOrEmptySchema)(C))}t.validateFunctionCode=m;function g({gen:C,validateName:I,schema:F,schemaEnv:Z,opts:ee},ce){ee.code.es5?C.func(I,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{C.code((0,c._)`"use strict"; ${v(F,ee)}`),f(C,ee),C.code(ce)}):C.func(I,(0,c._)`${u.default.data}, ${_(ee)}`,Z.$async,()=>C.code(v(F,ee)).code(ce))}function _(C){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${C.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function f(C,I){C.if(u.default.valCxt,()=>{C.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),C.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),C.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),C.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{C.var(u.default.instancePath,(0,c._)`""`),C.var(u.default.parentData,(0,c._)`undefined`),C.var(u.default.parentDataProperty,(0,c._)`undefined`),C.var(u.default.rootData,u.default.data),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function h(C){let{schema:I,opts:F,gen:Z}=C;g(C,()=>{F.$comment&&I.$comment&&N(C),j(C),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),F.unevaluated&&y(C),R(C),W(C)})}function y(C){let{gen:I,validateName:F}=C;C.evaluated=I.const("evaluated",(0,c._)`${F}.evaluated`),I.if((0,c._)`${C.evaluated}.dynamicProps`,()=>I.assign((0,c._)`${C.evaluated}.props`,(0,c._)`undefined`)),I.if((0,c._)`${C.evaluated}.dynamicItems`,()=>I.assign((0,c._)`${C.evaluated}.items`,(0,c._)`undefined`))}function v(C,I){let F=typeof C=="object"&&C[I.schemaId];return F&&(I.code.source||I.code.process)?(0,c._)`/*# sourceURL=${F} */`:c.nil}function b(C,I){if(S(C)&&(T(C),w(C))){E(C,I);return}(0,e.boolOrEmptySchema)(C,I)}function w({schema:C,self:I}){if(typeof C=="boolean")return!C;for(let F in C)if(I.RULES.all[F])return!0;return!1}function S(C){return typeof C.schema!="boolean"}function E(C,I){let{schema:F,gen:Z,opts:ee}=C;ee.$comment&&F.$comment&&N(C),q(C),H(C);let ce=Z.const("_errs",u.default.errors);R(C,ce),Z.var(I,(0,c._)`${ce} === ${u.default.errors}`)}function T(C){(0,d.checkUnknownRules)(C),M(C)}function R(C,I){if(C.opts.jtd)return he(C,[],!1,I);let F=(0,r.getSchemaTypes)(C.schema),Z=(0,r.coerceAndCheckDataType)(C,F);he(C,F,!Z,I)}function M(C){let{schema:I,errSchemaPath:F,opts:Z,self:ee}=C;I.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(I,ee.RULES)&&ee.logger.warn(`$ref: keywords ignored in schema at path "${F}"`)}function j(C){let{schema:I,opts:F}=C;I.default!==void 0&&F.useDefaults&&F.strictSchema&&(0,d.checkStrictMode)(C,"default is ignored in the schema root")}function q(C){let I=C.schema[C.opts.schemaId];I&&(C.baseId=(0,l.resolveUrl)(C.opts.uriResolver,C.baseId,I))}function H(C){if(C.schema.$async&&!C.schemaEnv.$async)throw new Error("async schema in sync schema")}function N({gen:C,schemaEnv:I,schema:F,errSchemaPath:Z,opts:ee}){let ce=F.$comment;if(ee.$comment===!0)C.code((0,c._)`${u.default.self}.logger.log(${ce})`);else if(typeof ee.$comment=="function"){let ke=(0,c.str)`${Z}/$comment`,Ne=C.scopeValue("root",{ref:I.root});C.code((0,c._)`${u.default.self}.opts.$comment(${ce}, ${ke}, ${Ne}.schema)`)}}function W(C){let{gen:I,schemaEnv:F,validateName:Z,ValidationError:ee,opts:ce}=C;F.$async?I.if((0,c._)`${u.default.errors} === 0`,()=>I.return(u.default.data),()=>I.throw((0,c._)`new ${ee}(${u.default.vErrors})`)):(I.assign((0,c._)`${Z}.errors`,u.default.vErrors),ce.unevaluated&&oe(C),I.return((0,c._)`${u.default.errors} === 0`))}function oe({gen:C,evaluated:I,props:F,items:Z}){F instanceof c.Name&&C.assign((0,c._)`${I}.props`,F),Z instanceof c.Name&&C.assign((0,c._)`${I}.items`,Z)}function he(C,I,F,Z){let{gen:ee,schema:ce,data:ke,allErrors:Ne,opts:Me,self:je}=C,{RULES:Re}=je;if(ce.$ref&&(Me.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ce,Re))){ee.block(()=>J(C,"$ref",Re.all.$ref.definition));return}Me.jtd||re(C,I),ee.block(()=>{for(let Ue of Re.rules)vt(Ue);vt(Re.post)});function vt(Ue){(0,a.shouldUseGroup)(ce,Ue)&&(Ue.type?(ee.if((0,n.checkDataType)(Ue.type,ke,Me.strictNumbers)),ae(C,Ue),I.length===1&&I[0]===Ue.type&&F&&(ee.else(),(0,n.reportTypeError)(C)),ee.endIf()):ae(C,Ue),Ne||ee.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function ae(C,I){let{gen:F,schema:Z,opts:{useDefaults:ee}}=C;ee&&(0,s.assignDefaults)(C,I.type),F.block(()=>{for(let ce of I.rules)(0,a.shouldUseRule)(Z,ce)&&J(C,ce.keyword,ce.definition,I.type)})}function re(C,I){C.schemaEnv.meta||!C.opts.strictTypes||(U(C,I),C.opts.allowUnionTypes||P(C,I),z(C,C.dataTypes))}function U(C,I){if(I.length){if(!C.dataTypes.length){C.dataTypes=I;return}I.forEach(F=>{x(C.dataTypes,F)||D(C,`type "${F}" not allowed by context "${C.dataTypes.join(",")}"`)}),k(C,I)}}function P(C,I){I.length>1&&!(I.length===2&&I.includes("null"))&&D(C,"use allowUnionTypes to allow union type keyword")}function z(C,I){let F=C.self.RULES.all;for(let Z in F){let ee=F[Z];if(typeof ee=="object"&&(0,a.shouldUseRule)(C.schema,ee)){let{type:ce}=ee.definition;ce.length&&!ce.some(ke=>A(I,ke))&&D(C,`missing type "${ce.join(",")}" for keyword "${Z}"`)}}}function A(C,I){return C.includes(I)||I==="number"&&C.includes("integer")}function x(C,I){return C.includes(I)||I==="integer"&&C.includes("number")}function k(C,I){let F=[];for(let Z of C.dataTypes)x(I,Z)?F.push(Z):I.includes("integer")&&Z==="number"&&F.push("integer");C.dataTypes=F}function D(C,I){let F=C.schemaEnv.baseId+C.errSchemaPath;I+=` at "${F}" (strictTypes)`,(0,d.checkStrictMode)(C,I,C.opts.strictTypes)}class K{constructor(I,F,Z){if((0,i.validateKeywordUsage)(I,F,Z),this.gen=I.gen,this.allErrors=I.allErrors,this.keyword=Z,this.data=I.data,this.schema=I.schema[Z],this.$data=F.$data&&I.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(I,this.schema,Z,this.$data),this.schemaType=F.schemaType,this.parentSchema=I.schema,this.params={},this.it=I,this.def=F,this.$data)this.schemaCode=I.gen.const("vSchema",me(this.$data,I));else if(this.schemaCode=this.schemaValue,!(0,i.validSchemaType)(this.schema,F.schemaType,F.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(F.schemaType)}`);("code"in F?F.trackErrors:F.errors!==!1)&&(this.errsCount=I.gen.const("_errs",u.default.errors))}result(I,F,Z){this.failResult((0,c.not)(I),F,Z)}failResult(I,F,Z){this.gen.if(I),Z?Z():this.error(),F?(this.gen.else(),F(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(I,F){this.failResult((0,c.not)(I),void 0,F)}fail(I){if(I===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(I),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(I){if(!this.$data)return this.fail(I);let{schemaCode:F}=this;this.fail((0,c._)`${F} !== undefined && (${(0,c.or)(this.invalid$data(),I)})`)}error(I,F,Z){if(F){this.setParams(F),this._error(I,Z),this.setParams({});return}this._error(I,Z)}_error(I,F){(I?p.reportExtraError:p.reportError)(this,this.def.error,F)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(I){this.allErrors||this.gen.if(I)}setParams(I,F){F?Object.assign(this.params,I):this.params=I}block$data(I,F,Z=c.nil){this.gen.block(()=>{this.check$data(I,Z),F()})}check$data(I=c.nil,F=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:ee,schemaType:ce,def:ke}=this;Z.if((0,c.or)((0,c._)`${ee} === undefined`,F)),I!==c.nil&&Z.assign(I,!0),(ce.length||ke.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),I!==c.nil&&Z.assign(I,!1)),Z.else()}invalid$data(){let{gen:I,schemaCode:F,schemaType:Z,def:ee,it:ce}=this;return(0,c.or)(ke(),Ne());function ke(){if(Z.length){if(!(F instanceof c.Name))throw new Error("ajv implementation error");let Me=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,n.checkDataTypes)(Me,F,ce.opts.strictNumbers,n.DataType.Wrong)}`}return c.nil}function Ne(){if(ee.validateSchema){let Me=I.scopeValue("validate$data",{ref:ee.validateSchema});return(0,c._)`!${Me}(${F})`}return c.nil}}subschema(I,F){let Z=(0,o.getSubschema)(this.it,I);(0,o.extendSubschemaData)(Z,this.it,I),(0,o.extendSubschemaMode)(Z,I);let ee={...this.it,...Z,items:void 0,props:void 0};return b(ee,F),ee}mergeEvaluated(I,F){let{it:Z,gen:ee}=this;Z.opts.unevaluated&&(Z.props!==!0&&I.props!==void 0&&(Z.props=d.mergeEvaluated.props(ee,I.props,Z.props,F)),Z.items!==!0&&I.items!==void 0&&(Z.items=d.mergeEvaluated.items(ee,I.items,Z.items,F)))}mergeValidEvaluated(I,F){let{it:Z,gen:ee}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return ee.if(F,()=>this.mergeEvaluated(I,c.Name)),!0}}t.KeywordCxt=K;function J(C,I,F,Z){let ee=new K(C,F,I);"code"in F?F.code(ee,Z):ee.$data&&F.validate?(0,i.funcKeywordCode)(ee,F):"macro"in F?(0,i.macroKeywordCode)(ee,F):(F.compile||F.validate)&&(0,i.funcKeywordCode)(ee,F)}var de=/^\/(?:[^~]|~0|~1)*$/,se=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function me(C,{dataLevel:I,dataNames:F,dataPathArr:Z}){let ee,ce;if(C==="")return u.default.rootData;if(C[0]==="/"){if(!de.test(C))throw new Error(`Invalid JSON-pointer: ${C}`);ee=C,ce=u.default.rootData}else{let je=se.exec(C);if(!je)throw new Error(`Invalid JSON-pointer: ${C}`);let Re=+je[1];if(ee=je[2],ee==="#"){if(Re>=I)throw new Error(Me("property/index",Re));return Z[I-Re]}if(Re>I)throw new Error(Me("data",Re));if(ce=F[I-Re],!ee)return ce}let ke=ce,Ne=ee.split("/");for(let je of Ne)je&&(ce=(0,c._)`${ce}${(0,c.getProperty)((0,d.unescapeJsonPointer)(je))}`,ke=(0,c._)`${ke} && ${ce}`);return ke;function Me(je,Re){return`Cannot access ${je} ${Re} levels up, current level is ${I}`}}t.getData=me}),zm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(a){super("validation failed"),this.errors=a,this.ajv=this.validation=!0}}t.default=e}),kl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=El();class r extends Error{constructor(n,s,i,o){super(o||`can't resolve reference ${i} from id ${s}`),this.missingRef=(0,e.resolveUrl)(n,s,i),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(n,this.missingRef))}}t.default=r}),Hm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=Ge(),r=zm(),a=Yn(),n=El(),s=Qe(),i=Tl();class o{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,n.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=o;function c(h){let y=d.call(this,h);if(y)return y;let v=(0,n.getFullPath)(this.opts.uriResolver,h.root.baseId),{es5:b,lines:w}=this.opts.code,{ownProperties:S}=this.opts,E=new e.CodeGen(this.scope,{es5:b,lines:w,ownProperties:S}),T;h.$async&&(T=E.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let R=E.scopeName("validate");h.validateName=R;let M={gen:E,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:E.scopeValue("schema",this.opts.code.source===!0?{ref:h.schema,code:(0,e.stringify)(h.schema)}:{ref:h.schema}),validateName:R,ValidationError:T,schema:h.schema,schemaEnv:h,rootId:v,baseId:h.baseId||v,schemaPath:e.nil,errSchemaPath:h.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},j;try{this._compilations.add(h),(0,i.validateFunctionCode)(M),E.optimize(this.opts.code.optimize);let q=E.toString();j=`${E.scopeRefs(a.default.scope)}return ${q}`,this.opts.code.process&&(j=this.opts.code.process(j,h));let N=new Function(`${a.default.self}`,`${a.default.scope}`,j)(this,this.scope.get());if(this.scope.value(R,{ref:N}),N.errors=null,N.schema=h.schema,N.schemaEnv=h,h.$async&&(N.$async=!0),this.opts.code.source===!0&&(N.source={validateName:R,validateCode:q,scopeValues:E._values}),this.opts.unevaluated){let{props:W,items:oe}=M;N.evaluated={props:W instanceof e.Name?void 0:W,items:oe instanceof e.Name?void 0:oe,dynamicProps:W instanceof e.Name,dynamicItems:oe instanceof e.Name},N.source&&(N.source.evaluated=(0,e.stringify)(N.evaluated))}return h.validate=N,h}catch(q){throw delete h.validate,delete h.validateName,j&&this.logger.error("Error compiling schema, function code:",j),q}finally{this._compilations.delete(h)}}t.compileSchema=c;function u(h,y,v){var b;v=(0,n.resolveUrl)(this.opts.uriResolver,y,v);let w=h.refs[v];if(w)return w;let S=m.call(this,h,v);if(S===void 0){let E=(b=h.localRefs)===null||b===void 0?void 0:b[v],{schemaId:T}=this.opts;E&&(S=new o({schema:E,schemaId:T,root:h,baseId:y}))}if(S!==void 0)return h.refs[v]=l.call(this,S)}t.resolveRef=u;function l(h){return(0,n.inlineRef)(h.schema,this.opts.inlineRefs)?h.schema:h.validate?h:c.call(this,h)}function d(h){for(let y of this._compilations)if(p(y,h))return y}t.getCompilingSchema=d;function p(h,y){return h.schema===y.schema&&h.root===y.root&&h.baseId===y.baseId}function m(h,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||g.call(this,h,y)}function g(h,y){let v=this.opts.uriResolver.parse(y),b=(0,n._getFullPath)(this.opts.uriResolver,v),w=(0,n.getFullPath)(this.opts.uriResolver,h.baseId,void 0);if(Object.keys(h.schema).length>0&&b===w)return f.call(this,v,h);let S=(0,n.normalizeId)(b),E=this.refs[S]||this.schemas[S];if(typeof E=="string"){let T=g.call(this,h,E);return typeof T?.schema!="object"?void 0:f.call(this,v,T)}if(typeof E?.schema=="object"){if(E.validate||c.call(this,E),S===(0,n.normalizeId)(y)){let{schema:T}=E,{schemaId:R}=this.opts,M=T[R];return M&&(w=(0,n.resolveUrl)(this.opts.uriResolver,w,M)),new o({schema:T,schemaId:R,root:h,baseId:w})}return f.call(this,v,E)}}t.resolveSchema=g;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function f(h,{baseId:y,schema:v,root:b}){var w;if(((w=h.fragment)===null||w===void 0?void 0:w[0])!=="/")return;for(let T of h.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let R=v[(0,s.unescapeFragment)(T)];if(R===void 0)return;v=R;let M=typeof v=="object"&&v[this.opts.schemaId];!_.has(T)&&M&&(y=(0,n.resolveUrl)(this.opts.uriResolver,y,M))}let S;if(typeof v!="boolean"&&v.$ref&&!(0,s.schemaHasRulesButRef)(v,this.RULES)){let T=(0,n.resolveUrl)(this.opts.uriResolver,y,v.$ref);S=g.call(this,b,T)}let{schemaId:E}=this.opts;if(S=S||new o({schema:v,schemaId:E,root:b,baseId:y}),S.schema!==S.root.schema)return S}}),rq=Q((t,e)=>{e.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}}),nq=Q((t,e)=>{var r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};e.exports={HEX:r}}),aq=Q((t,e)=>{var{HEX:r}=nq(),a=/^(?:(?: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 n(h){if(u(h,".")<3)return{host:h,isIPV4:!1};let y=h.match(a)||[],[v]=y;return v?{host:c(v,"."),isIPV4:!0}:{host:h,isIPV4:!1}}function s(h,y=!1){let v="",b=!0;for(let w of h){if(r[w]===void 0)return;w!=="0"&&b===!0&&(b=!1),b||(v+=w)}return y&&v.length===0&&(v="0"),v}function i(h){let y=0,v={error:!1,address:"",zone:""},b=[],w=[],S=!1,E=!1,T=!1;function R(){if(w.length){if(S===!1){let M=s(w);if(M!==void 0)b.push(M);else return v.error=!0,!1}w.length=0}return!0}for(let M=0;M7){v.error=!0;break}M-1>=0&&h[M-1]===":"&&(E=!0);continue}else if(j==="%"){if(!R())break;S=!0}else{w.push(j);continue}}return w.length&&(S?v.zone=w.join(""):T?b.push(w.join("")):b.push(s(w))),v.address=b.join(""),v}function o(h){if(u(h,":")<2)return{host:h,isIPV6:!1};let y=i(h);if(y.error)return{host:h,isIPV6:!1};{let v=y.address,b=y.address;return y.zone&&(v+="%"+y.zone,b+="%25"+y.zone),{host:v,escapedHost:b,isIPV6:!0}}}function c(h,y){let v="",b=!0,w=h.length;for(let S=0;S{var r=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,a=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function n(b){return typeof b.secure=="boolean"?b.secure:String(b.scheme).toLowerCase()==="wss"}function s(b){return b.host||(b.error=b.error||"HTTP URIs must have a host."),b}function i(b){let w=String(b.scheme).toLowerCase()==="https";return(b.port===(w?443:80)||b.port==="")&&(b.port=void 0),b.path||(b.path="/"),b}function o(b){return b.secure=n(b),b.resourceName=(b.path||"/")+(b.query?"?"+b.query:""),b.path=void 0,b.query=void 0,b}function c(b){if((b.port===(n(b)?443:80)||b.port==="")&&(b.port=void 0),typeof b.secure=="boolean"&&(b.scheme=b.secure?"wss":"ws",b.secure=void 0),b.resourceName){let[w,S]=b.resourceName.split("?");b.path=w&&w!=="/"?w:void 0,b.query=S,b.resourceName=void 0}return b.fragment=void 0,b}function u(b,w){if(!b.path)return b.error="URN can not be parsed",b;let S=b.path.match(a);if(S){let E=w.scheme||b.scheme||"urn";b.nid=S[1].toLowerCase(),b.nss=S[2];let T=`${E}:${w.nid||b.nid}`,R=v[T];b.path=void 0,R&&(b=R.parse(b,w))}else b.error=b.error||"URN can not be parsed.";return b}function l(b,w){let S=w.scheme||b.scheme||"urn",E=b.nid.toLowerCase(),T=`${S}:${w.nid||E}`,R=v[T];R&&(b=R.serialize(b,w));let M=b,j=b.nss;return M.path=`${E||w.nid}:${j}`,w.skipEscape=!0,M}function d(b,w){let S=b;return S.uuid=S.nss,S.nss=void 0,!w.tolerant&&(!S.uuid||!r.test(S.uuid))&&(S.error=S.error||"UUID is not valid."),S}function p(b){let w=b;return w.nss=(b.uuid||"").toLowerCase(),w}var m={scheme:"http",domainHost:!0,parse:s,serialize:i},g={scheme:"https",domainHost:m.domainHost,parse:s,serialize:i},_={scheme:"ws",domainHost:!0,parse:o,serialize:c},f={scheme:"wss",domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},h={scheme:"urn",parse:u,serialize:l,skipNormalize:!0},y={scheme:"urn:uuid",parse:d,serialize:p,skipNormalize:!0},v={http:m,https:g,ws:_,wss:f,urn:h,"urn:uuid":y};e.exports=v}),TT=Q((t,e)=>{var{normalizeIPv6:r,normalizeIPv4:a,removeDotSegments:n,recomposeAuthority:s,normalizeComponentEncoding:i}=aq(),o=sq();function c(y,v){return typeof y=="string"?y=p(f(y,v),v):typeof y=="object"&&(y=f(p(y,v),v)),y}function u(y,v,b){let w=Object.assign({scheme:"null"},b),S=l(f(y,w),f(v,w),w,!0);return p(S,{...w,skipEscape:!0})}function l(y,v,b,w){let S={};return w||(y=f(p(y,b),b),v=f(p(v,b),b)),b=b||{},!b.tolerant&&v.scheme?(S.scheme=v.scheme,S.userinfo=v.userinfo,S.host=v.host,S.port=v.port,S.path=n(v.path||""),S.query=v.query):(v.userinfo!==void 0||v.host!==void 0||v.port!==void 0?(S.userinfo=v.userinfo,S.host=v.host,S.port=v.port,S.path=n(v.path||""),S.query=v.query):(v.path?(v.path.charAt(0)==="/"?S.path=n(v.path):((y.userinfo!==void 0||y.host!==void 0||y.port!==void 0)&&!y.path?S.path="/"+v.path:y.path?S.path=y.path.slice(0,y.path.lastIndexOf("/")+1)+v.path:S.path=v.path,S.path=n(S.path)),S.query=v.query):(S.path=y.path,v.query!==void 0?S.query=v.query:S.query=y.query),S.userinfo=y.userinfo,S.host=y.host,S.port=y.port),S.scheme=y.scheme),S.fragment=v.fragment,S}function d(y,v,b){return typeof y=="string"?(y=unescape(y),y=p(i(f(y,b),!0),{...b,skipEscape:!0})):typeof y=="object"&&(y=p(i(y,!0),{...b,skipEscape:!0})),typeof v=="string"?(v=unescape(v),v=p(i(f(v,b),!0),{...b,skipEscape:!0})):typeof v=="object"&&(v=p(i(v,!0),{...b,skipEscape:!0})),y.toLowerCase()===v.toLowerCase()}function p(y,v){let b={host:y.host,scheme:y.scheme,userinfo:y.userinfo,port:y.port,path:y.path,query:y.query,nid:y.nid,nss:y.nss,uuid:y.uuid,fragment:y.fragment,reference:y.reference,resourceName:y.resourceName,secure:y.secure,error:""},w=Object.assign({},v),S=[],E=o[(w.scheme||b.scheme||"").toLowerCase()];E&&E.serialize&&E.serialize(b,w),b.path!==void 0&&(w.skipEscape?b.path=unescape(b.path):(b.path=escape(b.path),b.scheme!==void 0&&(b.path=b.path.split("%3A").join(":")))),w.reference!=="suffix"&&b.scheme&&S.push(b.scheme,":");let T=s(b);if(T!==void 0&&(w.reference!=="suffix"&&S.push("//"),S.push(T),b.path&&b.path.charAt(0)!=="/"&&S.push("/")),b.path!==void 0){let R=b.path;!w.absolutePath&&(!E||!E.absolutePath)&&(R=n(R)),T===void 0&&(R=R.replace(/^\/\//u,"/%2F")),S.push(R)}return b.query!==void 0&&S.push("?",b.query),b.fragment!==void 0&&S.push("#",b.fragment),S.join("")}var m=Array.from({length:127},(y,v)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(v)));function g(y){let v=0;for(let b=0,w=y.length;b126||m[v])return!0;return!1}var _=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function f(y,v){let b=Object.assign({},v),w={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},S=y.indexOf("%")!==-1,E=!1;b.reference==="suffix"&&(y=(b.scheme?b.scheme+":":"")+"//"+y);let T=y.match(_);if(T){if(w.scheme=T[1],w.userinfo=T[3],w.host=T[4],w.port=parseInt(T[5],10),w.path=T[6]||"",w.query=T[7],w.fragment=T[8],isNaN(w.port)&&(w.port=T[5]),w.host){let M=a(w.host);if(M.isIPV4===!1){let j=r(M.host);w.host=j.host.toLowerCase(),E=j.isIPV6}else w.host=M.host,E=!0}w.scheme===void 0&&w.userinfo===void 0&&w.host===void 0&&w.port===void 0&&w.query===void 0&&!w.path?w.reference="same-document":w.scheme===void 0?w.reference="relative":w.fragment===void 0?w.reference="absolute":w.reference="uri",b.reference&&b.reference!=="suffix"&&b.reference!==w.reference&&(w.error=w.error||"URI is not a "+b.reference+" reference.");let R=o[(b.scheme||w.scheme||"").toLowerCase()];if(!b.unicodeSupport&&(!R||!R.unicodeSupport)&&w.host&&(b.domainHost||R&&R.domainHost)&&E===!1&&g(w.host))try{w.host=URL.domainToASCII(w.host.toLowerCase())}catch(M){w.error=w.error||"Host's domain name can not be converted to ASCII: "+M}(!R||R&&!R.skipNormalize)&&(S&&w.scheme!==void 0&&(w.scheme=unescape(w.scheme)),S&&w.host!==void 0&&(w.host=unescape(w.host)),w.path&&(w.path=escape(unescape(w.path))),w.fragment&&(w.fragment=encodeURI(decodeURIComponent(w.fragment)))),R&&R.parse&&R.parse(w,b)}else w.error=w.error||"URI can not be parsed.";return w}var h={SCHEMES:o,normalize:c,resolve:u,resolveComponents:l,equal:d,serialize:p,parse:f};e.exports=h,e.exports.default=h,e.exports.fastUri=h}),iq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=TT();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),oq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Tl();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=Ge();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var a=zm(),n=kl(),s=wT(),i=Hm(),o=Ge(),c=El(),u=fl(),l=Qe(),d=rq(),p=iq(),m=(U,P)=>new RegExp(U,P);m.code="new RegExp";var g=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),f={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."},h={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(U){var P,z,A,x,k,D,K,J,de,se,me,C,I,F,Z,ee,ce,ke,Ne,Me,je,Re,vt,Ue,vr;let Zt=U.strict,Nt=(P=U.code)===null||P===void 0?void 0:P.optimize,Lr=Nt===!0||Nt===void 0?1:Nt||0,On=(A=(z=U.code)===null||z===void 0?void 0:z.regExp)!==null&&A!==void 0?A:m,es=(x=U.uriResolver)!==null&&x!==void 0?x:p.default;return{strictSchema:(D=(k=U.strictSchema)!==null&&k!==void 0?k:Zt)!==null&&D!==void 0?D:!0,strictNumbers:(J=(K=U.strictNumbers)!==null&&K!==void 0?K:Zt)!==null&&J!==void 0?J:!0,strictTypes:(se=(de=U.strictTypes)!==null&&de!==void 0?de:Zt)!==null&&se!==void 0?se:"log",strictTuples:(C=(me=U.strictTuples)!==null&&me!==void 0?me:Zt)!==null&&C!==void 0?C:"log",strictRequired:(F=(I=U.strictRequired)!==null&&I!==void 0?I:Zt)!==null&&F!==void 0?F:!1,code:U.code?{...U.code,optimize:Lr,regExp:On}:{optimize:Lr,regExp:On},loopRequired:(Z=U.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(ee=U.loopEnum)!==null&&ee!==void 0?ee:y,meta:(ce=U.meta)!==null&&ce!==void 0?ce:!0,messages:(ke=U.messages)!==null&&ke!==void 0?ke:!0,inlineRefs:(Ne=U.inlineRefs)!==null&&Ne!==void 0?Ne:!0,schemaId:(Me=U.schemaId)!==null&&Me!==void 0?Me:"$id",addUsedSchema:(je=U.addUsedSchema)!==null&&je!==void 0?je:!0,validateSchema:(Re=U.validateSchema)!==null&&Re!==void 0?Re:!0,validateFormats:(vt=U.validateFormats)!==null&&vt!==void 0?vt:!0,unicodeRegExp:(Ue=U.unicodeRegExp)!==null&&Ue!==void 0?Ue:!0,int32range:(vr=U.int32range)!==null&&vr!==void 0?vr:!0,uriResolver:es}}class b{constructor(P={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,...v(P)};let{es5:z,lines:A}=this.opts.code;this.scope=new o.ValueScope({scope:{},prefixes:_,es5:z,lines:A}),this.logger=q(P.logger);let x=P.validateFormats;P.validateFormats=!1,this.RULES=(0,s.getRules)(),w.call(this,f,P,"NOT SUPPORTED"),w.call(this,h,P,"DEPRECATED","warn"),this._metaOpts=M.call(this),P.formats&&T.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&R.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=x}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:P,meta:z,schemaId:A}=this.opts,x=d;A==="id"&&(x={...d},x.id=x.$id,delete x.$id),z&&P&&this.addMetaSchema(x,x[A],!1)}defaultMeta(){let{meta:P,schemaId:z}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[z]||P:void 0}validate(P,z){let A;if(typeof P=="string"){if(A=this.getSchema(P),!A)throw new Error(`no schema with key or ref "${P}"`)}else A=this.compile(P);let x=A(z);return"$async"in A||(this.errors=A.errors),x}compile(P,z){let A=this._addSchema(P,z);return A.validate||this._compileSchemaEnv(A)}compileAsync(P,z){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:A}=this.opts;return x.call(this,P,z);async function x(se,me){await k.call(this,se.$schema);let C=this._addSchema(se,me);return C.validate||D.call(this,C)}async function k(se){se&&!this.getSchema(se)&&await x.call(this,{$ref:se},!0)}async function D(se){try{return this._compileSchemaEnv(se)}catch(me){if(!(me instanceof n.default))throw me;return K.call(this,me),await J.call(this,me.missingSchema),D.call(this,se)}}function K({missingSchema:se,missingRef:me}){if(this.refs[se])throw new Error(`AnySchema ${se} is loaded but ${me} cannot be resolved`)}async function J(se){let me=await de.call(this,se);this.refs[se]||await k.call(this,me.$schema),this.refs[se]||this.addSchema(me,se,z)}async function de(se){let me=this._loading[se];if(me)return me;try{return await(this._loading[se]=A(se))}finally{delete this._loading[se]}}}addSchema(P,z,A,x=this.opts.validateSchema){if(Array.isArray(P)){for(let D of P)this.addSchema(D,void 0,A,x);return this}let k;if(typeof P=="object"){let{schemaId:D}=this.opts;if(k=P[D],k!==void 0&&typeof k!="string")throw new Error(`schema ${D} must be string`)}return z=(0,c.normalizeId)(z||k),this._checkUnique(z),this.schemas[z]=this._addSchema(P,A,z,x,!0),this}addMetaSchema(P,z,A=this.opts.validateSchema){return this.addSchema(P,z,!0,A),this}validateSchema(P,z){if(typeof P=="boolean")return!0;let A;if(A=P.$schema,A!==void 0&&typeof A!="string")throw new Error("$schema must be a string");if(A=A||this.opts.defaultMeta||this.defaultMeta(),!A)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let x=this.validate(A,P);if(!x&&z){let k="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(k);else throw new Error(k)}return x}getSchema(P){let z;for(;typeof(z=S.call(this,P))=="string";)P=z;if(z===void 0){let{schemaId:A}=this.opts,x=new i.SchemaEnv({schema:{},schemaId:A});if(z=i.resolveSchema.call(this,x,P),!z)return;this.refs[P]=z}return z.validate||this._compileSchemaEnv(z)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let z=S.call(this,P);return typeof z=="object"&&this._cache.delete(z.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{let z=P;this._cache.delete(z);let A=P[this.opts.schemaId];return A&&(A=(0,c.normalizeId)(A),delete this.schemas[A],delete this.refs[A]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(let z of P)this.addKeyword(z);return this}addKeyword(P,z){let A;if(typeof P=="string")A=P,typeof z=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),z.keyword=A);else if(typeof P=="object"&&z===void 0){if(z=P,A=z.keyword,Array.isArray(A)&&!A.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N.call(this,A,z),!z)return(0,l.eachItem)(A,k=>W.call(this,k)),this;he.call(this,z);let x={...z,type:(0,u.getJSONTypes)(z.type),schemaType:(0,u.getJSONTypes)(z.schemaType)};return(0,l.eachItem)(A,x.type.length===0?k=>W.call(this,k,x):k=>x.type.forEach(D=>W.call(this,k,x,D))),this}getKeyword(P){let z=this.RULES.all[P];return typeof z=="object"?z.definition:!!z}removeKeyword(P){let{RULES:z}=this;delete z.keywords[P],delete z.all[P];for(let A of z.rules){let x=A.rules.findIndex(k=>k.keyword===P);x>=0&&A.rules.splice(x,1)}return this}addFormat(P,z){return typeof z=="string"&&(z=new RegExp(z)),this.formats[P]=z,this}errorsText(P=this.errors,{separator:z=", ",dataVar:A="data"}={}){return!P||P.length===0?"No errors":P.map(x=>`${A}${x.instancePath} ${x.message}`).reduce((x,k)=>x+z+k)}$dataMetaSchema(P,z){let A=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(let x of z){let k=x.split("/").slice(1),D=P;for(let K of k)D=D[K];for(let K in A){let J=A[K];if(typeof J!="object")continue;let{$data:de}=J.definition,se=D[K];de&&se&&(D[K]=re(se))}}return P}_removeAllSchemas(P,z){for(let A in P){let x=P[A];(!z||z.test(A))&&(typeof x=="string"?delete P[A]:x&&!x.meta&&(this._cache.delete(x.schema),delete P[A]))}}_addSchema(P,z,A,x=this.opts.validateSchema,k=this.opts.addUsedSchema){let D,{schemaId:K}=this.opts;if(typeof P=="object")D=P[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let J=this._cache.get(P);if(J!==void 0)return J;A=(0,c.normalizeId)(D||A);let de=c.getSchemaRefs.call(this,P,A);return J=new i.SchemaEnv({schema:P,schemaId:K,meta:z,baseId:A,localRefs:de}),this._cache.set(J.schema,J),k&&!A.startsWith("#")&&(A&&this._checkUnique(A),this.refs[A]=J),x&&this.validateSchema(P,!0),J}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):i.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){let z=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,P)}finally{this.opts=z}}}b.ValidationError=a.default,b.MissingRefError=n.default,t.default=b;function w(U,P,z,A="error"){for(let x in U){let k=x;k in P&&this.logger[A](`${z}: option ${x}. ${U[k]}`)}}function S(U){return U=(0,c.normalizeId)(U),this.schemas[U]||this.refs[U]}function E(){let U=this.opts.schemas;if(U)if(Array.isArray(U))this.addSchema(U);else for(let P in U)this.addSchema(U[P],P)}function T(){for(let U in this.opts.formats){let P=this.opts.formats[U];P&&this.addFormat(U,P)}}function R(U){if(Array.isArray(U)){this.addVocabulary(U);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let P in U){let z=U[P];z.keyword||(z.keyword=P),this.addKeyword(z)}}function M(){let U={...this.opts};for(let P of g)delete U[P];return U}var j={log(){},warn(){},error(){}};function q(U){if(U===!1)return j;if(U===void 0)return console;if(U.log&&U.warn&&U.error)return U;throw new Error("logger must implement log, warn and error methods")}var H=/^[a-z_$][a-z0-9_$:-]*$/i;function N(U,P){let{RULES:z}=this;if((0,l.eachItem)(U,A=>{if(z.keywords[A])throw new Error(`Keyword ${A} is already defined`);if(!H.test(A))throw new Error(`Keyword ${A} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function W(U,P,z){var A;let x=P?.post;if(z&&x)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:k}=this,D=x?k.post:k.rules.find(({type:J})=>J===z);if(D||(D={type:z,rules:[]},k.rules.push(D)),k.keywords[U]=!0,!P)return;let K={keyword:U,definition:{...P,type:(0,u.getJSONTypes)(P.type),schemaType:(0,u.getJSONTypes)(P.schemaType)}};P.before?oe.call(this,D,K,P.before):D.rules.push(K),k.all[U]=K,(A=P.implements)===null||A===void 0||A.forEach(J=>this.addKeyword(J))}function oe(U,P,z){let A=U.rules.findIndex(x=>x.keyword===z);A>=0?U.rules.splice(A,0,P):(U.rules.push(P),this.logger.warn(`rule ${z} is not defined`))}function he(U){let{metaSchema:P}=U;P!==void 0&&(U.$data&&this.opts.$data&&(P=re(P)),U.validateSchema=this.compile(P,!0))}var ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function re(U){return{anyOf:[U,ae]}}}),cq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),uq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=kl(),r=Gr(),a=Ge(),n=Yn(),s=Hm(),i=Qe(),o={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:m}=l,{baseId:g,schemaEnv:_,validateName:f,opts:h,self:y}=m,{root:v}=_;if((p==="#"||p==="#/")&&g===v.baseId)return w();let b=s.resolveRef.call(y,v,g,p);if(b===void 0)throw new e.default(m.opts.uriResolver,g,p);if(b instanceof s.SchemaEnv)return S(b);return E(b);function w(){if(_===v)return u(l,f,_,_.$async);let T=d.scopeValue("root",{ref:v});return u(l,(0,a._)`${T}.validate`,v,v.$async)}function S(T){let R=c(l,T);u(l,R,T,T.$async)}function E(T){let R=d.scopeValue("schema",h.code.source===!0?{ref:T,code:(0,a.stringify)(T)}:{ref:T}),M=d.name("valid"),j=l.subschema({schema:T,dataTypes:[],schemaPath:a.nil,topSchemaRef:R,errSchemaPath:p},M);l.mergeEvaluated(j),l.ok(M)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,a._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,m){let{gen:g,it:_}=l,{allErrors:f,schemaEnv:h,opts:y}=_,v=y.passContext?n.default.this:a.nil;m?b():w();function b(){if(!h.$async)throw new Error("async schema referenced by sync schema");let T=g.let("valid");g.try(()=>{g.code((0,a._)`await ${(0,r.callValidateCode)(l,d,v)}`),E(d),f||g.assign(T,!0)},R=>{g.if((0,a._)`!(${R} instanceof ${_.ValidationError})`,()=>g.throw(R)),S(R),f||g.assign(T,!1)}),l.ok(T)}function w(){l.result((0,r.callValidateCode)(l,d,v),()=>E(d),()=>S(d))}function S(T){let R=(0,a._)`${T}.errors`;g.assign(n.default.vErrors,(0,a._)`${n.default.vErrors} === null ? ${R} : ${n.default.vErrors}.concat(${R})`),g.assign(n.default.errors,(0,a._)`${n.default.vErrors}.length`)}function E(T){var R;if(!_.opts.unevaluated)return;let M=(R=p?.validate)===null||R===void 0?void 0:R.evaluated;if(_.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(_.props=i.mergeEvaluated.props(g,M.props,_.props));else{let j=g.var("props",(0,a._)`${T}.evaluated.props`);_.props=i.mergeEvaluated.props(g,j,_.props,a.Name)}if(_.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(_.items=i.mergeEvaluated.items(g,M.items,_.items));else{let j=g.var("items",(0,a._)`${T}.evaluated.items`);_.items=i.mergeEvaluated.items(g,j,_.items,a.Name)}}}t.callRef=u,t.default=o}),lq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=cq(),r=uq(),a=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=a}),dq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=e.operators,a={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},n={message:({keyword:i,schemaCode:o})=>(0,e.str)`must be ${a[i].okStr} ${o}`,params:({keyword:i,schemaCode:o})=>(0,e._)`{comparison: ${a[i].okStr}, limit: ${o}}`},s={keyword:Object.keys(a),type:"number",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u}=i;i.fail$data((0,e._)`${c} ${a[o].fail} ${u} || isNaN(${c})`)}};t.default=s}),pq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message:({schemaCode:n})=>(0,e.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,e._)`{multipleOf: ${n}}`},a={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(n){let{gen:s,data:i,schemaCode:o,it:c}=n,u=c.opts.multipleOfPrecision,l=s.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;n.fail$data((0,e._)`(${o} === 0 || (${l} = ${i}/${o}, ${d}))`)}};t.default=a}),fq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let a=r.length,n=0,s=0,i;for(;s=55296&&i<=56319&&s{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=fq(),n={message({keyword:i,schemaCode:o}){let c=i==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${o} characters`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u,it:l}=i,d=o==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(i.gen,a.default)}(${c})`;i.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=s}),hq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a={message:({schemaCode:s})=>(0,r.str)`must match pattern "${s}"`,params:({schemaCode:s})=>(0,r._)`{pattern: ${s}}`},n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:a,code(s){let{data:i,$data:o,schema:c,schemaCode:u,it:l}=s,d=l.opts.unicodeRegExp?"u":"",p=o?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(s,c);s.fail$data((0,r._)`!${p}.test(${i})`)}};t.default=n}),vq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message({keyword:n,schemaCode:s}){let i=n==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} properties`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxProperties"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`Object.keys(${i}).length ${c} ${o}`)}};t.default=a}),gq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Qe(),n={message:({params:{missingProperty:i}})=>(0,r.str)`must have required property '${i}'`,params:({params:{missingProperty:i}})=>(0,r._)`{missingProperty: ${i}}`},s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,schema:c,schemaCode:u,data:l,$data:d,it:p}=i,{opts:m}=p;if(!d&&c.length===0)return;let g=c.length>=m.loopRequired;if(p.allErrors?_():f(),m.strictRequired){let v=i.parentSchema.properties,{definedProperties:b}=i.it;for(let w of c)if(v?.[w]===void 0&&!b.has(w)){let S=p.schemaEnv.baseId+p.errSchemaPath,E=`required property "${w}" is not defined at "${S}" (strictRequired)`;(0,a.checkStrictMode)(p,E,p.opts.strictRequired)}}function _(){if(g||d)i.block$data(r.nil,h);else for(let v of c)(0,e.checkReportMissingProp)(i,v)}function f(){let v=o.let("missing");if(g||d){let b=o.let("valid",!0);i.block$data(b,()=>y(v,b)),i.ok(b)}else o.if((0,e.checkMissingProp)(i,c,v)),(0,e.reportMissingProp)(i,v),o.else()}function h(){o.forOf("prop",u,v=>{i.setParams({missingProperty:v}),o.if((0,e.noPropertyInData)(o,l,v,m.ownProperties),()=>i.error())})}function y(v,b){i.setParams({missingProperty:v}),o.forOf(v,u,()=>{o.assign(b,(0,e.propertyInData)(o,l,v,m.ownProperties)),o.if((0,r.not)(b),()=>{i.error(),o.break()})},r.nil)}}};t.default=s}),yq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message({keyword:n,schemaCode:s}){let i=n==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} items`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxItems"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`${i}.length ${c} ${o}`)}};t.default=a}),Bm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=wl();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),_q=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=fl(),r=Ge(),a=Qe(),n=Bm(),s={message:({params:{i:o,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${o} are identical)`,params:({params:{i:o,j:c}})=>(0,r._)`{i: ${o}, j: ${c}}`},i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s,code(o){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:m,it:g}=o;if(!l&&!d)return;let _=c.let("valid"),f=p.items?(0,e.getSchemaTypes)(p.items):[];o.block$data(_,h,(0,r._)`${m} === false`),o.ok(_);function h(){let w=c.let("i",(0,r._)`${u}.length`),S=c.let("j");o.setParams({i:w,j:S}),c.assign(_,!0),c.if((0,r._)`${w} > 1`,()=>(y()?v:b)(w,S))}function y(){return f.length>0&&!f.some(w=>w==="object"||w==="array")}function v(w,S){let E=c.name("item"),T=(0,e.checkDataTypes)(f,E,g.opts.strictNumbers,e.DataType.Wrong),R=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${w}--;`,()=>{c.let(E,(0,r._)`${u}[${w}]`),c.if(T,(0,r._)`continue`),f.length>1&&c.if((0,r._)`typeof ${E} == "string"`,(0,r._)`${E} += "_"`),c.if((0,r._)`typeof ${R}[${E}] == "number"`,()=>{c.assign(S,(0,r._)`${R}[${E}]`),o.error(),c.assign(_,!1).break()}).code((0,r._)`${R}[${E}] = ${w}`)})}function b(w,S){let E=(0,a.useFunc)(c,n.default),T=c.name("outer");c.label(T).for((0,r._)`;${w}--;`,()=>c.for((0,r._)`${S} = ${w}; ${S}--;`,()=>c.if((0,r._)`${E}(${u}[${w}], ${u}[${S}])`,()=>{o.error(),c.assign(_,!1).break(T)})))}}};t.default=i}),bq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Bm(),n={message:"must be equal to constant",params:({schemaCode:i})=>(0,e._)`{allowedValue: ${i}}`},s={keyword:"const",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schemaCode:l,schema:d}=i;u||d&&typeof d=="object"?i.fail$data((0,e._)`!${(0,r.useFunc)(o,a.default)}(${c}, ${l})`):i.fail((0,e._)`${d} !== ${c}`)}};t.default=s}),Sq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Bm(),n={message:"must be equal to one of the allowed values",params:({schemaCode:i})=>(0,e._)`{allowedValues: ${i}}`},s={keyword:"enum",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schema:l,schemaCode:d,it:p}=i;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let m=l.length>=p.opts.loopEnum,g,_=()=>g??(g=(0,r.useFunc)(o,a.default)),f;if(m||u)f=o.let("valid"),i.block$data(f,h);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=o.const("vSchema",d);f=(0,e.or)(...l.map((b,w)=>y(v,w)))}i.pass(f);function h(){o.assign(f,!1),o.forOf("v",d,v=>o.if((0,e._)`${_()}(${c}, ${v})`,()=>o.assign(f,!0).break()))}function y(v,b){let w=l[b];return typeof w=="object"&&w!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${w}`}}};t.default=s}),xq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=dq(),r=pq(),a=mq(),n=hq(),s=vq(),i=gq(),o=yq(),c=_q(),u=bq(),l=Sq(),d=[e.default,r.default,a.default,n.default,s.default,i.default,o.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),kT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=Ge(),r=Qe(),a={message:({params:{len:i}})=>(0,e.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,e._)`{limit: ${i}}`},n={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:a,code(i){let{parentSchema:o,it:c}=i,{items:u}=o;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}s(i,u)}};function s(i,o){let{gen:c,schema:u,data:l,keyword:d,it:p}=i;p.items=!0;let m=c.const("len",(0,e._)`${l}.length`);if(u===!1)i.setParams({len:o.length}),i.pass((0,e._)`${m} <= ${o.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${m} <= ${o.length}`);c.if((0,e.not)(_),()=>g(_)),i.ok(_)}function g(_){c.forRange("i",o.length,m,f=>{i.subschema({keyword:d,dataProp:f,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=s,t.default=n}),RT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=Ge(),r=Qe(),a=Gr(),n={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(i){let{schema:o,it:c}=i;if(Array.isArray(o))return s(i,"additionalItems",o);c.items=!0,!(0,r.alwaysValidSchema)(c,o)&&i.ok((0,a.validateArray)(i))}};function s(i,o,c=i.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:m}=i;f(l),m.opts.unevaluated&&c.length&&m.items!==!0&&(m.items=r.mergeEvaluated.items(u,c.length,m.items));let g=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((h,y)=>{(0,r.alwaysValidSchema)(m,h)||(u.if((0,e._)`${_} > ${y}`,()=>i.subschema({keyword:p,schemaProp:y,dataProp:y},g)),i.ok(g))});function f(h){let{opts:y,errSchemaPath:v}=m,b=c.length,w=b===h.minItems&&(b===h.maxItems||h[o]===!1);if(y.strictTuples&&!w){let S=`"${p}" is ${b}-tuple, but minItems or maxItems/${o} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(m,S,y.strictTuples)}}}t.validateTuple=s,t.default=n}),wq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=RT(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:a=>(0,e.validateTuple)(a,"items")};t.default=r}),Eq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a=Gr(),n=kT(),s={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:s,code(o){let{schema:c,parentSchema:u,it:l}=o,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,n.validateAdditionalItems)(o,d):o.ok((0,a.validateArray)(o)))}};t.default=i}),Tq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:({params:{min:s,max:i}})=>i===void 0?(0,e.str)`must contain at least ${s} valid item(s)`:(0,e.str)`must contain at least ${s} and no more than ${i} valid item(s)`,params:({params:{min:s,max:i}})=>i===void 0?(0,e._)`{minContains: ${s}}`:(0,e._)`{minContains: ${s}, maxContains: ${i}}`},n={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,data:u,it:l}=s,d,p,{minContains:m,maxContains:g}=c;l.opts.next?(d=m===void 0?1:m,p=g):d=1;let _=i.const("len",(0,e._)`${u}.length`);if(s.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),s.fail();return}if((0,r.alwaysValidSchema)(l,o)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),s.pass(b);return}l.items=!0;let f=i.name("valid");p===void 0&&d===1?y(f,()=>i.if(f,()=>i.break())):d===0?(i.let(f,!0),p!==void 0&&i.if((0,e._)`${u}.length > 0`,h)):(i.let(f,!1),h()),s.result(f,()=>s.reset());function h(){let b=i.name("_valid"),w=i.let("count",0);y(b,()=>i.if(b,()=>v(w)))}function y(b,w){i.forRange("i",0,_,S=>{s.subschema({keyword:"contains",dataProp:S,dataPropType:r.Type.Num,compositeRule:!0},b),w()})}function v(b){i.code((0,e._)`${b}++`),p===void 0?i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0).break()):(i.if((0,e._)`${b} > ${p}`,()=>i.assign(f,!1).break()),d===1?i.assign(f,!0):i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0)))}}};t.default=n}),kq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=Ge(),r=Qe(),a=Gr();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, missingProperty: ${d}, depsCount: ${u}, - deps: ${l}}`};var n={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=s(c);i(c,u),o(c,l)}};function s({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function i(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let m=l.let("missing");for(let g in u){let _=u[g];if(_.length===0)continue;let f=(0,a.propertyInData)(l,d,g,p.opts.ownProperties);c.setParams({property:g,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(f,()=>{for(let h of _)(0,a.checkReportMissingProp)(c,h)}):(l.if((0,e._)`${f} && (${(0,a.checkMissingProp)(c,_,m)})`),(0,a.reportMissingProp)(c,m),l.else())}}t.validatePropertyDeps=i;function o(c,u=c.schema){let{gen:l,data:d,keyword:p,it:m}=c,g=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(m,u[_])||(l.if((0,a.propertyInData)(l,d,_,m.opts.ownProperties),()=>{let f=c.subschema({keyword:p,schemaProp:_},g);c.mergeValidEvaluated(f,g)},()=>l.var(g,!0)),c.ok(g))}t.validateSchemaDeps=o,t.default=n}),Rq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:"property name must be valid",params:({params:s})=>(0,e._)`{propertyName: ${s.propertyName}}`},n={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:a,code(s){let{gen:i,schema:o,data:c,it:u}=s;if((0,r.alwaysValidSchema)(u,o))return;let l=i.name("valid");i.forIn("key",c,d=>{s.setParams({propertyName:d}),s.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),i.if((0,e.not)(l),()=>{s.error(!0),u.allErrors||i.break()})}),s.ok(l)}};t.default=n}),PT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Yn(),n=Qe(),s={message:"must NOT have additional properties",params:({params:o})=>(0,r._)`{additionalProperty: ${o.additionalProperty}}`},i={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:s,code(o){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:m}=o;if(!p)throw new Error("ajv implementation error");let{allErrors:g,opts:_}=m;if(m.props=!0,_.removeAdditional!=="all"&&(0,n.alwaysValidSchema)(m,u))return;let f=(0,e.allSchemaProperties)(l.properties),h=(0,e.allSchemaProperties)(l.patternProperties);y(),o.ok((0,r._)`${p} === ${a.default.errors}`);function y(){c.forIn("key",d,E=>{!f.length&&!h.length?w(E):c.if(v(E),()=>w(E))})}function v(E){let T;if(f.length>8){let R=(0,n.schemaRefOrVal)(m,l.properties,"properties");T=(0,e.isOwnProperty)(c,R,E)}else f.length?T=(0,r.or)(...f.map(R=>(0,r._)`${E} === ${R}`)):T=r.nil;return h.length&&(T=(0,r.or)(T,...h.map(R=>(0,r._)`${(0,e.usePattern)(o,R)}.test(${E})`))),(0,r.not)(T)}function b(E){c.code((0,r._)`delete ${d}[${E}]`)}function w(E){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(E);return}if(u===!1){o.setParams({additionalProperty:E}),o.error(),g||c.break();return}if(typeof u=="object"&&!(0,n.alwaysValidSchema)(m,u)){let T=c.name("valid");_.removeAdditional==="failing"?(S(E,T,!1),c.if((0,r.not)(T),()=>{o.reset(),b(E)})):(S(E,T),g||c.if((0,r.not)(T),()=>c.break()))}}function S(E,T,R){let M={keyword:"additionalProperties",dataProp:E,dataPropType:n.Type.Str};R===!1&&Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1}),o.subschema(M,T)}}};t.default=i}),Pq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Tl(),r=Gr(),a=Qe(),n=PT(),s={keyword:"properties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,parentSchema:u,data:l,it:d}=i;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&n.default.code(new e.KeywordCxt(d,n.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let h of p)d.definedProperties.add(h);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=a.mergeEvaluated.props(o,(0,a.toHash)(p),d.props));let m=p.filter(h=>!(0,a.alwaysValidSchema)(d,c[h]));if(m.length===0)return;let g=o.name("valid");for(let h of m)_(h)?f(h):(o.if((0,r.propertyInData)(o,l,h,d.opts.ownProperties)),f(h),d.allErrors||o.else().var(g,!0),o.endIf()),i.it.definedProperties.add(h),i.ok(g);function _(h){return d.opts.useDefaults&&!d.compositeRule&&c[h].default!==void 0}function f(h){i.subschema({keyword:"properties",schemaProp:h,dataProp:h},g)}}};t.default=s}),$q=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Qe(),n=Qe(),s={keyword:"patternProperties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,data:u,parentSchema:l,it:d}=i,{opts:p}=d,m=(0,e.allSchemaProperties)(c),g=m.filter(w=>(0,a.alwaysValidSchema)(d,c[w]));if(m.length===0||g.length===m.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,f=o.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,n.evaluatedPropsToName)(o,d.props));let{props:h}=d;y();function y(){for(let w of m)_&&v(w),d.allErrors?b(w):(o.var(f,!0),b(w),o.if(f))}function v(w){for(let S in _)new RegExp(w).test(S)&&(0,a.checkStrictMode)(d,`property ${S} matches pattern ${w} (use allowMatchingProperties)`)}function b(w){o.forIn("key",u,S=>{o.if((0,r._)`${(0,e.usePattern)(i,w)}.test(${S})`,()=>{let E=g.includes(w);E||i.subschema({keyword:"patternProperties",schemaProp:w,dataProp:S,dataPropType:n.Type.Str},f),d.opts.unevaluated&&h!==!0?o.assign((0,r._)`${h}[${S}]`,!0):!E&&!d.allErrors&&o.if((0,r.not)(f),()=>o.break())})})}}};t.default=s}),Oq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(a){let{gen:n,schema:s,it:i}=a;if((0,e.alwaysValidSchema)(i,s)){a.fail();return}let o=n.name("valid");a.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),a.failResult(o,()=>a.reset(),()=>a.error())},error:{message:"must NOT be valid"}};t.default=r}),Cq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Iq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:"must match exactly one schema in oneOf",params:({params:s})=>(0,e._)`{passingSchemas: ${s.passing}}`},n={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,it:u}=s;if(!Array.isArray(o))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=o,d=i.let("valid",!1),p=i.let("passing",null),m=i.name("_valid");s.setParams({passing:p}),i.block(g),s.result(d,()=>s.reset(),()=>s.error(!0));function g(){l.forEach((_,f)=>{let h;(0,r.alwaysValidSchema)(u,_)?i.var(m,!0):h=s.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},m),f>0&&i.if((0,e._)`${m} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${f}]`).else(),i.if(m,()=>{i.assign(d,!0),i.assign(p,f),h&&s.mergeEvaluated(h,e.Name)})})}}};t.default=n}),Aq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:"allOf",schemaType:"array",code(a){let{gen:n,schema:s,it:i}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");let o=n.name("valid");s.forEach((c,u)=>{if((0,e.alwaysValidSchema)(i,c))return;let l=a.subschema({keyword:"allOf",schemaProp:u},o);a.ok(o),a.mergeEvaluated(l)})}};t.default=r}),Nq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:({params:i})=>(0,e.str)`must match "${i.ifClause}" schema`,params:({params:i})=>(0,e._)`{failingKeyword: ${i.ifClause}}`},n={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:a,code(i){let{gen:o,parentSchema:c,it:u}=i;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=s(u,"then"),d=s(u,"else");if(!l&&!d)return;let p=o.let("valid",!0),m=o.name("_valid");if(g(),i.reset(),l&&d){let f=o.let("ifClause");i.setParams({ifClause:f}),o.if(m,_("then",f),_("else",f))}else l?o.if(m,_("then")):o.if((0,e.not)(m),_("else"));i.pass(p,()=>i.error(!0));function g(){let f=i.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);i.mergeEvaluated(f)}function _(f,h){return()=>{let y=i.subschema({keyword:f},m);o.assign(p,m),i.mergeValidEvaluated(y,p),h?o.assign(h,(0,e._)`${f}`):i.setParams({ifClause:f})}}}};function s(i,o){let c=i.schema[o];return c!==void 0&&!(0,r.alwaysValidSchema)(i,c)}t.default=n}),Mq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:a,parentSchema:n,it:s}){n.if===void 0&&(0,e.checkStrictMode)(s,`"${a}" without "if" is ignored`)}};t.default=r}),jq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=kT(),r=wq(),a=RT(),n=Eq(),s=Tq(),i=kq(),o=Rq(),c=PT(),u=Pq(),l=$q(),d=Oq(),p=Cq(),m=Iq(),g=Aq(),_=Nq(),f=Mq();function h(y=!1){let v=[d.default,p.default,m.default,g.default,_.default,f.default,o.default,c.default,i.default,u.default,l.default];return y?v.push(r.default,n.default):v.push(e.default,a.default),v.push(s.default),v}t.default=h}),Dq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message:({schemaCode:n})=>(0,e.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,e._)`{format: ${n}}`},a={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(n,s){let{gen:i,data:o,$data:c,schema:u,schemaCode:l,it:d}=n,{opts:p,errSchemaPath:m,schemaEnv:g,self:_}=d;if(!p.validateFormats)return;c?f():h();function f(){let y=i.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=i.const("fDef",(0,e._)`${y}[${l}]`),b=i.let("fType"),w=i.let("format");i.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>i.assign(b,(0,e._)`${v}.type || "string"`).assign(w,(0,e._)`${v}.validate`),()=>i.assign(b,(0,e._)`"string"`).assign(w,v)),n.fail$data((0,e.or)(S(),E()));function S(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${w}`}function E(){let T=g.$async?(0,e._)`(${v}.async ? await ${w}(${o}) : ${w}(${o}))`:(0,e._)`${w}(${o})`,R=(0,e._)`(typeof ${w} == "function" ? ${T} : ${w}.test(${o}))`;return(0,e._)`${w} && ${w} !== true && ${b} === ${s} && !${R}`}}function h(){let y=_.formats[u];if(!y){S();return}if(y===!0)return;let[v,b,w]=E(y);v===s&&n.pass(T());function S(){if(p.strictSchema===!1){_.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${u}" ignored in schema at path "${m}"`}}function E(R){let M=R instanceof RegExp?(0,e.regexpCode)(R):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,j=i.scopeValue("formats",{key:u,ref:R,code:M});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,e._)`${j}.validate`]:["string",R,j]}function T(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!g.$async)throw new Error("async format in sync schema");return(0,e._)`await ${w}(${o})`}return typeof b=="function"?(0,e._)`${w}(${o})`:(0,e._)`${w}.test(${o})`}}}};t.default=a}),Lq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Dq(),r=[e.default];t.default=r}),qq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),Fq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lq(),r=xq(),a=jq(),n=Lq(),s=qq(),i=[e.default,r.default,(0,a.default)(),n.default,s.metadataVocabulary,s.contentVocabulary];t.default=i}),Uq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),zq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Uq(),a=Hm(),n=kl(),s=Qe(),i={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},o={keyword:"discriminator",type:"object",schemaType:"object",error:i,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:m}=c,{oneOf:g}=p;if(!m.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let f=u.let("valid",!1),h=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${h} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:h,tagName:_})),c.ok(f);function y(){let w=b();u.if(!1);for(let S in w)u.elseIf((0,e._)`${h} === ${S}`),u.assign(f,v(w[S]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:h,tagName:_}),u.endIf()}function v(w){let S=u.name("valid"),E=c.subschema({keyword:"oneOf",schemaProp:w},S);return c.mergeEvaluated(E,e.Name),S}function b(){var w;let S={},E=R(p),T=!0;for(let q=0;q{e.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}}),Bq=Q((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=oq(),a=Fq(),n=zq(),s=Hq(),i=["/properties"],o="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),a.default.forEach(g=>this.addVocabulary(g)),this.opts.discriminator&&this.addKeyword(n.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let g=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(g,o,!1),this.refs["http://json-schema.org/schema"]=o}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(o)?o:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Tl();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Ge();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=zm();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=kl();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),Vq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0;function e(j,q){return{validate:j,compare:q}}t.fullFormats={date:e(s,i),time:e(c(!0),u),"date-time":e(p(!0),m),"iso-time":e(c(),l),"iso-date-time":e(p(),g),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:h,"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:M,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:v,int32:{type:"number",validate:S},int64:{type:"number",validate:E},float:{type:"number",validate:T},double:{type:"number",validate:T},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,i),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,u),"date-time":e(/^\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,m),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"iso-date-time":e(/^\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,g),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},t.formatNames=Object.keys(t.fullFormats);function r(j){return j%4===0&&(j%100!==0||j%400===0)}var a=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,n=[0,31,28,31,30,31,30,31,31,30,31,30,31];function s(j){let q=a.exec(j);if(!q)return!1;let H=+q[1],N=+q[2],W=+q[3];return N>=1&&N<=12&&W>=1&&W<=(N===2&&r(H)?29:n[N])}function i(j,q){if(j&&q)return j>q?1:j23||$>59||j&&!ae)return!1;if(W<=23&&oe<=59&&he<60)return!0;let z=oe-$*re,A=W-U*re-(z<0?1:0);return(A===23||A===-1)&&(z===59||z===-1)&&he<61}}function u(j,q){if(!(j&&q))return;let H=new Date("2020-01-01T"+j).valueOf(),N=new Date("2020-01-01T"+q).valueOf();if(H&&N)return H-N}function l(j,q){if(!(j&&q))return;let H=o.exec(j),N=o.exec(q);if(H&&N)return j=H[1]+H[2]+H[3],q=N[1]+N[2]+N[3],j>q?1:j=b}function E(j){return Number.isInteger(j)}function T(){return!0}var R=/[^\\]\\Z/;function M(j){if(R.test(j))return!1;try{return new RegExp(j),!0}catch{return!1}}}),ml=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class a extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=a,t.nil=new a("");function n(h,...y){let v=[h[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=ml();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var a;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(a||(t.UsedValueState=a={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class n{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=n;class s extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=s;var i=(0,e._)`\n`;class o extends n{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:e.nil}}get(){return this._scope}name(u){return new s(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:m}=p,g=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[m];if(_){let y=_.get(g);if(y)return y}else _=this._values[m]=new Map;_.set(g,p);let f=this._scope[m]||(this._scope[m]=[]),h=f.length;return f[h]=l.ref,p.setValue(l,{property:m,itemIndex:h}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let m=e.nil;for(let g in u){let _=u[g];if(!_)continue;let f=d[g]=d[g]||new Map;_.forEach(h=>{if(f.has(h))return;f.set(h,a.Started);let y=l(h);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;m=(0,e._)`${m}${v} ${h} = ${y};${this.opts._n}`}else if(y=p?.(h))m=(0,e._)`${m}${y}${this.opts._n}`;else throw new r(h);f.set(h,a.Completed)})}return m}}t.ValueScope=o}),ze=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=ml(),r=B1(),a=ml();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return a.Name}});var n=B1();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return n.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return n.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return n.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return n.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class s{optimizeNodes(){return this}optimizeNames(x,k){return this}}class i extends s{constructor(x,k,D){super(),this.varKind=x,this.name=k,this.rhs=D}render({es5:x,_n:k}){let D=x?r.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${D} ${this.name}${K};`+k}optimizeNames(x,k){if(x[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,x,k)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class o extends s{constructor(x,k,D){super(),this.lhs=x,this.rhs=k,this.sideEffects=D}render({_n:x}){return`${this.lhs} = ${this.rhs};`+x}optimizeNames(x,k){if(!(this.lhs instanceof e.Name&&!x[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,x,k),this}get names(){let x=this.lhs instanceof e.Name?{}:{...this.lhs.names};return H(x,this.rhs)}}class c extends o{constructor(x,k,D,K){super(x,D,K),this.op=k}render({_n:x}){return`${this.lhs} ${this.op}= ${this.rhs};`+x}}class u extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`${this.label}:`+x}}class l extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`break${this.label?` ${this.label}`:""};`+x}}class d extends s{constructor(x){super(),this.error=x}render({_n:x}){return`throw ${this.error};`+x}get names(){return this.error.names}}class p extends s{constructor(x){super(),this.code=x}render({_n:x}){return`${this.code};`+x}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(x,k){return this.code=N(this.code,x,k),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class m extends s{constructor(x=[]){super(),this.nodes=x}render(x){return this.nodes.reduce((k,D)=>k+D.render(x),"")}optimizeNodes(){let{nodes:x}=this,k=x.length;for(;k--;){let D=x[k].optimizeNodes();Array.isArray(D)?x.splice(k,1,...D):D?x[k]=D:x.splice(k,1)}return x.length>0?this:void 0}optimizeNames(x,k){let{nodes:D}=this,K=D.length;for(;K--;){let J=D[K];J.optimizeNames(x,k)||(W(x,J.names),D.splice(K,1))}return D.length>0?this:void 0}get names(){return this.nodes.reduce((x,k)=>q(x,k.names),{})}}class g extends m{render(x){return"{"+x._n+super.render(x)+"}"+x._n}}class _ extends m{}class f extends g{}f.kind="else";class h extends g{constructor(x,k){super(k),this.condition=x}render(x){let k=`if(${this.condition})`+super.render(x);return this.else&&(k+="else "+this.else.render(x)),k}optimizeNodes(){super.optimizeNodes();let x=this.condition;if(x===!0)return this.nodes;let k=this.else;if(k){let D=k.optimizeNodes();k=this.else=Array.isArray(D)?new f(D):D}if(k)return x===!1?k instanceof h?k:k.nodes:this.nodes.length?this:new h(oe(x),k instanceof h?[k]:k.nodes);if(!(x===!1||!this.nodes.length))return this}optimizeNames(x,k){var D;if(this.else=(D=this.else)===null||D===void 0?void 0:D.optimizeNames(x,k),!!(super.optimizeNames(x,k)||this.else))return this.condition=N(this.condition,x,k),this}get names(){let x=super.names;return H(x,this.condition),this.else&&q(x,this.else.names),x}}h.kind="if";class y extends g{}y.kind="for";class v extends y{constructor(x){super(),this.iteration=x}render(x){return`for(${this.iteration})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iteration=N(this.iteration,x,k),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor(x,k,D,K){super(),this.varKind=x,this.name=k,this.from=D,this.to=K}render(x){let k=x.es5?r.varKinds.var:this.varKind,{name:D,from:K,to:J}=this;return`for(${k} ${D}=${K}; ${D}<${J}; ${D}++)`+super.render(x)}get names(){let x=H(super.names,this.from);return H(x,this.to)}}class w extends y{constructor(x,k,D,K){super(),this.loop=x,this.varKind=k,this.name=D,this.iterable=K}render(x){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iterable=N(this.iterable,x,k),this}get names(){return q(super.names,this.iterable.names)}}class S extends g{constructor(x,k,D){super(),this.name=x,this.args=k,this.async=D}render(x){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(x)}}S.kind="func";class E extends m{render(x){return"return "+super.render(x)}}E.kind="return";class T extends g{render(x){let k="try"+super.render(x);return this.catch&&(k+=this.catch.render(x)),this.finally&&(k+=this.finally.render(x)),k}optimizeNodes(){var x,k;return super.optimizeNodes(),(x=this.catch)===null||x===void 0||x.optimizeNodes(),(k=this.finally)===null||k===void 0||k.optimizeNodes(),this}optimizeNames(x,k){var D,K;return super.optimizeNames(x,k),(D=this.catch)===null||D===void 0||D.optimizeNames(x,k),(K=this.finally)===null||K===void 0||K.optimizeNames(x,k),this}get names(){let x=super.names;return this.catch&&q(x,this.catch.names),this.finally&&q(x,this.finally.names),x}}class R extends g{constructor(x){super(),this.error=x}render(x){return`catch(${this.error})`+super.render(x)}}R.kind="catch";class M extends g{render(x){return"finally"+super.render(x)}}M.kind="finally";class j{constructor(x,k={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...k,_n:k.lines?` -`:""},this._extScope=x,this._scope=new r.Scope({parent:x}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name(x){return this._scope.name(x)}scopeName(x){return this._extScope.name(x)}scopeValue(x,k){let D=this._extScope.value(x,k);return(this._values[D.prefix]||(this._values[D.prefix]=new Set)).add(D),D}getScopeValue(x,k){return this._extScope.getValue(x,k)}scopeRefs(x){return this._extScope.scopeRefs(x,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(x,k,D,K){let J=this._scope.toName(k);return D!==void 0&&K&&(this._constants[J.str]=D),this._leafNode(new i(x,J,D)),J}const(x,k,D){return this._def(r.varKinds.const,x,k,D)}let(x,k,D){return this._def(r.varKinds.let,x,k,D)}var(x,k,D){return this._def(r.varKinds.var,x,k,D)}assign(x,k,D){return this._leafNode(new o(x,k,D))}add(x,k){return this._leafNode(new c(x,t.operators.ADD,k))}code(x){return typeof x=="function"?x():x!==e.nil&&this._leafNode(new p(x)),this}object(...x){let k=["{"];for(let[D,K]of x)k.length>1&&k.push(","),k.push(D),(D!==K||this.opts.es5)&&(k.push(":"),(0,e.addCodeArg)(k,K));return k.push("}"),new e._Code(k)}if(x,k,D){if(this._blockNode(new h(x)),k&&D)this.code(k).else().code(D).endIf();else if(k)this.code(k).endIf();else if(D)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(x){return this._elseNode(new h(x))}else(){return this._elseNode(new f)}endIf(){return this._endBlockNode(h,f)}_for(x,k){return this._blockNode(x),k&&this.code(k).endFor(),this}for(x,k){return this._for(new v(x),k)}forRange(x,k,D,K,J=this.opts.es5?r.varKinds.var:r.varKinds.let){let de=this._scope.toName(x);return this._for(new b(J,de,k,D),()=>K(de))}forOf(x,k,D,K=r.varKinds.const){let J=this._scope.toName(x);if(this.opts.es5){let de=k instanceof e.Name?k:this.var("_arr",k);return this.forRange("_i",0,(0,e._)`${de}.length`,se=>{this.var(J,(0,e._)`${de}[${se}]`),D(J)})}return this._for(new w("of",K,J,k),()=>D(J))}forIn(x,k,D,K=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(x,(0,e._)`Object.keys(${k})`,D);let J=this._scope.toName(x);return this._for(new w("in",K,J,k),()=>D(J))}endFor(){return this._endBlockNode(y)}label(x){return this._leafNode(new u(x))}break(x){return this._leafNode(new l(x))}return(x){let k=new E;if(this._blockNode(k),this.code(x),k.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(x,k,D){if(!k&&!D)throw new Error('CodeGen: "try" without "catch" and "finally"');let K=new T;if(this._blockNode(K),this.code(x),k){let J=this.name("e");this._currNode=K.catch=new R(J),k(J)}return D&&(this._currNode=K.finally=new M,this.code(D)),this._endBlockNode(R,M)}throw(x){return this._leafNode(new d(x))}block(x,k){return this._blockStarts.push(this._nodes.length),x&&this.code(x).endBlock(k),this}endBlock(x){let k=this._blockStarts.pop();if(k===void 0)throw new Error("CodeGen: not in self-balancing block");let D=this._nodes.length-k;if(D<0||x!==void 0&&D!==x)throw new Error(`CodeGen: wrong number of nodes: ${D} vs ${x} expected`);return this._nodes.length=k,this}func(x,k=e.nil,D,K){return this._blockNode(new S(x,k,D)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(x=1){for(;x-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(x){return this._currNode.nodes.push(x),this}_blockNode(x){this._currNode.nodes.push(x),this._nodes.push(x)}_endBlockNode(x,k){let D=this._currNode;if(D instanceof x||k&&D instanceof k)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${k?`${x.kind}/${k.kind}`:x.kind}"`)}_elseNode(x){let k=this._currNode;if(!(k instanceof h))throw new Error('CodeGen: "else" without "if"');return this._currNode=k.else=x,this}get _root(){return this._nodes[0]}get _currNode(){let x=this._nodes;return x[x.length-1]}set _currNode(x){let k=this._nodes;k[k.length-1]=x}}t.CodeGen=j;function q(A,x){for(let k in x)A[k]=(A[k]||0)+(x[k]||0);return A}function H(A,x){return x instanceof e._CodeOrName?q(A,x.names):A}function N(A,x,k){if(A instanceof e.Name)return D(A);if(!K(A))return A;return new e._Code(A._items.reduce((J,de)=>(de instanceof e.Name&&(de=D(de)),de instanceof e._Code?J.push(...de._items):J.push(de),J),[]));function D(J){let de=k[J.str];return de===void 0||x[J.str]!==1?J:(delete x[J.str],de)}function K(J){return J instanceof e._Code&&J._items.some(de=>de instanceof e.Name&&x[de.str]===1&&k[de.str]!==void 0)}}function W(A,x){for(let k in x)A[k]=(A[k]||0)-(x[k]||0)}function oe(A){return typeof A=="boolean"||typeof A=="number"||A===null?!A:(0,e._)`!${z(A)}`}t.not=oe;var he=$(t.operators.AND);function ae(...A){return A.reduce(he)}t.and=ae;var re=$(t.operators.OR);function U(...A){return A.reduce(re)}t.or=U;function $(A){return(x,k)=>x===e.nil?k:k===e.nil?x:(0,e._)`${z(x)} ${A} ${z(k)}`}function z(A){return A instanceof e.Name?A:(0,e._)`(${A})`}}),et=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=ze(),r=ml();function a(S){let E={};for(let T of S)E[T]=!0;return E}t.toHash=a;function n(S,E){return typeof E=="boolean"?E:Object.keys(E).length===0?!0:(s(S,E),!i(E,S.self.RULES.all))}t.alwaysValidSchema=n;function s(S,E=S.schema){let{opts:T,self:R}=S;if(!T.strictSchema||typeof E=="boolean")return;let M=R.RULES.keywords;for(let j in E)M[j]||w(S,`unknown keyword: "${j}"`)}t.checkUnknownRules=s;function i(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(E[T])return!0;return!1}t.schemaHasRules=i;function o(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(T!=="$ref"&&E.all[T])return!0;return!1}t.schemaHasRulesButRef=o;function c({topSchemaRef:S,schemaPath:E},T,R,M){if(!M){if(typeof T=="number"||typeof T=="boolean")return T;if(typeof T=="string")return(0,e._)`${T}`}return(0,e._)`${S}${E}${(0,e.getProperty)(R)}`}t.schemaRefOrVal=c;function u(S){return p(decodeURIComponent(S))}t.unescapeFragment=u;function l(S){return encodeURIComponent(d(S))}t.escapeFragment=l;function d(S){return typeof S=="number"?`${S}`:S.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(S){return S.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function m(S,E){if(Array.isArray(S))for(let T of S)E(T);else E(S)}t.eachItem=m;function g({mergeNames:S,mergeToName:E,mergeValues:T,resultToName:R}){return(M,j,q,H)=>{let N=q===void 0?j:q instanceof e.Name?(j instanceof e.Name?S(M,j,q):E(M,j,q),q):j instanceof e.Name?(E(M,q,j),j):T(j,q);return H===e.Name&&!(N instanceof e.Name)?R(M,N):N}}t.mergeEvaluated={props:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>{S.if((0,e._)`${E} === true`,()=>S.assign(T,!0),()=>S.assign(T,(0,e._)`${T} || {}`).code((0,e._)`Object.assign(${T}, ${E})`))}),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>{E===!0?S.assign(T,!0):(S.assign(T,(0,e._)`${T} || {}`),f(S,T,E))}),mergeValues:(S,E)=>S===!0?!0:{...S,...E},resultToName:_}),items:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>S.assign(T,(0,e._)`${E} === true ? true : ${T} > ${E} ? ${T} : ${E}`)),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>S.assign(T,E===!0?!0:(0,e._)`${T} > ${E} ? ${T} : ${E}`)),mergeValues:(S,E)=>S===!0?!0:Math.max(S,E),resultToName:(S,E)=>S.var("items",E)})};function _(S,E){if(E===!0)return S.var("props",!0);let T=S.var("props",(0,e._)`{}`);return E!==void 0&&f(S,T,E),T}t.evaluatedPropsToName=_;function f(S,E,T){Object.keys(T).forEach(R=>S.assign((0,e._)`${E}${(0,e.getProperty)(R)}`,!0))}t.setEvaluated=f;var h={};function y(S,E){return S.scopeValue("func",{ref:E,code:h[E.code]||(h[E.code]=new r._Code(E.code))})}t.useFunc=y;var v;(function(S){S[S.Num=0]="Num",S[S.Str=1]="Str"})(v||(t.Type=v={}));function b(S,E,T){if(S instanceof e.Name){let R=E===v.Num;return T?R?(0,e._)`"[" + ${S} + "]"`:(0,e._)`"['" + ${S} + "']"`:R?(0,e._)`"/" + ${S}`:(0,e._)`"/" + ${S}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return T?(0,e.getProperty)(S).toString():"/"+d(S)}t.getErrorPath=b;function w(S,E,T=S.opts.strictSchema){if(T){if(E=`strict mode: ${E}`,T===!0)throw new Error(E);S.self.logger.warn(E)}}t.checkStrictMode=w}),Qn=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),Rl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=ze(),r=et(),a=Qn();t.keywordError={message:({keyword:f})=>(0,e.str)`must pass "${f}" keyword validation`},t.keyword$DataError={message:({keyword:f,schemaType:h})=>h?(0,e.str)`"${f}" keyword must be ${h} ($data)`:(0,e.str)`"${f}" keyword is invalid ($data)`};function n(f,h=t.keywordError,y,v){let{it:b}=f,{gen:w,compositeRule:S,allErrors:E}=b,T=d(f,h,y);v??(S||E)?c(w,T):u(b,(0,e._)`[${T}]`)}t.reportError=n;function s(f,h=t.keywordError,y){let{it:v}=f,{gen:b,compositeRule:w,allErrors:S}=v,E=d(f,h,y);c(b,E),w||S||u(v,a.default.vErrors)}t.reportExtraError=s;function i(f,h){f.assign(a.default.errors,h),f.if((0,e._)`${a.default.vErrors} !== null`,()=>f.if(h,()=>f.assign((0,e._)`${a.default.vErrors}.length`,h),()=>f.assign(a.default.vErrors,null)))}t.resetErrorsCount=i;function o({gen:f,keyword:h,schemaValue:y,data:v,errsCount:b,it:w}){if(b===void 0)throw new Error("ajv implementation error");let S=f.name("err");f.forRange("i",b,a.default.errors,E=>{f.const(S,(0,e._)`${a.default.vErrors}[${E}]`),f.if((0,e._)`${S}.instancePath === undefined`,()=>f.assign((0,e._)`${S}.instancePath`,(0,e.strConcat)(a.default.instancePath,w.errorPath))),f.assign((0,e._)`${S}.schemaPath`,(0,e.str)`${w.errSchemaPath}/${h}`),w.opts.verbose&&(f.assign((0,e._)`${S}.schema`,y),f.assign((0,e._)`${S}.data`,v))})}t.extendErrors=o;function c(f,h){let y=f.const("err",h);f.if((0,e._)`${a.default.vErrors} === null`,()=>f.assign(a.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${a.default.vErrors}.push(${y})`),f.code((0,e._)`${a.default.errors}++`)}function u(f,h){let{gen:y,validateName:v,schemaEnv:b}=f;b.$async?y.throw((0,e._)`new ${f.ValidationError}(${h})`):(y.assign((0,e._)`${v}.errors`,h),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(f,h,y){let{createErrors:v}=f.it;return v===!1?(0,e._)`{}`:p(f,h,y)}function p(f,h,y={}){let{gen:v,it:b}=f,w=[m(b,y),g(f,y)];return _(f,h,w),v.object(...w)}function m({errorPath:f},{instancePath:h}){let y=h?(0,e.str)`${f}${(0,r.getErrorPath)(h,r.Type.Str)}`:f;return[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,y)]}function g({keyword:f,it:{errSchemaPath:h}},{schemaPath:y,parentSchema:v}){let b=v?h:(0,e.str)`${h}/${f}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(f,{params:h,message:y},v){let{keyword:b,data:w,schemaValue:S,it:E}=f,{opts:T,propertyName:R,topSchemaRef:M,schemaPath:j}=E;v.push([l.keyword,b],[l.params,typeof h=="function"?h(f):h||(0,e._)`{}`]),T.messages&&v.push([l.message,typeof y=="function"?y(f):y]),T.verbose&&v.push([l.schema,S],[l.parentSchema,(0,e._)`${M}${j}`],[a.default.data,w]),R&&v.push([l.propertyName,R])}}),Gq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=Rl(),r=ze(),a=Qn(),n={message:"boolean schema is false"};function s(c){let{gen:u,schema:l,validateName:d}=c;l===!1?o(c,!1):typeof l=="object"&&l.$async===!0?u.return(a.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=s;function i(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),o(c)):l.var(u,!0)}t.boolOrEmptySchema=i;function o(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,n,void 0,u)}}),$T=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function a(s){return typeof s=="string"&&r.has(s)}t.isJSONType=a;function n(){let s={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...s,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},s.number,s.string,s.array,s.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=n}),OT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:n,self:s},i){let o=s.RULES.types[i];return o&&o!==!0&&r(n,o)}t.schemaHasRulesForType=e;function r(n,s){return s.rules.some(i=>a(n,i))}t.shouldUseGroup=r;function a(n,s){var i;return n[s.keyword]!==void 0||((i=s.definition.implements)===null||i===void 0?void 0:i.some(o=>n[o]!==void 0))}t.shouldUseRule=a}),hl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=$T(),r=OT(),a=Rl(),n=ze(),s=et(),i;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(i||(t.DataType=i={}));function o(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=o;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:w,data:S,opts:E}=v,T=d(b,E.coerceTypes),R=b.length>0&&!(T.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(R){let M=_(b,S,E.strictNumbers,i.Wrong);w.if(M,()=>{T.length?p(v,b,T):h(v)})}return R}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(w=>l.has(w)||b==="array"&&w==="array"):[]}function p(v,b,w){let{gen:S,data:E,opts:T}=v,R=S.let("dataType",(0,n._)`typeof ${E}`),M=S.let("coerced",(0,n._)`undefined`);T.coerceTypes==="array"&&S.if((0,n._)`${R} == 'object' && Array.isArray(${E}) && ${E}.length == 1`,()=>S.assign(E,(0,n._)`${E}[0]`).assign(R,(0,n._)`typeof ${E}`).if(_(b,E,T.strictNumbers),()=>S.assign(M,E))),S.if((0,n._)`${M} !== undefined`);for(let q of w)(l.has(q)||q==="array"&&T.coerceTypes==="array")&&j(q);S.else(),h(v),S.endIf(),S.if((0,n._)`${M} !== undefined`,()=>{S.assign(E,M),m(v,M)});function j(q){switch(q){case"string":S.elseIf((0,n._)`${R} == "number" || ${R} == "boolean"`).assign(M,(0,n._)`"" + ${E}`).elseIf((0,n._)`${E} === null`).assign(M,(0,n._)`""`);return;case"number":S.elseIf((0,n._)`${R} == "boolean" || ${E} === null + deps: ${l}}`};var n={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=s(c);i(c,u),o(c,l)}};function s({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function i(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let m=l.let("missing");for(let g in u){let _=u[g];if(_.length===0)continue;let f=(0,a.propertyInData)(l,d,g,p.opts.ownProperties);c.setParams({property:g,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(f,()=>{for(let h of _)(0,a.checkReportMissingProp)(c,h)}):(l.if((0,e._)`${f} && (${(0,a.checkMissingProp)(c,_,m)})`),(0,a.reportMissingProp)(c,m),l.else())}}t.validatePropertyDeps=i;function o(c,u=c.schema){let{gen:l,data:d,keyword:p,it:m}=c,g=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(m,u[_])||(l.if((0,a.propertyInData)(l,d,_,m.opts.ownProperties),()=>{let f=c.subschema({keyword:p,schemaProp:_},g);c.mergeValidEvaluated(f,g)},()=>l.var(g,!0)),c.ok(g))}t.validateSchemaDeps=o,t.default=n}),Rq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:"property name must be valid",params:({params:s})=>(0,e._)`{propertyName: ${s.propertyName}}`},n={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:a,code(s){let{gen:i,schema:o,data:c,it:u}=s;if((0,r.alwaysValidSchema)(u,o))return;let l=i.name("valid");i.forIn("key",c,d=>{s.setParams({propertyName:d}),s.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),i.if((0,e.not)(l),()=>{s.error(!0),u.allErrors||i.break()})}),s.ok(l)}};t.default=n}),PT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Yn(),n=Qe(),s={message:"must NOT have additional properties",params:({params:o})=>(0,r._)`{additionalProperty: ${o.additionalProperty}}`},i={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:s,code(o){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:m}=o;if(!p)throw new Error("ajv implementation error");let{allErrors:g,opts:_}=m;if(m.props=!0,_.removeAdditional!=="all"&&(0,n.alwaysValidSchema)(m,u))return;let f=(0,e.allSchemaProperties)(l.properties),h=(0,e.allSchemaProperties)(l.patternProperties);y(),o.ok((0,r._)`${p} === ${a.default.errors}`);function y(){c.forIn("key",d,E=>{!f.length&&!h.length?w(E):c.if(v(E),()=>w(E))})}function v(E){let T;if(f.length>8){let R=(0,n.schemaRefOrVal)(m,l.properties,"properties");T=(0,e.isOwnProperty)(c,R,E)}else f.length?T=(0,r.or)(...f.map(R=>(0,r._)`${E} === ${R}`)):T=r.nil;return h.length&&(T=(0,r.or)(T,...h.map(R=>(0,r._)`${(0,e.usePattern)(o,R)}.test(${E})`))),(0,r.not)(T)}function b(E){c.code((0,r._)`delete ${d}[${E}]`)}function w(E){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(E);return}if(u===!1){o.setParams({additionalProperty:E}),o.error(),g||c.break();return}if(typeof u=="object"&&!(0,n.alwaysValidSchema)(m,u)){let T=c.name("valid");_.removeAdditional==="failing"?(S(E,T,!1),c.if((0,r.not)(T),()=>{o.reset(),b(E)})):(S(E,T),g||c.if((0,r.not)(T),()=>c.break()))}}function S(E,T,R){let M={keyword:"additionalProperties",dataProp:E,dataPropType:n.Type.Str};R===!1&&Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1}),o.subschema(M,T)}}};t.default=i}),Pq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Tl(),r=Gr(),a=Qe(),n=PT(),s={keyword:"properties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,parentSchema:u,data:l,it:d}=i;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&n.default.code(new e.KeywordCxt(d,n.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let h of p)d.definedProperties.add(h);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=a.mergeEvaluated.props(o,(0,a.toHash)(p),d.props));let m=p.filter(h=>!(0,a.alwaysValidSchema)(d,c[h]));if(m.length===0)return;let g=o.name("valid");for(let h of m)_(h)?f(h):(o.if((0,r.propertyInData)(o,l,h,d.opts.ownProperties)),f(h),d.allErrors||o.else().var(g,!0),o.endIf()),i.it.definedProperties.add(h),i.ok(g);function _(h){return d.opts.useDefaults&&!d.compositeRule&&c[h].default!==void 0}function f(h){i.subschema({keyword:"properties",schemaProp:h,dataProp:h},g)}}};t.default=s}),$q=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r=Ge(),a=Qe(),n=Qe(),s={keyword:"patternProperties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,data:u,parentSchema:l,it:d}=i,{opts:p}=d,m=(0,e.allSchemaProperties)(c),g=m.filter(w=>(0,a.alwaysValidSchema)(d,c[w]));if(m.length===0||g.length===m.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,f=o.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,n.evaluatedPropsToName)(o,d.props));let{props:h}=d;y();function y(){for(let w of m)_&&v(w),d.allErrors?b(w):(o.var(f,!0),b(w),o.if(f))}function v(w){for(let S in _)new RegExp(w).test(S)&&(0,a.checkStrictMode)(d,`property ${S} matches pattern ${w} (use allowMatchingProperties)`)}function b(w){o.forIn("key",u,S=>{o.if((0,r._)`${(0,e.usePattern)(i,w)}.test(${S})`,()=>{let E=g.includes(w);E||i.subschema({keyword:"patternProperties",schemaProp:w,dataProp:S,dataPropType:n.Type.Str},f),d.opts.unevaluated&&h!==!0?o.assign((0,r._)`${h}[${S}]`,!0):!E&&!d.allErrors&&o.if((0,r.not)(f),()=>o.break())})})}}};t.default=s}),Oq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(a){let{gen:n,schema:s,it:i}=a;if((0,e.alwaysValidSchema)(i,s)){a.fail();return}let o=n.name("valid");a.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),a.failResult(o,()=>a.reset(),()=>a.error())},error:{message:"must NOT be valid"}};t.default=r}),Cq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Gr(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),Iq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:"must match exactly one schema in oneOf",params:({params:s})=>(0,e._)`{passingSchemas: ${s.passing}}`},n={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,it:u}=s;if(!Array.isArray(o))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=o,d=i.let("valid",!1),p=i.let("passing",null),m=i.name("_valid");s.setParams({passing:p}),i.block(g),s.result(d,()=>s.reset(),()=>s.error(!0));function g(){l.forEach((_,f)=>{let h;(0,r.alwaysValidSchema)(u,_)?i.var(m,!0):h=s.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},m),f>0&&i.if((0,e._)`${m} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${f}]`).else(),i.if(m,()=>{i.assign(d,!0),i.assign(p,f),h&&s.mergeEvaluated(h,e.Name)})})}}};t.default=n}),Aq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:"allOf",schemaType:"array",code(a){let{gen:n,schema:s,it:i}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");let o=n.name("valid");s.forEach((c,u)=>{if((0,e.alwaysValidSchema)(i,c))return;let l=a.subschema({keyword:"allOf",schemaProp:u},o);a.ok(o),a.mergeEvaluated(l)})}};t.default=r}),Nq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Qe(),a={message:({params:i})=>(0,e.str)`must match "${i.ifClause}" schema`,params:({params:i})=>(0,e._)`{failingKeyword: ${i.ifClause}}`},n={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:a,code(i){let{gen:o,parentSchema:c,it:u}=i;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=s(u,"then"),d=s(u,"else");if(!l&&!d)return;let p=o.let("valid",!0),m=o.name("_valid");if(g(),i.reset(),l&&d){let f=o.let("ifClause");i.setParams({ifClause:f}),o.if(m,_("then",f),_("else",f))}else l?o.if(m,_("then")):o.if((0,e.not)(m),_("else"));i.pass(p,()=>i.error(!0));function g(){let f=i.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);i.mergeEvaluated(f)}function _(f,h){return()=>{let y=i.subschema({keyword:f},m);o.assign(p,m),i.mergeValidEvaluated(y,p),h?o.assign(h,(0,e._)`${f}`):i.setParams({ifClause:f})}}}};function s(i,o){let c=i.schema[o];return c!==void 0&&!(0,r.alwaysValidSchema)(i,c)}t.default=n}),Mq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Qe(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:a,parentSchema:n,it:s}){n.if===void 0&&(0,e.checkStrictMode)(s,`"${a}" without "if" is ignored`)}};t.default=r}),jq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=kT(),r=wq(),a=RT(),n=Eq(),s=Tq(),i=kq(),o=Rq(),c=PT(),u=Pq(),l=$q(),d=Oq(),p=Cq(),m=Iq(),g=Aq(),_=Nq(),f=Mq();function h(y=!1){let v=[d.default,p.default,m.default,g.default,_.default,f.default,o.default,c.default,i.default,u.default,l.default];return y?v.push(r.default,n.default):v.push(e.default,a.default),v.push(s.default),v}t.default=h}),Dq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r={message:({schemaCode:n})=>(0,e.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,e._)`{format: ${n}}`},a={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(n,s){let{gen:i,data:o,$data:c,schema:u,schemaCode:l,it:d}=n,{opts:p,errSchemaPath:m,schemaEnv:g,self:_}=d;if(!p.validateFormats)return;c?f():h();function f(){let y=i.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=i.const("fDef",(0,e._)`${y}[${l}]`),b=i.let("fType"),w=i.let("format");i.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>i.assign(b,(0,e._)`${v}.type || "string"`).assign(w,(0,e._)`${v}.validate`),()=>i.assign(b,(0,e._)`"string"`).assign(w,v)),n.fail$data((0,e.or)(S(),E()));function S(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${w}`}function E(){let T=g.$async?(0,e._)`(${v}.async ? await ${w}(${o}) : ${w}(${o}))`:(0,e._)`${w}(${o})`,R=(0,e._)`(typeof ${w} == "function" ? ${T} : ${w}.test(${o}))`;return(0,e._)`${w} && ${w} !== true && ${b} === ${s} && !${R}`}}function h(){let y=_.formats[u];if(!y){S();return}if(y===!0)return;let[v,b,w]=E(y);v===s&&n.pass(T());function S(){if(p.strictSchema===!1){_.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${u}" ignored in schema at path "${m}"`}}function E(R){let M=R instanceof RegExp?(0,e.regexpCode)(R):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,j=i.scopeValue("formats",{key:u,ref:R,code:M});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,e._)`${j}.validate`]:["string",R,j]}function T(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!g.$async)throw new Error("async format in sync schema");return(0,e._)`await ${w}(${o})`}return typeof b=="function"?(0,e._)`${w}(${o})`:(0,e._)`${w}.test(${o})`}}}};t.default=a}),Lq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Dq(),r=[e.default];t.default=r}),qq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),Fq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=lq(),r=xq(),a=jq(),n=Lq(),s=qq(),i=[e.default,r.default,(0,a.default)(),n.default,s.metadataVocabulary,s.contentVocabulary];t.default=i}),Uq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),zq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Ge(),r=Uq(),a=Hm(),n=kl(),s=Qe(),i={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},o={keyword:"discriminator",type:"object",schemaType:"object",error:i,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:m}=c,{oneOf:g}=p;if(!m.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let f=u.let("valid",!1),h=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${h} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:h,tagName:_})),c.ok(f);function y(){let w=b();u.if(!1);for(let S in w)u.elseIf((0,e._)`${h} === ${S}`),u.assign(f,v(w[S]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:h,tagName:_}),u.endIf()}function v(w){let S=u.name("valid"),E=c.subschema({keyword:"oneOf",schemaProp:w},S);return c.mergeEvaluated(E,e.Name),S}function b(){var w;let S={},E=R(p),T=!0;for(let q=0;q{e.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}}),Bq=Q((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=oq(),a=Fq(),n=zq(),s=Hq(),i=["/properties"],o="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),a.default.forEach(g=>this.addVocabulary(g)),this.opts.discriminator&&this.addKeyword(n.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let g=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(g,o,!1),this.refs["http://json-schema.org/schema"]=o}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(o)?o:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Tl();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=Ge();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=zm();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=kl();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),Vq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatNames=t.fastFormats=t.fullFormats=void 0;function e(j,q){return{validate:j,compare:q}}t.fullFormats={date:e(s,i),time:e(c(!0),u),"date-time":e(p(!0),m),"iso-time":e(c(),l),"iso-date-time":e(p(),g),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:h,"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:M,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:v,int32:{type:"number",validate:S},int64:{type:"number",validate:E},float:{type:"number",validate:T},double:{type:"number",validate:T},password:!0,binary:!0},t.fastFormats={...t.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,i),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,u),"date-time":e(/^\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,m),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"iso-date-time":e(/^\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,g),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},t.formatNames=Object.keys(t.fullFormats);function r(j){return j%4===0&&(j%100!==0||j%400===0)}var a=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,n=[0,31,28,31,30,31,30,31,31,30,31,30,31];function s(j){let q=a.exec(j);if(!q)return!1;let H=+q[1],N=+q[2],W=+q[3];return N>=1&&N<=12&&W>=1&&W<=(N===2&&r(H)?29:n[N])}function i(j,q){if(j&&q)return j>q?1:j23||P>59||j&&!ae)return!1;if(W<=23&&oe<=59&&he<60)return!0;let z=oe-P*re,A=W-U*re-(z<0?1:0);return(A===23||A===-1)&&(z===59||z===-1)&&he<61}}function u(j,q){if(!(j&&q))return;let H=new Date("2020-01-01T"+j).valueOf(),N=new Date("2020-01-01T"+q).valueOf();if(H&&N)return H-N}function l(j,q){if(!(j&&q))return;let H=o.exec(j),N=o.exec(q);if(H&&N)return j=H[1]+H[2]+H[3],q=N[1]+N[2]+N[3],j>q?1:j=b}function E(j){return Number.isInteger(j)}function T(){return!0}var R=/[^\\]\\Z/;function M(j){if(R.test(j))return!1;try{return new RegExp(j),!0}catch{return!1}}}),ml=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends e{constructor(y){if(super(),!t.IDENTIFIER.test(y))throw new Error("CodeGen: name must be a valid identifier");this.str=y}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=r;class a extends e{constructor(y){super(),this._items=typeof y=="string"?[y]:y}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let y=this._items[0];return y===""||y==='""'}get str(){var y;return(y=this._str)!==null&&y!==void 0?y:this._str=this._items.reduce((v,b)=>`${v}${b}`,"")}get names(){var y;return(y=this._names)!==null&&y!==void 0?y:this._names=this._items.reduce((v,b)=>(b instanceof r&&(v[b.str]=(v[b.str]||0)+1),v),{})}}t._Code=a,t.nil=new a("");function n(h,...y){let v=[h[0]],b=0;for(;b{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;var e=ml();class r extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var a;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(a||(t.UsedValueState=a={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class n{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){let l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,d;if(!((d=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||d===void 0)&&d.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=n;class s extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:d}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${d}]`}}t.ValueScopeName=s;var i=(0,e._)`\n`;class o extends n{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:e.nil}}get(){return this._scope}name(u){return new s(u,this._newName(u))}value(u,l){var d;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(u),{prefix:m}=p,g=(d=l.key)!==null&&d!==void 0?d:l.ref,_=this._values[m];if(_){let y=_.get(g);if(y)return y}else _=this._values[m]=new Map;_.set(g,p);let f=this._scope[m]||(this._scope[m]=[]),h=f.length;return f[h]=l.ref,p.setValue(l,{property:m,itemIndex:h}),p}getValue(u,l){let d=this._values[u];if(d)return d.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,d=>{if(d.scopePath===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return(0,e._)`${u}${d.scopePath}`})}scopeCode(u=this._values,l,d){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,d)}_reduceValues(u,l,d={},p){let m=e.nil;for(let g in u){let _=u[g];if(!_)continue;let f=d[g]=d[g]||new Map;_.forEach(h=>{if(f.has(h))return;f.set(h,a.Started);let y=l(h);if(y){let v=this.opts.es5?t.varKinds.var:t.varKinds.const;m=(0,e._)`${m}${v} ${h} = ${y};${this.opts._n}`}else if(y=p?.(h))m=(0,e._)`${m}${y}${this.opts._n}`;else throw new r(h);f.set(h,a.Completed)})}return m}}t.ValueScope=o}),ze=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;var e=ml(),r=B1(),a=ml();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return a.Name}});var n=B1();Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return n.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return n.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return n.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return n.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class s{optimizeNodes(){return this}optimizeNames(x,k){return this}}class i extends s{constructor(x,k,D){super(),this.varKind=x,this.name=k,this.rhs=D}render({es5:x,_n:k}){let D=x?r.varKinds.var:this.varKind,K=this.rhs===void 0?"":` = ${this.rhs}`;return`${D} ${this.name}${K};`+k}optimizeNames(x,k){if(x[this.name.str])return this.rhs&&(this.rhs=N(this.rhs,x,k)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class o extends s{constructor(x,k,D){super(),this.lhs=x,this.rhs=k,this.sideEffects=D}render({_n:x}){return`${this.lhs} = ${this.rhs};`+x}optimizeNames(x,k){if(!(this.lhs instanceof e.Name&&!x[this.lhs.str]&&!this.sideEffects))return this.rhs=N(this.rhs,x,k),this}get names(){let x=this.lhs instanceof e.Name?{}:{...this.lhs.names};return H(x,this.rhs)}}class c extends o{constructor(x,k,D,K){super(x,D,K),this.op=k}render({_n:x}){return`${this.lhs} ${this.op}= ${this.rhs};`+x}}class u extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`${this.label}:`+x}}class l extends s{constructor(x){super(),this.label=x,this.names={}}render({_n:x}){return`break${this.label?` ${this.label}`:""};`+x}}class d extends s{constructor(x){super(),this.error=x}render({_n:x}){return`throw ${this.error};`+x}get names(){return this.error.names}}class p extends s{constructor(x){super(),this.code=x}render({_n:x}){return`${this.code};`+x}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(x,k){return this.code=N(this.code,x,k),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class m extends s{constructor(x=[]){super(),this.nodes=x}render(x){return this.nodes.reduce((k,D)=>k+D.render(x),"")}optimizeNodes(){let{nodes:x}=this,k=x.length;for(;k--;){let D=x[k].optimizeNodes();Array.isArray(D)?x.splice(k,1,...D):D?x[k]=D:x.splice(k,1)}return x.length>0?this:void 0}optimizeNames(x,k){let{nodes:D}=this,K=D.length;for(;K--;){let J=D[K];J.optimizeNames(x,k)||(W(x,J.names),D.splice(K,1))}return D.length>0?this:void 0}get names(){return this.nodes.reduce((x,k)=>q(x,k.names),{})}}class g extends m{render(x){return"{"+x._n+super.render(x)+"}"+x._n}}class _ extends m{}class f extends g{}f.kind="else";class h extends g{constructor(x,k){super(k),this.condition=x}render(x){let k=`if(${this.condition})`+super.render(x);return this.else&&(k+="else "+this.else.render(x)),k}optimizeNodes(){super.optimizeNodes();let x=this.condition;if(x===!0)return this.nodes;let k=this.else;if(k){let D=k.optimizeNodes();k=this.else=Array.isArray(D)?new f(D):D}if(k)return x===!1?k instanceof h?k:k.nodes:this.nodes.length?this:new h(oe(x),k instanceof h?[k]:k.nodes);if(!(x===!1||!this.nodes.length))return this}optimizeNames(x,k){var D;if(this.else=(D=this.else)===null||D===void 0?void 0:D.optimizeNames(x,k),!!(super.optimizeNames(x,k)||this.else))return this.condition=N(this.condition,x,k),this}get names(){let x=super.names;return H(x,this.condition),this.else&&q(x,this.else.names),x}}h.kind="if";class y extends g{}y.kind="for";class v extends y{constructor(x){super(),this.iteration=x}render(x){return`for(${this.iteration})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iteration=N(this.iteration,x,k),this}get names(){return q(super.names,this.iteration.names)}}class b extends y{constructor(x,k,D,K){super(),this.varKind=x,this.name=k,this.from=D,this.to=K}render(x){let k=x.es5?r.varKinds.var:this.varKind,{name:D,from:K,to:J}=this;return`for(${k} ${D}=${K}; ${D}<${J}; ${D}++)`+super.render(x)}get names(){let x=H(super.names,this.from);return H(x,this.to)}}class w extends y{constructor(x,k,D,K){super(),this.loop=x,this.varKind=k,this.name=D,this.iterable=K}render(x){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(x)}optimizeNames(x,k){if(super.optimizeNames(x,k))return this.iterable=N(this.iterable,x,k),this}get names(){return q(super.names,this.iterable.names)}}class S extends g{constructor(x,k,D){super(),this.name=x,this.args=k,this.async=D}render(x){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(x)}}S.kind="func";class E extends m{render(x){return"return "+super.render(x)}}E.kind="return";class T extends g{render(x){let k="try"+super.render(x);return this.catch&&(k+=this.catch.render(x)),this.finally&&(k+=this.finally.render(x)),k}optimizeNodes(){var x,k;return super.optimizeNodes(),(x=this.catch)===null||x===void 0||x.optimizeNodes(),(k=this.finally)===null||k===void 0||k.optimizeNodes(),this}optimizeNames(x,k){var D,K;return super.optimizeNames(x,k),(D=this.catch)===null||D===void 0||D.optimizeNames(x,k),(K=this.finally)===null||K===void 0||K.optimizeNames(x,k),this}get names(){let x=super.names;return this.catch&&q(x,this.catch.names),this.finally&&q(x,this.finally.names),x}}class R extends g{constructor(x){super(),this.error=x}render(x){return`catch(${this.error})`+super.render(x)}}R.kind="catch";class M extends g{render(x){return"finally"+super.render(x)}}M.kind="finally";class j{constructor(x,k={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...k,_n:k.lines?` +`:""},this._extScope=x,this._scope=new r.Scope({parent:x}),this._nodes=[new _]}toString(){return this._root.render(this.opts)}name(x){return this._scope.name(x)}scopeName(x){return this._extScope.name(x)}scopeValue(x,k){let D=this._extScope.value(x,k);return(this._values[D.prefix]||(this._values[D.prefix]=new Set)).add(D),D}getScopeValue(x,k){return this._extScope.getValue(x,k)}scopeRefs(x){return this._extScope.scopeRefs(x,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(x,k,D,K){let J=this._scope.toName(k);return D!==void 0&&K&&(this._constants[J.str]=D),this._leafNode(new i(x,J,D)),J}const(x,k,D){return this._def(r.varKinds.const,x,k,D)}let(x,k,D){return this._def(r.varKinds.let,x,k,D)}var(x,k,D){return this._def(r.varKinds.var,x,k,D)}assign(x,k,D){return this._leafNode(new o(x,k,D))}add(x,k){return this._leafNode(new c(x,t.operators.ADD,k))}code(x){return typeof x=="function"?x():x!==e.nil&&this._leafNode(new p(x)),this}object(...x){let k=["{"];for(let[D,K]of x)k.length>1&&k.push(","),k.push(D),(D!==K||this.opts.es5)&&(k.push(":"),(0,e.addCodeArg)(k,K));return k.push("}"),new e._Code(k)}if(x,k,D){if(this._blockNode(new h(x)),k&&D)this.code(k).else().code(D).endIf();else if(k)this.code(k).endIf();else if(D)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(x){return this._elseNode(new h(x))}else(){return this._elseNode(new f)}endIf(){return this._endBlockNode(h,f)}_for(x,k){return this._blockNode(x),k&&this.code(k).endFor(),this}for(x,k){return this._for(new v(x),k)}forRange(x,k,D,K,J=this.opts.es5?r.varKinds.var:r.varKinds.let){let de=this._scope.toName(x);return this._for(new b(J,de,k,D),()=>K(de))}forOf(x,k,D,K=r.varKinds.const){let J=this._scope.toName(x);if(this.opts.es5){let de=k instanceof e.Name?k:this.var("_arr",k);return this.forRange("_i",0,(0,e._)`${de}.length`,se=>{this.var(J,(0,e._)`${de}[${se}]`),D(J)})}return this._for(new w("of",K,J,k),()=>D(J))}forIn(x,k,D,K=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(x,(0,e._)`Object.keys(${k})`,D);let J=this._scope.toName(x);return this._for(new w("in",K,J,k),()=>D(J))}endFor(){return this._endBlockNode(y)}label(x){return this._leafNode(new u(x))}break(x){return this._leafNode(new l(x))}return(x){let k=new E;if(this._blockNode(k),this.code(x),k.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(x,k,D){if(!k&&!D)throw new Error('CodeGen: "try" without "catch" and "finally"');let K=new T;if(this._blockNode(K),this.code(x),k){let J=this.name("e");this._currNode=K.catch=new R(J),k(J)}return D&&(this._currNode=K.finally=new M,this.code(D)),this._endBlockNode(R,M)}throw(x){return this._leafNode(new d(x))}block(x,k){return this._blockStarts.push(this._nodes.length),x&&this.code(x).endBlock(k),this}endBlock(x){let k=this._blockStarts.pop();if(k===void 0)throw new Error("CodeGen: not in self-balancing block");let D=this._nodes.length-k;if(D<0||x!==void 0&&D!==x)throw new Error(`CodeGen: wrong number of nodes: ${D} vs ${x} expected`);return this._nodes.length=k,this}func(x,k=e.nil,D,K){return this._blockNode(new S(x,k,D)),K&&this.code(K).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(x=1){for(;x-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(x){return this._currNode.nodes.push(x),this}_blockNode(x){this._currNode.nodes.push(x),this._nodes.push(x)}_endBlockNode(x,k){let D=this._currNode;if(D instanceof x||k&&D instanceof k)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${k?`${x.kind}/${k.kind}`:x.kind}"`)}_elseNode(x){let k=this._currNode;if(!(k instanceof h))throw new Error('CodeGen: "else" without "if"');return this._currNode=k.else=x,this}get _root(){return this._nodes[0]}get _currNode(){let x=this._nodes;return x[x.length-1]}set _currNode(x){let k=this._nodes;k[k.length-1]=x}}t.CodeGen=j;function q(A,x){for(let k in x)A[k]=(A[k]||0)+(x[k]||0);return A}function H(A,x){return x instanceof e._CodeOrName?q(A,x.names):A}function N(A,x,k){if(A instanceof e.Name)return D(A);if(!K(A))return A;return new e._Code(A._items.reduce((J,de)=>(de instanceof e.Name&&(de=D(de)),de instanceof e._Code?J.push(...de._items):J.push(de),J),[]));function D(J){let de=k[J.str];return de===void 0||x[J.str]!==1?J:(delete x[J.str],de)}function K(J){return J instanceof e._Code&&J._items.some(de=>de instanceof e.Name&&x[de.str]===1&&k[de.str]!==void 0)}}function W(A,x){for(let k in x)A[k]=(A[k]||0)-(x[k]||0)}function oe(A){return typeof A=="boolean"||typeof A=="number"||A===null?!A:(0,e._)`!${z(A)}`}t.not=oe;var he=P(t.operators.AND);function ae(...A){return A.reduce(he)}t.and=ae;var re=P(t.operators.OR);function U(...A){return A.reduce(re)}t.or=U;function P(A){return(x,k)=>x===e.nil?k:k===e.nil?x:(0,e._)`${z(x)} ${A} ${z(k)}`}function z(A){return A instanceof e.Name?A:(0,e._)`(${A})`}}),et=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;var e=ze(),r=ml();function a(S){let E={};for(let T of S)E[T]=!0;return E}t.toHash=a;function n(S,E){return typeof E=="boolean"?E:Object.keys(E).length===0?!0:(s(S,E),!i(E,S.self.RULES.all))}t.alwaysValidSchema=n;function s(S,E=S.schema){let{opts:T,self:R}=S;if(!T.strictSchema||typeof E=="boolean")return;let M=R.RULES.keywords;for(let j in E)M[j]||w(S,`unknown keyword: "${j}"`)}t.checkUnknownRules=s;function i(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(E[T])return!0;return!1}t.schemaHasRules=i;function o(S,E){if(typeof S=="boolean")return!S;for(let T in S)if(T!=="$ref"&&E.all[T])return!0;return!1}t.schemaHasRulesButRef=o;function c({topSchemaRef:S,schemaPath:E},T,R,M){if(!M){if(typeof T=="number"||typeof T=="boolean")return T;if(typeof T=="string")return(0,e._)`${T}`}return(0,e._)`${S}${E}${(0,e.getProperty)(R)}`}t.schemaRefOrVal=c;function u(S){return p(decodeURIComponent(S))}t.unescapeFragment=u;function l(S){return encodeURIComponent(d(S))}t.escapeFragment=l;function d(S){return typeof S=="number"?`${S}`:S.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=d;function p(S){return S.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=p;function m(S,E){if(Array.isArray(S))for(let T of S)E(T);else E(S)}t.eachItem=m;function g({mergeNames:S,mergeToName:E,mergeValues:T,resultToName:R}){return(M,j,q,H)=>{let N=q===void 0?j:q instanceof e.Name?(j instanceof e.Name?S(M,j,q):E(M,j,q),q):j instanceof e.Name?(E(M,q,j),j):T(j,q);return H===e.Name&&!(N instanceof e.Name)?R(M,N):N}}t.mergeEvaluated={props:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>{S.if((0,e._)`${E} === true`,()=>S.assign(T,!0),()=>S.assign(T,(0,e._)`${T} || {}`).code((0,e._)`Object.assign(${T}, ${E})`))}),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>{E===!0?S.assign(T,!0):(S.assign(T,(0,e._)`${T} || {}`),f(S,T,E))}),mergeValues:(S,E)=>S===!0?!0:{...S,...E},resultToName:_}),items:g({mergeNames:(S,E,T)=>S.if((0,e._)`${T} !== true && ${E} !== undefined`,()=>S.assign(T,(0,e._)`${E} === true ? true : ${T} > ${E} ? ${T} : ${E}`)),mergeToName:(S,E,T)=>S.if((0,e._)`${T} !== true`,()=>S.assign(T,E===!0?!0:(0,e._)`${T} > ${E} ? ${T} : ${E}`)),mergeValues:(S,E)=>S===!0?!0:Math.max(S,E),resultToName:(S,E)=>S.var("items",E)})};function _(S,E){if(E===!0)return S.var("props",!0);let T=S.var("props",(0,e._)`{}`);return E!==void 0&&f(S,T,E),T}t.evaluatedPropsToName=_;function f(S,E,T){Object.keys(T).forEach(R=>S.assign((0,e._)`${E}${(0,e.getProperty)(R)}`,!0))}t.setEvaluated=f;var h={};function y(S,E){return S.scopeValue("func",{ref:E,code:h[E.code]||(h[E.code]=new r._Code(E.code))})}t.useFunc=y;var v;(function(S){S[S.Num=0]="Num",S[S.Str=1]="Str"})(v||(t.Type=v={}));function b(S,E,T){if(S instanceof e.Name){let R=E===v.Num;return T?R?(0,e._)`"[" + ${S} + "]"`:(0,e._)`"['" + ${S} + "']"`:R?(0,e._)`"/" + ${S}`:(0,e._)`"/" + ${S}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return T?(0,e.getProperty)(S).toString():"/"+d(S)}t.getErrorPath=b;function w(S,E,T=S.opts.strictSchema){if(T){if(E=`strict mode: ${E}`,T===!0)throw new Error(E);S.self.logger.warn(E)}}t.checkStrictMode=w}),Qn=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={data:new e.Name("data"),valCxt:new e.Name("valCxt"),instancePath:new e.Name("instancePath"),parentData:new e.Name("parentData"),parentDataProperty:new e.Name("parentDataProperty"),rootData:new e.Name("rootData"),dynamicAnchors:new e.Name("dynamicAnchors"),vErrors:new e.Name("vErrors"),errors:new e.Name("errors"),this:new e.Name("this"),self:new e.Name("self"),scope:new e.Name("scope"),json:new e.Name("json"),jsonPos:new e.Name("jsonPos"),jsonLen:new e.Name("jsonLen"),jsonPart:new e.Name("jsonPart")};t.default=r}),Rl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;var e=ze(),r=et(),a=Qn();t.keywordError={message:({keyword:f})=>(0,e.str)`must pass "${f}" keyword validation`},t.keyword$DataError={message:({keyword:f,schemaType:h})=>h?(0,e.str)`"${f}" keyword must be ${h} ($data)`:(0,e.str)`"${f}" keyword is invalid ($data)`};function n(f,h=t.keywordError,y,v){let{it:b}=f,{gen:w,compositeRule:S,allErrors:E}=b,T=d(f,h,y);v??(S||E)?c(w,T):u(b,(0,e._)`[${T}]`)}t.reportError=n;function s(f,h=t.keywordError,y){let{it:v}=f,{gen:b,compositeRule:w,allErrors:S}=v,E=d(f,h,y);c(b,E),w||S||u(v,a.default.vErrors)}t.reportExtraError=s;function i(f,h){f.assign(a.default.errors,h),f.if((0,e._)`${a.default.vErrors} !== null`,()=>f.if(h,()=>f.assign((0,e._)`${a.default.vErrors}.length`,h),()=>f.assign(a.default.vErrors,null)))}t.resetErrorsCount=i;function o({gen:f,keyword:h,schemaValue:y,data:v,errsCount:b,it:w}){if(b===void 0)throw new Error("ajv implementation error");let S=f.name("err");f.forRange("i",b,a.default.errors,E=>{f.const(S,(0,e._)`${a.default.vErrors}[${E}]`),f.if((0,e._)`${S}.instancePath === undefined`,()=>f.assign((0,e._)`${S}.instancePath`,(0,e.strConcat)(a.default.instancePath,w.errorPath))),f.assign((0,e._)`${S}.schemaPath`,(0,e.str)`${w.errSchemaPath}/${h}`),w.opts.verbose&&(f.assign((0,e._)`${S}.schema`,y),f.assign((0,e._)`${S}.data`,v))})}t.extendErrors=o;function c(f,h){let y=f.const("err",h);f.if((0,e._)`${a.default.vErrors} === null`,()=>f.assign(a.default.vErrors,(0,e._)`[${y}]`),(0,e._)`${a.default.vErrors}.push(${y})`),f.code((0,e._)`${a.default.errors}++`)}function u(f,h){let{gen:y,validateName:v,schemaEnv:b}=f;b.$async?y.throw((0,e._)`new ${f.ValidationError}(${h})`):(y.assign((0,e._)`${v}.errors`,h),y.return(!1))}var l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function d(f,h,y){let{createErrors:v}=f.it;return v===!1?(0,e._)`{}`:p(f,h,y)}function p(f,h,y={}){let{gen:v,it:b}=f,w=[m(b,y),g(f,y)];return _(f,h,w),v.object(...w)}function m({errorPath:f},{instancePath:h}){let y=h?(0,e.str)`${f}${(0,r.getErrorPath)(h,r.Type.Str)}`:f;return[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,y)]}function g({keyword:f,it:{errSchemaPath:h}},{schemaPath:y,parentSchema:v}){let b=v?h:(0,e.str)`${h}/${f}`;return y&&(b=(0,e.str)`${b}${(0,r.getErrorPath)(y,r.Type.Str)}`),[l.schemaPath,b]}function _(f,{params:h,message:y},v){let{keyword:b,data:w,schemaValue:S,it:E}=f,{opts:T,propertyName:R,topSchemaRef:M,schemaPath:j}=E;v.push([l.keyword,b],[l.params,typeof h=="function"?h(f):h||(0,e._)`{}`]),T.messages&&v.push([l.message,typeof y=="function"?y(f):y]),T.verbose&&v.push([l.schema,S],[l.parentSchema,(0,e._)`${M}${j}`],[a.default.data,w]),R&&v.push([l.propertyName,R])}}),Gq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;var e=Rl(),r=ze(),a=Qn(),n={message:"boolean schema is false"};function s(c){let{gen:u,schema:l,validateName:d}=c;l===!1?o(c,!1):typeof l=="object"&&l.$async===!0?u.return(a.default.data):(u.assign((0,r._)`${d}.errors`,null),u.return(!0))}t.topBoolOrEmptySchema=s;function i(c,u){let{gen:l,schema:d}=c;d===!1?(l.var(u,!1),o(c)):l.var(u,!0)}t.boolOrEmptySchema=i;function o(c,u){let{gen:l,data:d}=c,p={gen:l,keyword:"false schema",data:d,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:c};(0,e.reportError)(p,n,void 0,u)}}),$T=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRules=t.isJSONType=void 0;var e=["string","number","integer","boolean","null","object","array"],r=new Set(e);function a(s){return typeof s=="string"&&r.has(s)}t.isJSONType=a;function n(){let s={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...s,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},s.number,s.string,s.array,s.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=n}),OT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function e({schema:n,self:s},i){let o=s.RULES.types[i];return o&&o!==!0&&r(n,o)}t.schemaHasRulesForType=e;function r(n,s){return s.rules.some(i=>a(n,i))}t.shouldUseGroup=r;function a(n,s){var i;return n[s.keyword]!==void 0||((i=s.definition.implements)===null||i===void 0?void 0:i.some(o=>n[o]!==void 0))}t.shouldUseRule=a}),hl=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;var e=$T(),r=OT(),a=Rl(),n=ze(),s=et(),i;(function(v){v[v.Correct=0]="Correct",v[v.Wrong=1]="Wrong"})(i||(t.DataType=i={}));function o(v){let b=c(v.type);if(b.includes("null")){if(v.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!b.length&&v.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');v.nullable===!0&&b.push("null")}return b}t.getSchemaTypes=o;function c(v){let b=Array.isArray(v)?v:v?[v]:[];if(b.every(e.isJSONType))return b;throw new Error("type must be JSONType or JSONType[]: "+b.join(","))}t.getJSONTypes=c;function u(v,b){let{gen:w,data:S,opts:E}=v,T=d(b,E.coerceTypes),R=b.length>0&&!(T.length===0&&b.length===1&&(0,r.schemaHasRulesForType)(v,b[0]));if(R){let M=_(b,S,E.strictNumbers,i.Wrong);w.if(M,()=>{T.length?p(v,b,T):h(v)})}return R}t.coerceAndCheckDataType=u;var l=new Set(["string","number","integer","boolean","null"]);function d(v,b){return b?v.filter(w=>l.has(w)||b==="array"&&w==="array"):[]}function p(v,b,w){let{gen:S,data:E,opts:T}=v,R=S.let("dataType",(0,n._)`typeof ${E}`),M=S.let("coerced",(0,n._)`undefined`);T.coerceTypes==="array"&&S.if((0,n._)`${R} == 'object' && Array.isArray(${E}) && ${E}.length == 1`,()=>S.assign(E,(0,n._)`${E}[0]`).assign(R,(0,n._)`typeof ${E}`).if(_(b,E,T.strictNumbers),()=>S.assign(M,E))),S.if((0,n._)`${M} !== undefined`);for(let q of w)(l.has(q)||q==="array"&&T.coerceTypes==="array")&&j(q);S.else(),h(v),S.endIf(),S.if((0,n._)`${M} !== undefined`,()=>{S.assign(E,M),m(v,M)});function j(q){switch(q){case"string":S.elseIf((0,n._)`${R} == "number" || ${R} == "boolean"`).assign(M,(0,n._)`"" + ${E}`).elseIf((0,n._)`${E} === null`).assign(M,(0,n._)`""`);return;case"number":S.elseIf((0,n._)`${R} == "boolean" || ${E} === null || (${R} == "string" && ${E} && ${E} == +${E})`).assign(M,(0,n._)`+${E}`);return;case"integer":S.elseIf((0,n._)`${R} === "boolean" || ${E} === null || (${R} === "string" && ${E} && ${E} == +${E} && !(${E} % 1))`).assign(M,(0,n._)`+${E}`);return;case"boolean":S.elseIf((0,n._)`${E} === "false" || ${E} === 0 || ${E} === null`).assign(M,!1).elseIf((0,n._)`${E} === "true" || ${E} === 1`).assign(M,!0);return;case"null":S.elseIf((0,n._)`${E} === "" || ${E} === 0 || ${E} === false`),S.assign(M,null);return;case"array":S.elseIf((0,n._)`${R} === "string" || ${R} === "number" - || ${R} === "boolean" || ${E} === null`).assign(M,(0,n._)`[${E}]`)}}}function m({gen:v,parentData:b,parentDataProperty:w},S){v.if((0,n._)`${b} !== undefined`,()=>v.assign((0,n._)`${b}[${w}]`,S))}function g(v,b,w,S=i.Correct){let E=S===i.Correct?n.operators.EQ:n.operators.NEQ,T;switch(v){case"null":return(0,n._)`${b} ${E} null`;case"array":T=(0,n._)`Array.isArray(${b})`;break;case"object":T=(0,n._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":T=R((0,n._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":T=R();break;default:return(0,n._)`typeof ${b} ${E} ${v}`}return S===i.Correct?T:(0,n.not)(T);function R(M=n.nil){return(0,n.and)((0,n._)`typeof ${b} == "number"`,M,w?(0,n._)`isFinite(${b})`:n.nil)}}t.checkDataType=g;function _(v,b,w,S){if(v.length===1)return g(v[0],b,w,S);let E,T=(0,s.toHash)(v);if(T.array&&T.object){let R=(0,n._)`typeof ${b} != "object"`;E=T.null?R:(0,n._)`!${b} || ${R}`,delete T.null,delete T.array,delete T.object}else E=n.nil;T.number&&delete T.integer;for(let R in T)E=(0,n.and)(E,g(R,b,w,S));return E}t.checkDataTypes=_;var f={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,n._)`{type: ${v}}`:(0,n._)`{type: ${b}}`};function h(v){let b=y(v);(0,a.reportError)(b,f)}t.reportTypeError=h;function y(v){let{gen:b,data:w,schema:S}=v,E=(0,s.schemaRefOrVal)(v,S,"type");return{gen:b,keyword:"type",data:w,schema:S.type,schemaCode:E,schemaValue:E,parentSchema:S,params:{},it:v}}}),Zq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=ze(),r=et();function a(s,i){let{properties:o,items:c}=s.schema;if(i==="object"&&o)for(let u in o)n(s,u,o[u].default);else i==="array"&&Array.isArray(c)&&c.forEach((u,l)=>n(s,l,u.default))}t.assignDefaults=a;function n(s,i,o){let{gen:c,compositeRule:u,data:l,opts:d}=s;if(o===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(i)}`;if(u){(0,r.checkStrictMode)(s,`default is ignored for: ${p}`);return}let m=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(m=(0,e._)`${m} || ${p} === null || ${p} === ""`),c.if(m,(0,e._)`${p} = ${(0,e.stringify)(o)}`)}}),Zr=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=ze(),r=et(),a=Qn(),n=et();function s(v,b){let{gen:w,data:S,it:E}=v;w.if(d(w,S,b,E.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=s;function i({gen:v,data:b,it:{opts:w}},S,E){return(0,e.or)(...S.map(T=>(0,e.and)(d(v,b,T,w.ownProperties),(0,e._)`${E} = ${T}`)))}t.checkMissingProp=i;function o(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=o;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,w){return(0,e._)`${c(v)}.call(${b}, ${w})`}t.isOwnProperty=u;function l(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} !== undefined`;return S?(0,e._)`${E} && ${u(v,b,w)}`:E}t.propertyInData=l;function d(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} === undefined`;return S?(0,e.or)(E,(0,e.not)(u(v,b,w))):E}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function m(v,b){return p(b).filter(w=>!(0,r.alwaysValidSchema)(v,b[w]))}t.schemaProperties=m;function g({schemaCode:v,data:b,it:{gen:w,topSchemaRef:S,schemaPath:E,errorPath:T},it:R},M,j,q){let H=q?(0,e._)`${v}, ${b}, ${S}${E}`:b,N=[[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,T)],[a.default.parentData,R.parentData],[a.default.parentDataProperty,R.parentDataProperty],[a.default.rootData,a.default.rootData]];R.opts.dynamicRef&&N.push([a.default.dynamicAnchors,a.default.dynamicAnchors]);let W=(0,e._)`${H}, ${w.object(...N)}`;return j!==e.nil?(0,e._)`${M}.call(${j}, ${W})`:(0,e._)`${M}(${W})`}t.callValidateCode=g;var _=(0,e._)`new RegExp`;function f({gen:v,it:{opts:b}},w){let S=b.unicodeRegExp?"u":"",{regExp:E}=b.code,T=E(w,S);return v.scopeValue("pattern",{key:T.toString(),ref:T,code:(0,e._)`${E.code==="new RegExp"?_:(0,n.useFunc)(v,E)}(${w}, ${S})`})}t.usePattern=f;function h(v){let{gen:b,data:w,keyword:S,it:E}=v,T=b.name("valid");if(E.allErrors){let M=b.let("valid",!0);return R(()=>b.assign(M,!1)),M}return b.var(T,!0),R(()=>b.break()),T;function R(M){let j=b.const("len",(0,e._)`${w}.length`);b.forRange("i",0,j,q=>{v.subschema({keyword:S,dataProp:q,dataPropType:r.Type.Num},T),b.if((0,e.not)(T),M)})}}t.validateArray=h;function y(v){let{gen:b,schema:w,keyword:S,it:E}=v;if(!Array.isArray(w))throw new Error("ajv implementation error");if(w.some(j=>(0,r.alwaysValidSchema)(E,j))&&!E.opts.unevaluated)return;let R=b.let("valid",!1),M=b.name("_valid");b.block(()=>w.forEach((j,q)=>{let H=v.subschema({keyword:S,schemaProp:q,compositeRule:!0},M);b.assign(R,(0,e._)`${R} || ${M}`),v.mergeValidEvaluated(H,M)||b.if((0,e.not)(R))})),v.result(R,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),Wq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=ze(),r=Qn(),a=Zr(),n=Rl();function s(m,g){let{gen:_,keyword:f,schema:h,parentSchema:y,it:v}=m,b=g.macro.call(v.self,h,y,v),w=l(_,f,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let S=_.name("valid");m.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${f}`,topSchemaRef:w,compositeRule:!0},S),m.pass(S,()=>m.error(!0))}t.macroKeywordCode=s;function i(m,g){var _;let{gen:f,keyword:h,schema:y,parentSchema:v,$data:b,it:w}=m;u(w,g);let S=!b&&g.compile?g.compile.call(w.self,y,v,w):g.validate,E=l(f,h,S),T=f.let("valid");m.block$data(T,R),m.ok((_=g.valid)!==null&&_!==void 0?_:T);function R(){if(g.errors===!1)q(),g.modifying&&o(m),H(()=>m.error());else{let N=g.async?M():j();g.modifying&&o(m),H(()=>c(m,N))}}function M(){let N=f.let("ruleErrs",null);return f.try(()=>q((0,e._)`await `),W=>f.assign(T,!1).if((0,e._)`${W} instanceof ${w.ValidationError}`,()=>f.assign(N,(0,e._)`${W}.errors`),()=>f.throw(W))),N}function j(){let N=(0,e._)`${E}.errors`;return f.assign(N,null),q(e.nil),N}function q(N=g.async?(0,e._)`await `:e.nil){let W=w.opts.passContext?r.default.this:r.default.self,oe=!("compile"in g&&!b||g.schema===!1);f.assign(T,(0,e._)`${N}${(0,a.callValidateCode)(m,E,W,oe)}`,g.modifying)}function H(N){var W;f.if((0,e.not)((W=g.valid)!==null&&W!==void 0?W:T),N)}}t.funcKeywordCode=i;function o(m){let{gen:g,data:_,it:f}=m;g.if(f.parentData,()=>g.assign(_,(0,e._)`${f.parentData}[${f.parentDataProperty}]`))}function c(m,g){let{gen:_}=m;_.if((0,e._)`Array.isArray(${g})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${g} : ${r.default.vErrors}.concat(${g})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,n.extendErrors)(m)},()=>m.error())}function u({schemaEnv:m},g){if(g.async&&!m.$async)throw new Error("async keyword in sync schema")}function l(m,g,_){if(_===void 0)throw new Error(`keyword "${g}" failed to compile`);return m.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(m,g,_=!1){return!g.length||g.some(f=>f==="array"?Array.isArray(m):f==="object"?m&&typeof m=="object"&&!Array.isArray(m):typeof m==f||_&&typeof m>"u")}t.validSchemaType=d;function p({schema:m,opts:g,self:_,errSchemaPath:f},h,y){if(Array.isArray(h.keyword)?!h.keyword.includes(y):h.keyword!==y)throw new Error("ajv implementation error");let v=h.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(m,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(h.validateSchema&&!h.validateSchema(m[y])){let w=`keyword "${y}" value is invalid at path "${f}": `+_.errorsText(h.validateSchema.errors);if(g.validateSchema==="log")_.logger.error(w);else throw new Error(w)}}t.validateKeywordUsage=p}),Kq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=ze(),r=et();function a(i,{keyword:o,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(o!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){let m=i.schema[o];return c===void 0?{schema:m,schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}`,errSchemaPath:`${i.errSchemaPath}/${o}`}:{schema:m[c],schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}${(0,e.getProperty)(c)}`,errSchemaPath:`${i.errSchemaPath}/${o}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=a;function n(i,o,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=o;if(c!==void 0){let{errorPath:_,dataPathArr:f,opts:h}=o,y=m.let("data",(0,e._)`${o.data}${(0,e.getProperty)(c)}`,!0);g(y),i.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,h.jsPropertySyntax)}`,i.parentDataProperty=(0,e._)`${c}`,i.dataPathArr=[...f,i.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:m.let("data",l,!0);g(_),p!==void 0&&(i.propertyName=p)}d&&(i.dataTypes=d);function g(_){i.data=_,i.dataLevel=o.dataLevel+1,i.dataTypes=[],o.definedProperties=new Set,i.parentData=o.data,i.dataNames=[...o.dataNames,_]}}t.extendSubschemaData=n;function s(i,{jtdDiscriminator:o,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(i.compositeRule=u),l!==void 0&&(i.createErrors=l),d!==void 0&&(i.allErrors=d),i.jtdDiscriminator=o,i.jtdMetadata=c}t.extendSubschemaMode=s}),Xq=Q((t,e)=>{var r=e.exports=function(s,i,o){typeof i=="function"&&(o=i,i={}),o=i.cb||o;var c=typeof o=="function"?o:o.pre||function(){},u=o.post||function(){};a(i,c,u,s,"",s)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.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 a(s,i,o,c,u,l,d,p,m,g){if(c&&typeof c=="object"&&!Array.isArray(c)){i(c,u,l,d,p,m,g);for(var _ in c){var f=c[_];if(Array.isArray(f)){if(_ in r.arrayKeywords)for(var h=0;h{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=et(),r=wl(),a=Xq(),n=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function s(f,h=!0){return typeof f=="boolean"?!0:h===!0?!o(f):h?c(f)<=h:!1}t.inlineRef=s;var i=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function o(f){for(let h in f){if(i.has(h))return!0;let y=f[h];if(Array.isArray(y)&&y.some(o)||typeof y=="object"&&o(y))return!0}return!1}function c(f){let h=0;for(let y in f){if(y==="$ref")return 1/0;if(h++,!n.has(y)&&(typeof f[y]=="object"&&(0,e.eachItem)(f[y],v=>h+=c(v)),h===1/0))return 1/0}return h}function u(f,h="",y){y!==!1&&(h=p(h));let v=f.parse(h);return l(f,v)}t.getFullPath=u;function l(f,h){return f.serialize(h).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(f){return f?f.replace(d,""):""}t.normalizeId=p;function m(f,h,y){return y=p(y),f.resolve(h,y)}t.resolveUrl=m;var g=/^[a-z_][-a-z0-9._]*$/i;function _(f,h){if(typeof f=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(f[y]||h),w={"":b},S=u(v,b,!1),E={},T=new Set;return a(f,{allKeys:!0},(j,q,H,N)=>{if(N===void 0)return;let W=S+q,oe=w[N];typeof j[y]=="string"&&(oe=he.call(this,j[y])),ae.call(this,j.$anchor),ae.call(this,j.$dynamicAnchor),w[q]=oe;function he(re){let U=this.opts.uriResolver.resolve;if(re=p(oe?U(oe,re):re),T.has(re))throw M(re);T.add(re);let $=this.refs[re];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?R(j,$.schema,re):re!==p(W)&&(re[0]==="#"?(R(j,E[re],re),E[re]=j):this.refs[re]=W),re}function ae(re){if(typeof re=="string"){if(!g.test(re))throw new Error(`invalid anchor "${re}"`);he.call(this,`#${re}`)}}}),E;function R(j,q,H){if(q!==void 0&&!r(j,q))throw M(H)}function M(j){return new Error(`reference "${j}" resolves to more than one schema`)}}t.getSchemaRefs=_}),$l=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=Gq(),r=hl(),a=OT(),n=hl(),s=Zq(),i=Wq(),o=Kq(),c=ze(),u=Qn(),l=Pl(),d=et(),p=Rl();function m(C){if(S(C)&&(T(C),w(C))){h(C);return}g(C,()=>(0,e.topBoolOrEmptySchema)(C))}t.validateFunctionCode=m;function g({gen:C,validateName:I,schema:F,schemaEnv:Z,opts:ee},ce){ee.code.es5?C.func(I,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{C.code((0,c._)`"use strict"; ${v(F,ee)}`),f(C,ee),C.code(ce)}):C.func(I,(0,c._)`${u.default.data}, ${_(ee)}`,Z.$async,()=>C.code(v(F,ee)).code(ce))}function _(C){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${C.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function f(C,I){C.if(u.default.valCxt,()=>{C.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),C.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),C.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),C.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{C.var(u.default.instancePath,(0,c._)`""`),C.var(u.default.parentData,(0,c._)`undefined`),C.var(u.default.parentDataProperty,(0,c._)`undefined`),C.var(u.default.rootData,u.default.data),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function h(C){let{schema:I,opts:F,gen:Z}=C;g(C,()=>{F.$comment&&I.$comment&&N(C),j(C),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),F.unevaluated&&y(C),R(C),W(C)})}function y(C){let{gen:I,validateName:F}=C;C.evaluated=I.const("evaluated",(0,c._)`${F}.evaluated`),I.if((0,c._)`${C.evaluated}.dynamicProps`,()=>I.assign((0,c._)`${C.evaluated}.props`,(0,c._)`undefined`)),I.if((0,c._)`${C.evaluated}.dynamicItems`,()=>I.assign((0,c._)`${C.evaluated}.items`,(0,c._)`undefined`))}function v(C,I){let F=typeof C=="object"&&C[I.schemaId];return F&&(I.code.source||I.code.process)?(0,c._)`/*# sourceURL=${F} */`:c.nil}function b(C,I){if(S(C)&&(T(C),w(C))){E(C,I);return}(0,e.boolOrEmptySchema)(C,I)}function w({schema:C,self:I}){if(typeof C=="boolean")return!C;for(let F in C)if(I.RULES.all[F])return!0;return!1}function S(C){return typeof C.schema!="boolean"}function E(C,I){let{schema:F,gen:Z,opts:ee}=C;ee.$comment&&F.$comment&&N(C),q(C),H(C);let ce=Z.const("_errs",u.default.errors);R(C,ce),Z.var(I,(0,c._)`${ce} === ${u.default.errors}`)}function T(C){(0,d.checkUnknownRules)(C),M(C)}function R(C,I){if(C.opts.jtd)return he(C,[],!1,I);let F=(0,r.getSchemaTypes)(C.schema),Z=(0,r.coerceAndCheckDataType)(C,F);he(C,F,!Z,I)}function M(C){let{schema:I,errSchemaPath:F,opts:Z,self:ee}=C;I.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(I,ee.RULES)&&ee.logger.warn(`$ref: keywords ignored in schema at path "${F}"`)}function j(C){let{schema:I,opts:F}=C;I.default!==void 0&&F.useDefaults&&F.strictSchema&&(0,d.checkStrictMode)(C,"default is ignored in the schema root")}function q(C){let I=C.schema[C.opts.schemaId];I&&(C.baseId=(0,l.resolveUrl)(C.opts.uriResolver,C.baseId,I))}function H(C){if(C.schema.$async&&!C.schemaEnv.$async)throw new Error("async schema in sync schema")}function N({gen:C,schemaEnv:I,schema:F,errSchemaPath:Z,opts:ee}){let ce=F.$comment;if(ee.$comment===!0)C.code((0,c._)`${u.default.self}.logger.log(${ce})`);else if(typeof ee.$comment=="function"){let ke=(0,c.str)`${Z}/$comment`,Ne=C.scopeValue("root",{ref:I.root});C.code((0,c._)`${u.default.self}.opts.$comment(${ce}, ${ke}, ${Ne}.schema)`)}}function W(C){let{gen:I,schemaEnv:F,validateName:Z,ValidationError:ee,opts:ce}=C;F.$async?I.if((0,c._)`${u.default.errors} === 0`,()=>I.return(u.default.data),()=>I.throw((0,c._)`new ${ee}(${u.default.vErrors})`)):(I.assign((0,c._)`${Z}.errors`,u.default.vErrors),ce.unevaluated&&oe(C),I.return((0,c._)`${u.default.errors} === 0`))}function oe({gen:C,evaluated:I,props:F,items:Z}){F instanceof c.Name&&C.assign((0,c._)`${I}.props`,F),Z instanceof c.Name&&C.assign((0,c._)`${I}.items`,Z)}function he(C,I,F,Z){let{gen:ee,schema:ce,data:ke,allErrors:Ne,opts:Me,self:je}=C,{RULES:Re}=je;if(ce.$ref&&(Me.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ce,Re))){ee.block(()=>J(C,"$ref",Re.all.$ref.definition));return}Me.jtd||re(C,I),ee.block(()=>{for(let Ue of Re.rules)vt(Ue);vt(Re.post)});function vt(Ue){(0,a.shouldUseGroup)(ce,Ue)&&(Ue.type?(ee.if((0,n.checkDataType)(Ue.type,ke,Me.strictNumbers)),ae(C,Ue),I.length===1&&I[0]===Ue.type&&F&&(ee.else(),(0,n.reportTypeError)(C)),ee.endIf()):ae(C,Ue),Ne||ee.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function ae(C,I){let{gen:F,schema:Z,opts:{useDefaults:ee}}=C;ee&&(0,s.assignDefaults)(C,I.type),F.block(()=>{for(let ce of I.rules)(0,a.shouldUseRule)(Z,ce)&&J(C,ce.keyword,ce.definition,I.type)})}function re(C,I){C.schemaEnv.meta||!C.opts.strictTypes||(U(C,I),C.opts.allowUnionTypes||$(C,I),z(C,C.dataTypes))}function U(C,I){if(I.length){if(!C.dataTypes.length){C.dataTypes=I;return}I.forEach(F=>{x(C.dataTypes,F)||D(C,`type "${F}" not allowed by context "${C.dataTypes.join(",")}"`)}),k(C,I)}}function $(C,I){I.length>1&&!(I.length===2&&I.includes("null"))&&D(C,"use allowUnionTypes to allow union type keyword")}function z(C,I){let F=C.self.RULES.all;for(let Z in F){let ee=F[Z];if(typeof ee=="object"&&(0,a.shouldUseRule)(C.schema,ee)){let{type:ce}=ee.definition;ce.length&&!ce.some(ke=>A(I,ke))&&D(C,`missing type "${ce.join(",")}" for keyword "${Z}"`)}}}function A(C,I){return C.includes(I)||I==="number"&&C.includes("integer")}function x(C,I){return C.includes(I)||I==="integer"&&C.includes("number")}function k(C,I){let F=[];for(let Z of C.dataTypes)x(I,Z)?F.push(Z):I.includes("integer")&&Z==="number"&&F.push("integer");C.dataTypes=F}function D(C,I){let F=C.schemaEnv.baseId+C.errSchemaPath;I+=` at "${F}" (strictTypes)`,(0,d.checkStrictMode)(C,I,C.opts.strictTypes)}class K{constructor(I,F,Z){if((0,i.validateKeywordUsage)(I,F,Z),this.gen=I.gen,this.allErrors=I.allErrors,this.keyword=Z,this.data=I.data,this.schema=I.schema[Z],this.$data=F.$data&&I.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(I,this.schema,Z,this.$data),this.schemaType=F.schemaType,this.parentSchema=I.schema,this.params={},this.it=I,this.def=F,this.$data)this.schemaCode=I.gen.const("vSchema",me(this.$data,I));else if(this.schemaCode=this.schemaValue,!(0,i.validSchemaType)(this.schema,F.schemaType,F.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(F.schemaType)}`);("code"in F?F.trackErrors:F.errors!==!1)&&(this.errsCount=I.gen.const("_errs",u.default.errors))}result(I,F,Z){this.failResult((0,c.not)(I),F,Z)}failResult(I,F,Z){this.gen.if(I),Z?Z():this.error(),F?(this.gen.else(),F(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(I,F){this.failResult((0,c.not)(I),void 0,F)}fail(I){if(I===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(I),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(I){if(!this.$data)return this.fail(I);let{schemaCode:F}=this;this.fail((0,c._)`${F} !== undefined && (${(0,c.or)(this.invalid$data(),I)})`)}error(I,F,Z){if(F){this.setParams(F),this._error(I,Z),this.setParams({});return}this._error(I,Z)}_error(I,F){(I?p.reportExtraError:p.reportError)(this,this.def.error,F)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(I){this.allErrors||this.gen.if(I)}setParams(I,F){F?Object.assign(this.params,I):this.params=I}block$data(I,F,Z=c.nil){this.gen.block(()=>{this.check$data(I,Z),F()})}check$data(I=c.nil,F=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:ee,schemaType:ce,def:ke}=this;Z.if((0,c.or)((0,c._)`${ee} === undefined`,F)),I!==c.nil&&Z.assign(I,!0),(ce.length||ke.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),I!==c.nil&&Z.assign(I,!1)),Z.else()}invalid$data(){let{gen:I,schemaCode:F,schemaType:Z,def:ee,it:ce}=this;return(0,c.or)(ke(),Ne());function ke(){if(Z.length){if(!(F instanceof c.Name))throw new Error("ajv implementation error");let Me=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,n.checkDataTypes)(Me,F,ce.opts.strictNumbers,n.DataType.Wrong)}`}return c.nil}function Ne(){if(ee.validateSchema){let Me=I.scopeValue("validate$data",{ref:ee.validateSchema});return(0,c._)`!${Me}(${F})`}return c.nil}}subschema(I,F){let Z=(0,o.getSubschema)(this.it,I);(0,o.extendSubschemaData)(Z,this.it,I),(0,o.extendSubschemaMode)(Z,I);let ee={...this.it,...Z,items:void 0,props:void 0};return b(ee,F),ee}mergeEvaluated(I,F){let{it:Z,gen:ee}=this;Z.opts.unevaluated&&(Z.props!==!0&&I.props!==void 0&&(Z.props=d.mergeEvaluated.props(ee,I.props,Z.props,F)),Z.items!==!0&&I.items!==void 0&&(Z.items=d.mergeEvaluated.items(ee,I.items,Z.items,F)))}mergeValidEvaluated(I,F){let{it:Z,gen:ee}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return ee.if(F,()=>this.mergeEvaluated(I,c.Name)),!0}}t.KeywordCxt=K;function J(C,I,F,Z){let ee=new K(C,F,I);"code"in F?F.code(ee,Z):ee.$data&&F.validate?(0,i.funcKeywordCode)(ee,F):"macro"in F?(0,i.macroKeywordCode)(ee,F):(F.compile||F.validate)&&(0,i.funcKeywordCode)(ee,F)}var de=/^\/(?:[^~]|~0|~1)*$/,se=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function me(C,{dataLevel:I,dataNames:F,dataPathArr:Z}){let ee,ce;if(C==="")return u.default.rootData;if(C[0]==="/"){if(!de.test(C))throw new Error(`Invalid JSON-pointer: ${C}`);ee=C,ce=u.default.rootData}else{let je=se.exec(C);if(!je)throw new Error(`Invalid JSON-pointer: ${C}`);let Re=+je[1];if(ee=je[2],ee==="#"){if(Re>=I)throw new Error(Me("property/index",Re));return Z[I-Re]}if(Re>I)throw new Error(Me("data",Re));if(ce=F[I-Re],!ee)return ce}let ke=ce,Ne=ee.split("/");for(let je of Ne)je&&(ce=(0,c._)`${ce}${(0,c.getProperty)((0,d.unescapeJsonPointer)(je))}`,ke=(0,c._)`${ke} && ${ce}`);return ke;function Me(je,Re){return`Cannot access ${je} ${Re} levels up, current level is ${I}`}}t.getData=me}),Vm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(a){super("validation failed"),this.errors=a,this.ajv=this.validation=!0}}t.default=e}),Ol=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Pl();class r extends Error{constructor(n,s,i,o){super(o||`can't resolve reference ${i} from id ${s}`),this.missingRef=(0,e.resolveUrl)(n,s,i),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(n,this.missingRef))}}t.default=r}),Gm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=ze(),r=Vm(),a=Qn(),n=Pl(),s=et(),i=$l();class o{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,n.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=o;function c(h){let y=d.call(this,h);if(y)return y;let v=(0,n.getFullPath)(this.opts.uriResolver,h.root.baseId),{es5:b,lines:w}=this.opts.code,{ownProperties:S}=this.opts,E=new e.CodeGen(this.scope,{es5:b,lines:w,ownProperties:S}),T;h.$async&&(T=E.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let R=E.scopeName("validate");h.validateName=R;let M={gen:E,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:E.scopeValue("schema",this.opts.code.source===!0?{ref:h.schema,code:(0,e.stringify)(h.schema)}:{ref:h.schema}),validateName:R,ValidationError:T,schema:h.schema,schemaEnv:h,rootId:v,baseId:h.baseId||v,schemaPath:e.nil,errSchemaPath:h.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},j;try{this._compilations.add(h),(0,i.validateFunctionCode)(M),E.optimize(this.opts.code.optimize);let q=E.toString();j=`${E.scopeRefs(a.default.scope)}return ${q}`,this.opts.code.process&&(j=this.opts.code.process(j,h));let N=new Function(`${a.default.self}`,`${a.default.scope}`,j)(this,this.scope.get());if(this.scope.value(R,{ref:N}),N.errors=null,N.schema=h.schema,N.schemaEnv=h,h.$async&&(N.$async=!0),this.opts.code.source===!0&&(N.source={validateName:R,validateCode:q,scopeValues:E._values}),this.opts.unevaluated){let{props:W,items:oe}=M;N.evaluated={props:W instanceof e.Name?void 0:W,items:oe instanceof e.Name?void 0:oe,dynamicProps:W instanceof e.Name,dynamicItems:oe instanceof e.Name},N.source&&(N.source.evaluated=(0,e.stringify)(N.evaluated))}return h.validate=N,h}catch(q){throw delete h.validate,delete h.validateName,j&&this.logger.error("Error compiling schema, function code:",j),q}finally{this._compilations.delete(h)}}t.compileSchema=c;function u(h,y,v){var b;v=(0,n.resolveUrl)(this.opts.uriResolver,y,v);let w=h.refs[v];if(w)return w;let S=m.call(this,h,v);if(S===void 0){let E=(b=h.localRefs)===null||b===void 0?void 0:b[v],{schemaId:T}=this.opts;E&&(S=new o({schema:E,schemaId:T,root:h,baseId:y}))}if(S!==void 0)return h.refs[v]=l.call(this,S)}t.resolveRef=u;function l(h){return(0,n.inlineRef)(h.schema,this.opts.inlineRefs)?h.schema:h.validate?h:c.call(this,h)}function d(h){for(let y of this._compilations)if(p(y,h))return y}t.getCompilingSchema=d;function p(h,y){return h.schema===y.schema&&h.root===y.root&&h.baseId===y.baseId}function m(h,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||g.call(this,h,y)}function g(h,y){let v=this.opts.uriResolver.parse(y),b=(0,n._getFullPath)(this.opts.uriResolver,v),w=(0,n.getFullPath)(this.opts.uriResolver,h.baseId,void 0);if(Object.keys(h.schema).length>0&&b===w)return f.call(this,v,h);let S=(0,n.normalizeId)(b),E=this.refs[S]||this.schemas[S];if(typeof E=="string"){let T=g.call(this,h,E);return typeof T?.schema!="object"?void 0:f.call(this,v,T)}if(typeof E?.schema=="object"){if(E.validate||c.call(this,E),S===(0,n.normalizeId)(y)){let{schema:T}=E,{schemaId:R}=this.opts,M=T[R];return M&&(w=(0,n.resolveUrl)(this.opts.uriResolver,w,M)),new o({schema:T,schemaId:R,root:h,baseId:w})}return f.call(this,v,E)}}t.resolveSchema=g;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function f(h,{baseId:y,schema:v,root:b}){var w;if(((w=h.fragment)===null||w===void 0?void 0:w[0])!=="/")return;for(let T of h.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let R=v[(0,s.unescapeFragment)(T)];if(R===void 0)return;v=R;let M=typeof v=="object"&&v[this.opts.schemaId];!_.has(T)&&M&&(y=(0,n.resolveUrl)(this.opts.uriResolver,y,M))}let S;if(typeof v!="boolean"&&v.$ref&&!(0,s.schemaHasRulesButRef)(v,this.RULES)){let T=(0,n.resolveUrl)(this.opts.uriResolver,y,v.$ref);S=g.call(this,b,T)}let{schemaId:E}=this.opts;if(S=S||new o({schema:v,schemaId:E,root:b,baseId:y}),S.schema!==S.root.schema)return S}}),Jq=Q((t,e)=>{e.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}}),Yq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=TT();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),Qq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=$l();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=ze();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var a=Vm(),n=Ol(),s=$T(),i=Gm(),o=ze(),c=Pl(),u=hl(),l=et(),d=Jq(),p=Yq(),m=(U,$)=>new RegExp(U,$);m.code="new RegExp";var g=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),f={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."},h={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(U){var $,z,A,x,k,D,K,J,de,se,me,C,I,F,Z,ee,ce,ke,Ne,Me,je,Re,vt,Ue,vr;let Zt=U.strict,Nt=($=U.code)===null||$===void 0?void 0:$.optimize,Lr=Nt===!0||Nt===void 0?1:Nt||0,On=(A=(z=U.code)===null||z===void 0?void 0:z.regExp)!==null&&A!==void 0?A:m,es=(x=U.uriResolver)!==null&&x!==void 0?x:p.default;return{strictSchema:(D=(k=U.strictSchema)!==null&&k!==void 0?k:Zt)!==null&&D!==void 0?D:!0,strictNumbers:(J=(K=U.strictNumbers)!==null&&K!==void 0?K:Zt)!==null&&J!==void 0?J:!0,strictTypes:(se=(de=U.strictTypes)!==null&&de!==void 0?de:Zt)!==null&&se!==void 0?se:"log",strictTuples:(C=(me=U.strictTuples)!==null&&me!==void 0?me:Zt)!==null&&C!==void 0?C:"log",strictRequired:(F=(I=U.strictRequired)!==null&&I!==void 0?I:Zt)!==null&&F!==void 0?F:!1,code:U.code?{...U.code,optimize:Lr,regExp:On}:{optimize:Lr,regExp:On},loopRequired:(Z=U.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(ee=U.loopEnum)!==null&&ee!==void 0?ee:y,meta:(ce=U.meta)!==null&&ce!==void 0?ce:!0,messages:(ke=U.messages)!==null&&ke!==void 0?ke:!0,inlineRefs:(Ne=U.inlineRefs)!==null&&Ne!==void 0?Ne:!0,schemaId:(Me=U.schemaId)!==null&&Me!==void 0?Me:"$id",addUsedSchema:(je=U.addUsedSchema)!==null&&je!==void 0?je:!0,validateSchema:(Re=U.validateSchema)!==null&&Re!==void 0?Re:!0,validateFormats:(vt=U.validateFormats)!==null&&vt!==void 0?vt:!0,unicodeRegExp:(Ue=U.unicodeRegExp)!==null&&Ue!==void 0?Ue:!0,int32range:(vr=U.int32range)!==null&&vr!==void 0?vr:!0,uriResolver:es}}class b{constructor($={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...v($)};let{es5:z,lines:A}=this.opts.code;this.scope=new o.ValueScope({scope:{},prefixes:_,es5:z,lines:A}),this.logger=q($.logger);let x=$.validateFormats;$.validateFormats=!1,this.RULES=(0,s.getRules)(),w.call(this,f,$,"NOT SUPPORTED"),w.call(this,h,$,"DEPRECATED","warn"),this._metaOpts=M.call(this),$.formats&&T.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords&&R.call(this,$.keywords),typeof $.meta=="object"&&this.addMetaSchema($.meta),E.call(this),$.validateFormats=x}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:$,meta:z,schemaId:A}=this.opts,x=d;A==="id"&&(x={...d},x.id=x.$id,delete x.$id),z&&$&&this.addMetaSchema(x,x[A],!1)}defaultMeta(){let{meta:$,schemaId:z}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[z]||$:void 0}validate($,z){let A;if(typeof $=="string"){if(A=this.getSchema($),!A)throw new Error(`no schema with key or ref "${$}"`)}else A=this.compile($);let x=A(z);return"$async"in A||(this.errors=A.errors),x}compile($,z){let A=this._addSchema($,z);return A.validate||this._compileSchemaEnv(A)}compileAsync($,z){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:A}=this.opts;return x.call(this,$,z);async function x(se,me){await k.call(this,se.$schema);let C=this._addSchema(se,me);return C.validate||D.call(this,C)}async function k(se){se&&!this.getSchema(se)&&await x.call(this,{$ref:se},!0)}async function D(se){try{return this._compileSchemaEnv(se)}catch(me){if(!(me instanceof n.default))throw me;return K.call(this,me),await J.call(this,me.missingSchema),D.call(this,se)}}function K({missingSchema:se,missingRef:me}){if(this.refs[se])throw new Error(`AnySchema ${se} is loaded but ${me} cannot be resolved`)}async function J(se){let me=await de.call(this,se);this.refs[se]||await k.call(this,me.$schema),this.refs[se]||this.addSchema(me,se,z)}async function de(se){let me=this._loading[se];if(me)return me;try{return await(this._loading[se]=A(se))}finally{delete this._loading[se]}}}addSchema($,z,A,x=this.opts.validateSchema){if(Array.isArray($)){for(let D of $)this.addSchema(D,void 0,A,x);return this}let k;if(typeof $=="object"){let{schemaId:D}=this.opts;if(k=$[D],k!==void 0&&typeof k!="string")throw new Error(`schema ${D} must be string`)}return z=(0,c.normalizeId)(z||k),this._checkUnique(z),this.schemas[z]=this._addSchema($,A,z,x,!0),this}addMetaSchema($,z,A=this.opts.validateSchema){return this.addSchema($,z,!0,A),this}validateSchema($,z){if(typeof $=="boolean")return!0;let A;if(A=$.$schema,A!==void 0&&typeof A!="string")throw new Error("$schema must be a string");if(A=A||this.opts.defaultMeta||this.defaultMeta(),!A)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let x=this.validate(A,$);if(!x&&z){let k="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(k);else throw new Error(k)}return x}getSchema($){let z;for(;typeof(z=S.call(this,$))=="string";)$=z;if(z===void 0){let{schemaId:A}=this.opts,x=new i.SchemaEnv({schema:{},schemaId:A});if(z=i.resolveSchema.call(this,x,$),!z)return;this.refs[$]=z}return z.validate||this._compileSchemaEnv(z)}removeSchema($){if($ instanceof RegExp)return this._removeAllSchemas(this.schemas,$),this._removeAllSchemas(this.refs,$),this;switch(typeof $){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let z=S.call(this,$);return typeof z=="object"&&this._cache.delete(z.schema),delete this.schemas[$],delete this.refs[$],this}case"object":{let z=$;this._cache.delete(z);let A=$[this.opts.schemaId];return A&&(A=(0,c.normalizeId)(A),delete this.schemas[A],delete this.refs[A]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(let z of $)this.addKeyword(z);return this}addKeyword($,z){let A;if(typeof $=="string")A=$,typeof z=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),z.keyword=A);else if(typeof $=="object"&&z===void 0){if(z=$,A=z.keyword,Array.isArray(A)&&!A.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N.call(this,A,z),!z)return(0,l.eachItem)(A,k=>W.call(this,k)),this;he.call(this,z);let x={...z,type:(0,u.getJSONTypes)(z.type),schemaType:(0,u.getJSONTypes)(z.schemaType)};return(0,l.eachItem)(A,x.type.length===0?k=>W.call(this,k,x):k=>x.type.forEach(D=>W.call(this,k,x,D))),this}getKeyword($){let z=this.RULES.all[$];return typeof z=="object"?z.definition:!!z}removeKeyword($){let{RULES:z}=this;delete z.keywords[$],delete z.all[$];for(let A of z.rules){let x=A.rules.findIndex(k=>k.keyword===$);x>=0&&A.rules.splice(x,1)}return this}addFormat($,z){return typeof z=="string"&&(z=new RegExp(z)),this.formats[$]=z,this}errorsText($=this.errors,{separator:z=", ",dataVar:A="data"}={}){return!$||$.length===0?"No errors":$.map(x=>`${A}${x.instancePath} ${x.message}`).reduce((x,k)=>x+z+k)}$dataMetaSchema($,z){let A=this.RULES.all;$=JSON.parse(JSON.stringify($));for(let x of z){let k=x.split("/").slice(1),D=$;for(let K of k)D=D[K];for(let K in A){let J=A[K];if(typeof J!="object")continue;let{$data:de}=J.definition,se=D[K];de&&se&&(D[K]=re(se))}}return $}_removeAllSchemas($,z){for(let A in $){let x=$[A];(!z||z.test(A))&&(typeof x=="string"?delete $[A]:x&&!x.meta&&(this._cache.delete(x.schema),delete $[A]))}}_addSchema($,z,A,x=this.opts.validateSchema,k=this.opts.addUsedSchema){let D,{schemaId:K}=this.opts;if(typeof $=="object")D=$[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof $!="boolean")throw new Error("schema must be object or boolean")}let J=this._cache.get($);if(J!==void 0)return J;A=(0,c.normalizeId)(D||A);let de=c.getSchemaRefs.call(this,$,A);return J=new i.SchemaEnv({schema:$,schemaId:K,meta:z,baseId:A,localRefs:de}),this._cache.set(J.schema,J),k&&!A.startsWith("#")&&(A&&this._checkUnique(A),this.refs[A]=J),x&&this.validateSchema($,!0),J}_checkUnique($){if(this.schemas[$]||this.refs[$])throw new Error(`schema with key or id "${$}" already exists`)}_compileSchemaEnv($){if($.meta?this._compileMetaSchema($):i.compileSchema.call(this,$),!$.validate)throw new Error("ajv implementation error");return $.validate}_compileMetaSchema($){let z=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,$)}finally{this.opts=z}}}b.ValidationError=a.default,b.MissingRefError=n.default,t.default=b;function w(U,$,z,A="error"){for(let x in U){let k=x;k in $&&this.logger[A](`${z}: option ${x}. ${U[k]}`)}}function S(U){return U=(0,c.normalizeId)(U),this.schemas[U]||this.refs[U]}function E(){let U=this.opts.schemas;if(U)if(Array.isArray(U))this.addSchema(U);else for(let $ in U)this.addSchema(U[$],$)}function T(){for(let U in this.opts.formats){let $=this.opts.formats[U];$&&this.addFormat(U,$)}}function R(U){if(Array.isArray(U)){this.addVocabulary(U);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let $ in U){let z=U[$];z.keyword||(z.keyword=$),this.addKeyword(z)}}function M(){let U={...this.opts};for(let $ of g)delete U[$];return U}var j={log(){},warn(){},error(){}};function q(U){if(U===!1)return j;if(U===void 0)return console;if(U.log&&U.warn&&U.error)return U;throw new Error("logger must implement log, warn and error methods")}var H=/^[a-z_$][a-z0-9_$:-]*$/i;function N(U,$){let{RULES:z}=this;if((0,l.eachItem)(U,A=>{if(z.keywords[A])throw new Error(`Keyword ${A} is already defined`);if(!H.test(A))throw new Error(`Keyword ${A} has invalid name`)}),!!$&&$.$data&&!("code"in $||"validate"in $))throw new Error('$data keyword must have "code" or "validate" function')}function W(U,$,z){var A;let x=$?.post;if(z&&x)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:k}=this,D=x?k.post:k.rules.find(({type:J})=>J===z);if(D||(D={type:z,rules:[]},k.rules.push(D)),k.keywords[U]=!0,!$)return;let K={keyword:U,definition:{...$,type:(0,u.getJSONTypes)($.type),schemaType:(0,u.getJSONTypes)($.schemaType)}};$.before?oe.call(this,D,K,$.before):D.rules.push(K),k.all[U]=K,(A=$.implements)===null||A===void 0||A.forEach(J=>this.addKeyword(J))}function oe(U,$,z){let A=U.rules.findIndex(x=>x.keyword===z);A>=0?U.rules.splice(A,0,$):(U.rules.push($),this.logger.warn(`rule ${z} is not defined`))}function he(U){let{metaSchema:$}=U;$!==void 0&&(U.$data&&this.opts.$data&&($=re($)),U.validateSchema=this.compile($,!0))}var ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function re(U){return{anyOf:[U,ae]}}}),e6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),t6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Ol(),r=Zr(),a=ze(),n=Qn(),s=Gm(),i=et(),o={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:m}=l,{baseId:g,schemaEnv:_,validateName:f,opts:h,self:y}=m,{root:v}=_;if((p==="#"||p==="#/")&&g===v.baseId)return w();let b=s.resolveRef.call(y,v,g,p);if(b===void 0)throw new e.default(m.opts.uriResolver,g,p);if(b instanceof s.SchemaEnv)return S(b);return E(b);function w(){if(_===v)return u(l,f,_,_.$async);let T=d.scopeValue("root",{ref:v});return u(l,(0,a._)`${T}.validate`,v,v.$async)}function S(T){let R=c(l,T);u(l,R,T,T.$async)}function E(T){let R=d.scopeValue("schema",h.code.source===!0?{ref:T,code:(0,a.stringify)(T)}:{ref:T}),M=d.name("valid"),j=l.subschema({schema:T,dataTypes:[],schemaPath:a.nil,topSchemaRef:R,errSchemaPath:p},M);l.mergeEvaluated(j),l.ok(M)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,a._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,m){let{gen:g,it:_}=l,{allErrors:f,schemaEnv:h,opts:y}=_,v=y.passContext?n.default.this:a.nil;m?b():w();function b(){if(!h.$async)throw new Error("async schema referenced by sync schema");let T=g.let("valid");g.try(()=>{g.code((0,a._)`await ${(0,r.callValidateCode)(l,d,v)}`),E(d),f||g.assign(T,!0)},R=>{g.if((0,a._)`!(${R} instanceof ${_.ValidationError})`,()=>g.throw(R)),S(R),f||g.assign(T,!1)}),l.ok(T)}function w(){l.result((0,r.callValidateCode)(l,d,v),()=>E(d),()=>S(d))}function S(T){let R=(0,a._)`${T}.errors`;g.assign(n.default.vErrors,(0,a._)`${n.default.vErrors} === null ? ${R} : ${n.default.vErrors}.concat(${R})`),g.assign(n.default.errors,(0,a._)`${n.default.vErrors}.length`)}function E(T){var R;if(!_.opts.unevaluated)return;let M=(R=p?.validate)===null||R===void 0?void 0:R.evaluated;if(_.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(_.props=i.mergeEvaluated.props(g,M.props,_.props));else{let j=g.var("props",(0,a._)`${T}.evaluated.props`);_.props=i.mergeEvaluated.props(g,j,_.props,a.Name)}if(_.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(_.items=i.mergeEvaluated.items(g,M.items,_.items));else{let j=g.var("items",(0,a._)`${T}.evaluated.items`);_.items=i.mergeEvaluated.items(g,j,_.items,a.Name)}}}t.callRef=u,t.default=o}),r6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=e6(),r=t6(),a=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=a}),n6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=e.operators,a={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},n={message:({keyword:i,schemaCode:o})=>(0,e.str)`must be ${a[i].okStr} ${o}`,params:({keyword:i,schemaCode:o})=>(0,e._)`{comparison: ${a[i].okStr}, limit: ${o}}`},s={keyword:Object.keys(a),type:"number",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u}=i;i.fail$data((0,e._)`${c} ${a[o].fail} ${u} || isNaN(${c})`)}};t.default=s}),a6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message:({schemaCode:n})=>(0,e.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,e._)`{multipleOf: ${n}}`},a={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(n){let{gen:s,data:i,schemaCode:o,it:c}=n,u=c.opts.multipleOfPrecision,l=s.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;n.fail$data((0,e._)`(${o} === 0 || (${l} = ${i}/${o}, ${d}))`)}};t.default=a}),s6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let a=r.length,n=0,s=0,i;for(;s=55296&&i<=56319&&s{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=s6(),n={message({keyword:i,schemaCode:o}){let c=i==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${o} characters`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u,it:l}=i,d=o==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(i.gen,a.default)}(${c})`;i.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=s}),o6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a={message:({schemaCode:s})=>(0,r.str)`must match pattern "${s}"`,params:({schemaCode:s})=>(0,r._)`{pattern: ${s}}`},n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:a,code(s){let{data:i,$data:o,schema:c,schemaCode:u,it:l}=s,d=l.opts.unicodeRegExp?"u":"",p=o?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(s,c);s.fail$data((0,r._)`!${p}.test(${i})`)}};t.default=n}),c6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message({keyword:n,schemaCode:s}){let i=n==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} properties`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxProperties"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`Object.keys(${i}).length ${c} ${o}`)}};t.default=a}),u6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a=et(),n={message:({params:{missingProperty:i}})=>(0,r.str)`must have required property '${i}'`,params:({params:{missingProperty:i}})=>(0,r._)`{missingProperty: ${i}}`},s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,schema:c,schemaCode:u,data:l,$data:d,it:p}=i,{opts:m}=p;if(!d&&c.length===0)return;let g=c.length>=m.loopRequired;if(p.allErrors?_():f(),m.strictRequired){let v=i.parentSchema.properties,{definedProperties:b}=i.it;for(let w of c)if(v?.[w]===void 0&&!b.has(w)){let S=p.schemaEnv.baseId+p.errSchemaPath,E=`required property "${w}" is not defined at "${S}" (strictRequired)`;(0,a.checkStrictMode)(p,E,p.opts.strictRequired)}}function _(){if(g||d)i.block$data(r.nil,h);else for(let v of c)(0,e.checkReportMissingProp)(i,v)}function f(){let v=o.let("missing");if(g||d){let b=o.let("valid",!0);i.block$data(b,()=>y(v,b)),i.ok(b)}else o.if((0,e.checkMissingProp)(i,c,v)),(0,e.reportMissingProp)(i,v),o.else()}function h(){o.forOf("prop",u,v=>{i.setParams({missingProperty:v}),o.if((0,e.noPropertyInData)(o,l,v,m.ownProperties),()=>i.error())})}function y(v,b){i.setParams({missingProperty:v}),o.forOf(v,u,()=>{o.assign(b,(0,e.propertyInData)(o,l,v,m.ownProperties)),o.if((0,r.not)(b),()=>{i.error(),o.break()})},r.nil)}}};t.default=s}),l6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message({keyword:n,schemaCode:s}){let i=n==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} items`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxItems"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`${i}.length ${c} ${o}`)}};t.default=a}),Zm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=wl();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),d6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=hl(),r=ze(),a=et(),n=Zm(),s={message:({params:{i:o,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${o} are identical)`,params:({params:{i:o,j:c}})=>(0,r._)`{i: ${o}, j: ${c}}`},i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s,code(o){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:m,it:g}=o;if(!l&&!d)return;let _=c.let("valid"),f=p.items?(0,e.getSchemaTypes)(p.items):[];o.block$data(_,h,(0,r._)`${m} === false`),o.ok(_);function h(){let w=c.let("i",(0,r._)`${u}.length`),S=c.let("j");o.setParams({i:w,j:S}),c.assign(_,!0),c.if((0,r._)`${w} > 1`,()=>(y()?v:b)(w,S))}function y(){return f.length>0&&!f.some(w=>w==="object"||w==="array")}function v(w,S){let E=c.name("item"),T=(0,e.checkDataTypes)(f,E,g.opts.strictNumbers,e.DataType.Wrong),R=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${w}--;`,()=>{c.let(E,(0,r._)`${u}[${w}]`),c.if(T,(0,r._)`continue`),f.length>1&&c.if((0,r._)`typeof ${E} == "string"`,(0,r._)`${E} += "_"`),c.if((0,r._)`typeof ${R}[${E}] == "number"`,()=>{c.assign(S,(0,r._)`${R}[${E}]`),o.error(),c.assign(_,!1).break()}).code((0,r._)`${R}[${E}] = ${w}`)})}function b(w,S){let E=(0,a.useFunc)(c,n.default),T=c.name("outer");c.label(T).for((0,r._)`;${w}--;`,()=>c.for((0,r._)`${S} = ${w}; ${S}--;`,()=>c.if((0,r._)`${E}(${u}[${w}], ${u}[${S}])`,()=>{o.error(),c.assign(_,!1).break(T)})))}}};t.default=i}),p6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zm(),n={message:"must be equal to constant",params:({schemaCode:i})=>(0,e._)`{allowedValue: ${i}}`},s={keyword:"const",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schemaCode:l,schema:d}=i;u||d&&typeof d=="object"?i.fail$data((0,e._)`!${(0,r.useFunc)(o,a.default)}(${c}, ${l})`):i.fail((0,e._)`${d} !== ${c}`)}};t.default=s}),f6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zm(),n={message:"must be equal to one of the allowed values",params:({schemaCode:i})=>(0,e._)`{allowedValues: ${i}}`},s={keyword:"enum",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schema:l,schemaCode:d,it:p}=i;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let m=l.length>=p.opts.loopEnum,g,_=()=>g??(g=(0,r.useFunc)(o,a.default)),f;if(m||u)f=o.let("valid"),i.block$data(f,h);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=o.const("vSchema",d);f=(0,e.or)(...l.map((b,w)=>y(v,w)))}i.pass(f);function h(){o.assign(f,!1),o.forOf("v",d,v=>o.if((0,e._)`${_()}(${c}, ${v})`,()=>o.assign(f,!0).break()))}function y(v,b){let w=l[b];return typeof w=="object"&&w!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${w}`}}};t.default=s}),m6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=n6(),r=a6(),a=i6(),n=o6(),s=c6(),i=u6(),o=l6(),c=d6(),u=p6(),l=f6(),d=[e.default,r.default,a.default,n.default,s.default,i.default,o.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),CT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=ze(),r=et(),a={message:({params:{len:i}})=>(0,e.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,e._)`{limit: ${i}}`},n={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:a,code(i){let{parentSchema:o,it:c}=i,{items:u}=o;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}s(i,u)}};function s(i,o){let{gen:c,schema:u,data:l,keyword:d,it:p}=i;p.items=!0;let m=c.const("len",(0,e._)`${l}.length`);if(u===!1)i.setParams({len:o.length}),i.pass((0,e._)`${m} <= ${o.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${m} <= ${o.length}`);c.if((0,e.not)(_),()=>g(_)),i.ok(_)}function g(_){c.forRange("i",o.length,m,f=>{i.subschema({keyword:d,dataProp:f,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=s,t.default=n}),IT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=ze(),r=et(),a=Zr(),n={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(i){let{schema:o,it:c}=i;if(Array.isArray(o))return s(i,"additionalItems",o);c.items=!0,!(0,r.alwaysValidSchema)(c,o)&&i.ok((0,a.validateArray)(i))}};function s(i,o,c=i.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:m}=i;f(l),m.opts.unevaluated&&c.length&&m.items!==!0&&(m.items=r.mergeEvaluated.items(u,c.length,m.items));let g=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((h,y)=>{(0,r.alwaysValidSchema)(m,h)||(u.if((0,e._)`${_} > ${y}`,()=>i.subschema({keyword:p,schemaProp:y,dataProp:y},g)),i.ok(g))});function f(h){let{opts:y,errSchemaPath:v}=m,b=c.length,w=b===h.minItems&&(b===h.maxItems||h[o]===!1);if(y.strictTuples&&!w){let S=`"${p}" is ${b}-tuple, but minItems or maxItems/${o} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(m,S,y.strictTuples)}}}t.validateTuple=s,t.default=n}),h6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=IT(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:a=>(0,e.validateTuple)(a,"items")};t.default=r}),v6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zr(),n=CT(),s={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:s,code(o){let{schema:c,parentSchema:u,it:l}=o,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,n.validateAdditionalItems)(o,d):o.ok((0,a.validateArray)(o)))}};t.default=i}),g6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a={message:({params:{min:s,max:i}})=>i===void 0?(0,e.str)`must contain at least ${s} valid item(s)`:(0,e.str)`must contain at least ${s} and no more than ${i} valid item(s)`,params:({params:{min:s,max:i}})=>i===void 0?(0,e._)`{minContains: ${s}}`:(0,e._)`{minContains: ${s}, maxContains: ${i}}`},n={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,data:u,it:l}=s,d,p,{minContains:m,maxContains:g}=c;l.opts.next?(d=m===void 0?1:m,p=g):d=1;let _=i.const("len",(0,e._)`${u}.length`);if(s.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),s.fail();return}if((0,r.alwaysValidSchema)(l,o)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),s.pass(b);return}l.items=!0;let f=i.name("valid");p===void 0&&d===1?y(f,()=>i.if(f,()=>i.break())):d===0?(i.let(f,!0),p!==void 0&&i.if((0,e._)`${u}.length > 0`,h)):(i.let(f,!1),h()),s.result(f,()=>s.reset());function h(){let b=i.name("_valid"),w=i.let("count",0);y(b,()=>i.if(b,()=>v(w)))}function y(b,w){i.forRange("i",0,_,S=>{s.subschema({keyword:"contains",dataProp:S,dataPropType:r.Type.Num,compositeRule:!0},b),w()})}function v(b){i.code((0,e._)`${b}++`),p===void 0?i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0).break()):(i.if((0,e._)`${b} > ${p}`,()=>i.assign(f,!1).break()),d===1?i.assign(f,!0):i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0)))}}};t.default=n}),y6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=ze(),r=et(),a=Zr();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, + || ${R} === "boolean" || ${E} === null`).assign(M,(0,n._)`[${E}]`)}}}function m({gen:v,parentData:b,parentDataProperty:w},S){v.if((0,n._)`${b} !== undefined`,()=>v.assign((0,n._)`${b}[${w}]`,S))}function g(v,b,w,S=i.Correct){let E=S===i.Correct?n.operators.EQ:n.operators.NEQ,T;switch(v){case"null":return(0,n._)`${b} ${E} null`;case"array":T=(0,n._)`Array.isArray(${b})`;break;case"object":T=(0,n._)`${b} && typeof ${b} == "object" && !Array.isArray(${b})`;break;case"integer":T=R((0,n._)`!(${b} % 1) && !isNaN(${b})`);break;case"number":T=R();break;default:return(0,n._)`typeof ${b} ${E} ${v}`}return S===i.Correct?T:(0,n.not)(T);function R(M=n.nil){return(0,n.and)((0,n._)`typeof ${b} == "number"`,M,w?(0,n._)`isFinite(${b})`:n.nil)}}t.checkDataType=g;function _(v,b,w,S){if(v.length===1)return g(v[0],b,w,S);let E,T=(0,s.toHash)(v);if(T.array&&T.object){let R=(0,n._)`typeof ${b} != "object"`;E=T.null?R:(0,n._)`!${b} || ${R}`,delete T.null,delete T.array,delete T.object}else E=n.nil;T.number&&delete T.integer;for(let R in T)E=(0,n.and)(E,g(R,b,w,S));return E}t.checkDataTypes=_;var f={message:({schema:v})=>`must be ${v}`,params:({schema:v,schemaValue:b})=>typeof v=="string"?(0,n._)`{type: ${v}}`:(0,n._)`{type: ${b}}`};function h(v){let b=y(v);(0,a.reportError)(b,f)}t.reportTypeError=h;function y(v){let{gen:b,data:w,schema:S}=v,E=(0,s.schemaRefOrVal)(v,S,"type");return{gen:b,keyword:"type",data:w,schema:S.type,schemaCode:E,schemaValue:E,parentSchema:S,params:{},it:v}}}),Zq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;var e=ze(),r=et();function a(s,i){let{properties:o,items:c}=s.schema;if(i==="object"&&o)for(let u in o)n(s,u,o[u].default);else i==="array"&&Array.isArray(c)&&c.forEach((u,l)=>n(s,l,u.default))}t.assignDefaults=a;function n(s,i,o){let{gen:c,compositeRule:u,data:l,opts:d}=s;if(o===void 0)return;let p=(0,e._)`${l}${(0,e.getProperty)(i)}`;if(u){(0,r.checkStrictMode)(s,`default is ignored for: ${p}`);return}let m=(0,e._)`${p} === undefined`;d.useDefaults==="empty"&&(m=(0,e._)`${m} || ${p} === null || ${p} === ""`),c.if(m,(0,e._)`${p} = ${(0,e.stringify)(o)}`)}}),Zr=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;var e=ze(),r=et(),a=Qn(),n=et();function s(v,b){let{gen:w,data:S,it:E}=v;w.if(d(w,S,b,E.opts.ownProperties),()=>{v.setParams({missingProperty:(0,e._)`${b}`},!0),v.error()})}t.checkReportMissingProp=s;function i({gen:v,data:b,it:{opts:w}},S,E){return(0,e.or)(...S.map(T=>(0,e.and)(d(v,b,T,w.ownProperties),(0,e._)`${E} = ${T}`)))}t.checkMissingProp=i;function o(v,b){v.setParams({missingProperty:b},!0),v.error()}t.reportMissingProp=o;function c(v){return v.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,e._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=c;function u(v,b,w){return(0,e._)`${c(v)}.call(${b}, ${w})`}t.isOwnProperty=u;function l(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} !== undefined`;return S?(0,e._)`${E} && ${u(v,b,w)}`:E}t.propertyInData=l;function d(v,b,w,S){let E=(0,e._)`${b}${(0,e.getProperty)(w)} === undefined`;return S?(0,e.or)(E,(0,e.not)(u(v,b,w))):E}t.noPropertyInData=d;function p(v){return v?Object.keys(v).filter(b=>b!=="__proto__"):[]}t.allSchemaProperties=p;function m(v,b){return p(b).filter(w=>!(0,r.alwaysValidSchema)(v,b[w]))}t.schemaProperties=m;function g({schemaCode:v,data:b,it:{gen:w,topSchemaRef:S,schemaPath:E,errorPath:T},it:R},M,j,q){let H=q?(0,e._)`${v}, ${b}, ${S}${E}`:b,N=[[a.default.instancePath,(0,e.strConcat)(a.default.instancePath,T)],[a.default.parentData,R.parentData],[a.default.parentDataProperty,R.parentDataProperty],[a.default.rootData,a.default.rootData]];R.opts.dynamicRef&&N.push([a.default.dynamicAnchors,a.default.dynamicAnchors]);let W=(0,e._)`${H}, ${w.object(...N)}`;return j!==e.nil?(0,e._)`${M}.call(${j}, ${W})`:(0,e._)`${M}(${W})`}t.callValidateCode=g;var _=(0,e._)`new RegExp`;function f({gen:v,it:{opts:b}},w){let S=b.unicodeRegExp?"u":"",{regExp:E}=b.code,T=E(w,S);return v.scopeValue("pattern",{key:T.toString(),ref:T,code:(0,e._)`${E.code==="new RegExp"?_:(0,n.useFunc)(v,E)}(${w}, ${S})`})}t.usePattern=f;function h(v){let{gen:b,data:w,keyword:S,it:E}=v,T=b.name("valid");if(E.allErrors){let M=b.let("valid",!0);return R(()=>b.assign(M,!1)),M}return b.var(T,!0),R(()=>b.break()),T;function R(M){let j=b.const("len",(0,e._)`${w}.length`);b.forRange("i",0,j,q=>{v.subschema({keyword:S,dataProp:q,dataPropType:r.Type.Num},T),b.if((0,e.not)(T),M)})}}t.validateArray=h;function y(v){let{gen:b,schema:w,keyword:S,it:E}=v;if(!Array.isArray(w))throw new Error("ajv implementation error");if(w.some(j=>(0,r.alwaysValidSchema)(E,j))&&!E.opts.unevaluated)return;let R=b.let("valid",!1),M=b.name("_valid");b.block(()=>w.forEach((j,q)=>{let H=v.subschema({keyword:S,schemaProp:q,compositeRule:!0},M);b.assign(R,(0,e._)`${R} || ${M}`),v.mergeValidEvaluated(H,M)||b.if((0,e.not)(R))})),v.result(R,()=>v.reset(),()=>v.error(!0))}t.validateUnion=y}),Wq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;var e=ze(),r=Qn(),a=Zr(),n=Rl();function s(m,g){let{gen:_,keyword:f,schema:h,parentSchema:y,it:v}=m,b=g.macro.call(v.self,h,y,v),w=l(_,f,b);v.opts.validateSchema!==!1&&v.self.validateSchema(b,!0);let S=_.name("valid");m.subschema({schema:b,schemaPath:e.nil,errSchemaPath:`${v.errSchemaPath}/${f}`,topSchemaRef:w,compositeRule:!0},S),m.pass(S,()=>m.error(!0))}t.macroKeywordCode=s;function i(m,g){var _;let{gen:f,keyword:h,schema:y,parentSchema:v,$data:b,it:w}=m;u(w,g);let S=!b&&g.compile?g.compile.call(w.self,y,v,w):g.validate,E=l(f,h,S),T=f.let("valid");m.block$data(T,R),m.ok((_=g.valid)!==null&&_!==void 0?_:T);function R(){if(g.errors===!1)q(),g.modifying&&o(m),H(()=>m.error());else{let N=g.async?M():j();g.modifying&&o(m),H(()=>c(m,N))}}function M(){let N=f.let("ruleErrs",null);return f.try(()=>q((0,e._)`await `),W=>f.assign(T,!1).if((0,e._)`${W} instanceof ${w.ValidationError}`,()=>f.assign(N,(0,e._)`${W}.errors`),()=>f.throw(W))),N}function j(){let N=(0,e._)`${E}.errors`;return f.assign(N,null),q(e.nil),N}function q(N=g.async?(0,e._)`await `:e.nil){let W=w.opts.passContext?r.default.this:r.default.self,oe=!("compile"in g&&!b||g.schema===!1);f.assign(T,(0,e._)`${N}${(0,a.callValidateCode)(m,E,W,oe)}`,g.modifying)}function H(N){var W;f.if((0,e.not)((W=g.valid)!==null&&W!==void 0?W:T),N)}}t.funcKeywordCode=i;function o(m){let{gen:g,data:_,it:f}=m;g.if(f.parentData,()=>g.assign(_,(0,e._)`${f.parentData}[${f.parentDataProperty}]`))}function c(m,g){let{gen:_}=m;_.if((0,e._)`Array.isArray(${g})`,()=>{_.assign(r.default.vErrors,(0,e._)`${r.default.vErrors} === null ? ${g} : ${r.default.vErrors}.concat(${g})`).assign(r.default.errors,(0,e._)`${r.default.vErrors}.length`),(0,n.extendErrors)(m)},()=>m.error())}function u({schemaEnv:m},g){if(g.async&&!m.$async)throw new Error("async keyword in sync schema")}function l(m,g,_){if(_===void 0)throw new Error(`keyword "${g}" failed to compile`);return m.scopeValue("keyword",typeof _=="function"?{ref:_}:{ref:_,code:(0,e.stringify)(_)})}function d(m,g,_=!1){return!g.length||g.some(f=>f==="array"?Array.isArray(m):f==="object"?m&&typeof m=="object"&&!Array.isArray(m):typeof m==f||_&&typeof m>"u")}t.validSchemaType=d;function p({schema:m,opts:g,self:_,errSchemaPath:f},h,y){if(Array.isArray(h.keyword)?!h.keyword.includes(y):h.keyword!==y)throw new Error("ajv implementation error");let v=h.dependencies;if(v?.some(b=>!Object.prototype.hasOwnProperty.call(m,b)))throw new Error(`parent schema must have dependencies of ${y}: ${v.join(",")}`);if(h.validateSchema&&!h.validateSchema(m[y])){let w=`keyword "${y}" value is invalid at path "${f}": `+_.errorsText(h.validateSchema.errors);if(g.validateSchema==="log")_.logger.error(w);else throw new Error(w)}}t.validateKeywordUsage=p}),Kq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;var e=ze(),r=et();function a(i,{keyword:o,schemaProp:c,schema:u,schemaPath:l,errSchemaPath:d,topSchemaRef:p}){if(o!==void 0&&u!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(o!==void 0){let m=i.schema[o];return c===void 0?{schema:m,schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}`,errSchemaPath:`${i.errSchemaPath}/${o}`}:{schema:m[c],schemaPath:(0,e._)`${i.schemaPath}${(0,e.getProperty)(o)}${(0,e.getProperty)(c)}`,errSchemaPath:`${i.errSchemaPath}/${o}/${(0,r.escapeFragment)(c)}`}}if(u!==void 0){if(l===void 0||d===void 0||p===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:u,schemaPath:l,topSchemaRef:p,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=a;function n(i,o,{dataProp:c,dataPropType:u,data:l,dataTypes:d,propertyName:p}){if(l!==void 0&&c!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=o;if(c!==void 0){let{errorPath:_,dataPathArr:f,opts:h}=o,y=m.let("data",(0,e._)`${o.data}${(0,e.getProperty)(c)}`,!0);g(y),i.errorPath=(0,e.str)`${_}${(0,r.getErrorPath)(c,u,h.jsPropertySyntax)}`,i.parentDataProperty=(0,e._)`${c}`,i.dataPathArr=[...f,i.parentDataProperty]}if(l!==void 0){let _=l instanceof e.Name?l:m.let("data",l,!0);g(_),p!==void 0&&(i.propertyName=p)}d&&(i.dataTypes=d);function g(_){i.data=_,i.dataLevel=o.dataLevel+1,i.dataTypes=[],o.definedProperties=new Set,i.parentData=o.data,i.dataNames=[...o.dataNames,_]}}t.extendSubschemaData=n;function s(i,{jtdDiscriminator:o,jtdMetadata:c,compositeRule:u,createErrors:l,allErrors:d}){u!==void 0&&(i.compositeRule=u),l!==void 0&&(i.createErrors=l),d!==void 0&&(i.allErrors=d),i.jtdDiscriminator=o,i.jtdMetadata=c}t.extendSubschemaMode=s}),Xq=Q((t,e)=>{var r=e.exports=function(s,i,o){typeof i=="function"&&(o=i,i={}),o=i.cb||o;var c=typeof o=="function"?o:o.pre||function(){},u=o.post||function(){};a(i,c,u,s,"",s)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.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 a(s,i,o,c,u,l,d,p,m,g){if(c&&typeof c=="object"&&!Array.isArray(c)){i(c,u,l,d,p,m,g);for(var _ in c){var f=c[_];if(Array.isArray(f)){if(_ in r.arrayKeywords)for(var h=0;h{Object.defineProperty(t,"__esModule",{value:!0}),t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;var e=et(),r=wl(),a=Xq(),n=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function s(f,h=!0){return typeof f=="boolean"?!0:h===!0?!o(f):h?c(f)<=h:!1}t.inlineRef=s;var i=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function o(f){for(let h in f){if(i.has(h))return!0;let y=f[h];if(Array.isArray(y)&&y.some(o)||typeof y=="object"&&o(y))return!0}return!1}function c(f){let h=0;for(let y in f){if(y==="$ref")return 1/0;if(h++,!n.has(y)&&(typeof f[y]=="object"&&(0,e.eachItem)(f[y],v=>h+=c(v)),h===1/0))return 1/0}return h}function u(f,h="",y){y!==!1&&(h=p(h));let v=f.parse(h);return l(f,v)}t.getFullPath=u;function l(f,h){return f.serialize(h).split("#")[0]+"#"}t._getFullPath=l;var d=/#\/?$/;function p(f){return f?f.replace(d,""):""}t.normalizeId=p;function m(f,h,y){return y=p(y),f.resolve(h,y)}t.resolveUrl=m;var g=/^[a-z_][-a-z0-9._]*$/i;function _(f,h){if(typeof f=="boolean")return{};let{schemaId:y,uriResolver:v}=this.opts,b=p(f[y]||h),w={"":b},S=u(v,b,!1),E={},T=new Set;return a(f,{allKeys:!0},(j,q,H,N)=>{if(N===void 0)return;let W=S+q,oe=w[N];typeof j[y]=="string"&&(oe=he.call(this,j[y])),ae.call(this,j.$anchor),ae.call(this,j.$dynamicAnchor),w[q]=oe;function he(re){let U=this.opts.uriResolver.resolve;if(re=p(oe?U(oe,re):re),T.has(re))throw M(re);T.add(re);let P=this.refs[re];return typeof P=="string"&&(P=this.refs[P]),typeof P=="object"?R(j,P.schema,re):re!==p(W)&&(re[0]==="#"?(R(j,E[re],re),E[re]=j):this.refs[re]=W),re}function ae(re){if(typeof re=="string"){if(!g.test(re))throw new Error(`invalid anchor "${re}"`);he.call(this,`#${re}`)}}}),E;function R(j,q,H){if(q!==void 0&&!r(j,q))throw M(H)}function M(j){return new Error(`reference "${j}" resolves to more than one schema`)}}t.getSchemaRefs=_}),$l=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;var e=Gq(),r=hl(),a=OT(),n=hl(),s=Zq(),i=Wq(),o=Kq(),c=ze(),u=Qn(),l=Pl(),d=et(),p=Rl();function m(C){if(S(C)&&(T(C),w(C))){h(C);return}g(C,()=>(0,e.topBoolOrEmptySchema)(C))}t.validateFunctionCode=m;function g({gen:C,validateName:I,schema:F,schemaEnv:Z,opts:ee},ce){ee.code.es5?C.func(I,(0,c._)`${u.default.data}, ${u.default.valCxt}`,Z.$async,()=>{C.code((0,c._)`"use strict"; ${v(F,ee)}`),f(C,ee),C.code(ce)}):C.func(I,(0,c._)`${u.default.data}, ${_(ee)}`,Z.$async,()=>C.code(v(F,ee)).code(ce))}function _(C){return(0,c._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${C.dynamicRef?(0,c._)`, ${u.default.dynamicAnchors}={}`:c.nil}}={}`}function f(C,I){C.if(u.default.valCxt,()=>{C.var(u.default.instancePath,(0,c._)`${u.default.valCxt}.${u.default.instancePath}`),C.var(u.default.parentData,(0,c._)`${u.default.valCxt}.${u.default.parentData}`),C.var(u.default.parentDataProperty,(0,c._)`${u.default.valCxt}.${u.default.parentDataProperty}`),C.var(u.default.rootData,(0,c._)`${u.default.valCxt}.${u.default.rootData}`),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{C.var(u.default.instancePath,(0,c._)`""`),C.var(u.default.parentData,(0,c._)`undefined`),C.var(u.default.parentDataProperty,(0,c._)`undefined`),C.var(u.default.rootData,u.default.data),I.dynamicRef&&C.var(u.default.dynamicAnchors,(0,c._)`{}`)})}function h(C){let{schema:I,opts:F,gen:Z}=C;g(C,()=>{F.$comment&&I.$comment&&N(C),j(C),Z.let(u.default.vErrors,null),Z.let(u.default.errors,0),F.unevaluated&&y(C),R(C),W(C)})}function y(C){let{gen:I,validateName:F}=C;C.evaluated=I.const("evaluated",(0,c._)`${F}.evaluated`),I.if((0,c._)`${C.evaluated}.dynamicProps`,()=>I.assign((0,c._)`${C.evaluated}.props`,(0,c._)`undefined`)),I.if((0,c._)`${C.evaluated}.dynamicItems`,()=>I.assign((0,c._)`${C.evaluated}.items`,(0,c._)`undefined`))}function v(C,I){let F=typeof C=="object"&&C[I.schemaId];return F&&(I.code.source||I.code.process)?(0,c._)`/*# sourceURL=${F} */`:c.nil}function b(C,I){if(S(C)&&(T(C),w(C))){E(C,I);return}(0,e.boolOrEmptySchema)(C,I)}function w({schema:C,self:I}){if(typeof C=="boolean")return!C;for(let F in C)if(I.RULES.all[F])return!0;return!1}function S(C){return typeof C.schema!="boolean"}function E(C,I){let{schema:F,gen:Z,opts:ee}=C;ee.$comment&&F.$comment&&N(C),q(C),H(C);let ce=Z.const("_errs",u.default.errors);R(C,ce),Z.var(I,(0,c._)`${ce} === ${u.default.errors}`)}function T(C){(0,d.checkUnknownRules)(C),M(C)}function R(C,I){if(C.opts.jtd)return he(C,[],!1,I);let F=(0,r.getSchemaTypes)(C.schema),Z=(0,r.coerceAndCheckDataType)(C,F);he(C,F,!Z,I)}function M(C){let{schema:I,errSchemaPath:F,opts:Z,self:ee}=C;I.$ref&&Z.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(I,ee.RULES)&&ee.logger.warn(`$ref: keywords ignored in schema at path "${F}"`)}function j(C){let{schema:I,opts:F}=C;I.default!==void 0&&F.useDefaults&&F.strictSchema&&(0,d.checkStrictMode)(C,"default is ignored in the schema root")}function q(C){let I=C.schema[C.opts.schemaId];I&&(C.baseId=(0,l.resolveUrl)(C.opts.uriResolver,C.baseId,I))}function H(C){if(C.schema.$async&&!C.schemaEnv.$async)throw new Error("async schema in sync schema")}function N({gen:C,schemaEnv:I,schema:F,errSchemaPath:Z,opts:ee}){let ce=F.$comment;if(ee.$comment===!0)C.code((0,c._)`${u.default.self}.logger.log(${ce})`);else if(typeof ee.$comment=="function"){let ke=(0,c.str)`${Z}/$comment`,Ne=C.scopeValue("root",{ref:I.root});C.code((0,c._)`${u.default.self}.opts.$comment(${ce}, ${ke}, ${Ne}.schema)`)}}function W(C){let{gen:I,schemaEnv:F,validateName:Z,ValidationError:ee,opts:ce}=C;F.$async?I.if((0,c._)`${u.default.errors} === 0`,()=>I.return(u.default.data),()=>I.throw((0,c._)`new ${ee}(${u.default.vErrors})`)):(I.assign((0,c._)`${Z}.errors`,u.default.vErrors),ce.unevaluated&&oe(C),I.return((0,c._)`${u.default.errors} === 0`))}function oe({gen:C,evaluated:I,props:F,items:Z}){F instanceof c.Name&&C.assign((0,c._)`${I}.props`,F),Z instanceof c.Name&&C.assign((0,c._)`${I}.items`,Z)}function he(C,I,F,Z){let{gen:ee,schema:ce,data:ke,allErrors:Ne,opts:Me,self:je}=C,{RULES:Re}=je;if(ce.$ref&&(Me.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(ce,Re))){ee.block(()=>J(C,"$ref",Re.all.$ref.definition));return}Me.jtd||re(C,I),ee.block(()=>{for(let Ue of Re.rules)vt(Ue);vt(Re.post)});function vt(Ue){(0,a.shouldUseGroup)(ce,Ue)&&(Ue.type?(ee.if((0,n.checkDataType)(Ue.type,ke,Me.strictNumbers)),ae(C,Ue),I.length===1&&I[0]===Ue.type&&F&&(ee.else(),(0,n.reportTypeError)(C)),ee.endIf()):ae(C,Ue),Ne||ee.if((0,c._)`${u.default.errors} === ${Z||0}`))}}function ae(C,I){let{gen:F,schema:Z,opts:{useDefaults:ee}}=C;ee&&(0,s.assignDefaults)(C,I.type),F.block(()=>{for(let ce of I.rules)(0,a.shouldUseRule)(Z,ce)&&J(C,ce.keyword,ce.definition,I.type)})}function re(C,I){C.schemaEnv.meta||!C.opts.strictTypes||(U(C,I),C.opts.allowUnionTypes||P(C,I),z(C,C.dataTypes))}function U(C,I){if(I.length){if(!C.dataTypes.length){C.dataTypes=I;return}I.forEach(F=>{x(C.dataTypes,F)||D(C,`type "${F}" not allowed by context "${C.dataTypes.join(",")}"`)}),k(C,I)}}function P(C,I){I.length>1&&!(I.length===2&&I.includes("null"))&&D(C,"use allowUnionTypes to allow union type keyword")}function z(C,I){let F=C.self.RULES.all;for(let Z in F){let ee=F[Z];if(typeof ee=="object"&&(0,a.shouldUseRule)(C.schema,ee)){let{type:ce}=ee.definition;ce.length&&!ce.some(ke=>A(I,ke))&&D(C,`missing type "${ce.join(",")}" for keyword "${Z}"`)}}}function A(C,I){return C.includes(I)||I==="number"&&C.includes("integer")}function x(C,I){return C.includes(I)||I==="integer"&&C.includes("number")}function k(C,I){let F=[];for(let Z of C.dataTypes)x(I,Z)?F.push(Z):I.includes("integer")&&Z==="number"&&F.push("integer");C.dataTypes=F}function D(C,I){let F=C.schemaEnv.baseId+C.errSchemaPath;I+=` at "${F}" (strictTypes)`,(0,d.checkStrictMode)(C,I,C.opts.strictTypes)}class K{constructor(I,F,Z){if((0,i.validateKeywordUsage)(I,F,Z),this.gen=I.gen,this.allErrors=I.allErrors,this.keyword=Z,this.data=I.data,this.schema=I.schema[Z],this.$data=F.$data&&I.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(I,this.schema,Z,this.$data),this.schemaType=F.schemaType,this.parentSchema=I.schema,this.params={},this.it=I,this.def=F,this.$data)this.schemaCode=I.gen.const("vSchema",me(this.$data,I));else if(this.schemaCode=this.schemaValue,!(0,i.validSchemaType)(this.schema,F.schemaType,F.allowUndefined))throw new Error(`${Z} value must be ${JSON.stringify(F.schemaType)}`);("code"in F?F.trackErrors:F.errors!==!1)&&(this.errsCount=I.gen.const("_errs",u.default.errors))}result(I,F,Z){this.failResult((0,c.not)(I),F,Z)}failResult(I,F,Z){this.gen.if(I),Z?Z():this.error(),F?(this.gen.else(),F(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(I,F){this.failResult((0,c.not)(I),void 0,F)}fail(I){if(I===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(I),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(I){if(!this.$data)return this.fail(I);let{schemaCode:F}=this;this.fail((0,c._)`${F} !== undefined && (${(0,c.or)(this.invalid$data(),I)})`)}error(I,F,Z){if(F){this.setParams(F),this._error(I,Z),this.setParams({});return}this._error(I,Z)}_error(I,F){(I?p.reportExtraError:p.reportError)(this,this.def.error,F)}$dataError(){(0,p.reportError)(this,this.def.$dataError||p.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,p.resetErrorsCount)(this.gen,this.errsCount)}ok(I){this.allErrors||this.gen.if(I)}setParams(I,F){F?Object.assign(this.params,I):this.params=I}block$data(I,F,Z=c.nil){this.gen.block(()=>{this.check$data(I,Z),F()})}check$data(I=c.nil,F=c.nil){if(!this.$data)return;let{gen:Z,schemaCode:ee,schemaType:ce,def:ke}=this;Z.if((0,c.or)((0,c._)`${ee} === undefined`,F)),I!==c.nil&&Z.assign(I,!0),(ce.length||ke.validateSchema)&&(Z.elseIf(this.invalid$data()),this.$dataError(),I!==c.nil&&Z.assign(I,!1)),Z.else()}invalid$data(){let{gen:I,schemaCode:F,schemaType:Z,def:ee,it:ce}=this;return(0,c.or)(ke(),Ne());function ke(){if(Z.length){if(!(F instanceof c.Name))throw new Error("ajv implementation error");let Me=Array.isArray(Z)?Z:[Z];return(0,c._)`${(0,n.checkDataTypes)(Me,F,ce.opts.strictNumbers,n.DataType.Wrong)}`}return c.nil}function Ne(){if(ee.validateSchema){let Me=I.scopeValue("validate$data",{ref:ee.validateSchema});return(0,c._)`!${Me}(${F})`}return c.nil}}subschema(I,F){let Z=(0,o.getSubschema)(this.it,I);(0,o.extendSubschemaData)(Z,this.it,I),(0,o.extendSubschemaMode)(Z,I);let ee={...this.it,...Z,items:void 0,props:void 0};return b(ee,F),ee}mergeEvaluated(I,F){let{it:Z,gen:ee}=this;Z.opts.unevaluated&&(Z.props!==!0&&I.props!==void 0&&(Z.props=d.mergeEvaluated.props(ee,I.props,Z.props,F)),Z.items!==!0&&I.items!==void 0&&(Z.items=d.mergeEvaluated.items(ee,I.items,Z.items,F)))}mergeValidEvaluated(I,F){let{it:Z,gen:ee}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return ee.if(F,()=>this.mergeEvaluated(I,c.Name)),!0}}t.KeywordCxt=K;function J(C,I,F,Z){let ee=new K(C,F,I);"code"in F?F.code(ee,Z):ee.$data&&F.validate?(0,i.funcKeywordCode)(ee,F):"macro"in F?(0,i.macroKeywordCode)(ee,F):(F.compile||F.validate)&&(0,i.funcKeywordCode)(ee,F)}var de=/^\/(?:[^~]|~0|~1)*$/,se=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function me(C,{dataLevel:I,dataNames:F,dataPathArr:Z}){let ee,ce;if(C==="")return u.default.rootData;if(C[0]==="/"){if(!de.test(C))throw new Error(`Invalid JSON-pointer: ${C}`);ee=C,ce=u.default.rootData}else{let je=se.exec(C);if(!je)throw new Error(`Invalid JSON-pointer: ${C}`);let Re=+je[1];if(ee=je[2],ee==="#"){if(Re>=I)throw new Error(Me("property/index",Re));return Z[I-Re]}if(Re>I)throw new Error(Me("data",Re));if(ce=F[I-Re],!ee)return ce}let ke=ce,Ne=ee.split("/");for(let je of Ne)je&&(ce=(0,c._)`${ce}${(0,c.getProperty)((0,d.unescapeJsonPointer)(je))}`,ke=(0,c._)`${ke} && ${ce}`);return ke;function Me(je,Re){return`Cannot access ${je} ${Re} levels up, current level is ${I}`}}t.getData=me}),Vm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});class e extends Error{constructor(a){super("validation failed"),this.errors=a,this.ajv=this.validation=!0}}t.default=e}),Ol=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Pl();class r extends Error{constructor(n,s,i,o){super(o||`can't resolve reference ${i} from id ${s}`),this.missingRef=(0,e.resolveUrl)(n,s,i),this.missingSchema=(0,e.normalizeId)((0,e.getFullPath)(n,this.missingRef))}}t.default=r}),Gm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;var e=ze(),r=Vm(),a=Qn(),n=Pl(),s=et(),i=$l();class o{constructor(y){var v;this.refs={},this.dynamicAnchors={};let b;typeof y.schema=="object"&&(b=y.schema),this.schema=y.schema,this.schemaId=y.schemaId,this.root=y.root||this,this.baseId=(v=y.baseId)!==null&&v!==void 0?v:(0,n.normalizeId)(b?.[y.schemaId||"$id"]),this.schemaPath=y.schemaPath,this.localRefs=y.localRefs,this.meta=y.meta,this.$async=b?.$async,this.refs={}}}t.SchemaEnv=o;function c(h){let y=d.call(this,h);if(y)return y;let v=(0,n.getFullPath)(this.opts.uriResolver,h.root.baseId),{es5:b,lines:w}=this.opts.code,{ownProperties:S}=this.opts,E=new e.CodeGen(this.scope,{es5:b,lines:w,ownProperties:S}),T;h.$async&&(T=E.scopeValue("Error",{ref:r.default,code:(0,e._)`require("ajv/dist/runtime/validation_error").default`}));let R=E.scopeName("validate");h.validateName=R;let M={gen:E,allErrors:this.opts.allErrors,data:a.default.data,parentData:a.default.parentData,parentDataProperty:a.default.parentDataProperty,dataNames:[a.default.data],dataPathArr:[e.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:E.scopeValue("schema",this.opts.code.source===!0?{ref:h.schema,code:(0,e.stringify)(h.schema)}:{ref:h.schema}),validateName:R,ValidationError:T,schema:h.schema,schemaEnv:h,rootId:v,baseId:h.baseId||v,schemaPath:e.nil,errSchemaPath:h.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,e._)`""`,opts:this.opts,self:this},j;try{this._compilations.add(h),(0,i.validateFunctionCode)(M),E.optimize(this.opts.code.optimize);let q=E.toString();j=`${E.scopeRefs(a.default.scope)}return ${q}`,this.opts.code.process&&(j=this.opts.code.process(j,h));let N=new Function(`${a.default.self}`,`${a.default.scope}`,j)(this,this.scope.get());if(this.scope.value(R,{ref:N}),N.errors=null,N.schema=h.schema,N.schemaEnv=h,h.$async&&(N.$async=!0),this.opts.code.source===!0&&(N.source={validateName:R,validateCode:q,scopeValues:E._values}),this.opts.unevaluated){let{props:W,items:oe}=M;N.evaluated={props:W instanceof e.Name?void 0:W,items:oe instanceof e.Name?void 0:oe,dynamicProps:W instanceof e.Name,dynamicItems:oe instanceof e.Name},N.source&&(N.source.evaluated=(0,e.stringify)(N.evaluated))}return h.validate=N,h}catch(q){throw delete h.validate,delete h.validateName,j&&this.logger.error("Error compiling schema, function code:",j),q}finally{this._compilations.delete(h)}}t.compileSchema=c;function u(h,y,v){var b;v=(0,n.resolveUrl)(this.opts.uriResolver,y,v);let w=h.refs[v];if(w)return w;let S=m.call(this,h,v);if(S===void 0){let E=(b=h.localRefs)===null||b===void 0?void 0:b[v],{schemaId:T}=this.opts;E&&(S=new o({schema:E,schemaId:T,root:h,baseId:y}))}if(S!==void 0)return h.refs[v]=l.call(this,S)}t.resolveRef=u;function l(h){return(0,n.inlineRef)(h.schema,this.opts.inlineRefs)?h.schema:h.validate?h:c.call(this,h)}function d(h){for(let y of this._compilations)if(p(y,h))return y}t.getCompilingSchema=d;function p(h,y){return h.schema===y.schema&&h.root===y.root&&h.baseId===y.baseId}function m(h,y){let v;for(;typeof(v=this.refs[y])=="string";)y=v;return v||this.schemas[y]||g.call(this,h,y)}function g(h,y){let v=this.opts.uriResolver.parse(y),b=(0,n._getFullPath)(this.opts.uriResolver,v),w=(0,n.getFullPath)(this.opts.uriResolver,h.baseId,void 0);if(Object.keys(h.schema).length>0&&b===w)return f.call(this,v,h);let S=(0,n.normalizeId)(b),E=this.refs[S]||this.schemas[S];if(typeof E=="string"){let T=g.call(this,h,E);return typeof T?.schema!="object"?void 0:f.call(this,v,T)}if(typeof E?.schema=="object"){if(E.validate||c.call(this,E),S===(0,n.normalizeId)(y)){let{schema:T}=E,{schemaId:R}=this.opts,M=T[R];return M&&(w=(0,n.resolveUrl)(this.opts.uriResolver,w,M)),new o({schema:T,schemaId:R,root:h,baseId:w})}return f.call(this,v,E)}}t.resolveSchema=g;var _=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function f(h,{baseId:y,schema:v,root:b}){var w;if(((w=h.fragment)===null||w===void 0?void 0:w[0])!=="/")return;for(let T of h.fragment.slice(1).split("/")){if(typeof v=="boolean")return;let R=v[(0,s.unescapeFragment)(T)];if(R===void 0)return;v=R;let M=typeof v=="object"&&v[this.opts.schemaId];!_.has(T)&&M&&(y=(0,n.resolveUrl)(this.opts.uriResolver,y,M))}let S;if(typeof v!="boolean"&&v.$ref&&!(0,s.schemaHasRulesButRef)(v,this.RULES)){let T=(0,n.resolveUrl)(this.opts.uriResolver,y,v.$ref);S=g.call(this,b,T)}let{schemaId:E}=this.opts;if(S=S||new o({schema:v,schemaId:E,root:b,baseId:y}),S.schema!==S.root.schema)return S}}),Jq=Q((t,e)=>{e.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}}),Yq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=TT();e.code='require("ajv/dist/runtime/uri").default',t.default=e}),Qq=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=$l();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var r=ze();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});var a=Vm(),n=Ol(),s=$T(),i=Gm(),o=ze(),c=Pl(),u=hl(),l=et(),d=Jq(),p=Yq(),m=(U,P)=>new RegExp(U,P);m.code="new RegExp";var g=["removeAdditional","useDefaults","coerceTypes"],_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),f={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."},h={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},y=200;function v(U){var P,z,A,x,k,D,K,J,de,se,me,C,I,F,Z,ee,ce,ke,Ne,Me,je,Re,vt,Ue,vr;let Zt=U.strict,Nt=(P=U.code)===null||P===void 0?void 0:P.optimize,Lr=Nt===!0||Nt===void 0?1:Nt||0,On=(A=(z=U.code)===null||z===void 0?void 0:z.regExp)!==null&&A!==void 0?A:m,es=(x=U.uriResolver)!==null&&x!==void 0?x:p.default;return{strictSchema:(D=(k=U.strictSchema)!==null&&k!==void 0?k:Zt)!==null&&D!==void 0?D:!0,strictNumbers:(J=(K=U.strictNumbers)!==null&&K!==void 0?K:Zt)!==null&&J!==void 0?J:!0,strictTypes:(se=(de=U.strictTypes)!==null&&de!==void 0?de:Zt)!==null&&se!==void 0?se:"log",strictTuples:(C=(me=U.strictTuples)!==null&&me!==void 0?me:Zt)!==null&&C!==void 0?C:"log",strictRequired:(F=(I=U.strictRequired)!==null&&I!==void 0?I:Zt)!==null&&F!==void 0?F:!1,code:U.code?{...U.code,optimize:Lr,regExp:On}:{optimize:Lr,regExp:On},loopRequired:(Z=U.loopRequired)!==null&&Z!==void 0?Z:y,loopEnum:(ee=U.loopEnum)!==null&&ee!==void 0?ee:y,meta:(ce=U.meta)!==null&&ce!==void 0?ce:!0,messages:(ke=U.messages)!==null&&ke!==void 0?ke:!0,inlineRefs:(Ne=U.inlineRefs)!==null&&Ne!==void 0?Ne:!0,schemaId:(Me=U.schemaId)!==null&&Me!==void 0?Me:"$id",addUsedSchema:(je=U.addUsedSchema)!==null&&je!==void 0?je:!0,validateSchema:(Re=U.validateSchema)!==null&&Re!==void 0?Re:!0,validateFormats:(vt=U.validateFormats)!==null&&vt!==void 0?vt:!0,unicodeRegExp:(Ue=U.unicodeRegExp)!==null&&Ue!==void 0?Ue:!0,int32range:(vr=U.int32range)!==null&&vr!==void 0?vr:!0,uriResolver:es}}class b{constructor(P={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,...v(P)};let{es5:z,lines:A}=this.opts.code;this.scope=new o.ValueScope({scope:{},prefixes:_,es5:z,lines:A}),this.logger=q(P.logger);let x=P.validateFormats;P.validateFormats=!1,this.RULES=(0,s.getRules)(),w.call(this,f,P,"NOT SUPPORTED"),w.call(this,h,P,"DEPRECATED","warn"),this._metaOpts=M.call(this),P.formats&&T.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&R.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=x}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:P,meta:z,schemaId:A}=this.opts,x=d;A==="id"&&(x={...d},x.id=x.$id,delete x.$id),z&&P&&this.addMetaSchema(x,x[A],!1)}defaultMeta(){let{meta:P,schemaId:z}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[z]||P:void 0}validate(P,z){let A;if(typeof P=="string"){if(A=this.getSchema(P),!A)throw new Error(`no schema with key or ref "${P}"`)}else A=this.compile(P);let x=A(z);return"$async"in A||(this.errors=A.errors),x}compile(P,z){let A=this._addSchema(P,z);return A.validate||this._compileSchemaEnv(A)}compileAsync(P,z){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:A}=this.opts;return x.call(this,P,z);async function x(se,me){await k.call(this,se.$schema);let C=this._addSchema(se,me);return C.validate||D.call(this,C)}async function k(se){se&&!this.getSchema(se)&&await x.call(this,{$ref:se},!0)}async function D(se){try{return this._compileSchemaEnv(se)}catch(me){if(!(me instanceof n.default))throw me;return K.call(this,me),await J.call(this,me.missingSchema),D.call(this,se)}}function K({missingSchema:se,missingRef:me}){if(this.refs[se])throw new Error(`AnySchema ${se} is loaded but ${me} cannot be resolved`)}async function J(se){let me=await de.call(this,se);this.refs[se]||await k.call(this,me.$schema),this.refs[se]||this.addSchema(me,se,z)}async function de(se){let me=this._loading[se];if(me)return me;try{return await(this._loading[se]=A(se))}finally{delete this._loading[se]}}}addSchema(P,z,A,x=this.opts.validateSchema){if(Array.isArray(P)){for(let D of P)this.addSchema(D,void 0,A,x);return this}let k;if(typeof P=="object"){let{schemaId:D}=this.opts;if(k=P[D],k!==void 0&&typeof k!="string")throw new Error(`schema ${D} must be string`)}return z=(0,c.normalizeId)(z||k),this._checkUnique(z),this.schemas[z]=this._addSchema(P,A,z,x,!0),this}addMetaSchema(P,z,A=this.opts.validateSchema){return this.addSchema(P,z,!0,A),this}validateSchema(P,z){if(typeof P=="boolean")return!0;let A;if(A=P.$schema,A!==void 0&&typeof A!="string")throw new Error("$schema must be a string");if(A=A||this.opts.defaultMeta||this.defaultMeta(),!A)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let x=this.validate(A,P);if(!x&&z){let k="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(k);else throw new Error(k)}return x}getSchema(P){let z;for(;typeof(z=S.call(this,P))=="string";)P=z;if(z===void 0){let{schemaId:A}=this.opts,x=new i.SchemaEnv({schema:{},schemaId:A});if(z=i.resolveSchema.call(this,x,P),!z)return;this.refs[P]=z}return z.validate||this._compileSchemaEnv(z)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let z=S.call(this,P);return typeof z=="object"&&this._cache.delete(z.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{let z=P;this._cache.delete(z);let A=P[this.opts.schemaId];return A&&(A=(0,c.normalizeId)(A),delete this.schemas[A],delete this.refs[A]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(let z of P)this.addKeyword(z);return this}addKeyword(P,z){let A;if(typeof P=="string")A=P,typeof z=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),z.keyword=A);else if(typeof P=="object"&&z===void 0){if(z=P,A=z.keyword,Array.isArray(A)&&!A.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(N.call(this,A,z),!z)return(0,l.eachItem)(A,k=>W.call(this,k)),this;he.call(this,z);let x={...z,type:(0,u.getJSONTypes)(z.type),schemaType:(0,u.getJSONTypes)(z.schemaType)};return(0,l.eachItem)(A,x.type.length===0?k=>W.call(this,k,x):k=>x.type.forEach(D=>W.call(this,k,x,D))),this}getKeyword(P){let z=this.RULES.all[P];return typeof z=="object"?z.definition:!!z}removeKeyword(P){let{RULES:z}=this;delete z.keywords[P],delete z.all[P];for(let A of z.rules){let x=A.rules.findIndex(k=>k.keyword===P);x>=0&&A.rules.splice(x,1)}return this}addFormat(P,z){return typeof z=="string"&&(z=new RegExp(z)),this.formats[P]=z,this}errorsText(P=this.errors,{separator:z=", ",dataVar:A="data"}={}){return!P||P.length===0?"No errors":P.map(x=>`${A}${x.instancePath} ${x.message}`).reduce((x,k)=>x+z+k)}$dataMetaSchema(P,z){let A=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(let x of z){let k=x.split("/").slice(1),D=P;for(let K of k)D=D[K];for(let K in A){let J=A[K];if(typeof J!="object")continue;let{$data:de}=J.definition,se=D[K];de&&se&&(D[K]=re(se))}}return P}_removeAllSchemas(P,z){for(let A in P){let x=P[A];(!z||z.test(A))&&(typeof x=="string"?delete P[A]:x&&!x.meta&&(this._cache.delete(x.schema),delete P[A]))}}_addSchema(P,z,A,x=this.opts.validateSchema,k=this.opts.addUsedSchema){let D,{schemaId:K}=this.opts;if(typeof P=="object")D=P[K];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let J=this._cache.get(P);if(J!==void 0)return J;A=(0,c.normalizeId)(D||A);let de=c.getSchemaRefs.call(this,P,A);return J=new i.SchemaEnv({schema:P,schemaId:K,meta:z,baseId:A,localRefs:de}),this._cache.set(J.schema,J),k&&!A.startsWith("#")&&(A&&this._checkUnique(A),this.refs[A]=J),x&&this.validateSchema(P,!0),J}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):i.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){let z=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,P)}finally{this.opts=z}}}b.ValidationError=a.default,b.MissingRefError=n.default,t.default=b;function w(U,P,z,A="error"){for(let x in U){let k=x;k in P&&this.logger[A](`${z}: option ${x}. ${U[k]}`)}}function S(U){return U=(0,c.normalizeId)(U),this.schemas[U]||this.refs[U]}function E(){let U=this.opts.schemas;if(U)if(Array.isArray(U))this.addSchema(U);else for(let P in U)this.addSchema(U[P],P)}function T(){for(let U in this.opts.formats){let P=this.opts.formats[U];P&&this.addFormat(U,P)}}function R(U){if(Array.isArray(U)){this.addVocabulary(U);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let P in U){let z=U[P];z.keyword||(z.keyword=P),this.addKeyword(z)}}function M(){let U={...this.opts};for(let P of g)delete U[P];return U}var j={log(){},warn(){},error(){}};function q(U){if(U===!1)return j;if(U===void 0)return console;if(U.log&&U.warn&&U.error)return U;throw new Error("logger must implement log, warn and error methods")}var H=/^[a-z_$][a-z0-9_$:-]*$/i;function N(U,P){let{RULES:z}=this;if((0,l.eachItem)(U,A=>{if(z.keywords[A])throw new Error(`Keyword ${A} is already defined`);if(!H.test(A))throw new Error(`Keyword ${A} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function W(U,P,z){var A;let x=P?.post;if(z&&x)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:k}=this,D=x?k.post:k.rules.find(({type:J})=>J===z);if(D||(D={type:z,rules:[]},k.rules.push(D)),k.keywords[U]=!0,!P)return;let K={keyword:U,definition:{...P,type:(0,u.getJSONTypes)(P.type),schemaType:(0,u.getJSONTypes)(P.schemaType)}};P.before?oe.call(this,D,K,P.before):D.rules.push(K),k.all[U]=K,(A=P.implements)===null||A===void 0||A.forEach(J=>this.addKeyword(J))}function oe(U,P,z){let A=U.rules.findIndex(x=>x.keyword===z);A>=0?U.rules.splice(A,0,P):(U.rules.push(P),this.logger.warn(`rule ${z} is not defined`))}function he(U){let{metaSchema:P}=U;P!==void 0&&(U.$data&&this.opts.$data&&(P=re(P)),U.validateSchema=this.compile(P,!0))}var ae={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function re(U){return{anyOf:[U,ae]}}}),e6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=e}),t6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;var e=Ol(),r=Zr(),a=ze(),n=Qn(),s=Gm(),i=et(),o={keyword:"$ref",schemaType:"string",code(l){let{gen:d,schema:p,it:m}=l,{baseId:g,schemaEnv:_,validateName:f,opts:h,self:y}=m,{root:v}=_;if((p==="#"||p==="#/")&&g===v.baseId)return w();let b=s.resolveRef.call(y,v,g,p);if(b===void 0)throw new e.default(m.opts.uriResolver,g,p);if(b instanceof s.SchemaEnv)return S(b);return E(b);function w(){if(_===v)return u(l,f,_,_.$async);let T=d.scopeValue("root",{ref:v});return u(l,(0,a._)`${T}.validate`,v,v.$async)}function S(T){let R=c(l,T);u(l,R,T,T.$async)}function E(T){let R=d.scopeValue("schema",h.code.source===!0?{ref:T,code:(0,a.stringify)(T)}:{ref:T}),M=d.name("valid"),j=l.subschema({schema:T,dataTypes:[],schemaPath:a.nil,topSchemaRef:R,errSchemaPath:p},M);l.mergeEvaluated(j),l.ok(M)}}};function c(l,d){let{gen:p}=l;return d.validate?p.scopeValue("validate",{ref:d.validate}):(0,a._)`${p.scopeValue("wrapper",{ref:d})}.validate`}t.getValidate=c;function u(l,d,p,m){let{gen:g,it:_}=l,{allErrors:f,schemaEnv:h,opts:y}=_,v=y.passContext?n.default.this:a.nil;m?b():w();function b(){if(!h.$async)throw new Error("async schema referenced by sync schema");let T=g.let("valid");g.try(()=>{g.code((0,a._)`await ${(0,r.callValidateCode)(l,d,v)}`),E(d),f||g.assign(T,!0)},R=>{g.if((0,a._)`!(${R} instanceof ${_.ValidationError})`,()=>g.throw(R)),S(R),f||g.assign(T,!1)}),l.ok(T)}function w(){l.result((0,r.callValidateCode)(l,d,v),()=>E(d),()=>S(d))}function S(T){let R=(0,a._)`${T}.errors`;g.assign(n.default.vErrors,(0,a._)`${n.default.vErrors} === null ? ${R} : ${n.default.vErrors}.concat(${R})`),g.assign(n.default.errors,(0,a._)`${n.default.vErrors}.length`)}function E(T){var R;if(!_.opts.unevaluated)return;let M=(R=p?.validate)===null||R===void 0?void 0:R.evaluated;if(_.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(_.props=i.mergeEvaluated.props(g,M.props,_.props));else{let j=g.var("props",(0,a._)`${T}.evaluated.props`);_.props=i.mergeEvaluated.props(g,j,_.props,a.Name)}if(_.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(_.items=i.mergeEvaluated.items(g,M.items,_.items));else{let j=g.var("items",(0,a._)`${T}.evaluated.items`);_.items=i.mergeEvaluated.items(g,j,_.items,a.Name)}}}t.callRef=u,t.default=o}),r6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=e6(),r=t6(),a=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",e.default,r.default];t.default=a}),n6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=e.operators,a={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},n={message:({keyword:i,schemaCode:o})=>(0,e.str)`must be ${a[i].okStr} ${o}`,params:({keyword:i,schemaCode:o})=>(0,e._)`{comparison: ${a[i].okStr}, limit: ${o}}`},s={keyword:Object.keys(a),type:"number",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u}=i;i.fail$data((0,e._)`${c} ${a[o].fail} ${u} || isNaN(${c})`)}};t.default=s}),a6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message:({schemaCode:n})=>(0,e.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,e._)`{multipleOf: ${n}}`},a={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:r,code(n){let{gen:s,data:i,schemaCode:o,it:c}=n,u=c.opts.multipleOfPrecision,l=s.let("res"),d=u?(0,e._)`Math.abs(Math.round(${l}) - ${l}) > 1e-${u}`:(0,e._)`${l} !== parseInt(${l})`;n.fail$data((0,e._)`(${o} === 0 || (${l} = ${i}/${o}, ${d}))`)}};t.default=a}),s6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});function e(r){let a=r.length,n=0,s=0,i;for(;s=55296&&i<=56319&&s{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=s6(),n={message({keyword:i,schemaCode:o}){let c=i==="maxLength"?"more":"fewer";return(0,e.str)`must NOT have ${c} than ${o} characters`},params:({schemaCode:i})=>(0,e._)`{limit: ${i}}`},s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:n,code(i){let{keyword:o,data:c,schemaCode:u,it:l}=i,d=o==="maxLength"?e.operators.GT:e.operators.LT,p=l.opts.unicode===!1?(0,e._)`${c}.length`:(0,e._)`${(0,r.useFunc)(i.gen,a.default)}(${c})`;i.fail$data((0,e._)`${p} ${d} ${u}`)}};t.default=s}),o6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a={message:({schemaCode:s})=>(0,r.str)`must match pattern "${s}"`,params:({schemaCode:s})=>(0,r._)`{pattern: ${s}}`},n={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:a,code(s){let{data:i,$data:o,schema:c,schemaCode:u,it:l}=s,d=l.opts.unicodeRegExp?"u":"",p=o?(0,r._)`(new RegExp(${u}, ${d}))`:(0,e.usePattern)(s,c);s.fail$data((0,r._)`!${p}.test(${i})`)}};t.default=n}),c6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message({keyword:n,schemaCode:s}){let i=n==="maxProperties"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} properties`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxProperties"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`Object.keys(${i}).length ${c} ${o}`)}};t.default=a}),u6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a=et(),n={message:({params:{missingProperty:i}})=>(0,r.str)`must have required property '${i}'`,params:({params:{missingProperty:i}})=>(0,r._)`{missingProperty: ${i}}`},s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,schema:c,schemaCode:u,data:l,$data:d,it:p}=i,{opts:m}=p;if(!d&&c.length===0)return;let g=c.length>=m.loopRequired;if(p.allErrors?_():f(),m.strictRequired){let v=i.parentSchema.properties,{definedProperties:b}=i.it;for(let w of c)if(v?.[w]===void 0&&!b.has(w)){let S=p.schemaEnv.baseId+p.errSchemaPath,E=`required property "${w}" is not defined at "${S}" (strictRequired)`;(0,a.checkStrictMode)(p,E,p.opts.strictRequired)}}function _(){if(g||d)i.block$data(r.nil,h);else for(let v of c)(0,e.checkReportMissingProp)(i,v)}function f(){let v=o.let("missing");if(g||d){let b=o.let("valid",!0);i.block$data(b,()=>y(v,b)),i.ok(b)}else o.if((0,e.checkMissingProp)(i,c,v)),(0,e.reportMissingProp)(i,v),o.else()}function h(){o.forOf("prop",u,v=>{i.setParams({missingProperty:v}),o.if((0,e.noPropertyInData)(o,l,v,m.ownProperties),()=>i.error())})}function y(v,b){i.setParams({missingProperty:v}),o.forOf(v,u,()=>{o.assign(b,(0,e.propertyInData)(o,l,v,m.ownProperties)),o.if((0,r.not)(b),()=>{i.error(),o.break()})},r.nil)}}};t.default=s}),l6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message({keyword:n,schemaCode:s}){let i=n==="maxItems"?"more":"fewer";return(0,e.str)`must NOT have ${i} than ${s} items`},params:({schemaCode:n})=>(0,e._)`{limit: ${n}}`},a={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:r,code(n){let{keyword:s,data:i,schemaCode:o}=n,c=s==="maxItems"?e.operators.GT:e.operators.LT;n.fail$data((0,e._)`${i}.length ${c} ${o}`)}};t.default=a}),Zm=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=wl();e.code='require("ajv/dist/runtime/equal").default',t.default=e}),d6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=hl(),r=ze(),a=et(),n=Zm(),s={message:({params:{i:o,j:c}})=>(0,r.str)`must NOT have duplicate items (items ## ${c} and ${o} are identical)`,params:({params:{i:o,j:c}})=>(0,r._)`{i: ${o}, j: ${c}}`},i={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s,code(o){let{gen:c,data:u,$data:l,schema:d,parentSchema:p,schemaCode:m,it:g}=o;if(!l&&!d)return;let _=c.let("valid"),f=p.items?(0,e.getSchemaTypes)(p.items):[];o.block$data(_,h,(0,r._)`${m} === false`),o.ok(_);function h(){let w=c.let("i",(0,r._)`${u}.length`),S=c.let("j");o.setParams({i:w,j:S}),c.assign(_,!0),c.if((0,r._)`${w} > 1`,()=>(y()?v:b)(w,S))}function y(){return f.length>0&&!f.some(w=>w==="object"||w==="array")}function v(w,S){let E=c.name("item"),T=(0,e.checkDataTypes)(f,E,g.opts.strictNumbers,e.DataType.Wrong),R=c.const("indices",(0,r._)`{}`);c.for((0,r._)`;${w}--;`,()=>{c.let(E,(0,r._)`${u}[${w}]`),c.if(T,(0,r._)`continue`),f.length>1&&c.if((0,r._)`typeof ${E} == "string"`,(0,r._)`${E} += "_"`),c.if((0,r._)`typeof ${R}[${E}] == "number"`,()=>{c.assign(S,(0,r._)`${R}[${E}]`),o.error(),c.assign(_,!1).break()}).code((0,r._)`${R}[${E}] = ${w}`)})}function b(w,S){let E=(0,a.useFunc)(c,n.default),T=c.name("outer");c.label(T).for((0,r._)`;${w}--;`,()=>c.for((0,r._)`${S} = ${w}; ${S}--;`,()=>c.if((0,r._)`${E}(${u}[${w}], ${u}[${S}])`,()=>{o.error(),c.assign(_,!1).break(T)})))}}};t.default=i}),p6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zm(),n={message:"must be equal to constant",params:({schemaCode:i})=>(0,e._)`{allowedValue: ${i}}`},s={keyword:"const",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schemaCode:l,schema:d}=i;u||d&&typeof d=="object"?i.fail$data((0,e._)`!${(0,r.useFunc)(o,a.default)}(${c}, ${l})`):i.fail((0,e._)`${d} !== ${c}`)}};t.default=s}),f6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zm(),n={message:"must be equal to one of the allowed values",params:({schemaCode:i})=>(0,e._)`{allowedValues: ${i}}`},s={keyword:"enum",schemaType:"array",$data:!0,error:n,code(i){let{gen:o,data:c,$data:u,schema:l,schemaCode:d,it:p}=i;if(!u&&l.length===0)throw new Error("enum must have non-empty array");let m=l.length>=p.opts.loopEnum,g,_=()=>g??(g=(0,r.useFunc)(o,a.default)),f;if(m||u)f=o.let("valid"),i.block$data(f,h);else{if(!Array.isArray(l))throw new Error("ajv implementation error");let v=o.const("vSchema",d);f=(0,e.or)(...l.map((b,w)=>y(v,w)))}i.pass(f);function h(){o.assign(f,!1),o.forOf("v",d,v=>o.if((0,e._)`${_()}(${c}, ${v})`,()=>o.assign(f,!0).break()))}function y(v,b){let w=l[b];return typeof w=="object"&&w!==null?(0,e._)`${_()}(${c}, ${v}[${b}])`:(0,e._)`${c} === ${w}`}}};t.default=s}),m6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=n6(),r=a6(),a=i6(),n=o6(),s=c6(),i=u6(),o=l6(),c=d6(),u=p6(),l=f6(),d=[e.default,r.default,a.default,n.default,s.default,i.default,o.default,c.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,l.default];t.default=d}),CT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;var e=ze(),r=et(),a={message:({params:{len:i}})=>(0,e.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,e._)`{limit: ${i}}`},n={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:a,code(i){let{parentSchema:o,it:c}=i,{items:u}=o;if(!Array.isArray(u)){(0,r.checkStrictMode)(c,'"additionalItems" is ignored when "items" is not an array of schemas');return}s(i,u)}};function s(i,o){let{gen:c,schema:u,data:l,keyword:d,it:p}=i;p.items=!0;let m=c.const("len",(0,e._)`${l}.length`);if(u===!1)i.setParams({len:o.length}),i.pass((0,e._)`${m} <= ${o.length}`);else if(typeof u=="object"&&!(0,r.alwaysValidSchema)(p,u)){let _=c.var("valid",(0,e._)`${m} <= ${o.length}`);c.if((0,e.not)(_),()=>g(_)),i.ok(_)}function g(_){c.forRange("i",o.length,m,f=>{i.subschema({keyword:d,dataProp:f,dataPropType:r.Type.Num},_),p.allErrors||c.if((0,e.not)(_),()=>c.break())})}}t.validateAdditionalItems=s,t.default=n}),IT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;var e=ze(),r=et(),a=Zr(),n={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(i){let{schema:o,it:c}=i;if(Array.isArray(o))return s(i,"additionalItems",o);c.items=!0,!(0,r.alwaysValidSchema)(c,o)&&i.ok((0,a.validateArray)(i))}};function s(i,o,c=i.schema){let{gen:u,parentSchema:l,data:d,keyword:p,it:m}=i;f(l),m.opts.unevaluated&&c.length&&m.items!==!0&&(m.items=r.mergeEvaluated.items(u,c.length,m.items));let g=u.name("valid"),_=u.const("len",(0,e._)`${d}.length`);c.forEach((h,y)=>{(0,r.alwaysValidSchema)(m,h)||(u.if((0,e._)`${_} > ${y}`,()=>i.subschema({keyword:p,schemaProp:y,dataProp:y},g)),i.ok(g))});function f(h){let{opts:y,errSchemaPath:v}=m,b=c.length,w=b===h.minItems&&(b===h.maxItems||h[o]===!1);if(y.strictTuples&&!w){let S=`"${p}" is ${b}-tuple, but minItems or maxItems/${o} are not specified or different at path "${v}"`;(0,r.checkStrictMode)(m,S,y.strictTuples)}}}t.validateTuple=s,t.default=n}),h6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=IT(),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:a=>(0,e.validateTuple)(a,"items")};t.default=r}),v6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a=Zr(),n=CT(),s={message:({params:{len:o}})=>(0,e.str)`must NOT have more than ${o} items`,params:({params:{len:o}})=>(0,e._)`{limit: ${o}}`},i={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:s,code(o){let{schema:c,parentSchema:u,it:l}=o,{prefixItems:d}=u;l.items=!0,!(0,r.alwaysValidSchema)(l,c)&&(d?(0,n.validateAdditionalItems)(o,d):o.ok((0,a.validateArray)(o)))}};t.default=i}),g6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a={message:({params:{min:s,max:i}})=>i===void 0?(0,e.str)`must contain at least ${s} valid item(s)`:(0,e.str)`must contain at least ${s} and no more than ${i} valid item(s)`,params:({params:{min:s,max:i}})=>i===void 0?(0,e._)`{minContains: ${s}}`:(0,e._)`{minContains: ${s}, maxContains: ${i}}`},n={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,data:u,it:l}=s,d,p,{minContains:m,maxContains:g}=c;l.opts.next?(d=m===void 0?1:m,p=g):d=1;let _=i.const("len",(0,e._)`${u}.length`);if(s.setParams({min:d,max:p}),p===void 0&&d===0){(0,r.checkStrictMode)(l,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(p!==void 0&&d>p){(0,r.checkStrictMode)(l,'"minContains" > "maxContains" is always invalid'),s.fail();return}if((0,r.alwaysValidSchema)(l,o)){let b=(0,e._)`${_} >= ${d}`;p!==void 0&&(b=(0,e._)`${b} && ${_} <= ${p}`),s.pass(b);return}l.items=!0;let f=i.name("valid");p===void 0&&d===1?y(f,()=>i.if(f,()=>i.break())):d===0?(i.let(f,!0),p!==void 0&&i.if((0,e._)`${u}.length > 0`,h)):(i.let(f,!1),h()),s.result(f,()=>s.reset());function h(){let b=i.name("_valid"),w=i.let("count",0);y(b,()=>i.if(b,()=>v(w)))}function y(b,w){i.forRange("i",0,_,S=>{s.subschema({keyword:"contains",dataProp:S,dataPropType:r.Type.Num,compositeRule:!0},b),w()})}function v(b){i.code((0,e._)`${b}++`),p===void 0?i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0).break()):(i.if((0,e._)`${b} > ${p}`,()=>i.assign(f,!1).break()),d===1?i.assign(f,!0):i.if((0,e._)`${b} >= ${d}`,()=>i.assign(f,!0)))}}};t.default=n}),y6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;var e=ze(),r=et(),a=Zr();t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{let d=u===1?"property":"properties";return(0,e.str)`must have ${d} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:d}})=>(0,e._)`{property: ${c}, missingProperty: ${d}, depsCount: ${u}, deps: ${l}}`};var n={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){let[u,l]=s(c);i(c,u),o(c,l)}};function s({schema:c}){let u={},l={};for(let d in c){if(d==="__proto__")continue;let p=Array.isArray(c[d])?u:l;p[d]=c[d]}return[u,l]}function i(c,u=c.schema){let{gen:l,data:d,it:p}=c;if(Object.keys(u).length===0)return;let m=l.let("missing");for(let g in u){let _=u[g];if(_.length===0)continue;let f=(0,a.propertyInData)(l,d,g,p.opts.ownProperties);c.setParams({property:g,depsCount:_.length,deps:_.join(", ")}),p.allErrors?l.if(f,()=>{for(let h of _)(0,a.checkReportMissingProp)(c,h)}):(l.if((0,e._)`${f} && (${(0,a.checkMissingProp)(c,_,m)})`),(0,a.reportMissingProp)(c,m),l.else())}}t.validatePropertyDeps=i;function o(c,u=c.schema){let{gen:l,data:d,keyword:p,it:m}=c,g=l.name("valid");for(let _ in u)(0,r.alwaysValidSchema)(m,u[_])||(l.if((0,a.propertyInData)(l,d,_,m.opts.ownProperties),()=>{let f=c.subschema({keyword:p,schemaProp:_},g);c.mergeValidEvaluated(f,g)},()=>l.var(g,!0)),c.ok(g))}t.validateSchemaDeps=o,t.default=n}),_6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a={message:"property name must be valid",params:({params:s})=>(0,e._)`{propertyName: ${s.propertyName}}`},n={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:a,code(s){let{gen:i,schema:o,data:c,it:u}=s;if((0,r.alwaysValidSchema)(u,o))return;let l=i.name("valid");i.forIn("key",c,d=>{s.setParams({propertyName:d}),s.subschema({keyword:"propertyNames",data:d,dataTypes:["string"],propertyName:d,compositeRule:!0},l),i.if((0,e.not)(l),()=>{s.error(!0),u.allErrors||i.break()})}),s.ok(l)}};t.default=n}),AT=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a=Qn(),n=et(),s={message:"must NOT have additional properties",params:({params:o})=>(0,r._)`{additionalProperty: ${o.additionalProperty}}`},i={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:s,code(o){let{gen:c,schema:u,parentSchema:l,data:d,errsCount:p,it:m}=o;if(!p)throw new Error("ajv implementation error");let{allErrors:g,opts:_}=m;if(m.props=!0,_.removeAdditional!=="all"&&(0,n.alwaysValidSchema)(m,u))return;let f=(0,e.allSchemaProperties)(l.properties),h=(0,e.allSchemaProperties)(l.patternProperties);y(),o.ok((0,r._)`${p} === ${a.default.errors}`);function y(){c.forIn("key",d,E=>{!f.length&&!h.length?w(E):c.if(v(E),()=>w(E))})}function v(E){let T;if(f.length>8){let R=(0,n.schemaRefOrVal)(m,l.properties,"properties");T=(0,e.isOwnProperty)(c,R,E)}else f.length?T=(0,r.or)(...f.map(R=>(0,r._)`${E} === ${R}`)):T=r.nil;return h.length&&(T=(0,r.or)(T,...h.map(R=>(0,r._)`${(0,e.usePattern)(o,R)}.test(${E})`))),(0,r.not)(T)}function b(E){c.code((0,r._)`delete ${d}[${E}]`)}function w(E){if(_.removeAdditional==="all"||_.removeAdditional&&u===!1){b(E);return}if(u===!1){o.setParams({additionalProperty:E}),o.error(),g||c.break();return}if(typeof u=="object"&&!(0,n.alwaysValidSchema)(m,u)){let T=c.name("valid");_.removeAdditional==="failing"?(S(E,T,!1),c.if((0,r.not)(T),()=>{o.reset(),b(E)})):(S(E,T),g||c.if((0,r.not)(T),()=>c.break()))}}function S(E,T,R){let M={keyword:"additionalProperties",dataProp:E,dataPropType:n.Type.Str};R===!1&&Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1}),o.subschema(M,T)}}};t.default=i}),b6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=$l(),r=Zr(),a=et(),n=AT(),s={keyword:"properties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,parentSchema:u,data:l,it:d}=i;d.opts.removeAdditional==="all"&&u.additionalProperties===void 0&&n.default.code(new e.KeywordCxt(d,n.default,"additionalProperties"));let p=(0,r.allSchemaProperties)(c);for(let h of p)d.definedProperties.add(h);d.opts.unevaluated&&p.length&&d.props!==!0&&(d.props=a.mergeEvaluated.props(o,(0,a.toHash)(p),d.props));let m=p.filter(h=>!(0,a.alwaysValidSchema)(d,c[h]));if(m.length===0)return;let g=o.name("valid");for(let h of m)_(h)?f(h):(o.if((0,r.propertyInData)(o,l,h,d.opts.ownProperties)),f(h),d.allErrors||o.else().var(g,!0),o.endIf()),i.it.definedProperties.add(h),i.ok(g);function _(h){return d.opts.useDefaults&&!d.compositeRule&&c[h].default!==void 0}function f(h){i.subschema({keyword:"properties",schemaProp:h,dataProp:h},g)}}};t.default=s}),S6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r=ze(),a=et(),n=et(),s={keyword:"patternProperties",type:"object",schemaType:"object",code(i){let{gen:o,schema:c,data:u,parentSchema:l,it:d}=i,{opts:p}=d,m=(0,e.allSchemaProperties)(c),g=m.filter(w=>(0,a.alwaysValidSchema)(d,c[w]));if(m.length===0||g.length===m.length&&(!d.opts.unevaluated||d.props===!0))return;let _=p.strictSchema&&!p.allowMatchingProperties&&l.properties,f=o.name("valid");d.props!==!0&&!(d.props instanceof r.Name)&&(d.props=(0,n.evaluatedPropsToName)(o,d.props));let{props:h}=d;y();function y(){for(let w of m)_&&v(w),d.allErrors?b(w):(o.var(f,!0),b(w),o.if(f))}function v(w){for(let S in _)new RegExp(w).test(S)&&(0,a.checkStrictMode)(d,`property ${S} matches pattern ${w} (use allowMatchingProperties)`)}function b(w){o.forIn("key",u,S=>{o.if((0,r._)`${(0,e.usePattern)(i,w)}.test(${S})`,()=>{let E=g.includes(w);E||i.subschema({keyword:"patternProperties",schemaProp:w,dataProp:S,dataPropType:n.Type.Str},f),d.opts.unevaluated&&h!==!0?o.assign((0,r._)`${h}[${S}]`,!0):!E&&!d.allErrors&&o.if((0,r.not)(f),()=>o.break())})})}}};t.default=s}),x6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=et(),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(a){let{gen:n,schema:s,it:i}=a;if((0,e.alwaysValidSchema)(i,s)){a.fail();return}let o=n.name("valid");a.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),a.failResult(o,()=>a.reset(),()=>a.error())},error:{message:"must NOT be valid"}};t.default=r}),w6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=Zr(),r={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:e.validateUnion,error:{message:"must match a schema in anyOf"}};t.default=r}),E6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a={message:"must match exactly one schema in oneOf",params:({params:s})=>(0,e._)`{passingSchemas: ${s.passing}}`},n={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:a,code(s){let{gen:i,schema:o,parentSchema:c,it:u}=s;if(!Array.isArray(o))throw new Error("ajv implementation error");if(u.opts.discriminator&&c.discriminator)return;let l=o,d=i.let("valid",!1),p=i.let("passing",null),m=i.name("_valid");s.setParams({passing:p}),i.block(g),s.result(d,()=>s.reset(),()=>s.error(!0));function g(){l.forEach((_,f)=>{let h;(0,r.alwaysValidSchema)(u,_)?i.var(m,!0):h=s.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},m),f>0&&i.if((0,e._)`${m} && ${d}`).assign(d,!1).assign(p,(0,e._)`[${p}, ${f}]`).else(),i.if(m,()=>{i.assign(d,!0),i.assign(p,f),h&&s.mergeEvaluated(h,e.Name)})})}}};t.default=n}),T6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=et(),r={keyword:"allOf",schemaType:"array",code(a){let{gen:n,schema:s,it:i}=a;if(!Array.isArray(s))throw new Error("ajv implementation error");let o=n.name("valid");s.forEach((c,u)=>{if((0,e.alwaysValidSchema)(i,c))return;let l=a.subschema({keyword:"allOf",schemaProp:u},o);a.ok(o),a.mergeEvaluated(l)})}};t.default=r}),k6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=et(),a={message:({params:i})=>(0,e.str)`must match "${i.ifClause}" schema`,params:({params:i})=>(0,e._)`{failingKeyword: ${i.ifClause}}`},n={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:a,code(i){let{gen:o,parentSchema:c,it:u}=i;c.then===void 0&&c.else===void 0&&(0,r.checkStrictMode)(u,'"if" without "then" and "else" is ignored');let l=s(u,"then"),d=s(u,"else");if(!l&&!d)return;let p=o.let("valid",!0),m=o.name("_valid");if(g(),i.reset(),l&&d){let f=o.let("ifClause");i.setParams({ifClause:f}),o.if(m,_("then",f),_("else",f))}else l?o.if(m,_("then")):o.if((0,e.not)(m),_("else"));i.pass(p,()=>i.error(!0));function g(){let f=i.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);i.mergeEvaluated(f)}function _(f,h){return()=>{let y=i.subschema({keyword:f},m);o.assign(p,m),i.mergeValidEvaluated(y,p),h?o.assign(h,(0,e._)`${f}`):i.setParams({ifClause:f})}}}};function s(i,o){let c=i.schema[o];return c!==void 0&&!(0,r.alwaysValidSchema)(i,c)}t.default=n}),R6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=et(),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:a,parentSchema:n,it:s}){n.if===void 0&&(0,e.checkStrictMode)(s,`"${a}" without "if" is ignored`)}};t.default=r}),P6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=CT(),r=h6(),a=IT(),n=v6(),s=g6(),i=y6(),o=_6(),c=AT(),u=b6(),l=S6(),d=x6(),p=w6(),m=E6(),g=T6(),_=k6(),f=R6();function h(y=!1){let v=[d.default,p.default,m.default,g.default,_.default,f.default,o.default,c.default,i.default,u.default,l.default];return y?v.push(r.default,n.default):v.push(e.default,a.default),v.push(s.default),v}t.default=h}),$6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r={message:({schemaCode:n})=>(0,e.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,e._)`{format: ${n}}`},a={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:r,code(n,s){let{gen:i,data:o,$data:c,schema:u,schemaCode:l,it:d}=n,{opts:p,errSchemaPath:m,schemaEnv:g,self:_}=d;if(!p.validateFormats)return;c?f():h();function f(){let y=i.scopeValue("formats",{ref:_.formats,code:p.code.formats}),v=i.const("fDef",(0,e._)`${y}[${l}]`),b=i.let("fType"),w=i.let("format");i.if((0,e._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>i.assign(b,(0,e._)`${v}.type || "string"`).assign(w,(0,e._)`${v}.validate`),()=>i.assign(b,(0,e._)`"string"`).assign(w,v)),n.fail$data((0,e.or)(S(),E()));function S(){return p.strictSchema===!1?e.nil:(0,e._)`${l} && !${w}`}function E(){let T=g.$async?(0,e._)`(${v}.async ? await ${w}(${o}) : ${w}(${o}))`:(0,e._)`${w}(${o})`,R=(0,e._)`(typeof ${w} == "function" ? ${T} : ${w}.test(${o}))`;return(0,e._)`${w} && ${w} !== true && ${b} === ${s} && !${R}`}}function h(){let y=_.formats[u];if(!y){S();return}if(y===!0)return;let[v,b,w]=E(y);v===s&&n.pass(T());function S(){if(p.strictSchema===!1){_.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${u}" ignored in schema at path "${m}"`}}function E(R){let M=R instanceof RegExp?(0,e.regexpCode)(R):p.code.formats?(0,e._)`${p.code.formats}${(0,e.getProperty)(u)}`:void 0,j=i.scopeValue("formats",{key:u,ref:R,code:M});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,e._)`${j}.validate`]:["string",R,j]}function T(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!g.$async)throw new Error("async format in sync schema");return(0,e._)`await ${w}(${o})`}return typeof b=="function"?(0,e._)`${w}(${o})`:(0,e._)`${w}.test(${o})`}}}};t.default=a}),O6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=$6(),r=[e.default];t.default=r}),C6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}),I6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=r6(),r=m6(),a=P6(),n=O6(),s=C6(),i=[e.default,r.default,(0,a.default)(),n.default,s.metadataVocabulary,s.contentVocabulary];t.default=i}),A6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0;var e;(function(r){r.Tag="tag",r.Mapping="mapping"})(e||(t.DiscrError=e={}))}),N6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0});var e=ze(),r=A6(),a=Gm(),n=Ol(),s=et(),i={message:({params:{discrError:c,tagName:u}})=>c===r.DiscrError.Tag?`tag "${u}" must be string`:`value of tag "${u}" must be in oneOf`,params:({params:{discrError:c,tag:u,tagName:l}})=>(0,e._)`{error: ${c}, tag: ${l}, tagValue: ${u}}`},o={keyword:"discriminator",type:"object",schemaType:"object",error:i,code(c){let{gen:u,data:l,schema:d,parentSchema:p,it:m}=c,{oneOf:g}=p;if(!m.opts.discriminator)throw new Error("discriminator: requires discriminator option");let _=d.propertyName;if(typeof _!="string")throw new Error("discriminator: requires propertyName");if(d.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let f=u.let("valid",!1),h=u.const("tag",(0,e._)`${l}${(0,e.getProperty)(_)}`);u.if((0,e._)`typeof ${h} == "string"`,()=>y(),()=>c.error(!1,{discrError:r.DiscrError.Tag,tag:h,tagName:_})),c.ok(f);function y(){let w=b();u.if(!1);for(let S in w)u.elseIf((0,e._)`${h} === ${S}`),u.assign(f,v(w[S]));u.else(),c.error(!1,{discrError:r.DiscrError.Mapping,tag:h,tagName:_}),u.endIf()}function v(w){let S=u.name("valid"),E=c.subschema({keyword:"oneOf",schemaProp:w},S);return c.mergeEvaluated(E,e.Name),S}function b(){var w;let S={},E=R(p),T=!0;for(let q=0;q{e.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}}),j6=Q((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;var r=Qq(),a=I6(),n=N6(),s=M6(),i=["/properties"],o="http://json-schema.org/draft-07/schema";class c extends r.default{_addVocabularies(){super._addVocabularies(),a.default.forEach(g=>this.addVocabulary(g)),this.opts.discriminator&&this.addKeyword(n.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let g=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(g,o,!1),this.refs["http://json-schema.org/schema"]=o}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(o)?o:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=$l();Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=ze();Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var d=Vm();Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return d.default}});var p=Ol();Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})}),D6=Q(t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.formatLimitDefinition=void 0;var e=j6(),r=ze(),a=r.operators,n={formatMaximum:{okStr:"<=",ok:a.LTE,fail:a.GT},formatMinimum:{okStr:">=",ok:a.GTE,fail:a.LT},formatExclusiveMaximum:{okStr:"<",ok:a.LT,fail:a.GTE},formatExclusiveMinimum:{okStr:">",ok:a.GT,fail:a.LTE}},s={message:({keyword:o,schemaCode:c})=>(0,r.str)`should be ${n[o].okStr} ${c}`,params:({keyword:o,schemaCode:c})=>(0,r._)`{comparison: ${n[o].okStr}, limit: ${c}}`};t.formatLimitDefinition={keyword:Object.keys(n),type:"string",schemaType:"string",$data:!0,error:s,code(o){let{gen:c,data:u,schemaCode:l,keyword:d,it:p}=o,{opts:m,self:g}=p;if(!m.validateFormats)return;let _=new e.KeywordCxt(p,g.RULES.all.format.definition,"format");_.$data?f():h();function f(){let v=c.scopeValue("formats",{ref:g.formats,code:m.code.formats}),b=c.const("fmt",(0,r._)`${v}[${_.schemaCode}]`);o.fail$data((0,r.or)((0,r._)`typeof ${b} != "object"`,(0,r._)`${b} instanceof RegExp`,(0,r._)`typeof ${b}.compare != "function"`,y(b)))}function h(){let v=_.schema,b=g.formats[v];if(!b||b===!0)return;if(typeof b!="object"||b instanceof RegExp||typeof b.compare!="function")throw new Error(`"${d}": format "${v}" does not define "compare" function`);let w=c.scopeValue("formats",{key:v,ref:b,code:m.code.formats?(0,r._)`${m.code.formats}${(0,r.getProperty)(v)}`:void 0});o.fail$data(y(w))}function y(v){return(0,r._)`${v}.compare(${u}, ${l}) ${n[d].fail} 0`}},dependencies:["format"]};var i=o=>(o.addKeyword(t.formatLimitDefinition),o);t.default=i}),L6=Q((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=Vq(),a=D6(),n=ze(),s=new n.Name("fullFormats"),i=new n.Name("fastFormats"),o=(u,l={keywords:!0})=>{if(Array.isArray(l))return c(u,l,r.fullFormats,s),u;let[d,p]=l.mode==="fast"?[r.fastFormats,i]:[r.fullFormats,s],m=l.formats||r.formatNames;return c(u,m,d,p),l.keywords&&(0,a.default)(u),u};o.get=(u,l="full")=>{let p=(l==="fast"?r.fastFormats:r.fullFormats)[u];if(!p)throw new Error(`Unknown format "${u}"`);return p};function c(u,l,d,p){var m,g;(m=(g=u.opts.code).formats)!==null&&m!==void 0||(g.formats=(0,n._)`require("ajv-formats/dist/formats").${p}`);for(let _ of l)u.addFormat(_,d[_])}e.exports=t=o,Object.defineProperty(t,"__esModule",{value:!0}),t.default=o}),q6=50;function jT(t=q6){let e=new AbortController;return(0,MT.setMaxListeners)(t,e.signal),e}var F6=typeof global=="object"&&global&&global.Object===Object&&global,U6=F6,z6=typeof self=="object"&&self&&self.Object===Object&&self,H6=U6||z6||Function("return this")(),Wm=H6,B6=Wm.Symbol,vl=B6,FT=Object.prototype,V6=FT.hasOwnProperty,G6=FT.toString,Io=vl?vl.toStringTag:void 0;function Z6(t){var e=V6.call(t,Io),r=t[Io];try{t[Io]=void 0;var a=!0}catch{}var n=G6.call(t);return a&&(e?t[Io]=r:delete t[Io]),n}var W6=Z6,K6=Object.prototype,X6=K6.toString;function J6(t){return X6.call(t)}var Y6=J6,Q6="[object Null]",eF="[object Undefined]",V1=vl?vl.toStringTag:void 0;function tF(t){return t==null?t===void 0?eF:Q6:V1&&V1 in Object(t)?W6(t):Y6(t)}var rF=tF;function nF(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var UT=nF,aF="[object AsyncFunction]",sF="[object Function]",iF="[object GeneratorFunction]",oF="[object Proxy]";function cF(t){if(!UT(t))return!1;var e=rF(t);return e==sF||e==iF||e==aF||e==oF}var uF=cF,lF=Wm["__core-js_shared__"],gm=lF,G1=(function(){var t=/[^.]+$/.exec(gm&&gm.keys&&gm.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function dF(t){return!!G1&&G1 in t}var pF=dF,fF=Function.prototype,mF=fF.toString;function hF(t){if(t!=null){try{return mF.call(t)}catch{}try{return t+""}catch{}}return""}var vF=hF,gF=/[\\^$.*+?()[\]{}|]/g,yF=/^\[object .+?Constructor\]$/,_F=Function.prototype,bF=Object.prototype,SF=_F.toString,xF=bF.hasOwnProperty,wF=RegExp("^"+SF.call(xF).replace(gF,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function EF(t){if(!UT(t)||pF(t))return!1;var e=uF(t)?wF:yF;return e.test(vF(t))}var TF=EF;function kF(t,e){return t?.[e]}var RF=kF;function PF(t,e){var r=RF(t,e);return TF(r)?r:void 0}var zT=PF,$F=zT(Object,"create"),Mo=$F;function OF(){this.__data__=Mo?Mo(null):{},this.size=0}var CF=OF;function IF(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var AF=IF,NF="__lodash_hash_undefined__",MF=Object.prototype,jF=MF.hasOwnProperty;function DF(t){var e=this.__data__;if(Mo){var r=e[t];return r===NF?void 0:r}return jF.call(e,t)?e[t]:void 0}var LF=DF,qF=Object.prototype,FF=qF.hasOwnProperty;function UF(t){var e=this.__data__;return Mo?e[t]!==void 0:FF.call(e,t)}var zF=UF,HF="__lodash_hash_undefined__";function BF(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Mo&&e===void 0?HF:e,this}var VF=BF;function yi(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}var a5=n5;function s5(t,e){var r=this.__data__,a=Cl(r,t);return a<0?(++this.size,r.push([t,e])):r[a][1]=e,this}var i5=s5;function _i(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{if(!t||t.trim()==="")return null;let e=t.split(",").map(s=>s.trim()).filter(Boolean);if(e.length===0)return null;let r=e.some(s=>s.startsWith("!")),a=e.some(s=>!s.startsWith("!"));if(r&&a)return null;let n=e.map(s=>s.replace(/^!/,"").toLowerCase());return{include:r?[]:n,exclude:r?n:[],isExclusive:r}});function k5(t){let e=[],r=t.match(/^MCP server ["']([^"']+)["']/);if(r&&r[1])e.push("mcp"),e.push(r[1].toLowerCase());else{let s=t.match(/^([^:[]+):/);s&&s[1]&&e.push(s[1].trim().toLowerCase())}let a=t.match(/^\[([^\]]+)]/);a&&a[1]&&e.push(a[1].trim().toLowerCase()),t.toLowerCase().includes("statsig event:")&&e.push("statsig");let n=t.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(n&&n[1]){let s=n[1].trim().toLowerCase();s.length<30&&!s.includes(" ")&&e.push(s)}return Array.from(new Set(e))}function R5(t,e){return e?t.length===0?!1:e.isExclusive?!t.some(r=>e.exclude.includes(r)):t.some(r=>e.include.includes(r)):!0}function P5(t,e){if(!e)return!0;let r=k5(t);return R5(r,e)}function GT(){return process.env.CLAUDE_CONFIG_DIR??(0,BT.join)((0,VT.homedir)(),".claude")}function K1(t){if(!t)return!1;if(typeof t=="boolean")return t;let e=t.toLowerCase().trim();return["1","true","yes","on"].includes(e)}var $5={name:"BASH_MAX_OUTPUT_LENGTH",default:3e4,validate:t=>{if(!t)return{effective:3e4,status:"valid"};let a=parseInt(t,10);return isNaN(a)||a<=0?{effective:3e4,status:"invalid",message:`Invalid value "${t}" (using default: 30000)`}:a>15e4?{effective:15e4,status:"capped",message:`Capped from ${a} to 150000`}:{effective:a,status:"valid"}}},O5={name:"CLAUDE_CODE_MAX_OUTPUT_TOKENS",default:32e3,validate:t=>{if(!t)return{effective:32e3,status:"valid"};let a=parseInt(t,10);return isNaN(a)||a<=0?{effective:32e3,status:"invalid",message:`Invalid value "${t}" (using default: 32000)`}:a>64e3?{effective:64e3,status:"capped",message:`Capped from ${a} to 64000`}:{effective:a,status:"valid"}}};function C5(){let t="";return typeof process<"u"&&typeof process.cwd=="function"&&(t=(0,WT.realpathSync)((0,ZT.cwd)())),{originalCwd:t,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:t,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,clientType:"cli",sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,allowedSettingSources:["userSettings","projectSettings","localSettings","flagSettings","policySettings"],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,sessionId:(0,KT.randomUUID)(),loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,envVarValidators:[$5,O5],lastAPIRequest:null,inMemoryErrorLog:[],inlinePlugins:[],sessionBypassPermissionsMode:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,hasExitedDelegateMode:!1,needsDelegateModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map}}var I5=C5();function A5(){return I5.sessionId}function N5({writeFn:t,flushIntervalMs:e=1e3,maxBufferSize:r=100,immediateMode:a=!1}){let n=[],s=null;function i(){s&&(clearTimeout(s),s=null)}function o(){n.length!==0&&(t(n.join("")),n=[],i())}function c(){s||(s=setTimeout(o,e))}return{write(u){if(a){t(u);return}n.push(u),c(),n.length>=r&&o()},flush:o,dispose(){o()}}}var X1=new Set;function M5(t){return X1.add(t),()=>X1.delete(t)}var j5=Ko(()=>K1(process.env.DEBUG)||K1(process.env.DEBUG_SDK)||process.argv.includes("--debug")||process.argv.includes("-d")||XT()||process.argv.some(t=>t.startsWith("--debug="))),D5=Ko(()=>{let t=process.argv.find(r=>r.startsWith("--debug="));if(!t)return null;let e=t.substring(8);return T5(e)}),XT=Ko(()=>process.argv.includes("--debug-to-stderr")||process.argv.includes("-d2e"));function L5(t){if(typeof process>"u"||typeof process.versions>"u"||typeof process.versions.node>"u")return!1;let e=D5();return P5(t,e)}var q5=!1,ol=null;function F5(){return ol||(ol=N5({writeFn:t=>{let e=JT();En().existsSync((0,Ha.dirname)(e))||En().mkdirSync((0,Ha.dirname)(e)),En().appendFileSync(e,t),U5()},flushIntervalMs:1e3,maxBufferSize:100,immediateMode:j5()}),M5(async()=>ol?.dispose())),ol}function Zn(t,{level:e}={level:"debug"}){if(!L5(t))return;q5&&t.includes(` `)&&(t=JSON.stringify(t));let a=`${new Date().toISOString()} [${e.toUpperCase()}] ${t.trim()} `;if(XT()){E5(a);return}F5().write(a)}function JT(){return process.env.CLAUDE_CODE_DEBUG_LOGS_DIR??(0,Ha.join)(GT(),"debug",`${A5()}.txt`)}var U5=Ko(()=>{if(process.argv[2]!=="--ripgrep")try{let t=JT(),e=(0,Ha.dirname)(t),r=(0,Ha.join)(e,"latest");if(En().existsSync(e)||En().mkdirSync(e),En().existsSync(r))try{En().unlinkSync(r)}catch{}En().symlinkSync(t,r)}catch{}}),z5=5;function Ot(t,e){let r=performance.now();try{return e()}finally{let a=performance.now()-r;a>z5&&Zn(`[SLOW OPERATION DETECTED] fs.${t} (${a.toFixed(1)}ms)`)}}var H5={cwd(){return process.cwd()},existsSync(t){return Ot("existsSync",()=>Te.existsSync(t))},async stat(t){return(0,qT.stat)(t)},statSync(t){return Ot("statSync",()=>Te.statSync(t))},lstatSync(t){return Ot("lstatSync",()=>Te.lstatSync(t))},readFileSync(t,e){return Ot("readFileSync",()=>Te.readFileSync(t,{encoding:e.encoding}))},readFileBytesSync(t){return Ot("readFileBytesSync",()=>Te.readFileSync(t))},readSync(t,e){return Ot("readSync",()=>{let r;try{r=Te.openSync(t,"r");let a=Buffer.alloc(e.length),n=Te.readSync(r,a,0,e.length,0);return{buffer:a,bytesRead:n}}finally{r&&Te.closeSync(r)}})},writeFileSync(t,e,r){return Ot("writeFileSync",()=>{let a=Te.existsSync(t);if(!r.flush){let s={encoding:r.encoding};a?r.mode!==void 0&&(s.mode=r.mode):s.mode=r.mode??384,Te.writeFileSync(t,e,s);return}let n;try{let s=a?r.mode:r.mode??384;n=Te.openSync(t,"w",s),Te.writeFileSync(n,e,{encoding:r.encoding}),Te.fsyncSync(n)}finally{n&&Te.closeSync(n)}})},appendFileSync(t,e,r){return Ot("appendFileSync",()=>{if(Te.existsSync(t))Te.appendFileSync(t,e);else{let a=r?.mode??384,n=Te.openSync(t,"a",a);try{Te.appendFileSync(n,e)}finally{Te.closeSync(n)}}})},copyFileSync(t,e){return Ot("copyFileSync",()=>Te.copyFileSync(t,e))},unlinkSync(t){return Ot("unlinkSync",()=>Te.unlinkSync(t))},renameSync(t,e){return Ot("renameSync",()=>Te.renameSync(t,e))},linkSync(t,e){return Ot("linkSync",()=>Te.linkSync(t,e))},symlinkSync(t,e){return Ot("symlinkSync",()=>Te.symlinkSync(t,e))},readlinkSync(t){return Ot("readlinkSync",()=>Te.readlinkSync(t))},realpathSync(t){return Ot("realpathSync",()=>Te.realpathSync(t))},mkdirSync(t){return Ot("mkdirSync",()=>{Te.existsSync(t)||Te.mkdirSync(t,{recursive:!0,mode:448})})},readdirSync(t){return Ot("readdirSync",()=>Te.readdirSync(t,{withFileTypes:!0}))},readdirStringSync(t){return Ot("readdirStringSync",()=>Te.readdirSync(t))},isDirEmptySync(t){return Ot("isDirEmptySync",()=>this.readdirSync(t).length===0)},rmdirSync(t){return Ot("rmdirSync",()=>Te.rmdirSync(t))},rmSync(t,e){return Ot("rmSync",()=>Te.rmSync(t,e))},createWriteStream(t){return Te.createWriteStream(t)}},B5=H5;function En(){return B5}var za=class extends Error{};function YT(){return process.versions.bun!==void 0}var cl=null,J1=!1;function V5(){if(J1)return cl;if(J1=!0,!process.env.DEBUG_CLAUDE_AGENT_SDK)return null;let t=(0,wm.join)(GT(),"debug");return cl=(0,wm.join)(t,`sdk-${(0,QT.randomUUID)()}.txt`),(0,Si.existsSync)(t)||(0,Si.mkdirSync)(t,{recursive:!0}),process.stderr.write(`SDK debug logs: ${cl} `),cl}function Ua(t){let e=V5();if(!e)return;let a=`${new Date().toISOString()} ${t} -`;(0,Si.appendFileSync)(e,a)}function G5(t,e){let r={...t};if(e){let a={sandbox:e};if(r.settings)try{a={...JSON.parse(r.settings),sandbox:e}}catch{}r.settings=JSON.stringify(a)}return r}var Em=class{options;process;processStdin;processStdout;ready=!1;abortController;exitError;exitListeners=[];processExitHandler;abortHandler;constructor(e){this.options=e,this.abortController=e.abortController||jT(),this.initialize()}getDefaultExecutable(){return YT()?"bun":"node"}spawnLocalProcess(e){let{command:r,args:a,cwd:n,env:s,signal:i}=e,o=s.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr?"pipe":"ignore",c=(0,DT.spawn)(r,a,{cwd:n,stdio:["pipe","pipe",o],signal:i,env:s,windowsHide:!0});return(s.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr)&&c.stderr.on("data",l=>{let d=l.toString();Ua(d),this.options.stderr&&this.options.stderr(d)}),{stdin:c.stdin,stdout:c.stdout,get killed(){return c.killed},get exitCode(){return c.exitCode},kill:c.kill.bind(c),on:c.on.bind(c),once:c.once.bind(c),off:c.off.bind(c)}}initialize(){try{let{additionalDirectories:e=[],betas:r,cwd:a,executable:n=this.getDefaultExecutable(),executableArgs:s=[],extraArgs:i={},pathToClaudeCodeExecutable:o,env:c={...process.env},maxThinkingTokens:u,maxTurns:l,maxBudgetUsd:d,model:p,fallbackModel:m,jsonSchema:g,permissionMode:_,allowDangerouslySkipPermissions:f,permissionPromptToolName:h,continueConversation:y,resume:v,settingSources:b,allowedTools:w=[],disallowedTools:S=[],tools:E,mcpServers:T,strictMcpConfig:R,canUseTool:M,includePartialMessages:j,plugins:q,sandbox:H}=this.options,N=["--output-format","stream-json","--verbose","--input-format","stream-json"];if(u!==void 0&&N.push("--max-thinking-tokens",u.toString()),l&&N.push("--max-turns",l.toString()),d!==void 0&&N.push("--max-budget-usd",d.toString()),p&&N.push("--model",p),r&&r.length>0&&N.push("--betas",r.join(",")),g&&N.push("--json-schema",JSON.stringify(g)),c.DEBUG_CLAUDE_AGENT_SDK&&N.push("--debug-to-stderr"),M){if(h)throw new Error("canUseTool callback cannot be used with permissionPromptToolName. Please use one or the other.");N.push("--permission-prompt-tool","stdio")}else h&&N.push("--permission-prompt-tool",h);if(y&&N.push("--continue"),v&&N.push("--resume",v),w.length>0&&N.push("--allowedTools",w.join(",")),S.length>0&&N.push("--disallowedTools",S.join(",")),E!==void 0&&(Array.isArray(E)?E.length===0?N.push("--tools",""):N.push("--tools",E.join(",")):N.push("--tools","default")),T&&Object.keys(T).length>0&&N.push("--mcp-config",JSON.stringify({mcpServers:T})),b&&N.push("--setting-sources",b.join(",")),R&&N.push("--strict-mcp-config"),_&&N.push("--permission-mode",_),f&&N.push("--allow-dangerously-skip-permissions"),m){if(p&&m===p)throw new Error("Fallback model cannot be the same as the main model. Please specify a different model for fallbackModel option.");N.push("--fallback-model",m)}j&&N.push("--include-partial-messages");for(let $ of e)N.push("--add-dir",$);if(q&&q.length>0)for(let $ of q)if($.type==="local")N.push("--plugin-dir",$.path);else throw new Error(`Unsupported plugin type: ${$.type}`);this.options.forkSession&&N.push("--fork-session"),this.options.resumeSessionAt&&N.push("--resume-session-at",this.options.resumeSessionAt),this.options.persistSession===!1&&N.push("--no-session-persistence");let W=G5(i??{},H);for(let[$,z]of Object.entries(W))z===null?N.push(`--${$}`):N.push(`--${$}`,z);c.CLAUDE_CODE_ENTRYPOINT||(c.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),delete c.NODE_OPTIONS,c.DEBUG_CLAUDE_AGENT_SDK?c.DEBUG="1":delete c.DEBUG;let oe=Z5(o),he=oe?o:n,ae=oe?[...s,...N]:[...s,o,...N],re={command:he,args:ae,cwd:a,env:c,signal:this.abortController.signal};if(this.options.spawnClaudeCodeProcess)Ua(`Spawning Claude Code (custom): ${he} ${ae.join(" ")}`),this.process=this.options.spawnClaudeCodeProcess(re);else{if(!En().existsSync(o)){let z=oe?`Claude Code native binary not found at ${o}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.`:`Claude Code executable not found at ${o}. Is options.pathToClaudeCodeExecutable set?`;throw new ReferenceError(z)}Ua(`Spawning Claude Code: ${he} ${ae.join(" ")}`),this.process=this.spawnLocalProcess(re)}this.processStdin=this.process.stdin,this.processStdout=this.process.stdout;let U=()=>{this.process&&!this.process.killed&&this.process.kill("SIGTERM")};this.processExitHandler=U,this.abortHandler=U,process.on("exit",this.processExitHandler),this.abortController.signal.addEventListener("abort",this.abortHandler),this.process.on("error",$=>{this.ready=!1,this.abortController.signal.aborted?this.exitError=new za("Claude Code process aborted by user"):(this.exitError=new Error(`Failed to spawn Claude Code process: ${$.message}`),Ua(this.exitError.message))}),this.process.on("exit",($,z)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new za("Claude Code process aborted by user");else{let A=this.getProcessExitError($,z);A&&(this.exitError=A,Ua(A.message))}}),this.ready=!0}catch(e){throw this.ready=!1,e}}getProcessExitError(e,r){if(e!==0&&e!==null)return new Error(`Claude Code process exited with code ${e}`);if(r)return new Error(`Claude Code process terminated by signal ${r}`)}write(e){if(this.abortController.signal.aborted)throw new za("Operation aborted");if(!this.ready||!this.processStdin)throw new Error("ProcessTransport is not ready for writing");if(this.process?.killed||this.process?.exitCode!==null)throw new Error("Cannot write to terminated process");if(this.exitError)throw new Error(`Cannot write to process that exited with error: ${this.exitError.message}`);Ua(`[ProcessTransport] Writing to stdin: ${e.substring(0,100)}`);try{this.processStdin.write(e)||Ua("[ProcessTransport] Write buffer full, data queued")}catch(r){throw this.ready=!1,new Error(`Failed to write to process stdin: ${r.message}`)}}close(){this.processStdin&&(this.processStdin.end(),this.processStdin=void 0),this.abortHandler&&(this.abortController.signal.removeEventListener("abort",this.abortHandler),this.abortHandler=void 0);for(let{handler:e}of this.exitListeners)this.process?.off("exit",e);this.exitListeners=[],this.process&&!this.process.killed&&(this.process.kill("SIGTERM"),setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL")},5e3)),this.ready=!1,this.processExitHandler&&(process.off("exit",this.processExitHandler),this.processExitHandler=void 0)}isReady(){return this.ready}async*readMessages(){if(!this.processStdout)throw new Error("ProcessTransport output stream not available");let e=(0,LT.createInterface)({input:this.processStdout});try{for await(let r of e)r.trim()&&(yield JSON.parse(r));await this.waitForExit()}catch(r){throw r}finally{e.close()}}endInput(){this.processStdin&&this.processStdin.end()}getInputStream(){return this.processStdin}onExit(e){if(!this.process)return()=>{};let r=(a,n)=>{let s=this.getProcessExitError(a,n);e(s)};return this.process.on("exit",r),this.exitListeners.push({callback:e,handler:r}),()=>{this.process&&this.process.off("exit",r);let a=this.exitListeners.findIndex(n=>n.handler===r);a!==-1&&this.exitListeners.splice(a,1)}}async waitForExit(){if(!this.process){if(this.exitError)throw this.exitError;return}if(this.process.exitCode!==null||this.process.killed){if(this.exitError)throw this.exitError;return}return new Promise((e,r)=>{let a=(s,i)=>{if(this.abortController.signal.aborted){r(new za("Operation aborted"));return}let o=this.getProcessExitError(s,i);o?r(o):e()};this.process.once("exit",a);let n=s=>{this.process.off("exit",a),r(s)};this.process.once("error",n),this.process.once("exit",()=>{this.process.off("error",n)})})}};function Z5(t){return![".js",".mjs",".tsx",".ts",".jsx"].some(r=>t.endsWith(r))}var Tm=class{returned;queue=[];readResolve;readReject;isDone=!1;hasError;started=!1;constructor(e){this.returned=e}[Symbol.asyncIterator](){if(this.started)throw new Error("Stream can only be iterated once");return this.started=!0,this}next(){return this.queue.length>0?Promise.resolve({done:!1,value:this.queue.shift()}):this.isDone?Promise.resolve({done:!0,value:void 0}):this.hasError?Promise.reject(this.hasError):new Promise((e,r)=>{this.readResolve=e,this.readReject=r})}enqueue(e){if(this.readResolve){let r=this.readResolve;this.readResolve=void 0,this.readReject=void 0,r({done:!1,value:e})}else this.queue.push(e)}done(){if(this.isDone=!0,this.readResolve){let e=this.readResolve;this.readResolve=void 0,this.readReject=void 0,e({done:!0,value:void 0})}}error(e){if(this.hasError=e,this.readReject){let r=this.readReject;this.readResolve=void 0,this.readReject=void 0,r(e)}}return(){return this.isDone=!0,this.returned&&this.returned(),Promise.resolve({done:!0,value:void 0})}},km=class{sendMcpMessage;isClosed=!1;constructor(e){this.sendMcpMessage=e}onclose;onerror;onmessage;async start(){}async send(e){if(this.isClosed)throw new Error("Transport is closed");this.sendMcpMessage(e)}async close(){this.isClosed||(this.isClosed=!0,this.onclose?.())}},Rm=class{transport;isSingleUserTurn;canUseTool;hooks;abortController;jsonSchema;initConfig;pendingControlResponses=new Map;cleanupPerformed=!1;sdkMessages;inputStream=new Tm;initialization;cancelControllers=new Map;hookCallbacks=new Map;nextCallbackId=0;sdkMcpTransports=new Map;sdkMcpServerInstances=new Map;pendingMcpResponses=new Map;firstResultReceivedResolve;firstResultReceived=!1;hasBidirectionalNeeds(){return this.sdkMcpTransports.size>0||this.hooks!==void 0&&Object.keys(this.hooks).length>0||this.canUseTool!==void 0}constructor(e,r,a,n,s,i=new Map,o,c){this.transport=e,this.isSingleUserTurn=r,this.canUseTool=a,this.hooks=n,this.abortController=s,this.jsonSchema=o,this.initConfig=c;for(let[u,l]of i)this.connectSdkMcpServer(u,l);this.sdkMessages=this.readSdkMessages(),this.readMessages(),this.initialization=this.initialize(),this.initialization.catch(()=>{})}setError(e){this.inputStream.error(e)}cleanup(e){if(!this.cleanupPerformed){this.cleanupPerformed=!0;try{this.transport.close(),this.pendingControlResponses.clear(),this.pendingMcpResponses.clear(),this.cancelControllers.clear(),this.hookCallbacks.clear();for(let r of this.sdkMcpTransports.values())try{r.close()}catch{}this.sdkMcpTransports.clear(),e?this.inputStream.error(e):this.inputStream.done()}catch{}}}next(...[e]){return this.sdkMessages.next(e)}return(e){return this.sdkMessages.return(e)}throw(e){return this.sdkMessages.throw(e)}[Symbol.asyncIterator](){return this.sdkMessages}[Symbol.asyncDispose](){return this.sdkMessages[Symbol.asyncDispose]()}async readMessages(){try{for await(let e of this.transport.readMessages()){if(e.type==="control_response"){let r=this.pendingControlResponses.get(e.response.request_id);r&&r(e.response);continue}else if(e.type==="control_request"){this.handleControlRequest(e);continue}else if(e.type==="control_cancel_request"){this.handleControlCancelRequest(e);continue}else if(e.type==="keep_alive")continue;e.type==="result"&&(this.firstResultReceived=!0,this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.isSingleUserTurn&&(Zn("[Query.readMessages] First result received for single-turn query, closing stdin"),this.transport.endInput())),this.inputStream.enqueue(e)}this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.done(),this.cleanup()}catch(e){this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.error(e),this.cleanup(e)}}async handleControlRequest(e){let r=new AbortController;this.cancelControllers.set(e.request_id,r);try{let a=await this.processControlRequest(e,r.signal),n={type:"control_response",response:{subtype:"success",request_id:e.request_id,response:a}};await Promise.resolve(this.transport.write(JSON.stringify(n)+` +`;(0,Si.appendFileSync)(e,a)}function G5(t,e){let r={...t};if(e){let a={sandbox:e};if(r.settings)try{a={...JSON.parse(r.settings),sandbox:e}}catch{}r.settings=JSON.stringify(a)}return r}var Em=class{options;process;processStdin;processStdout;ready=!1;abortController;exitError;exitListeners=[];processExitHandler;abortHandler;constructor(e){this.options=e,this.abortController=e.abortController||jT(),this.initialize()}getDefaultExecutable(){return YT()?"bun":"node"}spawnLocalProcess(e){let{command:r,args:a,cwd:n,env:s,signal:i}=e,o=s.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr?"pipe":"ignore",c=(0,DT.spawn)(r,a,{cwd:n,stdio:["pipe","pipe",o],signal:i,env:s,windowsHide:!0});return(s.DEBUG_CLAUDE_AGENT_SDK||this.options.stderr)&&c.stderr.on("data",l=>{let d=l.toString();Ua(d),this.options.stderr&&this.options.stderr(d)}),{stdin:c.stdin,stdout:c.stdout,get killed(){return c.killed},get exitCode(){return c.exitCode},kill:c.kill.bind(c),on:c.on.bind(c),once:c.once.bind(c),off:c.off.bind(c)}}initialize(){try{let{additionalDirectories:e=[],betas:r,cwd:a,executable:n=this.getDefaultExecutable(),executableArgs:s=[],extraArgs:i={},pathToClaudeCodeExecutable:o,env:c={...process.env},maxThinkingTokens:u,maxTurns:l,maxBudgetUsd:d,model:p,fallbackModel:m,jsonSchema:g,permissionMode:_,allowDangerouslySkipPermissions:f,permissionPromptToolName:h,continueConversation:y,resume:v,settingSources:b,allowedTools:w=[],disallowedTools:S=[],tools:E,mcpServers:T,strictMcpConfig:R,canUseTool:M,includePartialMessages:j,plugins:q,sandbox:H}=this.options,N=["--output-format","stream-json","--verbose","--input-format","stream-json"];if(u!==void 0&&N.push("--max-thinking-tokens",u.toString()),l&&N.push("--max-turns",l.toString()),d!==void 0&&N.push("--max-budget-usd",d.toString()),p&&N.push("--model",p),r&&r.length>0&&N.push("--betas",r.join(",")),g&&N.push("--json-schema",JSON.stringify(g)),c.DEBUG_CLAUDE_AGENT_SDK&&N.push("--debug-to-stderr"),M){if(h)throw new Error("canUseTool callback cannot be used with permissionPromptToolName. Please use one or the other.");N.push("--permission-prompt-tool","stdio")}else h&&N.push("--permission-prompt-tool",h);if(y&&N.push("--continue"),v&&N.push("--resume",v),w.length>0&&N.push("--allowedTools",w.join(",")),S.length>0&&N.push("--disallowedTools",S.join(",")),E!==void 0&&(Array.isArray(E)?E.length===0?N.push("--tools",""):N.push("--tools",E.join(",")):N.push("--tools","default")),T&&Object.keys(T).length>0&&N.push("--mcp-config",JSON.stringify({mcpServers:T})),b&&N.push("--setting-sources",b.join(",")),R&&N.push("--strict-mcp-config"),_&&N.push("--permission-mode",_),f&&N.push("--allow-dangerously-skip-permissions"),m){if(p&&m===p)throw new Error("Fallback model cannot be the same as the main model. Please specify a different model for fallbackModel option.");N.push("--fallback-model",m)}j&&N.push("--include-partial-messages");for(let P of e)N.push("--add-dir",P);if(q&&q.length>0)for(let P of q)if(P.type==="local")N.push("--plugin-dir",P.path);else throw new Error(`Unsupported plugin type: ${P.type}`);this.options.forkSession&&N.push("--fork-session"),this.options.resumeSessionAt&&N.push("--resume-session-at",this.options.resumeSessionAt),this.options.persistSession===!1&&N.push("--no-session-persistence");let W=G5(i??{},H);for(let[P,z]of Object.entries(W))z===null?N.push(`--${P}`):N.push(`--${P}`,z);c.CLAUDE_CODE_ENTRYPOINT||(c.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),delete c.NODE_OPTIONS,c.DEBUG_CLAUDE_AGENT_SDK?c.DEBUG="1":delete c.DEBUG;let oe=Z5(o),he=oe?o:n,ae=oe?[...s,...N]:[...s,o,...N],re={command:he,args:ae,cwd:a,env:c,signal:this.abortController.signal};if(this.options.spawnClaudeCodeProcess)Ua(`Spawning Claude Code (custom): ${he} ${ae.join(" ")}`),this.process=this.options.spawnClaudeCodeProcess(re);else{if(!En().existsSync(o)){let z=oe?`Claude Code native binary not found at ${o}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.`:`Claude Code executable not found at ${o}. Is options.pathToClaudeCodeExecutable set?`;throw new ReferenceError(z)}Ua(`Spawning Claude Code: ${he} ${ae.join(" ")}`),this.process=this.spawnLocalProcess(re)}this.processStdin=this.process.stdin,this.processStdout=this.process.stdout;let U=()=>{this.process&&!this.process.killed&&this.process.kill("SIGTERM")};this.processExitHandler=U,this.abortHandler=U,process.on("exit",this.processExitHandler),this.abortController.signal.addEventListener("abort",this.abortHandler),this.process.on("error",P=>{this.ready=!1,this.abortController.signal.aborted?this.exitError=new za("Claude Code process aborted by user"):(this.exitError=new Error(`Failed to spawn Claude Code process: ${P.message}`),Ua(this.exitError.message))}),this.process.on("exit",(P,z)=>{if(this.ready=!1,this.abortController.signal.aborted)this.exitError=new za("Claude Code process aborted by user");else{let A=this.getProcessExitError(P,z);A&&(this.exitError=A,Ua(A.message))}}),this.ready=!0}catch(e){throw this.ready=!1,e}}getProcessExitError(e,r){if(e!==0&&e!==null)return new Error(`Claude Code process exited with code ${e}`);if(r)return new Error(`Claude Code process terminated by signal ${r}`)}write(e){if(this.abortController.signal.aborted)throw new za("Operation aborted");if(!this.ready||!this.processStdin)throw new Error("ProcessTransport is not ready for writing");if(this.process?.killed||this.process?.exitCode!==null)throw new Error("Cannot write to terminated process");if(this.exitError)throw new Error(`Cannot write to process that exited with error: ${this.exitError.message}`);Ua(`[ProcessTransport] Writing to stdin: ${e.substring(0,100)}`);try{this.processStdin.write(e)||Ua("[ProcessTransport] Write buffer full, data queued")}catch(r){throw this.ready=!1,new Error(`Failed to write to process stdin: ${r.message}`)}}close(){this.processStdin&&(this.processStdin.end(),this.processStdin=void 0),this.abortHandler&&(this.abortController.signal.removeEventListener("abort",this.abortHandler),this.abortHandler=void 0);for(let{handler:e}of this.exitListeners)this.process?.off("exit",e);this.exitListeners=[],this.process&&!this.process.killed&&(this.process.kill("SIGTERM"),setTimeout(()=>{this.process&&!this.process.killed&&this.process.kill("SIGKILL")},5e3)),this.ready=!1,this.processExitHandler&&(process.off("exit",this.processExitHandler),this.processExitHandler=void 0)}isReady(){return this.ready}async*readMessages(){if(!this.processStdout)throw new Error("ProcessTransport output stream not available");let e=(0,LT.createInterface)({input:this.processStdout});try{for await(let r of e)r.trim()&&(yield JSON.parse(r));await this.waitForExit()}catch(r){throw r}finally{e.close()}}endInput(){this.processStdin&&this.processStdin.end()}getInputStream(){return this.processStdin}onExit(e){if(!this.process)return()=>{};let r=(a,n)=>{let s=this.getProcessExitError(a,n);e(s)};return this.process.on("exit",r),this.exitListeners.push({callback:e,handler:r}),()=>{this.process&&this.process.off("exit",r);let a=this.exitListeners.findIndex(n=>n.handler===r);a!==-1&&this.exitListeners.splice(a,1)}}async waitForExit(){if(!this.process){if(this.exitError)throw this.exitError;return}if(this.process.exitCode!==null||this.process.killed){if(this.exitError)throw this.exitError;return}return new Promise((e,r)=>{let a=(s,i)=>{if(this.abortController.signal.aborted){r(new za("Operation aborted"));return}let o=this.getProcessExitError(s,i);o?r(o):e()};this.process.once("exit",a);let n=s=>{this.process.off("exit",a),r(s)};this.process.once("error",n),this.process.once("exit",()=>{this.process.off("error",n)})})}};function Z5(t){return![".js",".mjs",".tsx",".ts",".jsx"].some(r=>t.endsWith(r))}var Tm=class{returned;queue=[];readResolve;readReject;isDone=!1;hasError;started=!1;constructor(e){this.returned=e}[Symbol.asyncIterator](){if(this.started)throw new Error("Stream can only be iterated once");return this.started=!0,this}next(){return this.queue.length>0?Promise.resolve({done:!1,value:this.queue.shift()}):this.isDone?Promise.resolve({done:!0,value:void 0}):this.hasError?Promise.reject(this.hasError):new Promise((e,r)=>{this.readResolve=e,this.readReject=r})}enqueue(e){if(this.readResolve){let r=this.readResolve;this.readResolve=void 0,this.readReject=void 0,r({done:!1,value:e})}else this.queue.push(e)}done(){if(this.isDone=!0,this.readResolve){let e=this.readResolve;this.readResolve=void 0,this.readReject=void 0,e({done:!0,value:void 0})}}error(e){if(this.hasError=e,this.readReject){let r=this.readReject;this.readResolve=void 0,this.readReject=void 0,r(e)}}return(){return this.isDone=!0,this.returned&&this.returned(),Promise.resolve({done:!0,value:void 0})}},km=class{sendMcpMessage;isClosed=!1;constructor(e){this.sendMcpMessage=e}onclose;onerror;onmessage;async start(){}async send(e){if(this.isClosed)throw new Error("Transport is closed");this.sendMcpMessage(e)}async close(){this.isClosed||(this.isClosed=!0,this.onclose?.())}},Rm=class{transport;isSingleUserTurn;canUseTool;hooks;abortController;jsonSchema;initConfig;pendingControlResponses=new Map;cleanupPerformed=!1;sdkMessages;inputStream=new Tm;initialization;cancelControllers=new Map;hookCallbacks=new Map;nextCallbackId=0;sdkMcpTransports=new Map;sdkMcpServerInstances=new Map;pendingMcpResponses=new Map;firstResultReceivedResolve;firstResultReceived=!1;hasBidirectionalNeeds(){return this.sdkMcpTransports.size>0||this.hooks!==void 0&&Object.keys(this.hooks).length>0||this.canUseTool!==void 0}constructor(e,r,a,n,s,i=new Map,o,c){this.transport=e,this.isSingleUserTurn=r,this.canUseTool=a,this.hooks=n,this.abortController=s,this.jsonSchema=o,this.initConfig=c;for(let[u,l]of i)this.connectSdkMcpServer(u,l);this.sdkMessages=this.readSdkMessages(),this.readMessages(),this.initialization=this.initialize(),this.initialization.catch(()=>{})}setError(e){this.inputStream.error(e)}cleanup(e){if(!this.cleanupPerformed){this.cleanupPerformed=!0;try{this.transport.close(),this.pendingControlResponses.clear(),this.pendingMcpResponses.clear(),this.cancelControllers.clear(),this.hookCallbacks.clear();for(let r of this.sdkMcpTransports.values())try{r.close()}catch{}this.sdkMcpTransports.clear(),e?this.inputStream.error(e):this.inputStream.done()}catch{}}}next(...[e]){return this.sdkMessages.next(e)}return(e){return this.sdkMessages.return(e)}throw(e){return this.sdkMessages.throw(e)}[Symbol.asyncIterator](){return this.sdkMessages}[Symbol.asyncDispose](){return this.sdkMessages[Symbol.asyncDispose]()}async readMessages(){try{for await(let e of this.transport.readMessages()){if(e.type==="control_response"){let r=this.pendingControlResponses.get(e.response.request_id);r&&r(e.response);continue}else if(e.type==="control_request"){this.handleControlRequest(e);continue}else if(e.type==="control_cancel_request"){this.handleControlCancelRequest(e);continue}else if(e.type==="keep_alive")continue;e.type==="result"&&(this.firstResultReceived=!0,this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.isSingleUserTurn&&(Zn("[Query.readMessages] First result received for single-turn query, closing stdin"),this.transport.endInput())),this.inputStream.enqueue(e)}this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.done(),this.cleanup()}catch(e){this.firstResultReceivedResolve&&this.firstResultReceivedResolve(),this.inputStream.error(e),this.cleanup(e)}}async handleControlRequest(e){let r=new AbortController;this.cancelControllers.set(e.request_id,r);try{let a=await this.processControlRequest(e,r.signal),n={type:"control_response",response:{subtype:"success",request_id:e.request_id,response:a}};await Promise.resolve(this.transport.write(JSON.stringify(n)+` `))}catch(a){let n={type:"control_response",response:{subtype:"error",request_id:e.request_id,error:a.message||String(a)}};await Promise.resolve(this.transport.write(JSON.stringify(n)+` `))}finally{this.cancelControllers.delete(e.request_id)}}handleControlCancelRequest(e){let r=this.cancelControllers.get(e.request_id);r&&(r.abort(),this.cancelControllers.delete(e.request_id))}async processControlRequest(e,r){if(e.request.subtype==="can_use_tool"){if(!this.canUseTool)throw new Error("canUseTool callback is not provided.");return{...await this.canUseTool(e.request.tool_name,e.request.input,{signal:r,suggestions:e.request.permission_suggestions,blockedPath:e.request.blocked_path,decisionReason:e.request.decision_reason,toolUseID:e.request.tool_use_id,agentID:e.request.agent_id}),toolUseID:e.request.tool_use_id}}else{if(e.request.subtype==="hook_callback")return await this.handleHookCallbacks(e.request.callback_id,e.request.input,e.request.tool_use_id,r);if(e.request.subtype==="mcp_message"){let a=e.request,n=this.sdkMcpTransports.get(a.server_name);if(!n)throw new Error(`SDK MCP server not found: ${a.server_name}`);return"method"in a.message&&"id"in a.message&&a.message.id!==null?{mcp_response:await this.handleMcpControlRequest(a.server_name,a,n)}:(n.onmessage&&n.onmessage(a.message),{mcp_response:{jsonrpc:"2.0",result:{},id:0}})}}throw new Error("Unsupported control request subtype: "+e.request.subtype)}async*readSdkMessages(){for await(let e of this.inputStream)yield e}async initialize(){let e;if(this.hooks){e={};for(let[s,i]of Object.entries(this.hooks))i.length>0&&(e[s]=i.map(o=>{let c=[];for(let u of o.hooks){let l=`hook_${this.nextCallbackId++}`;this.hookCallbacks.set(l,u),c.push(l)}return{matcher:o.matcher,hookCallbackIds:c,timeout:o.timeout}}))}let r=this.sdkMcpTransports.size>0?Array.from(this.sdkMcpTransports.keys()):void 0,a={subtype:"initialize",hooks:e,sdkMcpServers:r,jsonSchema:this.jsonSchema,systemPrompt:this.initConfig?.systemPrompt,appendSystemPrompt:this.initConfig?.appendSystemPrompt,agents:this.initConfig?.agents};return(await this.request(a)).response}async interrupt(){await this.request({subtype:"interrupt"})}async setPermissionMode(e){await this.request({subtype:"set_permission_mode",mode:e})}async setModel(e){await this.request({subtype:"set_model",model:e})}async setMaxThinkingTokens(e){await this.request({subtype:"set_max_thinking_tokens",max_thinking_tokens:e})}async rewindFiles(e){await this.request({subtype:"rewind_files",user_message_id:e})}async processPendingPermissionRequests(e){for(let r of e)r.request.subtype==="can_use_tool"&&this.handleControlRequest(r).catch(()=>{})}request(e){let r=Math.random().toString(36).substring(2,15),a={request_id:r,type:"control_request",request:e};return new Promise((n,s)=>{this.pendingControlResponses.set(r,i=>{i.subtype==="success"?n(i):(s(new Error(i.error)),i.pending_permission_requests&&this.processPendingPermissionRequests(i.pending_permission_requests))}),Promise.resolve(this.transport.write(JSON.stringify(a)+` `))})}async supportedCommands(){return(await this.initialization).commands}async supportedModels(){return(await this.initialization).models}async mcpServerStatus(){return(await this.request({subtype:"mcp_status"})).response.mcpServers}async setMcpServers(e){let r={},a={};for(let[c,u]of Object.entries(e))u.type==="sdk"&&"instance"in u?r[c]=u.instance:a[c]=u;let n=new Set(this.sdkMcpServerInstances.keys()),s=new Set(Object.keys(r));for(let c of n)s.has(c)||await this.disconnectSdkMcpServer(c);for(let[c,u]of Object.entries(r))n.has(c)||this.connectSdkMcpServer(c,u);let i={};for(let c of Object.keys(r))i[c]={type:"sdk",name:c};return(await this.request({subtype:"mcp_set_servers",servers:{...a,...i}})).response}async accountInfo(){return(await this.initialization).account}async streamInput(e){Zn("[Query.streamInput] Starting to process input stream");try{let r=0;for await(let a of e){if(r++,Zn(`[Query.streamInput] Processing message ${r}: ${a.type}`),this.abortController?.signal.aborted)break;await Promise.resolve(this.transport.write(JSON.stringify(a)+` @@ -995,12 +995,12 @@ ${a.prompts.header_memory_continued}`}Or();mr();ln();var xm=require("path"),NT=r if (${v}.issues.length) payload.issues = payload.issues.concat(${v}.issues.map(iss => ({ ...iss, path: iss.path ? [${ri(y)}, ...iss.path] : [${ri(y)}] - })));`),p.write(`newResult[${ri(y)}] = ${v}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let h=p.compile();return(y,v)=>h(d,y,v)},n,s=Zo,i=!Nm.jitless,c=i&&ok.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let g=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)n||(n=a(e.shape)),d=n(d,p);else{d.value={};let v=l.shape;for(let b of l.keys){let w=v[b],S=w._zod.run({value:m[b],issues:[]},p),E=w._zod.optin==="optional"&&w._zod.optout==="optional";S instanceof Promise?g.push(S.then(T=>E?aT(T,d,b,m):ul(T,d,b))):E?aT(S,d,b,m):ul(S,d,b)}}if(!u)return g.length?Promise.all(g).then(()=>d):d;let _=[],f=l.keySet,h=u._zod,y=h.def.type;for(let v of Object.keys(m)){if(f.has(v))continue;if(y==="never"){_.push(v);continue}let b=h.run({value:m[v],issues:[]},p);b instanceof Promise?g.push(b.then(w=>ul(w,d,v))):ul(b,d,v)}return _.length&&d.issues.push({code:"unrecognized_keys",keys:_,input:m,inst:t}),g.length?Promise.all(g).then(()=>d):d}});function sT(t,e,r,a){for(let n of t)if(n.issues.length===0)return e.value=n.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(n=>n.issues.map(s=>Pn(s,a,Rn())))}),e}var Tk=ne("$ZodUnion",(t,e)=>{ht.init(t,e),mt(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),mt(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),mt(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),mt(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${r.map(a=>Ml(a.source)).join("|")})$`)}}),t._zod.parse=(r,a)=>{let n=!1,s=[];for(let i of e.options){let o=i._zod.run({value:r.value,issues:[]},a);if(o instanceof Promise)s.push(o),n=!0;else{if(o.issues.length===0)return o;s.push(o)}}return n?Promise.all(s).then(i=>sT(i,r,t,a)):sT(s,r,t,a)}}),l3=ne("$ZodDiscriminatedUnion",(t,e)=>{Tk.init(t,e);let r=t._zod.parse;mt(t._zod,"propValues",()=>{let n={};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[o,c]of Object.entries(i)){n[o]||(n[o]=new Set);for(let u of c)n[o].add(u)}}return n});let a=Al(()=>{let n=e.options,s=new Map;for(let i of n){let o=i._zod.propValues[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of o){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(n,s)=>{let i=n.value;if(!Zo(i))return n.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),n;let o=a.value.get(i?.[e.discriminator]);return o?o._zod.run(n,s):e.unionFallback?r(n,s):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),n)}}),d3=ne("$ZodIntersection",(t,e)=>{ht.init(t,e),t._zod.parse=(r,a)=>{let n=r.value,s=e.left._zod.run({value:n,issues:[]},a),i=e.right._zod.run({value:n,issues:[]},a);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>iT(r,c,u)):iT(r,s,i)}});function Lm(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(Wo(t)&&Wo(e)){let r=Object.keys(e),a=Object.keys(t).filter(s=>r.indexOf(s)!==-1),n={...t,...e};for(let s of a){let i=Lm(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};n[s]=i.data}return{valid:!0,data:n}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let a=0;a{ht.init(t,e),t._zod.parse=(r,a)=>{let n=r.value;if(!Wo(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,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:n[c],issues:[]},a);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Kn(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Kn(c,u.issues)),r.value[c]=u.value)}let o;for(let c in n)i.has(c)||(o=o??[],o.push(c));o&&o.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:t,keys:o})}else{r.value={};for(let i of Reflect.ownKeys(n)){if(i==="__proto__")continue;let o=e.keyType._zod.run({value:i,issues:[]},a);if(o instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(o.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:o.issues.map(u=>Pn(u,a,Rn())),input:i,path:[i],inst:t}),r.value[o.value]=o.value;continue}let c=e.valueType._zod.run({value:n[i],issues:[]},a);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Kn(i,u.issues)),r.value[o.value]=u.value})):(c.issues.length&&r.issues.push(...Kn(i,c.issues)),r.value[o.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),f3=ne("$ZodEnum",(t,e)=>{ht.init(t,e);let r=ak(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(a=>ck.has(typeof a)).map(a=>typeof a=="string"?xi(a):a.toString()).join("|")})$`),t._zod.parse=(a,n)=>{let s=a.value;return t._zod.values.has(s)||a.issues.push({code:"invalid_value",values:r,input:s,inst:t}),a}}),m3=ne("$ZodLiteral",(t,e)=>{ht.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?xi(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,a)=>{let n=r.value;return t._zod.values.has(n)||r.issues.push({code:"invalid_value",values:e.values,input:n,inst:t}),r}}),h3=ne("$ZodTransform",(t,e)=>{ht.init(t,e),t._zod.parse=(r,a)=>{let n=e.transform(r.value,r);if(a.async)return(n instanceof Promise?n:Promise.resolve(n)).then(i=>(r.value=i,r));if(n instanceof Promise)throw new Va;return r.value=n,r}}),v3=ne("$ZodOptional",(t,e)=>{ht.init(t,e),t._zod.optin="optional",t._zod.optout="optional",mt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),mt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ml(r.source)})?$`):void 0}),t._zod.parse=(r,a)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,a):r.value===void 0?r:e.innerType._zod.run(r,a)}),g3=ne("$ZodNullable",(t,e)=>{ht.init(t,e),mt(t._zod,"optin",()=>e.innerType._zod.optin),mt(t._zod,"optout",()=>e.innerType._zod.optout),mt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ml(r.source)}|null)$`):void 0}),mt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,a)=>r.value===null?r:e.innerType._zod.run(r,a)}),y3=ne("$ZodDefault",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>oT(s,e)):oT(n,e)}});function oT(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var _3=ne("$ZodPrefault",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,a))}),b3=ne("$ZodNonOptional",(t,e)=>{ht.init(t,e),mt(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(a=>a!==void 0)):void 0}),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>cT(s,t)):cT(n,t)}});function cT(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var S3=ne("$ZodCatch",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"optout",()=>e.innerType._zod.optout),mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>Pn(i,a,Rn()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=e.catchValue({...r,error:{issues:n.issues.map(s=>Pn(s,a,Rn()))},input:r.value}),r.issues=[]),r)}}),x3=ne("$ZodPipe",(t,e)=>{ht.init(t,e),mt(t._zod,"values",()=>e.in._zod.values),mt(t._zod,"optin",()=>e.in._zod.optin),mt(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,a)=>{let n=e.in._zod.run(r,a);return n instanceof Promise?n.then(s=>uT(s,e,a)):uT(n,e,a)}});function uT(t,e,r){return ni(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var w3=ne("$ZodReadonly",(t,e)=>{ht.init(t,e),mt(t._zod,"propValues",()=>e.innerType._zod.propValues),mt(t._zod,"values",()=>e.innerType._zod.values),mt(t._zod,"optin",()=>e.innerType._zod.optin),mt(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(lT):lT(n)}});function lT(t){return t.value=Object.freeze(t.value),t}var E3=ne("$ZodCustom",(t,e)=>{ur.init(t,e),ht.init(t,e),t._zod.parse=(r,a)=>r,t._zod.check=r=>{let a=r.value,n=e.fn(a);if(n instanceof Promise)return n.then(s=>dT(s,r,a,t));dT(n,r,a,t)}});function dT(t,e,r,a){if(!t){let n={code:"custom",input:r,inst:a,path:[...a._zod.def.path??[]],continue:!a._zod.def.abort};a._zod.def.params&&(n.params=a._zod.def.params),e.issues.push(dk(n))}}var T3=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},k3=()=>{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(a){return t[a]??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 a=>{switch(a.code){case"invalid_type":return`Invalid input: expected ${a.expected}, received ${T3(a.input)}`;case"invalid_value":return a.values.length===1?`Invalid input: expected ${Ym(a.values[0])}`:`Invalid option: expected one of ${Mm(a.values,"|")}`;case"too_big":{let n=a.inclusive?"<=":"<",s=e(a.origin);return s?`Too big: expected ${a.origin??"value"} to have ${n}${a.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${a.origin??"value"} to be ${n}${a.maximum.toString()}`}case"too_small":{let n=a.inclusive?">=":">",s=e(a.origin);return s?`Too small: expected ${a.origin} to have ${n}${a.minimum.toString()} ${s.unit}`:`Too small: expected ${a.origin} to be ${n}${a.minimum.toString()}`}case"invalid_format":{let n=a;return n.format==="starts_with"?`Invalid string: must start with "${n.prefix}"`:n.format==="ends_with"?`Invalid string: must end with "${n.suffix}"`:n.format==="includes"?`Invalid string: must include "${n.includes}"`:n.format==="regex"?`Invalid string: must match pattern ${n.pattern}`:`Invalid ${r[n.format]??a.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${Mm(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}}};function R3(){return{localeError:k3()}}var aY=Symbol("ZodOutput"),sY=Symbol("ZodInput"),qm=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let a=r[0];if(this._map.set(e,a),a&&typeof a=="object"&&"id"in a){if(this._idmap.has(a.id))throw new Error(`ID ${a.id} already exists in the registry`);this._idmap.set(a.id,e)}return this}remove(e){return this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let a={...this.get(r)??{}};return delete a.id,{...a,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function P3(){return new qm}var ll=P3();function $3(t,e){return new t({type:"string",...$e(e)})}function O3(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...$e(e)})}function pT(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...$e(e)})}function C3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...$e(e)})}function I3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...$e(e)})}function A3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...$e(e)})}function N3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...$e(e)})}function M3(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...$e(e)})}function j3(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...$e(e)})}function D3(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...$e(e)})}function L3(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...$e(e)})}function q3(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...$e(e)})}function F3(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...$e(e)})}function U3(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...$e(e)})}function z3(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...$e(e)})}function H3(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...$e(e)})}function B3(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...$e(e)})}function V3(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...$e(e)})}function G3(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...$e(e)})}function Z3(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...$e(e)})}function W3(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...$e(e)})}function K3(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...$e(e)})}function X3(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...$e(e)})}function J3(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...$e(e)})}function Y3(t,e){return new t({type:"string",format:"date",check:"string_format",...$e(e)})}function Q3(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...$e(e)})}function eH(t,e){return new t({type:"string",format:"duration",check:"string_format",...$e(e)})}function tH(t,e){return new t({type:"number",checks:[],...$e(e)})}function rH(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...$e(e)})}function nH(t,e){return new t({type:"boolean",...$e(e)})}function aH(t,e){return new t({type:"null",...$e(e)})}function sH(t){return new t({type:"unknown"})}function iH(t,e){return new t({type:"never",...$e(e)})}function fT(t,e){return new Sk({check:"less_than",...$e(e),value:t,inclusive:!1})}function _m(t,e){return new Sk({check:"less_than",...$e(e),value:t,inclusive:!0})}function mT(t,e){return new xk({check:"greater_than",...$e(e),value:t,inclusive:!1})}function bm(t,e){return new xk({check:"greater_than",...$e(e),value:t,inclusive:!0})}function hT(t,e){return new _z({check:"multiple_of",...$e(e),value:t})}function kk(t,e){return new Sz({check:"max_length",...$e(e),maximum:t})}function bl(t,e){return new xz({check:"min_length",...$e(e),minimum:t})}function Rk(t,e){return new wz({check:"length_equals",...$e(e),length:t})}function oH(t,e){return new Ez({check:"string_format",format:"regex",...$e(e),pattern:t})}function cH(t){return new Tz({check:"string_format",format:"lowercase",...$e(t)})}function uH(t){return new kz({check:"string_format",format:"uppercase",...$e(t)})}function lH(t,e){return new Rz({check:"string_format",format:"includes",...$e(e),includes:t})}function dH(t,e){return new Pz({check:"string_format",format:"starts_with",...$e(e),prefix:t})}function pH(t,e){return new $z({check:"string_format",format:"ends_with",...$e(e),suffix:t})}function Xo(t){return new Oz({check:"overwrite",tx:t})}function fH(t){return Xo(e=>e.normalize(t))}function mH(){return Xo(t=>t.trim())}function hH(){return Xo(t=>t.toLowerCase())}function vH(){return Xo(t=>t.toUpperCase())}function gH(t,e,r){return new t({type:"array",element:e,...$e(r)})}function yH(t,e,r){let a=$e(r);return a.abort??(a.abort=!0),new t({type:"custom",check:"custom",fn:e,...a})}function _H(t,e,r){return new t({type:"custom",check:"custom",fn:e,...$e(r)})}var Pk={};xT(Pk,{time:()=>Nk,duration:()=>jk,datetime:()=>Ok,date:()=>Ik,ZodISOTime:()=>Ak,ZodISODuration:()=>Mk,ZodISODateTime:()=>$k,ZodISODate:()=>Ck});var $k=ne("ZodISODateTime",(t,e)=>{Hz.init(t,e),Tt.init(t,e)});function Ok(t){return J3($k,t)}var Ck=ne("ZodISODate",(t,e)=>{Bz.init(t,e),Tt.init(t,e)});function Ik(t){return Y3(Ck,t)}var Ak=ne("ZodISOTime",(t,e)=>{Vz.init(t,e),Tt.init(t,e)});function Nk(t){return Q3(Ak,t)}var Mk=ne("ZodISODuration",(t,e)=>{Gz.init(t,e),Tt.init(t,e)});function jk(t){return eH(Mk,t)}var Dk=(t,e)=>{fk.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>FU(t,r)},flatten:{value:r=>qU(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},iY=ne("ZodError",Dk),Ll=ne("ZodError",Dk,{Parent:Error}),bH=UU(Ll),SH=zU(Ll),xH=hk(Ll),wH=vk(Ll),Et=ne("ZodType",(t,e)=>(ht.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(a=>typeof a=="function"?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),t.clone=(r,a)=>ea(t,r,a),t.brand=()=>t,t.register=(r,a)=>(r.add(t,a),t),t.parse=(r,a)=>bH(t,r,a,{callee:t.parse}),t.safeParse=(r,a)=>xH(t,r,a),t.parseAsync=async(r,a)=>SH(t,r,a,{callee:t.parseAsync}),t.safeParseAsync=async(r,a)=>wH(t,r,a),t.spa=t.safeParseAsync,t.refine=(r,a)=>t.check(fB(r,a)),t.superRefine=r=>t.check(mB(r)),t.overwrite=r=>t.check(Xo(r)),t.optional=()=>we(t),t.nullable=()=>yT(t),t.nullish=()=>we(yT(t)),t.nonoptional=r=>sB(t,r),t.array=()=>Ke(t),t.or=r=>_t([t,r]),t.and=r=>eh(t,r),t.transform=r=>Um(t,Bk(r)),t.default=r=>rB(t,r),t.prefault=r=>aB(t,r),t.catch=r=>oB(t,r),t.pipe=r=>Um(t,r),t.readonly=()=>lB(t),t.describe=r=>{let a=t.clone();return ll.add(a,{description:r}),a},Object.defineProperty(t,"description",{get(){return ll.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ll.get(t);let a=t.clone();return ll.add(a,r[0]),a},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Lk=ne("_ZodString",(t,e)=>{Qm.init(t,e),Et.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=(...a)=>t.check(oH(...a)),t.includes=(...a)=>t.check(lH(...a)),t.startsWith=(...a)=>t.check(dH(...a)),t.endsWith=(...a)=>t.check(pH(...a)),t.min=(...a)=>t.check(bl(...a)),t.max=(...a)=>t.check(kk(...a)),t.length=(...a)=>t.check(Rk(...a)),t.nonempty=(...a)=>t.check(bl(1,...a)),t.lowercase=a=>t.check(cH(a)),t.uppercase=a=>t.check(uH(a)),t.trim=()=>t.check(mH()),t.normalize=(...a)=>t.check(fH(...a)),t.toLowerCase=()=>t.check(hH()),t.toUpperCase=()=>t.check(vH())}),EH=ne("ZodString",(t,e)=>{Qm.init(t,e),Lk.init(t,e),t.email=r=>t.check(O3(TH,r)),t.url=r=>t.check(M3(kH,r)),t.jwt=r=>t.check(X3(UH,r)),t.emoji=r=>t.check(j3(RH,r)),t.guid=r=>t.check(pT(vT,r)),t.uuid=r=>t.check(C3(dl,r)),t.uuidv4=r=>t.check(I3(dl,r)),t.uuidv6=r=>t.check(A3(dl,r)),t.uuidv7=r=>t.check(N3(dl,r)),t.nanoid=r=>t.check(D3(PH,r)),t.guid=r=>t.check(pT(vT,r)),t.cuid=r=>t.check(L3($H,r)),t.cuid2=r=>t.check(q3(OH,r)),t.ulid=r=>t.check(F3(CH,r)),t.base64=r=>t.check(Z3(LH,r)),t.base64url=r=>t.check(W3(qH,r)),t.xid=r=>t.check(U3(IH,r)),t.ksuid=r=>t.check(z3(AH,r)),t.ipv4=r=>t.check(H3(NH,r)),t.ipv6=r=>t.check(B3(MH,r)),t.cidrv4=r=>t.check(V3(jH,r)),t.cidrv6=r=>t.check(G3(DH,r)),t.e164=r=>t.check(K3(FH,r)),t.datetime=r=>t.check(Ok(r)),t.date=r=>t.check(Ik(r)),t.time=r=>t.check(Nk(r)),t.duration=r=>t.check(jk(r))});function te(t){return $3(EH,t)}var Tt=ne("ZodStringFormat",(t,e)=>{yt.init(t,e),Lk.init(t,e)}),TH=ne("ZodEmail",(t,e)=>{Nz.init(t,e),Tt.init(t,e)}),vT=ne("ZodGUID",(t,e)=>{Iz.init(t,e),Tt.init(t,e)}),dl=ne("ZodUUID",(t,e)=>{Az.init(t,e),Tt.init(t,e)}),kH=ne("ZodURL",(t,e)=>{Mz.init(t,e),Tt.init(t,e)}),RH=ne("ZodEmoji",(t,e)=>{jz.init(t,e),Tt.init(t,e)}),PH=ne("ZodNanoID",(t,e)=>{Dz.init(t,e),Tt.init(t,e)}),$H=ne("ZodCUID",(t,e)=>{Lz.init(t,e),Tt.init(t,e)}),OH=ne("ZodCUID2",(t,e)=>{qz.init(t,e),Tt.init(t,e)}),CH=ne("ZodULID",(t,e)=>{Fz.init(t,e),Tt.init(t,e)}),IH=ne("ZodXID",(t,e)=>{Uz.init(t,e),Tt.init(t,e)}),AH=ne("ZodKSUID",(t,e)=>{zz.init(t,e),Tt.init(t,e)}),NH=ne("ZodIPv4",(t,e)=>{Zz.init(t,e),Tt.init(t,e)}),MH=ne("ZodIPv6",(t,e)=>{Wz.init(t,e),Tt.init(t,e)}),jH=ne("ZodCIDRv4",(t,e)=>{Kz.init(t,e),Tt.init(t,e)}),DH=ne("ZodCIDRv6",(t,e)=>{Xz.init(t,e),Tt.init(t,e)}),LH=ne("ZodBase64",(t,e)=>{Jz.init(t,e),Tt.init(t,e)}),qH=ne("ZodBase64URL",(t,e)=>{Qz.init(t,e),Tt.init(t,e)}),FH=ne("ZodE164",(t,e)=>{e3.init(t,e),Tt.init(t,e)}),UH=ne("ZodJWT",(t,e)=>{r3.init(t,e),Tt.init(t,e)}),qk=ne("ZodNumber",(t,e)=>{Ek.init(t,e),Et.init(t,e),t.gt=(a,n)=>t.check(mT(a,n)),t.gte=(a,n)=>t.check(bm(a,n)),t.min=(a,n)=>t.check(bm(a,n)),t.lt=(a,n)=>t.check(fT(a,n)),t.lte=(a,n)=>t.check(_m(a,n)),t.max=(a,n)=>t.check(_m(a,n)),t.int=a=>t.check(gT(a)),t.safe=a=>t.check(gT(a)),t.positive=a=>t.check(mT(0,a)),t.nonnegative=a=>t.check(bm(0,a)),t.negative=a=>t.check(fT(0,a)),t.nonpositive=a=>t.check(_m(0,a)),t.multipleOf=(a,n)=>t.check(hT(a,n)),t.step=(a,n)=>t.check(hT(a,n)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function pt(t){return tH(qk,t)}var zH=ne("ZodNumberFormat",(t,e)=>{n3.init(t,e),qk.init(t,e)});function gT(t){return rH(zH,t)}var HH=ne("ZodBoolean",(t,e)=>{a3.init(t,e),Et.init(t,e)});function Bt(t){return nH(HH,t)}var BH=ne("ZodNull",(t,e)=>{s3.init(t,e),Et.init(t,e)});function Fk(t){return aH(BH,t)}var VH=ne("ZodUnknown",(t,e)=>{i3.init(t,e),Et.init(t,e)});function jt(){return sH(VH)}var GH=ne("ZodNever",(t,e)=>{o3.init(t,e),Et.init(t,e)});function ZH(t){return iH(GH,t)}var WH=ne("ZodArray",(t,e)=>{c3.init(t,e),Et.init(t,e),t.element=e.element,t.min=(r,a)=>t.check(bl(r,a)),t.nonempty=r=>t.check(bl(1,r)),t.max=(r,a)=>t.check(kk(r,a)),t.length=(r,a)=>t.check(Rk(r,a)),t.unwrap=()=>t.element});function Ke(t,e){return gH(WH,t,e)}var Uk=ne("ZodObject",(t,e)=>{u3.init(t,e),Et.init(t,e),ft.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Vt(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:jt()}),t.loose=()=>t.clone({...t._zod.def,catchall:jt()}),t.strict=()=>t.clone({...t._zod.def,catchall:ZH()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ft.extend(t,r),t.merge=r=>ft.merge(t,r),t.pick=r=>ft.pick(t,r),t.omit=r=>ft.omit(t,r),t.partial=(...r)=>ft.partial(Vk,t,r[0]),t.required=(...r)=>ft.required(Gk,t,r[0])});function le(t,e){let r={type:"object",get shape(){return ft.assignProp(this,"shape",{...t}),this.shape},...ft.normalizeParams(e)};return new Uk(r)}function Vr(t,e){return new Uk({type:"object",get shape(){return ft.assignProp(this,"shape",{...t}),this.shape},catchall:jt(),...ft.normalizeParams(e)})}var zk=ne("ZodUnion",(t,e)=>{Tk.init(t,e),Et.init(t,e),t.options=e.options});function _t(t,e){return new zk({type:"union",options:t,...ft.normalizeParams(e)})}var KH=ne("ZodDiscriminatedUnion",(t,e)=>{zk.init(t,e),l3.init(t,e)});function Hk(t,e,r){return new KH({type:"union",options:e,discriminator:t,...ft.normalizeParams(r)})}var XH=ne("ZodIntersection",(t,e)=>{d3.init(t,e),Et.init(t,e)});function eh(t,e){return new XH({type:"intersection",left:t,right:e})}var JH=ne("ZodRecord",(t,e)=>{p3.init(t,e),Et.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function Dt(t,e,r){return new JH({type:"record",keyType:t,valueType:e,...ft.normalizeParams(r)})}var Fm=ne("ZodEnum",(t,e)=>{f3.init(t,e),Et.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(a,n)=>{let s={};for(let i of a)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Fm({...e,checks:[],...ft.normalizeParams(n),entries:s})},t.exclude=(a,n)=>{let s={...e.entries};for(let i of a)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Fm({...e,checks:[],...ft.normalizeParams(n),entries:s})}});function Vt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(a=>[a,a])):t;return new Fm({type:"enum",entries:r,...ft.normalizeParams(e)})}var YH=ne("ZodLiteral",(t,e)=>{m3.init(t,e),Et.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function Ee(t,e){return new YH({type:"literal",values:Array.isArray(t)?t:[t],...ft.normalizeParams(e)})}var QH=ne("ZodTransform",(t,e)=>{h3.init(t,e),Et.init(t,e),t._zod.parse=(r,a)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ft.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(ft.issue(i))}};let n=e.transform(r.value,r);return n instanceof Promise?n.then(s=>(r.value=s,r)):(r.value=n,r)}});function Bk(t){return new QH({type:"transform",transform:t})}var Vk=ne("ZodOptional",(t,e)=>{v3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function we(t){return new Vk({type:"optional",innerType:t})}var eB=ne("ZodNullable",(t,e)=>{g3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function yT(t){return new eB({type:"nullable",innerType:t})}var tB=ne("ZodDefault",(t,e)=>{y3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function rB(t,e){return new tB({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var nB=ne("ZodPrefault",(t,e)=>{_3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function aB(t,e){return new nB({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Gk=ne("ZodNonOptional",(t,e)=>{b3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function sB(t,e){return new Gk({type:"nonoptional",innerType:t,...ft.normalizeParams(e)})}var iB=ne("ZodCatch",(t,e)=>{S3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function oB(t,e){return new iB({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var cB=ne("ZodPipe",(t,e)=>{x3.init(t,e),Et.init(t,e),t.in=e.in,t.out=e.out});function Um(t,e){return new cB({type:"pipe",in:t,out:e})}var uB=ne("ZodReadonly",(t,e)=>{w3.init(t,e),Et.init(t,e)});function lB(t){return new uB({type:"readonly",innerType:t})}var Zk=ne("ZodCustom",(t,e)=>{E3.init(t,e),Et.init(t,e)});function dB(t,e){let r=new ur({check:"custom",...ft.normalizeParams(e)});return r._zod.check=t,r}function pB(t,e){return yH(Zk,t??(()=>!0),e)}function fB(t,e={}){return _H(Zk,t,e)}function mB(t,e){let r=dB(a=>(a.addIssue=n=>{if(typeof n=="string")a.issues.push(ft.issue(n,a.value,r._zod.def));else{let s=n;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=a.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),a.issues.push(ft.issue(s))}},t(a.value,a)),e);return r}function Wk(t,e){return Um(Bk(t),e)}Rn(R3());var th="io.modelcontextprotocol/related-task",ql="2.0",pn=pB(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Kk=_t([te(),pt().int()]),Xk=te(),hB=Vr({ttl:_t([pt(),Fk()]).optional(),pollInterval:pt().optional()}),rh=Vr({taskId:te()}),vB=Vr({progressToken:Kk.optional(),[th]:rh.optional()}),lr=Vr({task:hB.optional(),_meta:vB.optional()}),Ut=le({method:te(),params:lr.optional()}),Ga=Vr({_meta:le({[th]:we(rh)}).passthrough().optional()}),Mr=le({method:te(),params:Ga.optional()}),Gt=Vr({_meta:Vr({[th]:rh.optional()}).optional()}),Fl=_t([te(),pt().int()]),gB=le({jsonrpc:Ee(ql),id:Fl,...Ut.shape}).strict();var yB=le({jsonrpc:Ee(ql),...Mr.shape}).strict();var _B=le({jsonrpc:Ee(ql),id:Fl,result:Gt}).strict();var _T;(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"})(_T||(_T={}));var bB=le({jsonrpc:Ee(ql),id:Fl,error:le({code:pt().int(),message:te(),data:we(jt())})}).strict();var oY=_t([gB,yB,_B,bB]),Jk=Gt.strict(),SB=Ga.extend({requestId:Fl,reason:te().optional()}),Yk=Mr.extend({method:Ee("notifications/cancelled"),params:SB}),xB=le({src:te(),mimeType:te().optional(),sizes:Ke(te()).optional()}),Jo=le({icons:Ke(xB).optional()}),gi=le({name:te(),title:te().optional()}),Qk=gi.extend({...gi.shape,...Jo.shape,version:te(),websiteUrl:te().optional()}),wB=eh(le({applyDefaults:Bt().optional()}),Dt(te(),jt())),EB=Wk(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,eh(le({form:wB.optional(),url:pn.optional()}),Dt(te(),jt()).optional())),TB=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({sampling:we(le({createMessage:we(le({}).passthrough())}).passthrough()),elicitation:we(le({create:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),kB=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({tools:we(le({call:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),RB=le({experimental:Dt(te(),pn).optional(),sampling:le({context:pn.optional(),tools:pn.optional()}).optional(),elicitation:EB.optional(),roots:le({listChanged:Bt().optional()}).optional(),tasks:we(TB)}),PB=lr.extend({protocolVersion:te(),capabilities:RB,clientInfo:Qk}),$B=Ut.extend({method:Ee("initialize"),params:PB}),OB=le({experimental:Dt(te(),pn).optional(),logging:pn.optional(),completions:pn.optional(),prompts:we(le({listChanged:we(Bt())})),resources:le({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:le({listChanged:Bt().optional()}).optional(),tasks:we(kB)}).passthrough(),CB=Gt.extend({protocolVersion:te(),capabilities:OB,serverInfo:Qk,instructions:te().optional()}),IB=Mr.extend({method:Ee("notifications/initialized")}),eR=Ut.extend({method:Ee("ping")}),AB=le({progress:pt(),total:we(pt()),message:we(te())}),NB=le({...Ga.shape,...AB.shape,progressToken:Kk}),tR=Mr.extend({method:Ee("notifications/progress"),params:NB}),MB=lr.extend({cursor:Xk.optional()}),Yo=Ut.extend({params:MB.optional()}),Qo=Gt.extend({nextCursor:we(Xk)}),ec=le({taskId:te(),status:Vt(["working","input_required","completed","failed","cancelled"]),ttl:_t([pt(),Fk()]),createdAt:te(),lastUpdatedAt:te(),pollInterval:we(pt()),statusMessage:we(te())}),rR=Gt.extend({task:ec}),jB=Ga.merge(ec),nR=Mr.extend({method:Ee("notifications/tasks/status"),params:jB}),aR=Ut.extend({method:Ee("tasks/get"),params:lr.extend({taskId:te()})}),sR=Gt.merge(ec),iR=Ut.extend({method:Ee("tasks/result"),params:lr.extend({taskId:te()})}),oR=Yo.extend({method:Ee("tasks/list")}),cR=Qo.extend({tasks:Ke(ec)}),cY=Ut.extend({method:Ee("tasks/cancel"),params:lr.extend({taskId:te()})}),uY=Gt.merge(ec),uR=le({uri:te(),mimeType:we(te()),_meta:Dt(te(),jt()).optional()}),lR=uR.extend({text:te()}),nh=te().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),dR=uR.extend({blob:nh}),wi=le({audience:Ke(Vt(["user","assistant"])).optional(),priority:pt().min(0).max(1).optional(),lastModified:Pk.datetime({offset:!0}).optional()}),pR=le({...gi.shape,...Jo.shape,uri:te(),description:we(te()),mimeType:we(te()),annotations:wi.optional(),_meta:we(Vr({}))}),DB=le({...gi.shape,...Jo.shape,uriTemplate:te(),description:we(te()),mimeType:we(te()),annotations:wi.optional(),_meta:we(Vr({}))}),LB=Yo.extend({method:Ee("resources/list")}),qB=Qo.extend({resources:Ke(pR)}),FB=Yo.extend({method:Ee("resources/templates/list")}),UB=Qo.extend({resourceTemplates:Ke(DB)}),ah=lr.extend({uri:te()}),zB=ah,HB=Ut.extend({method:Ee("resources/read"),params:zB}),BB=Gt.extend({contents:Ke(_t([lR,dR]))}),VB=Mr.extend({method:Ee("notifications/resources/list_changed")}),GB=ah,ZB=Ut.extend({method:Ee("resources/subscribe"),params:GB}),WB=ah,KB=Ut.extend({method:Ee("resources/unsubscribe"),params:WB}),XB=Ga.extend({uri:te()}),JB=Mr.extend({method:Ee("notifications/resources/updated"),params:XB}),YB=le({name:te(),description:we(te()),required:we(Bt())}),QB=le({...gi.shape,...Jo.shape,description:we(te()),arguments:we(Ke(YB)),_meta:we(Vr({}))}),e7=Yo.extend({method:Ee("prompts/list")}),t7=Qo.extend({prompts:Ke(QB)}),r7=lr.extend({name:te(),arguments:Dt(te(),te()).optional()}),n7=Ut.extend({method:Ee("prompts/get"),params:r7}),sh=le({type:Ee("text"),text:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),ih=le({type:Ee("image"),data:nh,mimeType:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),oh=le({type:Ee("audio"),data:nh,mimeType:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),a7=le({type:Ee("tool_use"),name:te(),id:te(),input:le({}).passthrough(),_meta:we(le({}).passthrough())}).passthrough(),s7=le({type:Ee("resource"),resource:_t([lR,dR]),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),i7=pR.extend({type:Ee("resource_link")}),ch=_t([sh,ih,oh,i7,s7]),o7=le({role:Vt(["user","assistant"]),content:ch}),c7=Gt.extend({description:we(te()),messages:Ke(o7)}),u7=Mr.extend({method:Ee("notifications/prompts/list_changed")}),l7=le({title:te().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),d7=le({taskSupport:Vt(["required","optional","forbidden"]).optional()}),fR=le({...gi.shape,...Jo.shape,description:te().optional(),inputSchema:le({type:Ee("object"),properties:Dt(te(),pn).optional(),required:Ke(te()).optional()}).catchall(jt()),outputSchema:le({type:Ee("object"),properties:Dt(te(),pn).optional(),required:Ke(te()).optional()}).catchall(jt()).optional(),annotations:we(l7),execution:we(d7),_meta:Dt(te(),jt()).optional()}),p7=Yo.extend({method:Ee("tools/list")}),f7=Qo.extend({tools:Ke(fR)}),mR=Gt.extend({content:Ke(ch).default([]),structuredContent:Dt(te(),jt()).optional(),isError:we(Bt())}),lY=mR.or(Gt.extend({toolResult:jt()})),m7=lr.extend({name:te(),arguments:we(Dt(te(),jt()))}),h7=Ut.extend({method:Ee("tools/call"),params:m7}),v7=Mr.extend({method:Ee("notifications/tools/list_changed")}),hR=Vt(["debug","info","notice","warning","error","critical","alert","emergency"]),g7=lr.extend({level:hR}),y7=Ut.extend({method:Ee("logging/setLevel"),params:g7}),_7=Ga.extend({level:hR,logger:te().optional(),data:jt()}),b7=Mr.extend({method:Ee("notifications/message"),params:_7}),S7=le({name:te().optional()}),x7=le({hints:we(Ke(S7)),costPriority:we(pt().min(0).max(1)),speedPriority:we(pt().min(0).max(1)),intelligencePriority:we(pt().min(0).max(1))}),w7=le({mode:we(Vt(["auto","required","none"]))}),E7=le({type:Ee("tool_result"),toolUseId:te().describe("The unique identifier for the corresponding tool call."),content:Ke(ch).default([]),structuredContent:le({}).passthrough().optional(),isError:we(Bt()),_meta:we(le({}).passthrough())}).passthrough(),T7=Hk("type",[sh,ih,oh]),Sl=Hk("type",[sh,ih,oh,a7,E7]),k7=le({role:Vt(["user","assistant"]),content:_t([Sl,Ke(Sl)]),_meta:we(le({}).passthrough())}).passthrough(),R7=lr.extend({messages:Ke(k7),modelPreferences:x7.optional(),systemPrompt:te().optional(),includeContext:Vt(["none","thisServer","allServers"]).optional(),temperature:pt().optional(),maxTokens:pt().int(),stopSequences:Ke(te()).optional(),metadata:pn.optional(),tools:we(Ke(fR)),toolChoice:we(w7)}),P7=Ut.extend({method:Ee("sampling/createMessage"),params:R7}),$7=Gt.extend({model:te(),stopReason:we(Vt(["endTurn","stopSequence","maxTokens"]).or(te())),role:Vt(["user","assistant"]),content:T7}),O7=Gt.extend({model:te(),stopReason:we(Vt(["endTurn","stopSequence","maxTokens","toolUse"]).or(te())),role:Vt(["user","assistant"]),content:_t([Sl,Ke(Sl)])}),C7=le({type:Ee("boolean"),title:te().optional(),description:te().optional(),default:Bt().optional()}),I7=le({type:Ee("string"),title:te().optional(),description:te().optional(),minLength:pt().optional(),maxLength:pt().optional(),format:Vt(["email","uri","date","date-time"]).optional(),default:te().optional()}),A7=le({type:Vt(["number","integer"]),title:te().optional(),description:te().optional(),minimum:pt().optional(),maximum:pt().optional(),default:pt().optional()}),N7=le({type:Ee("string"),title:te().optional(),description:te().optional(),enum:Ke(te()),default:te().optional()}),M7=le({type:Ee("string"),title:te().optional(),description:te().optional(),oneOf:Ke(le({const:te(),title:te()})),default:te().optional()}),j7=le({type:Ee("string"),title:te().optional(),description:te().optional(),enum:Ke(te()),enumNames:Ke(te()).optional(),default:te().optional()}),D7=_t([N7,M7]),L7=le({type:Ee("array"),title:te().optional(),description:te().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({type:Ee("string"),enum:Ke(te())}),default:Ke(te()).optional()}),q7=le({type:Ee("array"),title:te().optional(),description:te().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({anyOf:Ke(le({const:te(),title:te()}))}),default:Ke(te()).optional()}),F7=_t([L7,q7]),U7=_t([j7,D7,F7]),z7=_t([U7,C7,I7,A7]),H7=lr.extend({mode:Ee("form").optional(),message:te(),requestedSchema:le({type:Ee("object"),properties:Dt(te(),z7),required:Ke(te()).optional()})}),B7=lr.extend({mode:Ee("url"),message:te(),elicitationId:te(),url:te().url()}),V7=_t([H7,B7]),G7=Ut.extend({method:Ee("elicitation/create"),params:V7}),Z7=Ga.extend({elicitationId:te()}),W7=Mr.extend({method:Ee("notifications/elicitation/complete"),params:Z7}),K7=Gt.extend({action:Vt(["accept","decline","cancel"]),content:Wk(t=>t===null?void 0:t,Dt(te(),_t([te(),pt(),Bt(),Ke(te())])).optional())}),X7=le({type:Ee("ref/resource"),uri:te()}),J7=le({type:Ee("ref/prompt"),name:te()}),Y7=lr.extend({ref:_t([J7,X7]),argument:le({name:te(),value:te()}),context:le({arguments:Dt(te(),te()).optional()}).optional()}),Q7=Ut.extend({method:Ee("completion/complete"),params:Y7});var eV=Gt.extend({completion:Vr({values:Ke(te()).max(100),total:we(pt().int()),hasMore:we(Bt())})}),tV=le({uri:te().startsWith("file://"),name:te().optional(),_meta:Dt(te(),jt()).optional()}),rV=Ut.extend({method:Ee("roots/list")}),nV=Gt.extend({roots:Ke(tV)}),aV=Mr.extend({method:Ee("notifications/roots/list_changed")}),dY=_t([eR,$B,Q7,y7,n7,e7,LB,FB,HB,ZB,KB,h7,p7,aR,iR,oR]),pY=_t([Yk,tR,IB,aV,nR]),fY=_t([Jk,$7,O7,K7,nV,sR,cR,rR]),mY=_t([eR,P7,G7,rV,aR,iR,oR]),hY=_t([Yk,tR,b7,JB,VB,v7,u7,nR,W7]),vY=_t([Jk,CB,eV,c7,t7,qB,UB,BB,mR,f7,sR,cR,rR]);var gY=Symbol("Let zodToJsonSchema decide on which parser to use");var yY=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var _Y=ST(Bq(),1),bY=ST(L6(),1);var SY=Symbol.for("mcp.completable");var bT;(function(t){t.Completable="McpCompletable"})(bT||(bT={}));function vR({prompt:t,options:e}){let{systemPrompt:r,settingSources:a,sandbox:n,...s}=e??{},i,o;r===void 0?i="":typeof r=="string"?i=r:r.type==="preset"&&(o=r.append);let c=s.pathToClaudeCodeExecutable;if(!c){let Z=(0,NT.fileURLToPath)(sV.url),ee=(0,xm.join)(Z,"..");c=(0,xm.join)(ee,"cli.js")}process.env.CLAUDE_AGENT_SDK_VERSION="0.1.76";let{abortController:u=jT(),additionalDirectories:l=[],agents:d,allowedTools:p=[],betas:m,canUseTool:g,continue:_,cwd:f,disallowedTools:h=[],tools:y,env:v,executable:b=YT()?"bun":"node",executableArgs:w=[],extraArgs:S={},fallbackModel:E,enableFileCheckpointing:T,forkSession:R,hooks:M,includePartialMessages:j,persistSession:q,maxThinkingTokens:H,maxTurns:N,maxBudgetUsd:W,mcpServers:oe,model:he,outputFormat:ae,permissionMode:re="default",allowDangerouslySkipPermissions:U=!1,permissionPromptToolName:$,plugins:z,resume:A,resumeSessionAt:x,stderr:k,strictMcpConfig:D}=s,K=ae?.type==="json_schema"?ae.schema:void 0,J=v;if(J||(J={...process.env}),J.CLAUDE_CODE_ENTRYPOINT||(J.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),T&&(J.CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING="true"),!c)throw new Error("pathToClaudeCodeExecutable is required");let de={},se=new Map;if(oe)for(let[Z,ee]of Object.entries(oe))ee.type==="sdk"&&"instance"in ee?(se.set(Z,ee.instance),de[Z]={type:"sdk",name:Z}):de[Z]=ee;let me=typeof t=="string",C=new Em({abortController:u,additionalDirectories:l,betas:m,cwd:f,executable:b,executableArgs:w,extraArgs:S,pathToClaudeCodeExecutable:c,env:J,forkSession:R,stderr:k,maxThinkingTokens:H,maxTurns:N,maxBudgetUsd:W,model:he,fallbackModel:E,jsonSchema:K,permissionMode:re,allowDangerouslySkipPermissions:U,permissionPromptToolName:$,continueConversation:_,resume:A,resumeSessionAt:x,settingSources:a??[],allowedTools:p,disallowedTools:h,tools:y,mcpServers:de,strictMcpConfig:D,canUseTool:!!g,hooks:!!M,includePartialMessages:j,persistSession:q,plugins:z,sandbox:n,spawnClaudeCodeProcess:s.spawnClaudeCodeProcess}),I={systemPrompt:i,appendSystemPrompt:o,agents:d},F=new Rm(C,me,g,M,u,se,K,I);return typeof t=="string"?C.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:t}]},parent_tool_use_id:null})+` -`):F.streamInput(t),F}var Ul=class{dbManager;sessionManager;constructor(e,r){this.dbManager=e,this.sessionManager=r}async startSession(e,r){try{let a=this.findClaudeExecutable(),n=this.getModelId(),s=["Bash","Read","Write","Edit","Grep","Glob","WebFetch","WebSearch","Task","NotebookEdit","AskUserQuestion","TodoWrite"],i=this.createMessageGenerator(e),o=e.memorySessionId&&e.memorySessionId!==e.contentSessionId;P.info("SDK","Starting SDK query",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,memorySessionId:e.memorySessionId,hasRealMemorySessionId:o,resume_parameter:o?e.memorySessionId:"(none - fresh start)",lastPromptNumber:e.lastPromptNumber});let c=vR({prompt:i,options:{model:n,...o&&{resume:e.memorySessionId},disallowedTools:s,abortController:e.abortController,pathToClaudeCodeExecutable:a}});for await(let l of c){if(!e.memorySessionId&&l.session_id&&(e.memorySessionId=l.session_id,this.dbManager.getSessionStore().updateMemorySessionId(e.sessionDbId,l.session_id),P.info("SDK","Captured memory session ID",{sessionDbId:e.sessionDbId,memorySessionId:l.session_id})),l.type==="assistant"){let d=l.message.content,p=Array.isArray(d)?d.filter(y=>y.type==="text").map(y=>y.text).join(` -`):typeof d=="string"?d:"",m=p.length,g=e.cumulativeInputTokens+e.cumulativeOutputTokens,_=l.message.usage;_&&(e.cumulativeInputTokens+=_.input_tokens||0,e.cumulativeOutputTokens+=_.output_tokens||0,_.cache_creation_input_tokens&&(e.cumulativeInputTokens+=_.cache_creation_input_tokens),P.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:_.input_tokens,outputTokens:_.output_tokens,cacheCreation:_.cache_creation_input_tokens||0,cacheRead:_.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let f=e.cumulativeInputTokens+e.cumulativeOutputTokens-g,h=e.earliestPendingTimestamp;if(m>0){let y=m>100?p.substring(0,100)+"...":p;P.dataOut("SDK",`Response received (${m} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},y),await this.processSDKResponse(e,p,r,f,h)}else await this.markMessagesProcessed(e,r)}l.type==="result"&&l.subtype}let u=Date.now()-e.startTime;P.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`})}catch(a){throw a.name==="AbortError"?P.warn("SDK","Agent aborted",{sessionId:e.sessionDbId}):P.failure("SDK","Agent error",{sessionDbId:e.sessionDbId},a),a}finally{}}async*createMessageGenerator(e){let r=dt.getInstance().getActiveMode(),a=e.lastPromptNumber===1;P.info("SDK","Creating message generator",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,lastPromptNumber:e.lastPromptNumber,isInitPrompt:a,promptType:a?"INIT":"CONTINUATION"});let n=a?Js(e.project,e.contentSessionId,e.userPrompt,r):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,r);e.conversationHistory.push({role:"user",content:n}),yield{type:"user",message:{role:"user",content:n},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let s of this.sessionManager.getMessageIterator(e.sessionDbId))if(s.type==="observation"){s.prompt_number!==void 0&&(e.lastPromptNumber=s.prompt_number);let i=Ys({id:0,tool_name:s.tool_name,tool_input:JSON.stringify(s.tool_input),tool_output:JSON.stringify(s.tool_response),created_at_epoch:Date.now(),cwd:s.cwd});e.conversationHistory.push({role:"user",content:i}),yield{type:"user",message:{role:"user",content:i},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}else if(s.type==="summarize"){let i=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:s.last_user_message||"",last_assistant_message:s.last_assistant_message||""},r);e.conversationHistory.push({role:"user",content:i}),yield{type:"user",message:{role:"user",content:i},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}}async processSDKResponse(e,r,a,n,s){r&&e.conversationHistory.push({role:"assistant",content:r});let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);P.info("SDK","Observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)",filesRead:c.files_read?.length??0,filesModified:c.files_modified?.length??0,concepts:c.concepts?.length??0});let d=Date.now(),p=c.type,m=c.title||"(untitled)";this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).then(()=>{let g=Date.now()-d;P.debug("CHROMA","Observation synced",{obsId:u,duration:`${g}ms`,type:p,title:m})}).catch(g=>{P.warn("CHROMA","Observation sync failed, continuing without vector search",{obsId:u,type:p,title:m},g)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:c.text||null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files||[]),files_modified:JSON.stringify([]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,o,e.lastPromptNumber,n,s??void 0);P.info("SDK","Summary saved",{sessionId:e.sessionDbId,summaryId:c,request:o.request||"(no request)",hasCompleted:!!o.completed,hasNextSteps:!!o.next_steps});let l=Date.now(),d=o.request||"(no request)";this.dbManager.getChromaSync().syncSummary(c,e.contentSessionId,e.project,o,e.lastPromptNumber,u,n).then(()=>{let p=Date.now()-l;P.debug("CHROMA","Summary synced",{summaryId:c,duration:`${p}ms`,request:d})}).catch(p=>{P.warn("CHROMA","Summary sync failed, continuing without vector search",{summaryId:c,request:d},p)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:c,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);P.debug("SDK","Messages marked as processed",{sessionId:e.sessionDbId,messageIds:Array.from(e.pendingProcessingIds),count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear(),e.earliestPendingTimestamp=null;let n=a.cleanupProcessed(100);n>0&&P.debug("SDK","Cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}findClaudeExecutable(){let e=Ze.loadFromFile(Ir);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,gR.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` -`)[0].trim();if(r)return r}catch(r){P.debug("SDK","Claude executable auto-detection failed",r)}throw new Error(`Claude executable not found. Please either: + })));`),p.write(`newResult[${ri(y)}] = ${v}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let h=p.compile();return(y,v)=>h(d,y,v)},n,s=Zo,i=!Nm.jitless,c=i&&ok.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let m=d.value;if(!s(m))return d.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),d;let g=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)n||(n=a(e.shape)),d=n(d,p);else{d.value={};let v=l.shape;for(let b of l.keys){let w=v[b],S=w._zod.run({value:m[b],issues:[]},p),E=w._zod.optin==="optional"&&w._zod.optout==="optional";S instanceof Promise?g.push(S.then(T=>E?aT(T,d,b,m):ul(T,d,b))):E?aT(S,d,b,m):ul(S,d,b)}}if(!u)return g.length?Promise.all(g).then(()=>d):d;let _=[],f=l.keySet,h=u._zod,y=h.def.type;for(let v of Object.keys(m)){if(f.has(v))continue;if(y==="never"){_.push(v);continue}let b=h.run({value:m[v],issues:[]},p);b instanceof Promise?g.push(b.then(w=>ul(w,d,v))):ul(b,d,v)}return _.length&&d.issues.push({code:"unrecognized_keys",keys:_,input:m,inst:t}),g.length?Promise.all(g).then(()=>d):d}});function sT(t,e,r,a){for(let n of t)if(n.issues.length===0)return e.value=n.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(n=>n.issues.map(s=>Pn(s,a,Rn())))}),e}var Tk=ne("$ZodUnion",(t,e)=>{ht.init(t,e),mt(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),mt(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),mt(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),mt(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(a=>a._zod.pattern);return new RegExp(`^(${r.map(a=>Ml(a.source)).join("|")})$`)}}),t._zod.parse=(r,a)=>{let n=!1,s=[];for(let i of e.options){let o=i._zod.run({value:r.value,issues:[]},a);if(o instanceof Promise)s.push(o),n=!0;else{if(o.issues.length===0)return o;s.push(o)}}return n?Promise.all(s).then(i=>sT(i,r,t,a)):sT(s,r,t,a)}}),l3=ne("$ZodDiscriminatedUnion",(t,e)=>{Tk.init(t,e);let r=t._zod.parse;mt(t._zod,"propValues",()=>{let n={};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[o,c]of Object.entries(i)){n[o]||(n[o]=new Set);for(let u of c)n[o].add(u)}}return n});let a=Al(()=>{let n=e.options,s=new Map;for(let i of n){let o=i._zod.propValues[e.discriminator];if(!o||o.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let c of o){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});t._zod.parse=(n,s)=>{let i=n.value;if(!Zo(i))return n.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),n;let o=a.value.get(i?.[e.discriminator]);return o?o._zod.run(n,s):e.unionFallback?r(n,s):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),n)}}),d3=ne("$ZodIntersection",(t,e)=>{ht.init(t,e),t._zod.parse=(r,a)=>{let n=r.value,s=e.left._zod.run({value:n,issues:[]},a),i=e.right._zod.run({value:n,issues:[]},a);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>iT(r,c,u)):iT(r,s,i)}});function Lm(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(Wo(t)&&Wo(e)){let r=Object.keys(e),a=Object.keys(t).filter(s=>r.indexOf(s)!==-1),n={...t,...e};for(let s of a){let i=Lm(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};n[s]=i.data}return{valid:!0,data:n}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let a=0;a{ht.init(t,e),t._zod.parse=(r,a)=>{let n=r.value;if(!Wo(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,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:n[c],issues:[]},a);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Kn(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Kn(c,u.issues)),r.value[c]=u.value)}let o;for(let c in n)i.has(c)||(o=o??[],o.push(c));o&&o.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:t,keys:o})}else{r.value={};for(let i of Reflect.ownKeys(n)){if(i==="__proto__")continue;let o=e.keyType._zod.run({value:i,issues:[]},a);if(o instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(o.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:o.issues.map(u=>Pn(u,a,Rn())),input:i,path:[i],inst:t}),r.value[o.value]=o.value;continue}let c=e.valueType._zod.run({value:n[i],issues:[]},a);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Kn(i,u.issues)),r.value[o.value]=u.value})):(c.issues.length&&r.issues.push(...Kn(i,c.issues)),r.value[o.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}}),f3=ne("$ZodEnum",(t,e)=>{ht.init(t,e);let r=ak(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(a=>ck.has(typeof a)).map(a=>typeof a=="string"?xi(a):a.toString()).join("|")})$`),t._zod.parse=(a,n)=>{let s=a.value;return t._zod.values.has(s)||a.issues.push({code:"invalid_value",values:r,input:s,inst:t}),a}}),m3=ne("$ZodLiteral",(t,e)=>{ht.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?xi(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,a)=>{let n=r.value;return t._zod.values.has(n)||r.issues.push({code:"invalid_value",values:e.values,input:n,inst:t}),r}}),h3=ne("$ZodTransform",(t,e)=>{ht.init(t,e),t._zod.parse=(r,a)=>{let n=e.transform(r.value,r);if(a.async)return(n instanceof Promise?n:Promise.resolve(n)).then(i=>(r.value=i,r));if(n instanceof Promise)throw new Va;return r.value=n,r}}),v3=ne("$ZodOptional",(t,e)=>{ht.init(t,e),t._zod.optin="optional",t._zod.optout="optional",mt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),mt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ml(r.source)})?$`):void 0}),t._zod.parse=(r,a)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,a):r.value===void 0?r:e.innerType._zod.run(r,a)}),g3=ne("$ZodNullable",(t,e)=>{ht.init(t,e),mt(t._zod,"optin",()=>e.innerType._zod.optin),mt(t._zod,"optout",()=>e.innerType._zod.optout),mt(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Ml(r.source)}|null)$`):void 0}),mt(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,a)=>r.value===null?r:e.innerType._zod.run(r,a)}),y3=ne("$ZodDefault",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>oT(s,e)):oT(n,e)}});function oT(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var _3=ne("$ZodPrefault",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,a))}),b3=ne("$ZodNonOptional",(t,e)=>{ht.init(t,e),mt(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(a=>a!==void 0)):void 0}),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>cT(s,t)):cT(n,t)}});function cT(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var S3=ne("$ZodCatch",(t,e)=>{ht.init(t,e),t._zod.optin="optional",mt(t._zod,"optout",()=>e.innerType._zod.optout),mt(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>Pn(i,a,Rn()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=e.catchValue({...r,error:{issues:n.issues.map(s=>Pn(s,a,Rn()))},input:r.value}),r.issues=[]),r)}}),x3=ne("$ZodPipe",(t,e)=>{ht.init(t,e),mt(t._zod,"values",()=>e.in._zod.values),mt(t._zod,"optin",()=>e.in._zod.optin),mt(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,a)=>{let n=e.in._zod.run(r,a);return n instanceof Promise?n.then(s=>uT(s,e,a)):uT(n,e,a)}});function uT(t,e,r){return ni(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var w3=ne("$ZodReadonly",(t,e)=>{ht.init(t,e),mt(t._zod,"propValues",()=>e.innerType._zod.propValues),mt(t._zod,"values",()=>e.innerType._zod.values),mt(t._zod,"optin",()=>e.innerType._zod.optin),mt(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,a)=>{let n=e.innerType._zod.run(r,a);return n instanceof Promise?n.then(lT):lT(n)}});function lT(t){return t.value=Object.freeze(t.value),t}var E3=ne("$ZodCustom",(t,e)=>{ur.init(t,e),ht.init(t,e),t._zod.parse=(r,a)=>r,t._zod.check=r=>{let a=r.value,n=e.fn(a);if(n instanceof Promise)return n.then(s=>dT(s,r,a,t));dT(n,r,a,t)}});function dT(t,e,r,a){if(!t){let n={code:"custom",input:r,inst:a,path:[...a._zod.def.path??[]],continue:!a._zod.def.abort};a._zod.def.params&&(n.params=a._zod.def.params),e.issues.push(dk(n))}}var T3=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},k3=()=>{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(a){return t[a]??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 a=>{switch(a.code){case"invalid_type":return`Invalid input: expected ${a.expected}, received ${T3(a.input)}`;case"invalid_value":return a.values.length===1?`Invalid input: expected ${Ym(a.values[0])}`:`Invalid option: expected one of ${Mm(a.values,"|")}`;case"too_big":{let n=a.inclusive?"<=":"<",s=e(a.origin);return s?`Too big: expected ${a.origin??"value"} to have ${n}${a.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${a.origin??"value"} to be ${n}${a.maximum.toString()}`}case"too_small":{let n=a.inclusive?">=":">",s=e(a.origin);return s?`Too small: expected ${a.origin} to have ${n}${a.minimum.toString()} ${s.unit}`:`Too small: expected ${a.origin} to be ${n}${a.minimum.toString()}`}case"invalid_format":{let n=a;return n.format==="starts_with"?`Invalid string: must start with "${n.prefix}"`:n.format==="ends_with"?`Invalid string: must end with "${n.suffix}"`:n.format==="includes"?`Invalid string: must include "${n.includes}"`:n.format==="regex"?`Invalid string: must match pattern ${n.pattern}`:`Invalid ${r[n.format]??a.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${Mm(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}}};function R3(){return{localeError:k3()}}var aY=Symbol("ZodOutput"),sY=Symbol("ZodInput"),qm=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let a=r[0];if(this._map.set(e,a),a&&typeof a=="object"&&"id"in a){if(this._idmap.has(a.id))throw new Error(`ID ${a.id} already exists in the registry`);this._idmap.set(a.id,e)}return this}remove(e){return this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let a={...this.get(r)??{}};return delete a.id,{...a,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function P3(){return new qm}var ll=P3();function $3(t,e){return new t({type:"string",...$e(e)})}function O3(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...$e(e)})}function pT(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...$e(e)})}function C3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...$e(e)})}function I3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...$e(e)})}function A3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...$e(e)})}function N3(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...$e(e)})}function M3(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...$e(e)})}function j3(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...$e(e)})}function D3(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...$e(e)})}function L3(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...$e(e)})}function q3(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...$e(e)})}function F3(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...$e(e)})}function U3(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...$e(e)})}function z3(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...$e(e)})}function H3(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...$e(e)})}function B3(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...$e(e)})}function V3(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...$e(e)})}function G3(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...$e(e)})}function Z3(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...$e(e)})}function W3(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...$e(e)})}function K3(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...$e(e)})}function X3(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...$e(e)})}function J3(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...$e(e)})}function Y3(t,e){return new t({type:"string",format:"date",check:"string_format",...$e(e)})}function Q3(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...$e(e)})}function eH(t,e){return new t({type:"string",format:"duration",check:"string_format",...$e(e)})}function tH(t,e){return new t({type:"number",checks:[],...$e(e)})}function rH(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...$e(e)})}function nH(t,e){return new t({type:"boolean",...$e(e)})}function aH(t,e){return new t({type:"null",...$e(e)})}function sH(t){return new t({type:"unknown"})}function iH(t,e){return new t({type:"never",...$e(e)})}function fT(t,e){return new Sk({check:"less_than",...$e(e),value:t,inclusive:!1})}function _m(t,e){return new Sk({check:"less_than",...$e(e),value:t,inclusive:!0})}function mT(t,e){return new xk({check:"greater_than",...$e(e),value:t,inclusive:!1})}function bm(t,e){return new xk({check:"greater_than",...$e(e),value:t,inclusive:!0})}function hT(t,e){return new _z({check:"multiple_of",...$e(e),value:t})}function kk(t,e){return new Sz({check:"max_length",...$e(e),maximum:t})}function bl(t,e){return new xz({check:"min_length",...$e(e),minimum:t})}function Rk(t,e){return new wz({check:"length_equals",...$e(e),length:t})}function oH(t,e){return new Ez({check:"string_format",format:"regex",...$e(e),pattern:t})}function cH(t){return new Tz({check:"string_format",format:"lowercase",...$e(t)})}function uH(t){return new kz({check:"string_format",format:"uppercase",...$e(t)})}function lH(t,e){return new Rz({check:"string_format",format:"includes",...$e(e),includes:t})}function dH(t,e){return new Pz({check:"string_format",format:"starts_with",...$e(e),prefix:t})}function pH(t,e){return new $z({check:"string_format",format:"ends_with",...$e(e),suffix:t})}function Xo(t){return new Oz({check:"overwrite",tx:t})}function fH(t){return Xo(e=>e.normalize(t))}function mH(){return Xo(t=>t.trim())}function hH(){return Xo(t=>t.toLowerCase())}function vH(){return Xo(t=>t.toUpperCase())}function gH(t,e,r){return new t({type:"array",element:e,...$e(r)})}function yH(t,e,r){let a=$e(r);return a.abort??(a.abort=!0),new t({type:"custom",check:"custom",fn:e,...a})}function _H(t,e,r){return new t({type:"custom",check:"custom",fn:e,...$e(r)})}var Pk={};xT(Pk,{time:()=>Nk,duration:()=>jk,datetime:()=>Ok,date:()=>Ik,ZodISOTime:()=>Ak,ZodISODuration:()=>Mk,ZodISODateTime:()=>$k,ZodISODate:()=>Ck});var $k=ne("ZodISODateTime",(t,e)=>{Hz.init(t,e),Tt.init(t,e)});function Ok(t){return J3($k,t)}var Ck=ne("ZodISODate",(t,e)=>{Bz.init(t,e),Tt.init(t,e)});function Ik(t){return Y3(Ck,t)}var Ak=ne("ZodISOTime",(t,e)=>{Vz.init(t,e),Tt.init(t,e)});function Nk(t){return Q3(Ak,t)}var Mk=ne("ZodISODuration",(t,e)=>{Gz.init(t,e),Tt.init(t,e)});function jk(t){return eH(Mk,t)}var Dk=(t,e)=>{fk.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>FU(t,r)},flatten:{value:r=>qU(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},iY=ne("ZodError",Dk),Ll=ne("ZodError",Dk,{Parent:Error}),bH=UU(Ll),SH=zU(Ll),xH=hk(Ll),wH=vk(Ll),Et=ne("ZodType",(t,e)=>(ht.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(a=>typeof a=="function"?{_zod:{check:a,def:{check:"custom"},onattach:[]}}:a)]}),t.clone=(r,a)=>ea(t,r,a),t.brand=()=>t,t.register=(r,a)=>(r.add(t,a),t),t.parse=(r,a)=>bH(t,r,a,{callee:t.parse}),t.safeParse=(r,a)=>xH(t,r,a),t.parseAsync=async(r,a)=>SH(t,r,a,{callee:t.parseAsync}),t.safeParseAsync=async(r,a)=>wH(t,r,a),t.spa=t.safeParseAsync,t.refine=(r,a)=>t.check(fB(r,a)),t.superRefine=r=>t.check(mB(r)),t.overwrite=r=>t.check(Xo(r)),t.optional=()=>we(t),t.nullable=()=>yT(t),t.nullish=()=>we(yT(t)),t.nonoptional=r=>sB(t,r),t.array=()=>Ke(t),t.or=r=>_t([t,r]),t.and=r=>eh(t,r),t.transform=r=>Um(t,Bk(r)),t.default=r=>rB(t,r),t.prefault=r=>aB(t,r),t.catch=r=>oB(t,r),t.pipe=r=>Um(t,r),t.readonly=()=>lB(t),t.describe=r=>{let a=t.clone();return ll.add(a,{description:r}),a},Object.defineProperty(t,"description",{get(){return ll.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ll.get(t);let a=t.clone();return ll.add(a,r[0]),a},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Lk=ne("_ZodString",(t,e)=>{Qm.init(t,e),Et.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=(...a)=>t.check(oH(...a)),t.includes=(...a)=>t.check(lH(...a)),t.startsWith=(...a)=>t.check(dH(...a)),t.endsWith=(...a)=>t.check(pH(...a)),t.min=(...a)=>t.check(bl(...a)),t.max=(...a)=>t.check(kk(...a)),t.length=(...a)=>t.check(Rk(...a)),t.nonempty=(...a)=>t.check(bl(1,...a)),t.lowercase=a=>t.check(cH(a)),t.uppercase=a=>t.check(uH(a)),t.trim=()=>t.check(mH()),t.normalize=(...a)=>t.check(fH(...a)),t.toLowerCase=()=>t.check(hH()),t.toUpperCase=()=>t.check(vH())}),EH=ne("ZodString",(t,e)=>{Qm.init(t,e),Lk.init(t,e),t.email=r=>t.check(O3(TH,r)),t.url=r=>t.check(M3(kH,r)),t.jwt=r=>t.check(X3(UH,r)),t.emoji=r=>t.check(j3(RH,r)),t.guid=r=>t.check(pT(vT,r)),t.uuid=r=>t.check(C3(dl,r)),t.uuidv4=r=>t.check(I3(dl,r)),t.uuidv6=r=>t.check(A3(dl,r)),t.uuidv7=r=>t.check(N3(dl,r)),t.nanoid=r=>t.check(D3(PH,r)),t.guid=r=>t.check(pT(vT,r)),t.cuid=r=>t.check(L3($H,r)),t.cuid2=r=>t.check(q3(OH,r)),t.ulid=r=>t.check(F3(CH,r)),t.base64=r=>t.check(Z3(LH,r)),t.base64url=r=>t.check(W3(qH,r)),t.xid=r=>t.check(U3(IH,r)),t.ksuid=r=>t.check(z3(AH,r)),t.ipv4=r=>t.check(H3(NH,r)),t.ipv6=r=>t.check(B3(MH,r)),t.cidrv4=r=>t.check(V3(jH,r)),t.cidrv6=r=>t.check(G3(DH,r)),t.e164=r=>t.check(K3(FH,r)),t.datetime=r=>t.check(Ok(r)),t.date=r=>t.check(Ik(r)),t.time=r=>t.check(Nk(r)),t.duration=r=>t.check(jk(r))});function te(t){return $3(EH,t)}var Tt=ne("ZodStringFormat",(t,e)=>{yt.init(t,e),Lk.init(t,e)}),TH=ne("ZodEmail",(t,e)=>{Nz.init(t,e),Tt.init(t,e)}),vT=ne("ZodGUID",(t,e)=>{Iz.init(t,e),Tt.init(t,e)}),dl=ne("ZodUUID",(t,e)=>{Az.init(t,e),Tt.init(t,e)}),kH=ne("ZodURL",(t,e)=>{Mz.init(t,e),Tt.init(t,e)}),RH=ne("ZodEmoji",(t,e)=>{jz.init(t,e),Tt.init(t,e)}),PH=ne("ZodNanoID",(t,e)=>{Dz.init(t,e),Tt.init(t,e)}),$H=ne("ZodCUID",(t,e)=>{Lz.init(t,e),Tt.init(t,e)}),OH=ne("ZodCUID2",(t,e)=>{qz.init(t,e),Tt.init(t,e)}),CH=ne("ZodULID",(t,e)=>{Fz.init(t,e),Tt.init(t,e)}),IH=ne("ZodXID",(t,e)=>{Uz.init(t,e),Tt.init(t,e)}),AH=ne("ZodKSUID",(t,e)=>{zz.init(t,e),Tt.init(t,e)}),NH=ne("ZodIPv4",(t,e)=>{Zz.init(t,e),Tt.init(t,e)}),MH=ne("ZodIPv6",(t,e)=>{Wz.init(t,e),Tt.init(t,e)}),jH=ne("ZodCIDRv4",(t,e)=>{Kz.init(t,e),Tt.init(t,e)}),DH=ne("ZodCIDRv6",(t,e)=>{Xz.init(t,e),Tt.init(t,e)}),LH=ne("ZodBase64",(t,e)=>{Jz.init(t,e),Tt.init(t,e)}),qH=ne("ZodBase64URL",(t,e)=>{Qz.init(t,e),Tt.init(t,e)}),FH=ne("ZodE164",(t,e)=>{e3.init(t,e),Tt.init(t,e)}),UH=ne("ZodJWT",(t,e)=>{r3.init(t,e),Tt.init(t,e)}),qk=ne("ZodNumber",(t,e)=>{Ek.init(t,e),Et.init(t,e),t.gt=(a,n)=>t.check(mT(a,n)),t.gte=(a,n)=>t.check(bm(a,n)),t.min=(a,n)=>t.check(bm(a,n)),t.lt=(a,n)=>t.check(fT(a,n)),t.lte=(a,n)=>t.check(_m(a,n)),t.max=(a,n)=>t.check(_m(a,n)),t.int=a=>t.check(gT(a)),t.safe=a=>t.check(gT(a)),t.positive=a=>t.check(mT(0,a)),t.nonnegative=a=>t.check(bm(0,a)),t.negative=a=>t.check(fT(0,a)),t.nonpositive=a=>t.check(_m(0,a)),t.multipleOf=(a,n)=>t.check(hT(a,n)),t.step=(a,n)=>t.check(hT(a,n)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function pt(t){return tH(qk,t)}var zH=ne("ZodNumberFormat",(t,e)=>{n3.init(t,e),qk.init(t,e)});function gT(t){return rH(zH,t)}var HH=ne("ZodBoolean",(t,e)=>{a3.init(t,e),Et.init(t,e)});function Bt(t){return nH(HH,t)}var BH=ne("ZodNull",(t,e)=>{s3.init(t,e),Et.init(t,e)});function Fk(t){return aH(BH,t)}var VH=ne("ZodUnknown",(t,e)=>{i3.init(t,e),Et.init(t,e)});function jt(){return sH(VH)}var GH=ne("ZodNever",(t,e)=>{o3.init(t,e),Et.init(t,e)});function ZH(t){return iH(GH,t)}var WH=ne("ZodArray",(t,e)=>{c3.init(t,e),Et.init(t,e),t.element=e.element,t.min=(r,a)=>t.check(bl(r,a)),t.nonempty=r=>t.check(bl(1,r)),t.max=(r,a)=>t.check(kk(r,a)),t.length=(r,a)=>t.check(Rk(r,a)),t.unwrap=()=>t.element});function Ke(t,e){return gH(WH,t,e)}var Uk=ne("ZodObject",(t,e)=>{u3.init(t,e),Et.init(t,e),ft.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Vt(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:jt()}),t.loose=()=>t.clone({...t._zod.def,catchall:jt()}),t.strict=()=>t.clone({...t._zod.def,catchall:ZH()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>ft.extend(t,r),t.merge=r=>ft.merge(t,r),t.pick=r=>ft.pick(t,r),t.omit=r=>ft.omit(t,r),t.partial=(...r)=>ft.partial(Vk,t,r[0]),t.required=(...r)=>ft.required(Gk,t,r[0])});function le(t,e){let r={type:"object",get shape(){return ft.assignProp(this,"shape",{...t}),this.shape},...ft.normalizeParams(e)};return new Uk(r)}function Vr(t,e){return new Uk({type:"object",get shape(){return ft.assignProp(this,"shape",{...t}),this.shape},catchall:jt(),...ft.normalizeParams(e)})}var zk=ne("ZodUnion",(t,e)=>{Tk.init(t,e),Et.init(t,e),t.options=e.options});function _t(t,e){return new zk({type:"union",options:t,...ft.normalizeParams(e)})}var KH=ne("ZodDiscriminatedUnion",(t,e)=>{zk.init(t,e),l3.init(t,e)});function Hk(t,e,r){return new KH({type:"union",options:e,discriminator:t,...ft.normalizeParams(r)})}var XH=ne("ZodIntersection",(t,e)=>{d3.init(t,e),Et.init(t,e)});function eh(t,e){return new XH({type:"intersection",left:t,right:e})}var JH=ne("ZodRecord",(t,e)=>{p3.init(t,e),Et.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function Dt(t,e,r){return new JH({type:"record",keyType:t,valueType:e,...ft.normalizeParams(r)})}var Fm=ne("ZodEnum",(t,e)=>{f3.init(t,e),Et.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(a,n)=>{let s={};for(let i of a)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Fm({...e,checks:[],...ft.normalizeParams(n),entries:s})},t.exclude=(a,n)=>{let s={...e.entries};for(let i of a)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Fm({...e,checks:[],...ft.normalizeParams(n),entries:s})}});function Vt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(a=>[a,a])):t;return new Fm({type:"enum",entries:r,...ft.normalizeParams(e)})}var YH=ne("ZodLiteral",(t,e)=>{m3.init(t,e),Et.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function Ee(t,e){return new YH({type:"literal",values:Array.isArray(t)?t:[t],...ft.normalizeParams(e)})}var QH=ne("ZodTransform",(t,e)=>{h3.init(t,e),Et.init(t,e),t._zod.parse=(r,a)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(ft.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(ft.issue(i))}};let n=e.transform(r.value,r);return n instanceof Promise?n.then(s=>(r.value=s,r)):(r.value=n,r)}});function Bk(t){return new QH({type:"transform",transform:t})}var Vk=ne("ZodOptional",(t,e)=>{v3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function we(t){return new Vk({type:"optional",innerType:t})}var eB=ne("ZodNullable",(t,e)=>{g3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function yT(t){return new eB({type:"nullable",innerType:t})}var tB=ne("ZodDefault",(t,e)=>{y3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function rB(t,e){return new tB({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var nB=ne("ZodPrefault",(t,e)=>{_3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function aB(t,e){return new nB({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Gk=ne("ZodNonOptional",(t,e)=>{b3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType});function sB(t,e){return new Gk({type:"nonoptional",innerType:t,...ft.normalizeParams(e)})}var iB=ne("ZodCatch",(t,e)=>{S3.init(t,e),Et.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function oB(t,e){return new iB({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var cB=ne("ZodPipe",(t,e)=>{x3.init(t,e),Et.init(t,e),t.in=e.in,t.out=e.out});function Um(t,e){return new cB({type:"pipe",in:t,out:e})}var uB=ne("ZodReadonly",(t,e)=>{w3.init(t,e),Et.init(t,e)});function lB(t){return new uB({type:"readonly",innerType:t})}var Zk=ne("ZodCustom",(t,e)=>{E3.init(t,e),Et.init(t,e)});function dB(t,e){let r=new ur({check:"custom",...ft.normalizeParams(e)});return r._zod.check=t,r}function pB(t,e){return yH(Zk,t??(()=>!0),e)}function fB(t,e={}){return _H(Zk,t,e)}function mB(t,e){let r=dB(a=>(a.addIssue=n=>{if(typeof n=="string")a.issues.push(ft.issue(n,a.value,r._zod.def));else{let s=n;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=a.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),a.issues.push(ft.issue(s))}},t(a.value,a)),e);return r}function Wk(t,e){return Um(Bk(t),e)}Rn(R3());var th="io.modelcontextprotocol/related-task",ql="2.0",pn=pB(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Kk=_t([te(),pt().int()]),Xk=te(),hB=Vr({ttl:_t([pt(),Fk()]).optional(),pollInterval:pt().optional()}),rh=Vr({taskId:te()}),vB=Vr({progressToken:Kk.optional(),[th]:rh.optional()}),lr=Vr({task:hB.optional(),_meta:vB.optional()}),Ut=le({method:te(),params:lr.optional()}),Ga=Vr({_meta:le({[th]:we(rh)}).passthrough().optional()}),Mr=le({method:te(),params:Ga.optional()}),Gt=Vr({_meta:Vr({[th]:rh.optional()}).optional()}),Fl=_t([te(),pt().int()]),gB=le({jsonrpc:Ee(ql),id:Fl,...Ut.shape}).strict();var yB=le({jsonrpc:Ee(ql),...Mr.shape}).strict();var _B=le({jsonrpc:Ee(ql),id:Fl,result:Gt}).strict();var _T;(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"})(_T||(_T={}));var bB=le({jsonrpc:Ee(ql),id:Fl,error:le({code:pt().int(),message:te(),data:we(jt())})}).strict();var oY=_t([gB,yB,_B,bB]),Jk=Gt.strict(),SB=Ga.extend({requestId:Fl,reason:te().optional()}),Yk=Mr.extend({method:Ee("notifications/cancelled"),params:SB}),xB=le({src:te(),mimeType:te().optional(),sizes:Ke(te()).optional()}),Jo=le({icons:Ke(xB).optional()}),gi=le({name:te(),title:te().optional()}),Qk=gi.extend({...gi.shape,...Jo.shape,version:te(),websiteUrl:te().optional()}),wB=eh(le({applyDefaults:Bt().optional()}),Dt(te(),jt())),EB=Wk(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,eh(le({form:wB.optional(),url:pn.optional()}),Dt(te(),jt()).optional())),TB=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({sampling:we(le({createMessage:we(le({}).passthrough())}).passthrough()),elicitation:we(le({create:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),kB=le({list:we(le({}).passthrough()),cancel:we(le({}).passthrough()),requests:we(le({tools:we(le({call:we(le({}).passthrough())}).passthrough())}).passthrough())}).passthrough(),RB=le({experimental:Dt(te(),pn).optional(),sampling:le({context:pn.optional(),tools:pn.optional()}).optional(),elicitation:EB.optional(),roots:le({listChanged:Bt().optional()}).optional(),tasks:we(TB)}),PB=lr.extend({protocolVersion:te(),capabilities:RB,clientInfo:Qk}),$B=Ut.extend({method:Ee("initialize"),params:PB}),OB=le({experimental:Dt(te(),pn).optional(),logging:pn.optional(),completions:pn.optional(),prompts:we(le({listChanged:we(Bt())})),resources:le({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:le({listChanged:Bt().optional()}).optional(),tasks:we(kB)}).passthrough(),CB=Gt.extend({protocolVersion:te(),capabilities:OB,serverInfo:Qk,instructions:te().optional()}),IB=Mr.extend({method:Ee("notifications/initialized")}),eR=Ut.extend({method:Ee("ping")}),AB=le({progress:pt(),total:we(pt()),message:we(te())}),NB=le({...Ga.shape,...AB.shape,progressToken:Kk}),tR=Mr.extend({method:Ee("notifications/progress"),params:NB}),MB=lr.extend({cursor:Xk.optional()}),Yo=Ut.extend({params:MB.optional()}),Qo=Gt.extend({nextCursor:we(Xk)}),ec=le({taskId:te(),status:Vt(["working","input_required","completed","failed","cancelled"]),ttl:_t([pt(),Fk()]),createdAt:te(),lastUpdatedAt:te(),pollInterval:we(pt()),statusMessage:we(te())}),rR=Gt.extend({task:ec}),jB=Ga.merge(ec),nR=Mr.extend({method:Ee("notifications/tasks/status"),params:jB}),aR=Ut.extend({method:Ee("tasks/get"),params:lr.extend({taskId:te()})}),sR=Gt.merge(ec),iR=Ut.extend({method:Ee("tasks/result"),params:lr.extend({taskId:te()})}),oR=Yo.extend({method:Ee("tasks/list")}),cR=Qo.extend({tasks:Ke(ec)}),cY=Ut.extend({method:Ee("tasks/cancel"),params:lr.extend({taskId:te()})}),uY=Gt.merge(ec),uR=le({uri:te(),mimeType:we(te()),_meta:Dt(te(),jt()).optional()}),lR=uR.extend({text:te()}),nh=te().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),dR=uR.extend({blob:nh}),wi=le({audience:Ke(Vt(["user","assistant"])).optional(),priority:pt().min(0).max(1).optional(),lastModified:Pk.datetime({offset:!0}).optional()}),pR=le({...gi.shape,...Jo.shape,uri:te(),description:we(te()),mimeType:we(te()),annotations:wi.optional(),_meta:we(Vr({}))}),DB=le({...gi.shape,...Jo.shape,uriTemplate:te(),description:we(te()),mimeType:we(te()),annotations:wi.optional(),_meta:we(Vr({}))}),LB=Yo.extend({method:Ee("resources/list")}),qB=Qo.extend({resources:Ke(pR)}),FB=Yo.extend({method:Ee("resources/templates/list")}),UB=Qo.extend({resourceTemplates:Ke(DB)}),ah=lr.extend({uri:te()}),zB=ah,HB=Ut.extend({method:Ee("resources/read"),params:zB}),BB=Gt.extend({contents:Ke(_t([lR,dR]))}),VB=Mr.extend({method:Ee("notifications/resources/list_changed")}),GB=ah,ZB=Ut.extend({method:Ee("resources/subscribe"),params:GB}),WB=ah,KB=Ut.extend({method:Ee("resources/unsubscribe"),params:WB}),XB=Ga.extend({uri:te()}),JB=Mr.extend({method:Ee("notifications/resources/updated"),params:XB}),YB=le({name:te(),description:we(te()),required:we(Bt())}),QB=le({...gi.shape,...Jo.shape,description:we(te()),arguments:we(Ke(YB)),_meta:we(Vr({}))}),e7=Yo.extend({method:Ee("prompts/list")}),t7=Qo.extend({prompts:Ke(QB)}),r7=lr.extend({name:te(),arguments:Dt(te(),te()).optional()}),n7=Ut.extend({method:Ee("prompts/get"),params:r7}),sh=le({type:Ee("text"),text:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),ih=le({type:Ee("image"),data:nh,mimeType:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),oh=le({type:Ee("audio"),data:nh,mimeType:te(),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),a7=le({type:Ee("tool_use"),name:te(),id:te(),input:le({}).passthrough(),_meta:we(le({}).passthrough())}).passthrough(),s7=le({type:Ee("resource"),resource:_t([lR,dR]),annotations:wi.optional(),_meta:Dt(te(),jt()).optional()}),i7=pR.extend({type:Ee("resource_link")}),ch=_t([sh,ih,oh,i7,s7]),o7=le({role:Vt(["user","assistant"]),content:ch}),c7=Gt.extend({description:we(te()),messages:Ke(o7)}),u7=Mr.extend({method:Ee("notifications/prompts/list_changed")}),l7=le({title:te().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),d7=le({taskSupport:Vt(["required","optional","forbidden"]).optional()}),fR=le({...gi.shape,...Jo.shape,description:te().optional(),inputSchema:le({type:Ee("object"),properties:Dt(te(),pn).optional(),required:Ke(te()).optional()}).catchall(jt()),outputSchema:le({type:Ee("object"),properties:Dt(te(),pn).optional(),required:Ke(te()).optional()}).catchall(jt()).optional(),annotations:we(l7),execution:we(d7),_meta:Dt(te(),jt()).optional()}),p7=Yo.extend({method:Ee("tools/list")}),f7=Qo.extend({tools:Ke(fR)}),mR=Gt.extend({content:Ke(ch).default([]),structuredContent:Dt(te(),jt()).optional(),isError:we(Bt())}),lY=mR.or(Gt.extend({toolResult:jt()})),m7=lr.extend({name:te(),arguments:we(Dt(te(),jt()))}),h7=Ut.extend({method:Ee("tools/call"),params:m7}),v7=Mr.extend({method:Ee("notifications/tools/list_changed")}),hR=Vt(["debug","info","notice","warning","error","critical","alert","emergency"]),g7=lr.extend({level:hR}),y7=Ut.extend({method:Ee("logging/setLevel"),params:g7}),_7=Ga.extend({level:hR,logger:te().optional(),data:jt()}),b7=Mr.extend({method:Ee("notifications/message"),params:_7}),S7=le({name:te().optional()}),x7=le({hints:we(Ke(S7)),costPriority:we(pt().min(0).max(1)),speedPriority:we(pt().min(0).max(1)),intelligencePriority:we(pt().min(0).max(1))}),w7=le({mode:we(Vt(["auto","required","none"]))}),E7=le({type:Ee("tool_result"),toolUseId:te().describe("The unique identifier for the corresponding tool call."),content:Ke(ch).default([]),structuredContent:le({}).passthrough().optional(),isError:we(Bt()),_meta:we(le({}).passthrough())}).passthrough(),T7=Hk("type",[sh,ih,oh]),Sl=Hk("type",[sh,ih,oh,a7,E7]),k7=le({role:Vt(["user","assistant"]),content:_t([Sl,Ke(Sl)]),_meta:we(le({}).passthrough())}).passthrough(),R7=lr.extend({messages:Ke(k7),modelPreferences:x7.optional(),systemPrompt:te().optional(),includeContext:Vt(["none","thisServer","allServers"]).optional(),temperature:pt().optional(),maxTokens:pt().int(),stopSequences:Ke(te()).optional(),metadata:pn.optional(),tools:we(Ke(fR)),toolChoice:we(w7)}),P7=Ut.extend({method:Ee("sampling/createMessage"),params:R7}),$7=Gt.extend({model:te(),stopReason:we(Vt(["endTurn","stopSequence","maxTokens"]).or(te())),role:Vt(["user","assistant"]),content:T7}),O7=Gt.extend({model:te(),stopReason:we(Vt(["endTurn","stopSequence","maxTokens","toolUse"]).or(te())),role:Vt(["user","assistant"]),content:_t([Sl,Ke(Sl)])}),C7=le({type:Ee("boolean"),title:te().optional(),description:te().optional(),default:Bt().optional()}),I7=le({type:Ee("string"),title:te().optional(),description:te().optional(),minLength:pt().optional(),maxLength:pt().optional(),format:Vt(["email","uri","date","date-time"]).optional(),default:te().optional()}),A7=le({type:Vt(["number","integer"]),title:te().optional(),description:te().optional(),minimum:pt().optional(),maximum:pt().optional(),default:pt().optional()}),N7=le({type:Ee("string"),title:te().optional(),description:te().optional(),enum:Ke(te()),default:te().optional()}),M7=le({type:Ee("string"),title:te().optional(),description:te().optional(),oneOf:Ke(le({const:te(),title:te()})),default:te().optional()}),j7=le({type:Ee("string"),title:te().optional(),description:te().optional(),enum:Ke(te()),enumNames:Ke(te()).optional(),default:te().optional()}),D7=_t([N7,M7]),L7=le({type:Ee("array"),title:te().optional(),description:te().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({type:Ee("string"),enum:Ke(te())}),default:Ke(te()).optional()}),q7=le({type:Ee("array"),title:te().optional(),description:te().optional(),minItems:pt().optional(),maxItems:pt().optional(),items:le({anyOf:Ke(le({const:te(),title:te()}))}),default:Ke(te()).optional()}),F7=_t([L7,q7]),U7=_t([j7,D7,F7]),z7=_t([U7,C7,I7,A7]),H7=lr.extend({mode:Ee("form").optional(),message:te(),requestedSchema:le({type:Ee("object"),properties:Dt(te(),z7),required:Ke(te()).optional()})}),B7=lr.extend({mode:Ee("url"),message:te(),elicitationId:te(),url:te().url()}),V7=_t([H7,B7]),G7=Ut.extend({method:Ee("elicitation/create"),params:V7}),Z7=Ga.extend({elicitationId:te()}),W7=Mr.extend({method:Ee("notifications/elicitation/complete"),params:Z7}),K7=Gt.extend({action:Vt(["accept","decline","cancel"]),content:Wk(t=>t===null?void 0:t,Dt(te(),_t([te(),pt(),Bt(),Ke(te())])).optional())}),X7=le({type:Ee("ref/resource"),uri:te()}),J7=le({type:Ee("ref/prompt"),name:te()}),Y7=lr.extend({ref:_t([J7,X7]),argument:le({name:te(),value:te()}),context:le({arguments:Dt(te(),te()).optional()}).optional()}),Q7=Ut.extend({method:Ee("completion/complete"),params:Y7});var eV=Gt.extend({completion:Vr({values:Ke(te()).max(100),total:we(pt().int()),hasMore:we(Bt())})}),tV=le({uri:te().startsWith("file://"),name:te().optional(),_meta:Dt(te(),jt()).optional()}),rV=Ut.extend({method:Ee("roots/list")}),nV=Gt.extend({roots:Ke(tV)}),aV=Mr.extend({method:Ee("notifications/roots/list_changed")}),dY=_t([eR,$B,Q7,y7,n7,e7,LB,FB,HB,ZB,KB,h7,p7,aR,iR,oR]),pY=_t([Yk,tR,IB,aV,nR]),fY=_t([Jk,$7,O7,K7,nV,sR,cR,rR]),mY=_t([eR,P7,G7,rV,aR,iR,oR]),hY=_t([Yk,tR,b7,JB,VB,v7,u7,nR,W7]),vY=_t([Jk,CB,eV,c7,t7,qB,UB,BB,mR,f7,sR,cR,rR]);var gY=Symbol("Let zodToJsonSchema decide on which parser to use");var yY=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");var _Y=ST(Bq(),1),bY=ST(L6(),1);var SY=Symbol.for("mcp.completable");var bT;(function(t){t.Completable="McpCompletable"})(bT||(bT={}));function vR({prompt:t,options:e}){let{systemPrompt:r,settingSources:a,sandbox:n,...s}=e??{},i,o;r===void 0?i="":typeof r=="string"?i=r:r.type==="preset"&&(o=r.append);let c=s.pathToClaudeCodeExecutable;if(!c){let Z=(0,NT.fileURLToPath)(sV.url),ee=(0,xm.join)(Z,"..");c=(0,xm.join)(ee,"cli.js")}process.env.CLAUDE_AGENT_SDK_VERSION="0.1.76";let{abortController:u=jT(),additionalDirectories:l=[],agents:d,allowedTools:p=[],betas:m,canUseTool:g,continue:_,cwd:f,disallowedTools:h=[],tools:y,env:v,executable:b=YT()?"bun":"node",executableArgs:w=[],extraArgs:S={},fallbackModel:E,enableFileCheckpointing:T,forkSession:R,hooks:M,includePartialMessages:j,persistSession:q,maxThinkingTokens:H,maxTurns:N,maxBudgetUsd:W,mcpServers:oe,model:he,outputFormat:ae,permissionMode:re="default",allowDangerouslySkipPermissions:U=!1,permissionPromptToolName:P,plugins:z,resume:A,resumeSessionAt:x,stderr:k,strictMcpConfig:D}=s,K=ae?.type==="json_schema"?ae.schema:void 0,J=v;if(J||(J={...process.env}),J.CLAUDE_CODE_ENTRYPOINT||(J.CLAUDE_CODE_ENTRYPOINT="sdk-ts"),T&&(J.CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING="true"),!c)throw new Error("pathToClaudeCodeExecutable is required");let de={},se=new Map;if(oe)for(let[Z,ee]of Object.entries(oe))ee.type==="sdk"&&"instance"in ee?(se.set(Z,ee.instance),de[Z]={type:"sdk",name:Z}):de[Z]=ee;let me=typeof t=="string",C=new Em({abortController:u,additionalDirectories:l,betas:m,cwd:f,executable:b,executableArgs:w,extraArgs:S,pathToClaudeCodeExecutable:c,env:J,forkSession:R,stderr:k,maxThinkingTokens:H,maxTurns:N,maxBudgetUsd:W,model:he,fallbackModel:E,jsonSchema:K,permissionMode:re,allowDangerouslySkipPermissions:U,permissionPromptToolName:P,continueConversation:_,resume:A,resumeSessionAt:x,settingSources:a??[],allowedTools:p,disallowedTools:h,tools:y,mcpServers:de,strictMcpConfig:D,canUseTool:!!g,hooks:!!M,includePartialMessages:j,persistSession:q,plugins:z,sandbox:n,spawnClaudeCodeProcess:s.spawnClaudeCodeProcess}),I={systemPrompt:i,appendSystemPrompt:o,agents:d},F=new Rm(C,me,g,M,u,se,K,I);return typeof t=="string"?C.write(JSON.stringify({type:"user",session_id:"",message:{role:"user",content:[{type:"text",text:t}]},parent_tool_use_id:null})+` +`):F.streamInput(t),F}var Ul=class{dbManager;sessionManager;constructor(e,r){this.dbManager=e,this.sessionManager=r}async startSession(e,r){try{let a=this.findClaudeExecutable(),n=this.getModelId(),s=["Bash","Read","Write","Edit","Grep","Glob","WebFetch","WebSearch","Task","NotebookEdit","AskUserQuestion","TodoWrite"],i=this.createMessageGenerator(e),o=e.memorySessionId&&e.memorySessionId!==e.contentSessionId;O.info("SDK","Starting SDK query",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,memorySessionId:e.memorySessionId,hasRealMemorySessionId:o,resume_parameter:o?e.memorySessionId:"(none - fresh start)",lastPromptNumber:e.lastPromptNumber});let c=vR({prompt:i,options:{model:n,...o&&{resume:e.memorySessionId},disallowedTools:s,abortController:e.abortController,pathToClaudeCodeExecutable:a}});for await(let l of c){if(!e.memorySessionId&&l.session_id&&(e.memorySessionId=l.session_id,this.dbManager.getSessionStore().updateMemorySessionId(e.sessionDbId,l.session_id),O.info("SDK","Captured memory session ID",{sessionDbId:e.sessionDbId,memorySessionId:l.session_id})),l.type==="assistant"){let d=l.message.content,p=Array.isArray(d)?d.filter(y=>y.type==="text").map(y=>y.text).join(` +`):typeof d=="string"?d:"",m=p.length,g=e.cumulativeInputTokens+e.cumulativeOutputTokens,_=l.message.usage;_&&(e.cumulativeInputTokens+=_.input_tokens||0,e.cumulativeOutputTokens+=_.output_tokens||0,_.cache_creation_input_tokens&&(e.cumulativeInputTokens+=_.cache_creation_input_tokens),O.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:_.input_tokens,outputTokens:_.output_tokens,cacheCreation:_.cache_creation_input_tokens||0,cacheRead:_.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let f=e.cumulativeInputTokens+e.cumulativeOutputTokens-g,h=e.earliestPendingTimestamp;if(m>0){let y=m>100?p.substring(0,100)+"...":p;O.dataOut("SDK",`Response received (${m} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},y),await this.processSDKResponse(e,p,r,f,h)}else await this.markMessagesProcessed(e,r)}l.type==="result"&&l.subtype}let u=Date.now()-e.startTime;O.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`})}catch(a){throw a.name==="AbortError"?O.warn("SDK","Agent aborted",{sessionId:e.sessionDbId}):O.failure("SDK","Agent error",{sessionDbId:e.sessionDbId},a),a}finally{}}async*createMessageGenerator(e){let r=dt.getInstance().getActiveMode(),a=e.lastPromptNumber===1;O.info("SDK","Creating message generator",{sessionDbId:e.sessionDbId,contentSessionId:e.contentSessionId,lastPromptNumber:e.lastPromptNumber,isInitPrompt:a,promptType:a?"INIT":"CONTINUATION"});let n=a?Js(e.project,e.contentSessionId,e.userPrompt,r):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,r);e.conversationHistory.push({role:"user",content:n}),yield{type:"user",message:{role:"user",content:n},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let s of this.sessionManager.getMessageIterator(e.sessionDbId))if(s.type==="observation"){s.prompt_number!==void 0&&(e.lastPromptNumber=s.prompt_number);let i=Ys({id:0,tool_name:s.tool_name,tool_input:JSON.stringify(s.tool_input),tool_output:JSON.stringify(s.tool_response),created_at_epoch:Date.now(),cwd:s.cwd});e.conversationHistory.push({role:"user",content:i}),yield{type:"user",message:{role:"user",content:i},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}else if(s.type==="summarize"){let i=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:s.last_user_message||"",last_assistant_message:s.last_assistant_message||""},r);e.conversationHistory.push({role:"user",content:i}),yield{type:"user",message:{role:"user",content:i},session_id:e.contentSessionId,parent_tool_use_id:null,isSynthetic:!0}}}async processSDKResponse(e,r,a,n,s){r&&e.conversationHistory.push({role:"assistant",content:r});let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);O.info("SDK","Observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)",filesRead:c.files_read?.length??0,filesModified:c.files_modified?.length??0,concepts:c.concepts?.length??0});let d=Date.now(),p=c.type,m=c.title||"(untitled)";this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).then(()=>{let g=Date.now()-d;O.debug("CHROMA","Observation synced",{obsId:u,duration:`${g}ms`,type:p,title:m})}).catch(g=>{O.warn("CHROMA","Observation sync failed, continuing without vector search",{obsId:u,type:p,title:m},g)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:c.text||null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files||[]),files_modified:JSON.stringify([]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,o,e.lastPromptNumber,n,s??void 0);O.info("SDK","Summary saved",{sessionId:e.sessionDbId,summaryId:c,request:o.request||"(no request)",hasCompleted:!!o.completed,hasNextSteps:!!o.next_steps});let l=Date.now(),d=o.request||"(no request)";this.dbManager.getChromaSync().syncSummary(c,e.contentSessionId,e.project,o,e.lastPromptNumber,u,n).then(()=>{let p=Date.now()-l;O.debug("CHROMA","Summary synced",{summaryId:c,duration:`${p}ms`,request:d})}).catch(p=>{O.warn("CHROMA","Summary sync failed, continuing without vector search",{summaryId:c,request:d},p)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:c,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);O.debug("SDK","Messages marked as processed",{sessionId:e.sessionDbId,messageIds:Array.from(e.pendingProcessingIds),count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear(),e.earliestPendingTimestamp=null;let n=a.cleanupProcessed(100);n>0&&O.debug("SDK","Cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}findClaudeExecutable(){let e=Ze.loadFromFile(Ir);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,gR.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` +`)[0].trim();if(r)return r}catch(r){O.debug("SDK","Claude executable auto-detection failed",r)}throw new Error(`Claude executable not found. Please either: 1. Add "claude" to your system PATH, or -2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=_R.default.join((0,yR.homedir)(),".claude-mem","settings.json");return Ze.loadFromFile(e).CLAUDE_MEM_MODEL}};var Hl=xt(require("path"),1),Bl=require("os");ot();Or();ln();var iV="https://generativelanguage.googleapis.com/v1beta/models",oV={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30},bR=0;async function cV(t,e){if(!e)return;let r=oV[t]||5,a=Math.ceil(6e4/r)+100,s=Date.now()-bR;if(ssetTimeout(o,i))}bR=Date.now()}var zl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:a,model:n,rateLimitingEnabled:s}=this.getGeminiConfig();if(!a)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let i=dt.getInstance().getActiveMode(),o=e.lastPromptNumber===1?Js(e.project,e.contentSessionId,e.userPrompt,i):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,i);e.conversationHistory.push({role:"user",content:o});let c=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let l=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(l*.7),e.cumulativeOutputTokens+=Math.floor(l*.3),await this.processGeminiResponse(e,c.content,r,l,null)}else P.warn("SDK","Empty Gemini init response - session may lack context",{sessionId:e.sessionDbId,model:n});for await(let l of this.sessionManager.getMessageIterator(e.sessionDbId)){let d=e.earliestPendingTimestamp;if(l.type==="observation"){l.prompt_number!==void 0&&(e.lastPromptNumber=l.prompt_number);let p=Ys({id:0,tool_name:l.tool_name,tool_input:JSON.stringify(l.tool_input),tool_output:JSON.stringify(l.tool_response),created_at_epoch:d??Date.now(),cwd:l.cwd});e.conversationHistory.push({role:"user",content:p});let m=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(m.content){e.conversationHistory.push({role:"assistant",content:m.content});let g=m.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3),await this.processGeminiResponse(e,m.content,r,g,d)}else P.warn("SDK","Empty Gemini response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:l.tool_name}),await this.markMessagesProcessed(e,r)}else if(l.type==="summarize"){let p=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:l.last_user_message||"",last_assistant_message:l.last_assistant_message||""},i);e.conversationHistory.push({role:"user",content:p});let m=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(m.content){e.conversationHistory.push({role:"assistant",content:m.content});let g=m.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3),await this.processGeminiResponse(e,m.content,r,g,d)}else P.warn("SDK","Empty Gemini response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}}let u=Date.now()-e.startTime;P.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(a){if(a.name==="AbortError")throw P.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),a;if(this.shouldFallbackToClaude(a)&&this.fallbackAgent){P.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:a.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&P.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw P.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},a),a}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,a,n){let s=this.conversationToGeminiContents(e),i=e.reduce((p,m)=>p+m.content.length,0);P.debug("SDK",`Querying Gemini multi-turn (${a})`,{turns:e.length,totalChars:i});let o=`${iV}/${a}:generateContent?key=${r}`;await cV(a,n);let c=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:s,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return P.warn("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}async processGeminiResponse(e,r,a,n,s){let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);P.info("SDK","Gemini observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{P.warn("SDK","Gemini chroma sync failed",{obsId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files_read||[]),files_modified:JSON.stringify(c.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let c={request:o.request||"",investigated:o.investigated||"",learned:o.learned||"",completed:o.completed||"",next_steps:o.next_steps||"",notes:o.notes},{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);P.info("SDK","Gemini summary saved",{sessionId:e.sessionDbId,summaryId:u,request:o.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{P.warn("SDK","Gemini chroma sync failed",{summaryId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:u,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);P.debug("SDK","Gemini messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let n=a.cleanupProcessed(100);n>0&&P.debug("SDK","Gemini cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getGeminiConfig(){let e=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json"),r=Ze.loadFromFile(e),a=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",n="gemini-2.5-flash",s=r.CLAUDE_MEM_GEMINI_MODEL||n,i=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite"],o;i.includes(s)?o=s:(P.warn("SDK",`Invalid Gemini model "${s}", falling back to ${n}`,{configured:s,validModels:i}),o=n);let c=r.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED!=="false";return{apiKey:a,model:o,rateLimitingEnabled:c}}};function uh(){let t=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json");return!!(Ze.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function lh(){let t=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json");return Ze.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}ot();Or();mr();ln();var uV="https://openrouter.ai/api/v1/chat/completions",lV=20,dV=1e5,pV=4,Vl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:a,model:n,siteUrl:s,appName:i}=this.getOpenRouterConfig();if(!a)throw new Error("OpenRouter API key not configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.");let o=dt.getInstance().getActiveMode(),c=e.lastPromptNumber===1?Js(e.project,e.contentSessionId,e.userPrompt,o):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,o);e.conversationHistory.push({role:"user",content:c});let u=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(u.content){e.conversationHistory.push({role:"assistant",content:u.content});let d=u.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(d*.7),e.cumulativeOutputTokens+=Math.floor(d*.3),await this.processOpenRouterResponse(e,u.content,r,d,null)}else P.warn("SDK","Empty OpenRouter init response - session may lack context",{sessionId:e.sessionDbId,model:n});for await(let d of this.sessionManager.getMessageIterator(e.sessionDbId)){let p=e.earliestPendingTimestamp;if(d.type==="observation"){d.prompt_number!==void 0&&(e.lastPromptNumber=d.prompt_number);let m=Ys({id:0,tool_name:d.tool_name,tool_input:JSON.stringify(d.tool_input),tool_output:JSON.stringify(d.tool_response),created_at_epoch:p??Date.now(),cwd:d.cwd});e.conversationHistory.push({role:"user",content:m});let g=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(g.content){e.conversationHistory.push({role:"assistant",content:g.content});let _=g.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3),await this.processOpenRouterResponse(e,g.content,r,_,p)}else P.warn("SDK","Empty OpenRouter response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:d.tool_name}),await this.markMessagesProcessed(e,r)}else if(d.type==="summarize"){let m=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:d.last_user_message||"",last_assistant_message:d.last_assistant_message||""},o);e.conversationHistory.push({role:"user",content:m});let g=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(g.content){e.conversationHistory.push({role:"assistant",content:g.content});let _=g.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3),await this.processOpenRouterResponse(e,g.content,r,_,p)}else P.warn("SDK","Empty OpenRouter response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}}let l=Date.now()-e.startTime;P.success("SDK","OpenRouter agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length,model:n})}catch(a){if(a.name==="AbortError")throw P.warn("SDK","OpenRouter agent aborted",{sessionId:e.sessionDbId}),a;if(this.shouldFallbackToClaude(a)&&this.fallbackAgent){P.warn("SDK","OpenRouter API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:a.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&P.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw P.failure("SDK","OpenRouter agent error",{sessionDbId:e.sessionDbId},a),a}}estimateTokens(e){return Math.ceil(e.length/pV)}truncateHistory(e){let r=Ze.loadFromFile(Ir),a=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES)||lV,n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS)||dV;if(e.length<=a&&e.reduce((c,u)=>c+this.estimateTokens(u.content),0)<=n)return e;let s=[],i=0;for(let o=e.length-1;o>=0;o--){let c=e[o],u=this.estimateTokens(c.content);if(s.length>=a||i+u>n){P.warn("SDK","Context window truncated to prevent runaway costs",{originalMessages:e.length,keptMessages:s.length,droppedMessages:o+1,estimatedTokens:i,tokenLimit:n});break}s.unshift(c),i+=u}return s}conversationToOpenAIMessages(e){return e.map(r=>({role:r.role==="assistant"?"assistant":"user",content:r.content}))}async queryOpenRouterMultiTurn(e,r,a,n,s){let i=this.truncateHistory(e),o=this.conversationToOpenAIMessages(i),c=i.reduce((g,_)=>g+_.content.length,0),u=this.estimateTokens(i.map(g=>g.content).join(""));P.debug("SDK",`Querying OpenRouter multi-turn (${a})`,{turns:i.length,totalChars:c,estimatedTokens:u});let l=await fetch(uV,{method:"POST",headers:{Authorization:`Bearer ${r}`,"HTTP-Referer":n||"https://github.com/thedotmack/claude-mem","X-Title":s||"claude-mem","Content-Type":"application/json"},body:JSON.stringify({model:a,messages:o,temperature:.3,max_tokens:4096})});if(!l.ok){let g=await l.text();throw new Error(`OpenRouter API error: ${l.status} - ${g}`)}let d=await l.json();if(d.error)throw new Error(`OpenRouter API error: ${d.error.code} - ${d.error.message}`);if(!d.choices?.[0]?.message?.content)return P.warn("SDK","Empty response from OpenRouter"),{content:""};let p=d.choices[0].message.content,m=d.usage?.total_tokens;if(m){let g=d.usage?.prompt_tokens||0,_=d.usage?.completion_tokens||0,f=g/1e6*3+_/1e6*15;P.info("SDK","OpenRouter API usage",{model:a,inputTokens:g,outputTokens:_,totalTokens:m,estimatedCostUSD:f.toFixed(4),messagesInContext:i.length}),m>5e4&&P.warn("SDK","High token usage detected - consider reducing context",{totalTokens:m,estimatedCost:f.toFixed(4)})}return{content:p,tokensUsed:m}}async processOpenRouterResponse(e,r,a,n,s){let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);P.info("SDK","OpenRouter observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{P.warn("SDK","OpenRouter chroma sync failed",{obsId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files_read||[]),files_modified:JSON.stringify(c.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let c={request:o.request||"",investigated:o.investigated||"",learned:o.learned||"",completed:o.completed||"",next_steps:o.next_steps||"",notes:o.notes},{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);P.info("SDK","OpenRouter summary saved",{sessionId:e.sessionDbId,summaryId:u,request:o.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{P.warn("SDK","OpenRouter chroma sync failed",{summaryId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:u,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);P.debug("SDK","OpenRouter messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let n=a.cleanupProcessed(100);n>0&&P.debug("SDK","OpenRouter cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getOpenRouterConfig(){let e=Ir,r=Ze.loadFromFile(e),a=r.CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY||"",n=r.CLAUDE_MEM_OPENROUTER_MODEL||"xiaomi/mimo-v2-flash:free",s=r.CLAUDE_MEM_OPENROUTER_SITE_URL||"",i=r.CLAUDE_MEM_OPENROUTER_APP_NAME||"claude-mem";return{apiKey:a,model:n,siteUrl:s,appName:i}}};function dh(){let t=Ir;return!!(Ze.loadFromFile(t).CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY)}function ph(){let t=Ir;return Ze.loadFromFile(t).CLAUDE_MEM_PROVIDER==="openrouter"}var Gl=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let a=`/${r}/`,n=e.indexOf(a);return n!==-1?e.substring(n+a.length):e}stripProjectPaths(e,r){if(!e)return e;try{let n=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(n)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,a){let n=this.paginate("observations","id, memory_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,a);return{...n,items:n.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,a){let n=this.dbManager.getSessionStore().db,s=` +2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=_R.default.join((0,yR.homedir)(),".claude-mem","settings.json");return Ze.loadFromFile(e).CLAUDE_MEM_MODEL}};var Hl=xt(require("path"),1),Bl=require("os");ot();Or();ln();var iV="https://generativelanguage.googleapis.com/v1beta/models",oV={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30},bR=0;async function cV(t,e){if(!e)return;let r=oV[t]||5,a=Math.ceil(6e4/r)+100,s=Date.now()-bR;if(ssetTimeout(o,i))}bR=Date.now()}var zl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:a,model:n,rateLimitingEnabled:s}=this.getGeminiConfig();if(!a)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let i=dt.getInstance().getActiveMode(),o=e.lastPromptNumber===1?Js(e.project,e.contentSessionId,e.userPrompt,i):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,i);e.conversationHistory.push({role:"user",content:o});let c=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let l=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(l*.7),e.cumulativeOutputTokens+=Math.floor(l*.3),await this.processGeminiResponse(e,c.content,r,l,null)}else O.warn("SDK","Empty Gemini init response - session may lack context",{sessionId:e.sessionDbId,model:n});for await(let l of this.sessionManager.getMessageIterator(e.sessionDbId)){let d=e.earliestPendingTimestamp;if(l.type==="observation"){l.prompt_number!==void 0&&(e.lastPromptNumber=l.prompt_number);let p=Ys({id:0,tool_name:l.tool_name,tool_input:JSON.stringify(l.tool_input),tool_output:JSON.stringify(l.tool_response),created_at_epoch:d??Date.now(),cwd:l.cwd});e.conversationHistory.push({role:"user",content:p});let m=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(m.content){e.conversationHistory.push({role:"assistant",content:m.content});let g=m.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3),await this.processGeminiResponse(e,m.content,r,g,d)}else O.warn("SDK","Empty Gemini response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:l.tool_name}),await this.markMessagesProcessed(e,r)}else if(l.type==="summarize"){let p=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:l.last_user_message||"",last_assistant_message:l.last_assistant_message||""},i);e.conversationHistory.push({role:"user",content:p});let m=await this.queryGeminiMultiTurn(e.conversationHistory,a,n,s);if(m.content){e.conversationHistory.push({role:"assistant",content:m.content});let g=m.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(g*.7),e.cumulativeOutputTokens+=Math.floor(g*.3),await this.processGeminiResponse(e,m.content,r,g,d)}else O.warn("SDK","Empty Gemini response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}}let u=Date.now()-e.startTime;O.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(a){if(a.name==="AbortError")throw O.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),a;if(this.shouldFallbackToClaude(a)&&this.fallbackAgent){O.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:a.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&O.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw O.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},a),a}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,a,n){let s=this.conversationToGeminiContents(e),i=e.reduce((p,m)=>p+m.content.length,0);O.debug("SDK",`Querying Gemini multi-turn (${a})`,{turns:e.length,totalChars:i});let o=`${iV}/${a}:generateContent?key=${r}`;await cV(a,n);let c=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:s,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return O.warn("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}async processGeminiResponse(e,r,a,n,s){let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);O.info("SDK","Gemini observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{O.warn("SDK","Gemini chroma sync failed",{obsId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files_read||[]),files_modified:JSON.stringify(c.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let c={request:o.request||"",investigated:o.investigated||"",learned:o.learned||"",completed:o.completed||"",next_steps:o.next_steps||"",notes:o.notes},{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);O.info("SDK","Gemini summary saved",{sessionId:e.sessionDbId,summaryId:u,request:o.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{O.warn("SDK","Gemini chroma sync failed",{summaryId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:u,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);O.debug("SDK","Gemini messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let n=a.cleanupProcessed(100);n>0&&O.debug("SDK","Gemini cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getGeminiConfig(){let e=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json"),r=Ze.loadFromFile(e),a=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",n="gemini-2.5-flash",s=r.CLAUDE_MEM_GEMINI_MODEL||n,i=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite"],o;i.includes(s)?o=s:(O.warn("SDK",`Invalid Gemini model "${s}", falling back to ${n}`,{configured:s,validModels:i}),o=n);let c=r.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED!=="false";return{apiKey:a,model:o,rateLimitingEnabled:c}}};function uh(){let t=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json");return!!(Ze.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function lh(){let t=Hl.default.join((0,Bl.homedir)(),".claude-mem","settings.json");return Ze.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}ot();Or();mr();ln();var uV="https://openrouter.ai/api/v1/chat/completions",lV=20,dV=1e5,pV=4,Vl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:a,model:n,siteUrl:s,appName:i}=this.getOpenRouterConfig();if(!a)throw new Error("OpenRouter API key not configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.");let o=dt.getInstance().getActiveMode(),c=e.lastPromptNumber===1?Js(e.project,e.contentSessionId,e.userPrompt,o):ei(e.userPrompt,e.lastPromptNumber,e.contentSessionId,o);e.conversationHistory.push({role:"user",content:c});let u=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(u.content){e.conversationHistory.push({role:"assistant",content:u.content});let d=u.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(d*.7),e.cumulativeOutputTokens+=Math.floor(d*.3),await this.processOpenRouterResponse(e,u.content,r,d,null)}else O.warn("SDK","Empty OpenRouter init response - session may lack context",{sessionId:e.sessionDbId,model:n});for await(let d of this.sessionManager.getMessageIterator(e.sessionDbId)){let p=e.earliestPendingTimestamp;if(d.type==="observation"){d.prompt_number!==void 0&&(e.lastPromptNumber=d.prompt_number);let m=Ys({id:0,tool_name:d.tool_name,tool_input:JSON.stringify(d.tool_input),tool_output:JSON.stringify(d.tool_response),created_at_epoch:p??Date.now(),cwd:d.cwd});e.conversationHistory.push({role:"user",content:m});let g=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(g.content){e.conversationHistory.push({role:"assistant",content:g.content});let _=g.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3),await this.processOpenRouterResponse(e,g.content,r,_,p)}else O.warn("SDK","Empty OpenRouter response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:d.tool_name}),await this.markMessagesProcessed(e,r)}else if(d.type==="summarize"){let m=Qs({id:e.sessionDbId,memory_session_id:e.memorySessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:d.last_user_message||"",last_assistant_message:d.last_assistant_message||""},o);e.conversationHistory.push({role:"user",content:m});let g=await this.queryOpenRouterMultiTurn(e.conversationHistory,a,n,s,i);if(g.content){e.conversationHistory.push({role:"assistant",content:g.content});let _=g.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(_*.7),e.cumulativeOutputTokens+=Math.floor(_*.3),await this.processOpenRouterResponse(e,g.content,r,_,p)}else O.warn("SDK","Empty OpenRouter response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}}let l=Date.now()-e.startTime;O.success("SDK","OpenRouter agent completed",{sessionId:e.sessionDbId,duration:`${(l/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length,model:n})}catch(a){if(a.name==="AbortError")throw O.warn("SDK","OpenRouter agent aborted",{sessionId:e.sessionDbId}),a;if(this.shouldFallbackToClaude(a)&&this.fallbackAgent){O.warn("SDK","OpenRouter API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:a.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&O.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw O.failure("SDK","OpenRouter agent error",{sessionDbId:e.sessionDbId},a),a}}estimateTokens(e){return Math.ceil(e.length/pV)}truncateHistory(e){let r=Ze.loadFromFile(Ir),a=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES)||lV,n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS)||dV;if(e.length<=a&&e.reduce((c,u)=>c+this.estimateTokens(u.content),0)<=n)return e;let s=[],i=0;for(let o=e.length-1;o>=0;o--){let c=e[o],u=this.estimateTokens(c.content);if(s.length>=a||i+u>n){O.warn("SDK","Context window truncated to prevent runaway costs",{originalMessages:e.length,keptMessages:s.length,droppedMessages:o+1,estimatedTokens:i,tokenLimit:n});break}s.unshift(c),i+=u}return s}conversationToOpenAIMessages(e){return e.map(r=>({role:r.role==="assistant"?"assistant":"user",content:r.content}))}async queryOpenRouterMultiTurn(e,r,a,n,s){let i=this.truncateHistory(e),o=this.conversationToOpenAIMessages(i),c=i.reduce((g,_)=>g+_.content.length,0),u=this.estimateTokens(i.map(g=>g.content).join(""));O.debug("SDK",`Querying OpenRouter multi-turn (${a})`,{turns:i.length,totalChars:c,estimatedTokens:u});let l=await fetch(uV,{method:"POST",headers:{Authorization:`Bearer ${r}`,"HTTP-Referer":n||"https://github.com/thedotmack/claude-mem","X-Title":s||"claude-mem","Content-Type":"application/json"},body:JSON.stringify({model:a,messages:o,temperature:.3,max_tokens:4096})});if(!l.ok){let g=await l.text();throw new Error(`OpenRouter API error: ${l.status} - ${g}`)}let d=await l.json();if(d.error)throw new Error(`OpenRouter API error: ${d.error.code} - ${d.error.message}`);if(!d.choices?.[0]?.message?.content)return O.warn("SDK","Empty response from OpenRouter"),{content:""};let p=d.choices[0].message.content,m=d.usage?.total_tokens;if(m){let g=d.usage?.prompt_tokens||0,_=d.usage?.completion_tokens||0,f=g/1e6*3+_/1e6*15;O.info("SDK","OpenRouter API usage",{model:a,inputTokens:g,outputTokens:_,totalTokens:m,estimatedCostUSD:f.toFixed(4),messagesInContext:i.length}),m>5e4&&O.warn("SDK","High token usage detected - consider reducing context",{totalTokens:m,estimatedCost:f.toFixed(4)})}return{content:p,tokensUsed:m}}async processOpenRouterResponse(e,r,a,n,s){let i=Ks(r,e.contentSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);O.info("SDK","OpenRouter observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{O.warn("SDK","OpenRouter chroma sync failed",{obsId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,memory_session_id:e.memorySessionId,session_id:e.contentSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files_read||[]),files_modified:JSON.stringify(c.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Xs(r,e.sessionDbId);if(o){let c={request:o.request||"",investigated:o.investigated||"",learned:o.learned||"",completed:o.completed||"",next_steps:o.next_steps||"",notes:o.notes},{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeSummary(e.contentSessionId,e.project,c,e.lastPromptNumber,n,s??void 0);O.info("SDK","OpenRouter summary saved",{sessionId:e.sessionDbId,summaryId:u,request:o.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(u,e.contentSessionId,e.project,c,e.lastPromptNumber,l,n).catch(d=>{O.warn("SDK","OpenRouter chroma sync failed",{summaryId:u},d)}),a&&a.sseBroadcaster&&a.sseBroadcaster.broadcast({type:"new_summary",summary:{id:u,session_id:e.contentSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}}),Za(e.project,Xt()).catch(()=>{})}await this.markMessagesProcessed(e,a)}async markMessagesProcessed(e,r){let a=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)a.markProcessed(s);O.debug("SDK","OpenRouter messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let n=a.cleanupProcessed(100);n>0&&O.debug("SDK","OpenRouter cleaned up old processed messages",{deletedCount:n})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getOpenRouterConfig(){let e=Ir,r=Ze.loadFromFile(e),a=r.CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY||"",n=r.CLAUDE_MEM_OPENROUTER_MODEL||"xiaomi/mimo-v2-flash:free",s=r.CLAUDE_MEM_OPENROUTER_SITE_URL||"",i=r.CLAUDE_MEM_OPENROUTER_APP_NAME||"claude-mem";return{apiKey:a,model:n,siteUrl:s,appName:i}}};function dh(){let t=Ir;return!!(Ze.loadFromFile(t).CLAUDE_MEM_OPENROUTER_API_KEY||process.env.OPENROUTER_API_KEY)}function ph(){let t=Ir;return Ze.loadFromFile(t).CLAUDE_MEM_PROVIDER==="openrouter"}var Gl=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let a=`/${r}/`,n=e.indexOf(a);return n!==-1?e.substring(n+a.length):e}stripProjectPaths(e,r){if(!e)return e;try{let n=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(n)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,a){let n=this.paginate("observations","id, memory_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,a);return{...n,items:n.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,a){let n=this.dbManager.getSessionStore().db,s=` SELECT ss.id, s.content_session_id as session_id, @@ -1018,50 +1018,50 @@ ${a.prompts.header_memory_continued}`}Or();mr();ln();var xm=require("path"),NT=r SELECT up.id, up.content_session_id, s.project, up.prompt_number, up.prompt_text, up.created_at, up.created_at_epoch FROM user_prompts up JOIN sdk_sessions s ON up.content_session_id = s.content_session_id - `,i=[];a&&(s+=" WHERE s.project = ?",i.push(a)),s+=" ORDER BY up.created_at_epoch DESC LIMIT ? OFFSET ?",i.push(r+1,e);let c=n.prepare(s).all(...i);return{items:c.slice(0,r),hasMore:c.length>r,offset:e,limit:r}}paginate(e,r,a,n,s){let i=this.dbManager.getSessionStore().db,o=`SELECT ${r} FROM ${e}`,c=[];s&&(o+=" WHERE project = ?",c.push(s)),o+=" ORDER BY created_at_epoch DESC LIMIT ? OFFSET ?",c.push(n+1,a);let l=i.prepare(o).all(...c);return{items:l.slice(0,n),hasMore:l.length>n,offset:a,limit:n}}};ot();var Zl=class{dbManager;defaultSettings={sidebarOpen:!0,selectedProject:null,theme:"system"};constructor(e){this.dbManager=e}getSettings(){let e=this.dbManager.getSessionStore().db;try{let a=e.prepare("SELECT key, value FROM viewer_settings").all(),n={...this.defaultSettings};for(let s of a){let i=s.key;i in n&&(n[i]=JSON.parse(s.value))}return n}catch(r){return P.debug("WORKER","Failed to load settings, using defaults",{},r),{...this.defaultSettings}}}updateSettings(e){let a=this.dbManager.getSessionStore().db.prepare(` + `,i=[];a&&(s+=" WHERE s.project = ?",i.push(a)),s+=" ORDER BY up.created_at_epoch DESC LIMIT ? OFFSET ?",i.push(r+1,e);let c=n.prepare(s).all(...i);return{items:c.slice(0,r),hasMore:c.length>r,offset:e,limit:r}}paginate(e,r,a,n,s){let i=this.dbManager.getSessionStore().db,o=`SELECT ${r} FROM ${e}`,c=[];s&&(o+=" WHERE project = ?",c.push(s)),o+=" ORDER BY created_at_epoch DESC LIMIT ? OFFSET ?",c.push(n+1,a);let l=i.prepare(o).all(...c);return{items:l.slice(0,n),hasMore:l.length>n,offset:a,limit:n}}};ot();var Zl=class{dbManager;defaultSettings={sidebarOpen:!0,selectedProject:null,theme:"system"};constructor(e){this.dbManager=e}getSettings(){let e=this.dbManager.getSessionStore().db;try{let a=e.prepare("SELECT key, value FROM viewer_settings").all(),n={...this.defaultSettings};for(let s of a){let i=s.key;i in n&&(n[i]=JSON.parse(s.value))}return n}catch(r){return O.debug("WORKER","Failed to load settings, using defaults",{},r),{...this.defaultSettings}}}updateSettings(e){let a=this.dbManager.getSessionStore().db.prepare(` INSERT OR REPLACE INTO viewer_settings (key, value) VALUES (?, ?) - `);for(let[n,s]of Object.entries(e))a.run(n,JSON.stringify(s));return this.getSettings()}};var xR=require("path");ot();hh();ln();var mV=90,Ti=mV*24*60*60*1e3,Kl=class{constructor(e,r,a,n,s){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=a;this.formatter=n;this.timelineService=s}async queryChroma(e,r,a){return await this.chromaSync.queryChroma(e,r,a)}normalizeParams(e){let r={...e};return r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(a=>a.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(a=>a.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obs_type=r.obs_type.split(",").map(a=>a.trim()).filter(Boolean)),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(a=>a.trim()).filter(Boolean)),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r}async search(e){try{let r=this.normalizeParams(e),{query:a,type:n,obs_type:s,concepts:i,files:o,format:c,...u}=r,l=[],d=[],p=[],m=!1,g=!n||n==="observations",_=!n||n==="sessions",f=!n||n==="prompts";if(a)if(this.chromaSync){let E=!1;try{P.debug("SEARCH","Using ChromaDB semantic search",{typeFilter:n||"all"});let T;n==="observations"?T={doc_type:"observation"}:n==="sessions"?T={doc_type:"session_summary"}:n==="prompts"&&(T={doc_type:"user_prompt"});let R=await this.queryChroma(a,100,T);if(E=!0,P.debug("SEARCH","ChromaDB returned semantic matches",{matchCount:R.ids.length}),R.ids.length>0){let M=Date.now()-Ti,j=R.metadatas.map((W,oe)=>({id:R.ids[oe],meta:W,isRecent:W&&W.created_at_epoch>M})).filter(W=>W.isRecent);P.debug("SEARCH","Results within 90-day window",{count:j.length});let q=[],H=[],N=[];for(let W of j){let oe=W.meta?.doc_type;oe==="observation"&&g?q.push(W.id):oe==="session_summary"&&_?H.push(W.id):oe==="user_prompt"&&f&&N.push(W.id)}if(P.debug("SEARCH","Categorized results by type",{observations:q.length,sessions:H.length,prompts:N.length}),q.length>0){let W={...u,type:s,concepts:i,files:o};l=this.sessionStore.getObservationsByIds(q,W)}H.length>0&&(d=this.sessionStore.getSessionSummariesByIds(H,{orderBy:"date_desc",limit:u.limit,project:u.project})),N.length>0&&(p=this.sessionStore.getUserPromptsByIds(N,{orderBy:"date_desc",limit:u.limit,project:u.project})),P.debug("SEARCH","Hydrated results from SQLite",{observations:l.length,sessions:d.length,prompts:p.length})}else P.debug("SEARCH","ChromaDB found no matches (final result, no FTS5 fallback)",{})}catch(T){m=!0,P.debug("SEARCH","ChromaDB failed - semantic search unavailable",{error:T.message}),P.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]}}else a&&(m=!0,P.debug("SEARCH","ChromaDB not initialized - semantic search unavailable",{}),P.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]);else{P.debug("SEARCH","Filter-only query (no query text), using direct SQLite filtering",{enablesDateFilters:!0});let E={...u,type:s,concepts:i,files:o};g&&(l=this.sessionSearch.searchObservations(void 0,E)),_&&(d=this.sessionSearch.searchSessions(void 0,u)),f&&(p=this.sessionSearch.searchUserPrompts(void 0,u))}let h=l.length+d.length+p.length;if(c==="json")return{observations:l,sessions:d,prompts:p,totalResults:h,query:a||""};if(h===0)return m?{content:[{type:"text",text:`\u26A0\uFE0F Vector search failed - semantic search unavailable. + `);for(let[n,s]of Object.entries(e))a.run(n,JSON.stringify(s));return this.getSettings()}};var xR=require("path");ot();hh();ln();var mV=90,Ti=mV*24*60*60*1e3,Kl=class{constructor(e,r,a,n,s){this.sessionSearch=e;this.sessionStore=r;this.chromaSync=a;this.formatter=n;this.timelineService=s}async queryChroma(e,r,a){return await this.chromaSync.queryChroma(e,r,a)}normalizeParams(e){let r={...e};return r.concepts&&typeof r.concepts=="string"&&(r.concepts=r.concepts.split(",").map(a=>a.trim()).filter(Boolean)),r.files&&typeof r.files=="string"&&(r.files=r.files.split(",").map(a=>a.trim()).filter(Boolean)),r.obs_type&&typeof r.obs_type=="string"&&(r.obs_type=r.obs_type.split(",").map(a=>a.trim()).filter(Boolean)),r.type&&typeof r.type=="string"&&r.type.includes(",")&&(r.type=r.type.split(",").map(a=>a.trim()).filter(Boolean)),(r.dateStart||r.dateEnd)&&(r.dateRange={start:r.dateStart,end:r.dateEnd},delete r.dateStart,delete r.dateEnd),r}async search(e){try{let r=this.normalizeParams(e),{query:a,type:n,obs_type:s,concepts:i,files:o,format:c,...u}=r,l=[],d=[],p=[],m=!1,g=!n||n==="observations",_=!n||n==="sessions",f=!n||n==="prompts";if(a)if(this.chromaSync){let E=!1;try{O.debug("SEARCH","Using ChromaDB semantic search",{typeFilter:n||"all"});let T;n==="observations"?T={doc_type:"observation"}:n==="sessions"?T={doc_type:"session_summary"}:n==="prompts"&&(T={doc_type:"user_prompt"});let R=await this.queryChroma(a,100,T);if(E=!0,O.debug("SEARCH","ChromaDB returned semantic matches",{matchCount:R.ids.length}),R.ids.length>0){let M=Date.now()-Ti,j=R.metadatas.map((W,oe)=>({id:R.ids[oe],meta:W,isRecent:W&&W.created_at_epoch>M})).filter(W=>W.isRecent);O.debug("SEARCH","Results within 90-day window",{count:j.length});let q=[],H=[],N=[];for(let W of j){let oe=W.meta?.doc_type;oe==="observation"&&g?q.push(W.id):oe==="session_summary"&&_?H.push(W.id):oe==="user_prompt"&&f&&N.push(W.id)}if(O.debug("SEARCH","Categorized results by type",{observations:q.length,sessions:H.length,prompts:N.length}),q.length>0){let W={...u,type:s,concepts:i,files:o};l=this.sessionStore.getObservationsByIds(q,W)}H.length>0&&(d=this.sessionStore.getSessionSummariesByIds(H,{orderBy:"date_desc",limit:u.limit,project:u.project})),N.length>0&&(p=this.sessionStore.getUserPromptsByIds(N,{orderBy:"date_desc",limit:u.limit,project:u.project})),O.debug("SEARCH","Hydrated results from SQLite",{observations:l.length,sessions:d.length,prompts:p.length})}else O.debug("SEARCH","ChromaDB found no matches (final result, no FTS5 fallback)",{})}catch(T){m=!0,O.debug("SEARCH","ChromaDB failed - semantic search unavailable",{error:T.message}),O.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]}}else a&&(m=!0,O.debug("SEARCH","ChromaDB not initialized - semantic search unavailable",{}),O.debug("SEARCH","Install UVX/Python to enable vector search",{url:"https://docs.astral.sh/uv/getting-started/installation/"}),l=[],d=[],p=[]);else{O.debug("SEARCH","Filter-only query (no query text), using direct SQLite filtering",{enablesDateFilters:!0});let E={...u,type:s,concepts:i,files:o};g&&(l=this.sessionSearch.searchObservations(void 0,E)),_&&(d=this.sessionSearch.searchSessions(void 0,u)),f&&(p=this.sessionSearch.searchUserPrompts(void 0,u))}let h=l.length+d.length+p.length;if(c==="json")return{observations:l,sessions:d,prompts:p,totalResults:h,query:a||""};if(h===0)return m?{content:[{type:"text",text:`\u26A0\uFE0F Vector search failed - semantic search unavailable. To enable semantic search: 1. Install uv: https://docs.astral.sh/uv/getting-started/installation/ 2. Restart the worker: npm run worker:restart Note: You can still use filter-only searches (date ranges, types, files) without a query term.`}]}:{content:[{type:"text",text:`No results found matching "${a}"`}]};let y=[...l.map(E=>({type:"observation",data:E,epoch:E.created_at_epoch,created_at:E.created_at})),...d.map(E=>({type:"session",data:E,epoch:E.created_at_epoch,created_at:E.created_at})),...p.map(E=>({type:"prompt",data:E,epoch:E.created_at_epoch,created_at:E.created_at}))];u.orderBy==="date_desc"?y.sort((E,T)=>T.epoch-E.epoch):u.orderBy==="date_asc"&&y.sort((E,T)=>E.epoch-T.epoch);let v=y.slice(0,u.limit||20),b=process.cwd(),w=SR(v,E=>E.created_at),S=[];S.push(`Found ${h} result(s) matching "${a}" (${l.length} obs, ${d.length} sessions, ${p.length} prompts)`),S.push("");for(let[E,T]of w){S.push(`### ${E}`),S.push("");let R=new Map;for(let M of T){let j="General";M.type==="observation"&&(j=Ka(M.data.files_modified,b)),R.has(j)||R.set(j,[]),R.get(j).push(M)}for(let[M,j]of R){S.push(`**${M}**`),S.push(this.formatter.formatSearchTableHeader());let q="";for(let H of j)if(H.type==="observation"){let N=this.formatter.formatObservationSearchRow(H.data,q);S.push(N.row),q=N.time}else if(H.type==="session"){let N=this.formatter.formatSessionSearchRow(H.data,q);S.push(N.row),q=N.time}else{let N=this.formatter.formatUserPromptSearchRow(H.data,q);S.push(N.row),q=N.time}S.push("")}}return{content:[{type:"text",text:S.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async timeline(e){try{let{anchor:r,query:a,depth_before:n=10,depth_after:s=10,project:i}=e,o=process.cwd();if(!r&&!a)return{content:[{type:"text",text:'Error: Must provide either "anchor" or "query" parameter'}],isError:!0};if(r&&a)return{content:[{type:"text",text:'Error: Cannot provide both "anchor" and "query" parameters. Use one or the other.'}],isError:!0};let c,u,l;if(a){let f=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid semantic search for timeline query",{});let y=await this.queryChroma(a,100);if(P.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:y?.ids?.length??0}),y?.ids&&y.ids.length>0){let v=Date.now()-Ti,b=y.ids.filter((w,S)=>{let E=y.metadatas[S];return E&&E.created_at_epoch>v});b.length>0&&(f=this.sessionStore.getObservationsByIds(b,{orderBy:"date_desc",limit:1}))}}catch(y){P.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:y.message})}if(f.length===0)return{content:[{type:"text",text:`No observations found matching "${a}". Try a different search query.`}]};let h=f[0];c=h.id,u=h.created_at_epoch,P.debug("SEARCH","Query mode: Using observation as timeline anchor",{observationId:h.id}),l=this.sessionStore.getTimelineAroundObservation(h.id,h.created_at_epoch,n,s,i)}else if(typeof r=="number"){let f=this.sessionStore.getObservationById(r);if(!f)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};c=r,u=f.created_at_epoch,l=this.sessionStore.getTimelineAroundObservation(r,u,n,s,i)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let f=r.replace(/^#?S/,""),h=parseInt(f,10),y=this.sessionStore.getSessionSummariesByIds([h]);if(y.length===0)return{content:[{type:"text",text:`Session #${h} not found`}],isError:!0};u=y[0].created_at_epoch,c=`S${h}`,l=this.sessionStore.getTimelineAroundTimestamp(u,n,s,i)}else{let f=new Date(r);if(isNaN(f.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};u=f.getTime(),c=r,l=this.sessionStore.getTimelineAroundTimestamp(u,n,s,i)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let d=[...(l.observations||[]).map(f=>({type:"observation",data:f,epoch:f.created_at_epoch})),...(l.sessions||[]).map(f=>({type:"session",data:f,epoch:f.created_at_epoch})),...(l.prompts||[]).map(f=>({type:"prompt",data:f,epoch:f.created_at_epoch}))];d.sort((f,h)=>f.epoch-h.epoch);let p=this.timelineService.filterByDepth(d,c,u,n,s);if(!p||p.length===0)return{content:[{type:"text",text:a?`Found observation matching "${a}", but no timeline context available (${n} records before, ${s} records after).`:`No context found around anchor (${n} records before, ${s} records after)`}]};let m=[];if(a){let f=p.find(y=>y.type==="observation"&&y.data.id===c),h=f&&f.type==="observation"?f.data.title||"Untitled":"Unknown";m.push(`# Timeline for query: "${a}"`),m.push(`**Anchor:** Observation #${c} - ${h}`)}else m.push(`# Timeline around anchor: ${c}`);m.push(`**Window:** ${n} records before \u2192 ${s} records after | **Items:** ${p?.length??0}`),m.push("");let g=new Map;for(let f of p){let h=Wa(f.epoch);g.has(h)||g.set(h,[]),g.get(h).push(f)}let _=Array.from(g.entries()).sort((f,h)=>{let y=new Date(f[0]).getTime(),v=new Date(h[0]).getTime();return y-v});for(let[f,h]of _){m.push(`### ${f}`),m.push("");let y=null,v="",b=!1;for(let w of h){let S=typeof c=="number"&&w.type==="observation"&&w.data.id===c||typeof c=="string"&&c.startsWith("S")&&w.type==="session"&&`S${w.data.id}`===c;if(w.type==="session"){b&&(m.push(""),b=!1,y=null,v="");let E=w.data,T=E.request||"Session summary",R=S?" \u2190 **ANCHOR**":"";m.push(`**\u{1F3AF} #S${E.id}** ${T} (${$n(w.epoch)})${R}`),m.push("")}else if(w.type==="prompt"){b&&(m.push(""),b=!1,y=null,v="");let E=w.data,T=E.prompt_text.length>100?E.prompt_text.substring(0,100)+"...":E.prompt_text;m.push(`**\u{1F4AC} User Prompt #${E.prompt_number}** (${$n(w.epoch)})`),m.push(`> ${T}`),m.push("")}else if(w.type==="observation"){let E=w.data,T=Ka(E.files_modified,o);T!==y&&(b&&m.push(""),m.push(`**${T}**`),m.push("| ID | Time | T | Title | Tokens |"),m.push("|----|------|---|-------|--------|"),y=T,b=!0,v="");let R=dt.getInstance().getTypeIcon(E.type),M=Ei(w.epoch),j=E.title||"Untitled",q=Wl(E.narrative),N=M!==v?M:"\u2033";v=M;let W=S?" \u2190 **ANCHOR**":"";m.push(`| #${E.id} | ${N} | ${R} | ${j}${W} | ~${q} |`)}}b&&m.push("")}return{content:[{type:"text",text:m.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Timeline query failed: ${r.message}`}],isError:!0}}}async decisions(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{if(a){P.debug("SEARCH","Using Chroma semantic search with type=decision filter",{});let u=(await this.queryChroma(a,Math.min((n.limit||20)*2,100),{type:"decision"})).ids;u.length>0&&(s=this.sessionStore.getObservationsByIds(u,{...n,type:"decision"}),s.sort((l,d)=>u.indexOf(l.id)-u.indexOf(d.id)))}else{P.debug("SEARCH","Using metadata-first + semantic ranking for decisions",{});let c=this.sessionSearch.findByType("decision",n);if(c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma("decision",Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);d.length>0&&(s=this.sessionStore.getObservationsByIds(d,{limit:n.limit||20}),s.sort((p,m)=>d.indexOf(p.id)-d.indexOf(m.id)))}}}catch(c){P.debug("SEARCH","Chroma search failed, using SQLite fallback",{error:c.message})}if(s.length===0&&(s=this.sessionSearch.findByType("decision",n)),s.length===0)return{content:[{type:"text",text:"No decision observations found"}]};let i=`Found ${s.length} decision(s) +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async timeline(e){try{let{anchor:r,query:a,depth_before:n=10,depth_after:s=10,project:i}=e,o=process.cwd();if(!r&&!a)return{content:[{type:"text",text:'Error: Must provide either "anchor" or "query" parameter'}],isError:!0};if(r&&a)return{content:[{type:"text",text:'Error: Cannot provide both "anchor" and "query" parameters. Use one or the other.'}],isError:!0};let c,u,l;if(a){let f=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid semantic search for timeline query",{});let y=await this.queryChroma(a,100);if(O.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:y?.ids?.length??0}),y?.ids&&y.ids.length>0){let v=Date.now()-Ti,b=y.ids.filter((w,S)=>{let E=y.metadatas[S];return E&&E.created_at_epoch>v});b.length>0&&(f=this.sessionStore.getObservationsByIds(b,{orderBy:"date_desc",limit:1}))}}catch(y){O.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:y.message})}if(f.length===0)return{content:[{type:"text",text:`No observations found matching "${a}". Try a different search query.`}]};let h=f[0];c=h.id,u=h.created_at_epoch,O.debug("SEARCH","Query mode: Using observation as timeline anchor",{observationId:h.id}),l=this.sessionStore.getTimelineAroundObservation(h.id,h.created_at_epoch,n,s,i)}else if(typeof r=="number"){let f=this.sessionStore.getObservationById(r);if(!f)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};c=r,u=f.created_at_epoch,l=this.sessionStore.getTimelineAroundObservation(r,u,n,s,i)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let f=r.replace(/^#?S/,""),h=parseInt(f,10),y=this.sessionStore.getSessionSummariesByIds([h]);if(y.length===0)return{content:[{type:"text",text:`Session #${h} not found`}],isError:!0};u=y[0].created_at_epoch,c=`S${h}`,l=this.sessionStore.getTimelineAroundTimestamp(u,n,s,i)}else{let f=new Date(r);if(isNaN(f.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};u=f.getTime(),c=r,l=this.sessionStore.getTimelineAroundTimestamp(u,n,s,i)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let d=[...(l.observations||[]).map(f=>({type:"observation",data:f,epoch:f.created_at_epoch})),...(l.sessions||[]).map(f=>({type:"session",data:f,epoch:f.created_at_epoch})),...(l.prompts||[]).map(f=>({type:"prompt",data:f,epoch:f.created_at_epoch}))];d.sort((f,h)=>f.epoch-h.epoch);let p=this.timelineService.filterByDepth(d,c,u,n,s);if(!p||p.length===0)return{content:[{type:"text",text:a?`Found observation matching "${a}", but no timeline context available (${n} records before, ${s} records after).`:`No context found around anchor (${n} records before, ${s} records after)`}]};let m=[];if(a){let f=p.find(y=>y.type==="observation"&&y.data.id===c),h=f&&f.type==="observation"?f.data.title||"Untitled":"Unknown";m.push(`# Timeline for query: "${a}"`),m.push(`**Anchor:** Observation #${c} - ${h}`)}else m.push(`# Timeline around anchor: ${c}`);m.push(`**Window:** ${n} records before \u2192 ${s} records after | **Items:** ${p?.length??0}`),m.push("");let g=new Map;for(let f of p){let h=Wa(f.epoch);g.has(h)||g.set(h,[]),g.get(h).push(f)}let _=Array.from(g.entries()).sort((f,h)=>{let y=new Date(f[0]).getTime(),v=new Date(h[0]).getTime();return y-v});for(let[f,h]of _){m.push(`### ${f}`),m.push("");let y=null,v="",b=!1;for(let w of h){let S=typeof c=="number"&&w.type==="observation"&&w.data.id===c||typeof c=="string"&&c.startsWith("S")&&w.type==="session"&&`S${w.data.id}`===c;if(w.type==="session"){b&&(m.push(""),b=!1,y=null,v="");let E=w.data,T=E.request||"Session summary",R=S?" \u2190 **ANCHOR**":"";m.push(`**\u{1F3AF} #S${E.id}** ${T} (${$n(w.epoch)})${R}`),m.push("")}else if(w.type==="prompt"){b&&(m.push(""),b=!1,y=null,v="");let E=w.data,T=E.prompt_text.length>100?E.prompt_text.substring(0,100)+"...":E.prompt_text;m.push(`**\u{1F4AC} User Prompt #${E.prompt_number}** (${$n(w.epoch)})`),m.push(`> ${T}`),m.push("")}else if(w.type==="observation"){let E=w.data,T=Ka(E.files_modified,o);T!==y&&(b&&m.push(""),m.push(`**${T}**`),m.push("| ID | Time | T | Title | Tokens |"),m.push("|----|------|---|-------|--------|"),y=T,b=!0,v="");let R=dt.getInstance().getTypeIcon(E.type),M=Ei(w.epoch),j=E.title||"Untitled",q=Wl(E.narrative),N=M!==v?M:"\u2033";v=M;let W=S?" \u2190 **ANCHOR**":"";m.push(`| #${E.id} | ${N} | ${R} | ${j}${W} | ~${q} |`)}}b&&m.push("")}return{content:[{type:"text",text:m.join(` +`)}]}}catch(r){return{content:[{type:"text",text:`Timeline query failed: ${r.message}`}],isError:!0}}}async decisions(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{if(a){O.debug("SEARCH","Using Chroma semantic search with type=decision filter",{});let u=(await this.queryChroma(a,Math.min((n.limit||20)*2,100),{type:"decision"})).ids;u.length>0&&(s=this.sessionStore.getObservationsByIds(u,{...n,type:"decision"}),s.sort((l,d)=>u.indexOf(l.id)-u.indexOf(d.id)))}else{O.debug("SEARCH","Using metadata-first + semantic ranking for decisions",{});let c=this.sessionSearch.findByType("decision",n);if(c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma("decision",Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);d.length>0&&(s=this.sessionStore.getObservationsByIds(d,{limit:n.limit||20}),s.sort((p,m)=>d.indexOf(p.id)-d.indexOf(m.id)))}}}catch(c){O.debug("SEARCH","Chroma search failed, using SQLite fallback",{error:c.message})}if(s.length===0&&(s=this.sessionSearch.findByType("decision",n)),s.length===0)return{content:[{type:"text",text:"No decision observations found"}]};let i=`Found ${s.length} decision(s) ${this.formatter.formatTableHeader()}`,o=s.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:i+` `+o.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async changes(e){try{let r=this.normalizeParams(e),{...a}=r,n=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid search for change-related observations",{});let o=this.sessionSearch.findByType("change",a),c=this.sessionSearch.findByConcept("change",a),u=this.sessionSearch.findByConcept("what-changed",a),l=new Set;if([...o,...c,...u].forEach(d=>l.add(d.id)),l.size>0){let d=Array.from(l),p=await this.queryChroma("what changed",Math.min(d.length,100)),m=[];for(let g of p.ids)d.includes(g)&&!m.includes(g)&&m.push(g);m.length>0&&(n=this.sessionStore.getObservationsByIds(m,{limit:a.limit||20}),n.sort((g,_)=>m.indexOf(g.id)-m.indexOf(_.id)))}}catch(o){P.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:o.message})}if(n.length===0){let o=this.sessionSearch.findByType("change",a),c=this.sessionSearch.findByConcept("change",a),u=this.sessionSearch.findByConcept("what-changed",a),l=new Set;[...o,...c,...u].forEach(d=>l.add(d.id)),n=Array.from(l).map(d=>o.find(p=>p.id===d)||c.find(p=>p.id===d)||u.find(p=>p.id===d)).filter(Boolean),n.sort((d,p)=>p.created_at_epoch-d.created_at_epoch),n=n.slice(0,a.limit||20)}if(n.length===0)return{content:[{type:"text",text:"No change-related observations found"}]};let s=`Found ${n.length} change-related observation(s) +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async changes(e){try{let r=this.normalizeParams(e),{...a}=r,n=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid search for change-related observations",{});let o=this.sessionSearch.findByType("change",a),c=this.sessionSearch.findByConcept("change",a),u=this.sessionSearch.findByConcept("what-changed",a),l=new Set;if([...o,...c,...u].forEach(d=>l.add(d.id)),l.size>0){let d=Array.from(l),p=await this.queryChroma("what changed",Math.min(d.length,100)),m=[];for(let g of p.ids)d.includes(g)&&!m.includes(g)&&m.push(g);m.length>0&&(n=this.sessionStore.getObservationsByIds(m,{limit:a.limit||20}),n.sort((g,_)=>m.indexOf(g.id)-m.indexOf(_.id)))}}catch(o){O.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:o.message})}if(n.length===0){let o=this.sessionSearch.findByType("change",a),c=this.sessionSearch.findByConcept("change",a),u=this.sessionSearch.findByConcept("what-changed",a),l=new Set;[...o,...c,...u].forEach(d=>l.add(d.id)),n=Array.from(l).map(d=>o.find(p=>p.id===d)||c.find(p=>p.id===d)||u.find(p=>p.id===d)).filter(Boolean),n.sort((d,p)=>p.created_at_epoch-d.created_at_epoch),n=n.slice(0,a.limit||20)}if(n.length===0)return{content:[{type:"text",text:"No change-related observations found"}]};let s=`Found ${n.length} change-related observation(s) ${this.formatter.formatTableHeader()}`,i=n.map((o,c)=>this.formatter.formatObservationIndex(o,c));return{content:[{type:"text",text:s+` `+i.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async howItWorks(e){try{let r=this.normalizeParams(e),{...a}=r,n=[];if(this.chromaSync)try{P.debug("SEARCH","Using metadata-first + semantic ranking for how-it-works",{});let o=this.sessionSearch.findByConcept("how-it-works",a);if(o.length>0){let c=o.map(d=>d.id),u=await this.queryChroma("how it works architecture",Math.min(c.length,100)),l=[];for(let d of u.ids)c.includes(d)&&!l.includes(d)&&l.push(d);l.length>0&&(n=this.sessionStore.getObservationsByIds(l,{limit:a.limit||20}),n.sort((d,p)=>l.indexOf(d.id)-l.indexOf(p.id)))}}catch(o){P.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:o.message})}if(n.length===0&&(n=this.sessionSearch.findByConcept("how-it-works",a)),n.length===0)return{content:[{type:"text",text:'No "how it works" observations found'}]};let s=`Found ${n.length} "how it works" observation(s) +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async howItWorks(e){try{let r=this.normalizeParams(e),{...a}=r,n=[];if(this.chromaSync)try{O.debug("SEARCH","Using metadata-first + semantic ranking for how-it-works",{});let o=this.sessionSearch.findByConcept("how-it-works",a);if(o.length>0){let c=o.map(d=>d.id),u=await this.queryChroma("how it works architecture",Math.min(c.length,100)),l=[];for(let d of u.ids)c.includes(d)&&!l.includes(d)&&l.push(d);l.length>0&&(n=this.sessionStore.getObservationsByIds(l,{limit:a.limit||20}),n.sort((d,p)=>l.indexOf(d.id)-l.indexOf(p.id)))}}catch(o){O.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:o.message})}if(n.length===0&&(n=this.sessionSearch.findByConcept("how-it-works",a)),n.length===0)return{content:[{type:"text",text:'No "how it works" observations found'}]};let s=`Found ${n.length} "how it works" observation(s) ${this.formatter.formatTableHeader()}`,i=n.map((o,c)=>this.formatter.formatObservationIndex(o,c));return{content:[{type:"text",text:s+` `+i.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchObservations(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid semantic search (Chroma + SQLite)",{});let c=await this.queryChroma(a,100);if(P.debug("SEARCH","Chroma returned semantic matches",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(P.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getObservationsByIds(l,{orderBy:"date_desc",limit:d}),P.debug("SEARCH","Hydrated observations from SQLite",{count:s.length})}}}catch(c){P.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:`No observations found matching "${a}"`}]};let i=`Found ${s.length} observation(s) matching "${a}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchObservations(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid semantic search (Chroma + SQLite)",{});let c=await this.queryChroma(a,100);if(O.debug("SEARCH","Chroma returned semantic matches",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(O.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getObservationsByIds(l,{orderBy:"date_desc",limit:d}),O.debug("SEARCH","Hydrated observations from SQLite",{count:s.length})}}}catch(c){O.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:`No observations found matching "${a}"`}]};let i=`Found ${s.length} observation(s) matching "${a}" ${this.formatter.formatTableHeader()}`,o=s.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:i+` `+o.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchSessions(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid semantic search for sessions",{});let c=await this.queryChroma(a,100,{doc_type:"session_summary"});if(P.debug("SEARCH","Chroma returned semantic matches for sessions",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(P.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getSessionSummariesByIds(l,{orderBy:"date_desc",limit:d}),P.debug("SEARCH","Hydrated sessions from SQLite",{count:s.length})}}}catch(c){P.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:`No sessions found matching "${a}"`}]};let i=`Found ${s.length} session(s) matching "${a}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchSessions(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid semantic search for sessions",{});let c=await this.queryChroma(a,100,{doc_type:"session_summary"});if(O.debug("SEARCH","Chroma returned semantic matches for sessions",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(O.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getSessionSummariesByIds(l,{orderBy:"date_desc",limit:d}),O.debug("SEARCH","Hydrated sessions from SQLite",{count:s.length})}}}catch(c){O.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:`No sessions found matching "${a}"`}]};let i=`Found ${s.length} session(s) matching "${a}" ${this.formatter.formatTableHeader()}`,o=s.map((c,u)=>this.formatter.formatSessionIndex(c,u));return{content:[{type:"text",text:i+` `+o.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchUserPrompts(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid semantic search for user prompts",{});let c=await this.queryChroma(a,100,{doc_type:"user_prompt"});if(P.debug("SEARCH","Chroma returned semantic matches for prompts",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(P.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getUserPromptsByIds(l,{orderBy:"date_desc",limit:d}),P.debug("SEARCH","Hydrated user prompts from SQLite",{count:s.length})}}}catch(c){P.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:a?`No user prompts found matching "${a}"`:"No user prompts found"}]};let i=`Found ${s.length} user prompt(s) matching "${a}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async searchUserPrompts(e){try{let r=this.normalizeParams(e),{query:a,...n}=r,s=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid semantic search for user prompts",{});let c=await this.queryChroma(a,100,{doc_type:"user_prompt"});if(O.debug("SEARCH","Chroma returned semantic matches for prompts",{matchCount:c.ids.length}),c.ids.length>0){let u=Date.now()-Ti,l=c.ids.filter((d,p)=>{let m=c.metadatas[p];return m&&m.created_at_epoch>u});if(O.debug("SEARCH","Results within 90-day window",{count:l.length}),l.length>0){let d=n.limit||20;s=this.sessionStore.getUserPromptsByIds(l,{orderBy:"date_desc",limit:d}),O.debug("SEARCH","Hydrated user prompts from SQLite",{count:s.length})}}}catch(c){O.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:c.message})}if(s.length===0)return{content:[{type:"text",text:a?`No user prompts found matching "${a}"`:"No user prompts found"}]};let i=`Found ${s.length} user prompt(s) matching "${a}" ${this.formatter.formatTableHeader()}`,o=s.map((c,u)=>this.formatter.formatUserPromptIndex(c,u));return{content:[{type:"text",text:i+` `+o.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByConcept(e){try{let r=this.normalizeParams(e),{concepts:a,...n}=r,s=[];if(this.chromaSync)try{P.debug("SEARCH","Using metadata-first + semantic ranking for concept search",{});let c=this.sessionSearch.findByConcept(a,n);if(P.debug("SEARCH","Found observations with concept",{concept:a,count:c.length}),c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma(a,Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);P.debug("SEARCH","Chroma ranked results by semantic relevance",{count:d.length}),d.length>0&&(s=this.sessionStore.getObservationsByIds(d,{limit:n.limit||20}),s.sort((p,m)=>d.indexOf(p.id)-d.indexOf(m.id)))}}catch(c){P.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:c.message})}if(s.length===0&&(P.debug("SEARCH","Using SQLite-only concept search",{}),s=this.sessionSearch.findByConcept(a,n)),s.length===0)return{content:[{type:"text",text:`No observations found with concept "${a}"`}]};let i=`Found ${s.length} observation(s) with concept "${a}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByConcept(e){try{let r=this.normalizeParams(e),{concepts:a,...n}=r,s=[];if(this.chromaSync)try{O.debug("SEARCH","Using metadata-first + semantic ranking for concept search",{});let c=this.sessionSearch.findByConcept(a,n);if(O.debug("SEARCH","Found observations with concept",{concept:a,count:c.length}),c.length>0){let u=c.map(p=>p.id),l=await this.queryChroma(a,Math.min(u.length,100)),d=[];for(let p of l.ids)u.includes(p)&&!d.includes(p)&&d.push(p);O.debug("SEARCH","Chroma ranked results by semantic relevance",{count:d.length}),d.length>0&&(s=this.sessionStore.getObservationsByIds(d,{limit:n.limit||20}),s.sort((p,m)=>d.indexOf(p.id)-d.indexOf(m.id)))}}catch(c){O.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:c.message})}if(s.length===0&&(O.debug("SEARCH","Using SQLite-only concept search",{}),s=this.sessionSearch.findByConcept(a,n)),s.length===0)return{content:[{type:"text",text:`No observations found with concept "${a}"`}]};let i=`Found ${s.length} observation(s) with concept "${a}" ${this.formatter.formatTableHeader()}`,o=s.map((c,u)=>this.formatter.formatObservationIndex(c,u));return{content:[{type:"text",text:i+` `+o.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByFile(e){try{let r=this.normalizeParams(e),{files:a,...n}=r,s=[],i=[];if(this.chromaSync)try{P.debug("SEARCH","Using metadata-first + semantic ranking for file search",{});let l=this.sessionSearch.findByFile(a,n);if(P.debug("SEARCH","Found results for file",{file:a,observations:l.observations.length,sessions:l.sessions.length}),i=l.sessions,l.observations.length>0){let d=l.observations.map(g=>g.id),p=await this.queryChroma(a,Math.min(d.length,100)),m=[];for(let g of p.ids)d.includes(g)&&!m.includes(g)&&m.push(g);P.debug("SEARCH","Chroma ranked observations by semantic relevance",{count:m.length}),m.length>0&&(s=this.sessionStore.getObservationsByIds(m,{limit:n.limit||20}),s.sort((g,_)=>m.indexOf(g.id)-m.indexOf(_.id)))}}catch(l){P.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:l.message})}if(s.length===0&&i.length===0){P.debug("SEARCH","Using SQLite-only file search",{});let l=this.sessionSearch.findByFile(a,n);s=l.observations,i=l.sessions}let o=s.length+i.length;if(o===0)return{content:[{type:"text",text:`No results found for file "${a}"`}]};let c=`Found ${o} result(s) for file "${a}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByFile(e){try{let r=this.normalizeParams(e),{files:a,...n}=r,s=[],i=[];if(this.chromaSync)try{O.debug("SEARCH","Using metadata-first + semantic ranking for file search",{});let l=this.sessionSearch.findByFile(a,n);if(O.debug("SEARCH","Found results for file",{file:a,observations:l.observations.length,sessions:l.sessions.length}),i=l.sessions,l.observations.length>0){let d=l.observations.map(g=>g.id),p=await this.queryChroma(a,Math.min(d.length,100)),m=[];for(let g of p.ids)d.includes(g)&&!m.includes(g)&&m.push(g);O.debug("SEARCH","Chroma ranked observations by semantic relevance",{count:m.length}),m.length>0&&(s=this.sessionStore.getObservationsByIds(m,{limit:n.limit||20}),s.sort((g,_)=>m.indexOf(g.id)-m.indexOf(_.id)))}}catch(l){O.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:l.message})}if(s.length===0&&i.length===0){O.debug("SEARCH","Using SQLite-only file search",{});let l=this.sessionSearch.findByFile(a,n);s=l.observations,i=l.sessions}let o=s.length+i.length;if(o===0)return{content:[{type:"text",text:`No results found for file "${a}"`}]};let c=`Found ${o} result(s) for file "${a}" ${this.formatter.formatTableHeader()}`,u=[];return s.forEach((l,d)=>{u.push(this.formatter.formatObservationIndex(l,d))}),i.forEach((l,d)=>{u.push(this.formatter.formatSessionIndex(l,d+s.length))}),{content:[{type:"text",text:c+` `+u.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByType(e){try{let r=this.normalizeParams(e),{type:a,...n}=r,s=Array.isArray(a)?a.join(", "):a,i=[];if(this.chromaSync)try{P.debug("SEARCH","Using metadata-first + semantic ranking for type search",{});let u=this.sessionSearch.findByType(a,n);if(P.debug("SEARCH","Found observations with type",{type:s,count:u.length}),u.length>0){let l=u.map(m=>m.id),d=await this.queryChroma(s,Math.min(l.length,100)),p=[];for(let m of d.ids)l.includes(m)&&!p.includes(m)&&p.push(m);P.debug("SEARCH","Chroma ranked results by semantic relevance",{count:p.length}),p.length>0&&(i=this.sessionStore.getObservationsByIds(p,{limit:n.limit||20}),i.sort((m,g)=>p.indexOf(m.id)-p.indexOf(g.id)))}}catch(u){P.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:u.message})}if(i.length===0&&(P.debug("SEARCH","Using SQLite-only type search",{}),i=this.sessionSearch.findByType(a,n)),i.length===0)return{content:[{type:"text",text:`No observations found with type "${s}"`}]};let o=`Found ${i.length} observation(s) with type "${s}" +`)}]}}catch(r){return{content:[{type:"text",text:`Search failed: ${r.message}`}],isError:!0}}}async findByType(e){try{let r=this.normalizeParams(e),{type:a,...n}=r,s=Array.isArray(a)?a.join(", "):a,i=[];if(this.chromaSync)try{O.debug("SEARCH","Using metadata-first + semantic ranking for type search",{});let u=this.sessionSearch.findByType(a,n);if(O.debug("SEARCH","Found observations with type",{type:s,count:u.length}),u.length>0){let l=u.map(m=>m.id),d=await this.queryChroma(s,Math.min(l.length,100)),p=[];for(let m of d.ids)l.includes(m)&&!p.includes(m)&&p.push(m);O.debug("SEARCH","Chroma ranked results by semantic relevance",{count:p.length}),p.length>0&&(i=this.sessionStore.getObservationsByIds(p,{limit:n.limit||20}),i.sort((m,g)=>p.indexOf(m.id)-p.indexOf(g.id)))}}catch(u){O.debug("SEARCH","Chroma ranking failed, using SQLite order",{error:u.message})}if(i.length===0&&(O.debug("SEARCH","Using SQLite-only type search",{}),i=this.sessionSearch.findByType(a,n)),i.length===0)return{content:[{type:"text",text:`No observations found with type "${s}"`}]};let o=`Found ${i.length} observation(s) with type "${s}" ${this.formatter.formatTableHeader()}`,c=i.map((u,l)=>this.formatter.formatObservationIndex(u,l));return{content:[{type:"text",text:o+` `+c.join(` @@ -1069,8 +1069,8 @@ ${this.formatter.formatTableHeader()}`,c=i.map((u,l)=>this.formatter.formatObser No previous sessions found for project "${r}".`}]};let s=[];s.push("# Recent Session Context"),s.push(""),s.push(`Showing last ${n.length} session(s) for **${r}**:`),s.push("");for(let i of n)if(i.memory_session_id){if(s.push("---"),s.push(""),i.has_summary){let o=this.sessionStore.getSummaryForSession(i.memory_session_id);if(o){let c=o.prompt_number?` (Prompt #${o.prompt_number})`:"";if(s.push(`**Summary${c}**`),s.push(""),o.request&&s.push(`**Request:** ${o.request}`),o.completed&&s.push(`**Completed:** ${o.completed}`),o.learned&&s.push(`**Learned:** ${o.learned}`),o.next_steps&&s.push(`**Next Steps:** ${o.next_steps}`),o.files_read)try{let l=JSON.parse(o.files_read);Array.isArray(l)&&l.length>0&&s.push(`**Files Read:** ${l.join(", ")}`)}catch{o.files_read.trim()&&s.push(`**Files Read:** ${o.files_read}`)}if(o.files_edited)try{let l=JSON.parse(o.files_edited);Array.isArray(l)&&l.length>0&&s.push(`**Files Edited:** ${l.join(", ")}`)}catch{o.files_edited.trim()&&s.push(`**Files Edited:** ${o.files_edited}`)}let u=new Date(o.created_at).toLocaleString();s.push(`**Date:** ${u}`)}}else if(i.status==="active"){s.push("**In Progress**"),s.push(""),i.user_prompt&&s.push(`**Request:** ${i.user_prompt}`);let o=this.sessionStore.getObservationsForSession(i.memory_session_id);if(o.length>0){s.push(""),s.push(`**Observations (${o.length}):**`);for(let u of o)s.push(`- ${u.title}`)}else s.push(""),s.push("*No observations yet*");s.push(""),s.push("**Status:** Active - summary pending");let c=new Date(i.started_at).toLocaleString();s.push(`**Date:** ${c}`)}else{s.push(`**${i.status.charAt(0).toUpperCase()+i.status.slice(1)}**`),s.push(""),i.user_prompt&&s.push(`**Request:** ${i.user_prompt}`),s.push(""),s.push(`**Status:** ${i.status} - no summary available`);let o=new Date(i.started_at).toLocaleString();s.push(`**Date:** ${o}`)}s.push("")}return{content:[{type:"text",text:s.join(` `)}]}}catch(r){return{content:[{type:"text",text:`Failed to get recent context: ${r.message}`}],isError:!0}}}async getContextTimeline(e){try{let{anchor:r,depth_before:a=10,depth_after:n=10,project:s}=e,i=process.cwd(),o,c=r,u;if(typeof r=="number"){let _=this.sessionStore.getObservationById(r);if(!_)return{content:[{type:"text",text:`Observation #${r} not found`}],isError:!0};o=_.created_at_epoch,u=this.sessionStore.getTimelineAroundObservation(r,o,a,n,s)}else if(typeof r=="string")if(r.startsWith("S")||r.startsWith("#S")){let _=r.replace(/^#?S/,""),f=parseInt(_,10),h=this.sessionStore.getSessionSummariesByIds([f]);if(h.length===0)return{content:[{type:"text",text:`Session #${f} not found`}],isError:!0};o=h[0].created_at_epoch,c=`S${f}`,u=this.sessionStore.getTimelineAroundTimestamp(o,a,n,s)}else{let _=new Date(r);if(isNaN(_.getTime()))return{content:[{type:"text",text:`Invalid timestamp: ${r}`}],isError:!0};o=_.getTime(),u=this.sessionStore.getTimelineAroundTimestamp(o,a,n,s)}else return{content:[{type:"text",text:'Invalid anchor: must be observation ID (number), session ID (e.g., "S123"), or ISO timestamp'}],isError:!0};let l=[...u.observations.map(_=>({type:"observation",data:_,epoch:_.created_at_epoch})),...u.sessions.map(_=>({type:"session",data:_,epoch:_.created_at_epoch})),...u.prompts.map(_=>({type:"prompt",data:_,epoch:_.created_at_epoch}))];l.sort((_,f)=>_.epoch-f.epoch);let d=this.timelineService.filterByDepth(l,c,o,a,n);if(!d||d.length===0)return{content:[{type:"text",text:`No context found around ${new Date(o).toLocaleString()} (${a} records before, ${n} records after)`}]};let p=[];p.push(`# Timeline around anchor: ${c}`),p.push(`**Window:** ${a} records before \u2192 ${n} records after | **Items:** ${d?.length??0}`),p.push("");let m=new Map;for(let _ of d){let f=Wa(_.epoch);m.has(f)||m.set(f,[]),m.get(f).push(_)}let g=Array.from(m.entries()).sort((_,f)=>{let h=new Date(_[0]).getTime(),y=new Date(f[0]).getTime();return h-y});for(let[_,f]of g){p.push(`### ${_}`),p.push("");let h=null,y="",v=!1;for(let b of f){let w=typeof c=="number"&&b.type==="observation"&&b.data.id===c||typeof c=="string"&&c.startsWith("S")&&b.type==="session"&&`S${b.data.id}`===c;if(b.type==="session"){v&&(p.push(""),v=!1,h=null,y="");let S=b.data,E=S.request||"Session summary",T=w?" \u2190 **ANCHOR**":"";p.push(`**\u{1F3AF} #S${S.id}** ${E} (${$n(b.epoch)})${T}`),p.push("")}else if(b.type==="prompt"){v&&(p.push(""),v=!1,h=null,y="");let S=b.data,E=S.prompt_text.length>100?S.prompt_text.substring(0,100)+"...":S.prompt_text;p.push(`**\u{1F4AC} User Prompt #${S.prompt_number}** (${$n(b.epoch)})`),p.push(`> ${E}`),p.push("")}else if(b.type==="observation"){let S=b.data,E=Ka(S.files_modified,i);E!==h&&(v&&p.push(""),p.push(`**${E}**`),p.push("| ID | Time | T | Title | Tokens |"),p.push("|----|------|---|-------|--------|"),h=E,v=!0,y="");let T=dt.getInstance().getTypeIcon(S.type),R=Ei(b.epoch),M=S.title||"Untitled",j=Wl(S.narrative),H=R!==y?R:"\u2033";y=R;let N=w?" \u2190 **ANCHOR**":"";p.push(`| #${S.id} | ${H} | ${T} | ${M}${N} | ~${j} |`)}}v&&p.push("")}return{content:[{type:"text",text:p.join(` -`)}]}}catch(r){return{content:[{type:"text",text:`Timeline query failed: ${r.message}`}],isError:!0}}}async getTimelineByQuery(e){try{let{query:r,mode:a="auto",depth_before:n=10,depth_after:s=10,limit:i=5,project:o}=e,c=process.cwd(),u=[];if(this.chromaSync)try{P.debug("SEARCH","Using hybrid semantic search for timeline query",{});let l=await this.queryChroma(r,100);if(P.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:l.ids.length}),l.ids.length>0){let d=Date.now()-Ti,p=l.ids.filter((m,g)=>{let _=l.metadatas[g];return _&&_.created_at_epoch>d});P.debug("SEARCH","Results within 90-day window",{count:p.length}),p.length>0&&(u=this.sessionStore.getObservationsByIds(p,{orderBy:"date_desc",limit:a==="auto"?1:i}),P.debug("SEARCH","Hydrated observations from SQLite",{count:u.length}))}}catch(l){P.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:l.message})}if(u.length===0)return{content:[{type:"text",text:`No observations found matching "${r}". Try a different search query.`}]};if(a==="interactive"){let l=[];l.push("# Timeline Anchor Search Results"),l.push(""),l.push(`Found ${u.length} observation(s) matching "${r}"`),l.push(""),l.push("To get timeline context around any of these observations, use the `get_context_timeline` tool with the observation ID as the anchor."),l.push(""),l.push(`**Top ${u.length} matches:**`),l.push("");for(let d=0;d({type:"observation",data:h,epoch:h.created_at_epoch})),...(d.sessions||[]).map(h=>({type:"session",data:h,epoch:h.created_at_epoch})),...(d.prompts||[]).map(h=>({type:"prompt",data:h,epoch:h.created_at_epoch}))];p.sort((h,y)=>h.epoch-y.epoch);let m=this.timelineService.filterByDepth(p,l.id,0,n,s);if(!m||m.length===0)return{content:[{type:"text",text:`Found observation #${l.id} matching "${r}", but no timeline context available (${n} records before, ${s} records after).`}]};let g=[];g.push(`# Timeline for query: "${r}"`),g.push(`**Anchor:** Observation #${l.id} - ${l.title||"Untitled"}`),g.push(`**Window:** ${n} records before \u2192 ${s} records after | **Items:** ${m?.length??0}`),g.push("");let _=new Map;for(let h of m){let y=Wa(h.epoch);_.has(y)||_.set(y,[]),_.get(y).push(h)}let f=Array.from(_.entries()).sort((h,y)=>{let v=new Date(h[0]).getTime(),b=new Date(y[0]).getTime();return v-b});for(let[h,y]of f){g.push(`### ${h}`),g.push("");let v=null,b="",w=!1;for(let S of y){let E=S.type==="observation"&&S.data.id===l.id;if(S.type==="session"){w&&(g.push(""),w=!1,v=null,b="");let T=S.data,R=T.request||"Session summary";g.push(`**\u{1F3AF} #S${T.id}** ${R} (${$n(S.epoch)})`),g.push("")}else if(S.type==="prompt"){w&&(g.push(""),w=!1,v=null,b="");let T=S.data,R=T.prompt_text.length>100?T.prompt_text.substring(0,100)+"...":T.prompt_text;g.push(`**\u{1F4AC} User Prompt #${T.prompt_number}** (${$n(S.epoch)})`),g.push(`> ${R}`),g.push("")}else if(S.type==="observation"){let T=S.data,R=Ka(T.files_modified,c);R!==v&&(w&&g.push(""),g.push(`**${R}**`),g.push("| ID | Time | T | Title | Tokens |"),g.push("|----|------|---|-------|--------|"),v=R,w=!0,b="");let M=dt.getInstance().getTypeIcon(T.type),j=Ei(S.epoch),q=T.title||"Untitled",H=Wl(T.narrative),W=j!==b?j:"\u2033";b=j;let oe=E?" \u2190 **ANCHOR**":"";g.push(`| #${T.id} | ${W} | ${M} | ${q}${oe} | ~${H} |`)}}w&&g.push("")}return{content:[{type:"text",text:g.join(` +`)}]}}catch(r){return{content:[{type:"text",text:`Timeline query failed: ${r.message}`}],isError:!0}}}async getTimelineByQuery(e){try{let{query:r,mode:a="auto",depth_before:n=10,depth_after:s=10,limit:i=5,project:o}=e,c=process.cwd(),u=[];if(this.chromaSync)try{O.debug("SEARCH","Using hybrid semantic search for timeline query",{});let l=await this.queryChroma(r,100);if(O.debug("SEARCH","Chroma returned semantic matches for timeline",{matchCount:l.ids.length}),l.ids.length>0){let d=Date.now()-Ti,p=l.ids.filter((m,g)=>{let _=l.metadatas[g];return _&&_.created_at_epoch>d});O.debug("SEARCH","Results within 90-day window",{count:p.length}),p.length>0&&(u=this.sessionStore.getObservationsByIds(p,{orderBy:"date_desc",limit:a==="auto"?1:i}),O.debug("SEARCH","Hydrated observations from SQLite",{count:u.length}))}}catch(l){O.debug("SEARCH","Chroma query failed - no results (FTS5 fallback removed)",{error:l.message})}if(u.length===0)return{content:[{type:"text",text:`No observations found matching "${r}". Try a different search query.`}]};if(a==="interactive"){let l=[];l.push("# Timeline Anchor Search Results"),l.push(""),l.push(`Found ${u.length} observation(s) matching "${r}"`),l.push(""),l.push("To get timeline context around any of these observations, use the `get_context_timeline` tool with the observation ID as the anchor."),l.push(""),l.push(`**Top ${u.length} matches:**`),l.push("");for(let d=0;d({type:"observation",data:h,epoch:h.created_at_epoch})),...(d.sessions||[]).map(h=>({type:"session",data:h,epoch:h.created_at_epoch})),...(d.prompts||[]).map(h=>({type:"prompt",data:h,epoch:h.created_at_epoch}))];p.sort((h,y)=>h.epoch-y.epoch);let m=this.timelineService.filterByDepth(p,l.id,0,n,s);if(!m||m.length===0)return{content:[{type:"text",text:`Found observation #${l.id} matching "${r}", but no timeline context available (${n} records before, ${s} records after).`}]};let g=[];g.push(`# Timeline for query: "${r}"`),g.push(`**Anchor:** Observation #${l.id} - ${l.title||"Untitled"}`),g.push(`**Window:** ${n} records before \u2192 ${s} records after | **Items:** ${m?.length??0}`),g.push("");let _=new Map;for(let h of m){let y=Wa(h.epoch);_.has(y)||_.set(y,[]),_.get(y).push(h)}let f=Array.from(_.entries()).sort((h,y)=>{let v=new Date(h[0]).getTime(),b=new Date(y[0]).getTime();return v-b});for(let[h,y]of f){g.push(`### ${h}`),g.push("");let v=null,b="",w=!1;for(let S of y){let E=S.type==="observation"&&S.data.id===l.id;if(S.type==="session"){w&&(g.push(""),w=!1,v=null,b="");let T=S.data,R=T.request||"Session summary";g.push(`**\u{1F3AF} #S${T.id}** ${R} (${$n(S.epoch)})`),g.push("")}else if(S.type==="prompt"){w&&(g.push(""),w=!1,v=null,b="");let T=S.data,R=T.prompt_text.length>100?T.prompt_text.substring(0,100)+"...":T.prompt_text;g.push(`**\u{1F4AC} User Prompt #${T.prompt_number}** (${$n(S.epoch)})`),g.push(`> ${R}`),g.push("")}else if(S.type==="observation"){let T=S.data,R=Ka(T.files_modified,c);R!==v&&(w&&g.push(""),g.push(`**${R}**`),g.push("| ID | Time | T | Title | Tokens |"),g.push("|----|------|---|-------|--------|"),v=R,w=!0,b="");let M=dt.getInstance().getTypeIcon(T.type),j=Ei(S.epoch),q=T.title||"Untitled",H=Wl(T.narrative),W=j!==b?j:"\u2033";b=j;let oe=E?" \u2190 **ANCHOR**":"";g.push(`| #${T.id} | ${W} | ${M} | ${q}${oe} | ~${H} |`)}}w&&g.push("")}return{content:[{type:"text",text:g.join(` `)}]}}}catch(r){return{content:[{type:"text",text:`Timeline query failed: ${r.message}`}],isError:!0}}}};ln();var hV=4,Xl=class{formatSearchTips(){return` --- \u{1F4A1} Search Strategy: @@ -1084,19 +1084,19 @@ Tips: \u2022 Sort: orderBy="date_desc" or "date_asc"`}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}estimateReadTokens(e){let r=(e.title?.length||0)+(e.subtitle?.length||0)+(e.narrative?.length||0)+(e.facts?.length||0);return Math.ceil(r/hV)}formatObservationIndex(e,r){let a=`#${e.id}`,n=this.formatTime(e.created_at_epoch),s=dt.getInstance().getTypeIcon(e.type),i=e.title||"Untitled",o=this.estimateReadTokens(e),c=dt.getInstance().getWorkEmoji(e.type),u=e.discovery_tokens||0,l=u>0?`${c} ${u}`:"-";return`| ${a} | ${n} | ${s} | ${i} | ~${o} | ${l} |`}formatSessionIndex(e,r){let a=`#S${e.id}`,n=this.formatTime(e.created_at_epoch),s="\u{1F3AF}",i=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return`| ${a} | ${n} | ${s} | ${i} | - | - |`}formatUserPromptIndex(e,r){let a=`#P${e.id}`,n=this.formatTime(e.created_at_epoch),s="\u{1F4AC}",i=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return`| ${a} | ${n} | ${s} | ${i} | - | - |`}formatTableHeader(){return`| ID | Time | T | Title | Read | Work | |-----|------|---|-------|------|------|`}formatSearchTableHeader(){return`| ID | Time | T | Title | Read | |----|------|---|-------|------|`}formatObservationSearchRow(e,r){let a=`#${e.id}`,n=this.formatTime(e.created_at_epoch),s=dt.getInstance().getTypeIcon(e.type),i=e.title||"Untitled",o=this.estimateReadTokens(e);return{row:`| ${a} | ${n===r?"\u2033":n} | ${s} | ${i} | ~${o} |`,time:n}}formatSessionSearchRow(e,r){let a=`#S${e.id}`,n=this.formatTime(e.created_at_epoch),s="\u{1F3AF}",i=e.request||`Session ${e.memory_session_id?.substring(0,8)||"unknown"}`;return{row:`| ${a} | ${n===r?"\u2033":n} | ${s} | ${i} | - |`,time:n}}formatUserPromptSearchRow(e,r){let a=`#P${e.id}`,n=this.formatTime(e.created_at_epoch),s="\u{1F4AC}",i=e.prompt_text.length>60?e.prompt_text.substring(0,57)+"...":e.prompt_text;return{row:`| ${a} | ${n===r?"\u2033":n} | ${s} | ${i} | - |`,time:n}}};ln();var Jl=class{buildTimeline(e){let r=[...e.observations.map(a=>({type:"observation",data:a,epoch:a.created_at_epoch})),...e.sessions.map(a=>({type:"session",data:a,epoch:a.created_at_epoch})),...e.prompts.map(a=>({type:"prompt",data:a,epoch:a.created_at_epoch}))];return r.sort((a,n)=>a.epoch-n.epoch),r}filterByDepth(e,r,a,n,s){if(e.length===0)return e;let i=-1;if(typeof r=="number")i=e.findIndex(u=>u.type==="observation"&&u.data.id===r);else if(typeof r=="string"&&r.startsWith("S")){let u=parseInt(r.slice(1),10);i=e.findIndex(l=>l.type==="session"&&l.data.id===u)}else i=e.findIndex(u=>u.epoch>=a),i===-1&&(i=e.length-1);if(i===-1)return e;let o=Math.max(0,i-n),c=Math.min(e.length,i+s+1);return e.slice(o,c)}formatTimeline(e,r,a,n,s){if(e.length===0)return a?`Found observation matching "${a}", but no timeline context available.`:"No timeline items found";let i=[];if(a&&r){let u=e.find(d=>d.type==="observation"&&d.data.id===r),l=u?u.data.title||"Untitled":"Unknown";i.push(`# Timeline for query: "${a}"`),i.push(`**Anchor:** Observation #${r} - ${l}`)}else r?i.push(`# Timeline around anchor: ${r}`):i.push("# Timeline");n!==void 0&&s!==void 0?i.push(`**Window:** ${n} records before \u2192 ${s} records after | **Items:** ${e.length}`):i.push(`**Items:** ${e.length}`),i.push(""),i.push("**Legend:** \u{1F3AF} session-request | \u{1F534} bugfix | \u{1F7E3} feature | \u{1F504} refactor | \u2705 change | \u{1F535} discovery | \u{1F9E0} decision"),i.push("");let o=new Map;for(let u of e){let l=this.formatDate(u.epoch);o.has(l)||o.set(l,[]),o.get(l).push(u)}let c=Array.from(o.entries()).sort((u,l)=>{let d=new Date(u[0]).getTime(),p=new Date(l[0]).getTime();return d-p});for(let[u,l]of c){i.push(`### ${u}`),i.push("");let d=null,p="",m=!1;for(let g of l){let _=typeof r=="number"&&g.type==="observation"&&g.data.id===r||typeof r=="string"&&r.startsWith("S")&&g.type==="session"&&`S${g.data.id}`===r;if(g.type==="session"){m&&(i.push(""),m=!1,d=null,p="");let f=g.data,h=f.request||"Session summary",y=_?" \u2190 **ANCHOR**":"";i.push(`**\u{1F3AF} #S${f.id}** ${h} (${this.formatDateTime(g.epoch)})${y}`),i.push("")}else if(g.type==="prompt"){m&&(i.push(""),m=!1,d=null,p="");let f=g.data,h=f.prompt_text.length>100?f.prompt_text.substring(0,100)+"...":f.prompt_text;i.push(`**\u{1F4AC} User Prompt #${f.prompt_number}** (${this.formatDateTime(g.epoch)})`),i.push(`> ${h}`),i.push("")}else if(g.type==="observation"){let f=g.data,h="General";h!==d&&(m&&i.push(""),i.push(`**${h}**`),i.push("| ID | Time | T | Title | Tokens |"),i.push("|----|------|---|-------|--------|"),d=h,m=!0,p="");let y=this.getTypeIcon(f.type),v=this.formatTime(g.epoch),b=f.title||"Untitled",w=this.estimateTokens(f.narrative),E=v!==p?v:"\u2033";p=v;let T=_?" \u2190 **ANCHOR**":"";i.push(`| #${f.id} | ${E} | ${y} | ${b}${T} | ~${w} |`)}}m&&i.push("")}return i.join(` -`)}getTypeIcon(e){return dt.getInstance().getTypeIcon(e)}formatDate(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}formatDateTime(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}estimateTokens(e){return e?Math.ceil(e.length/4):0}};var Yl=class{constructor(e,r){this.sseBroadcaster=e;this.workerService=r}broadcastNewPrompt(e){this.sseBroadcaster.broadcast({type:"new_prompt",prompt:e}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:!0}),this.workerService.broadcastProcessingStatus()}broadcastSessionStarted(e,r){this.sseBroadcaster.broadcast({type:"session_started",sessionDbId:e,project:r}),this.workerService.broadcastProcessingStatus()}broadcastObservationQueued(e){this.sseBroadcaster.broadcast({type:"observation_queued",sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSessionCompleted(e){this.sseBroadcaster.broadcast({type:"session_completed",timestamp:Date.now(),sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSummarizeQueued(){this.workerService.broadcastProcessingStatus()}};var vh=xt(mu(),1),PR=xt(RR(),1),$R=xt(require("path"),1);mr();ot();function OR(t){let e=[];e.push(vh.default.json({limit:"50mb"})),e.push((0,PR.default)()),e.push((n,s,i)=>{let c=[".html",".js",".css",".svg",".png",".jpg",".jpeg",".webp",".woff",".woff2",".ttf",".eot"].some(m=>n.path.endsWith(m));if(n.path.startsWith("/health")||n.path==="/"||c)return i();let u=Date.now(),l=`${n.method}-${Date.now()}`,d=t(n.method,n.path,n.body);P.info("HTTP",`\u2192 ${n.method} ${n.path}`,{requestId:l},d);let p=s.send.bind(s);s.send=function(m){let g=Date.now()-u;return P.info("HTTP",`\u2190 ${s.statusCode} ${n.path}`,{requestId:l,duration:`${g}ms`}),p(m)},i()});let r=or(),a=$R.default.join(r,"plugin","ui");return e.push(vh.default.static(a)),e}function gh(t,e,r){let a=t.ip||t.connection.remoteAddress||"";if(!(a==="127.0.0.1"||a==="::1"||a==="::ffff:127.0.0.1"||a==="localhost")){P.warn("SECURITY","Admin endpoint access denied - not localhost",{endpoint:t.path,clientIp:a,method:t.method}),e.status(403).json({error:"Forbidden",message:"Admin endpoints are only accessible from localhost"});return}r()}function CR(t,e,r){if(!r||Object.keys(r).length===0||e.includes("/init"))return"";if(e.includes("/observations")){let a=r.tool_name||"?",n=r.tool_input;return`tool=${P.formatTool(a,n)}`}return e.includes("/summarize")?"requesting summary":""}var IR=xt(mu(),1),Ql=xt(require("path"),1),td=require("fs");mr();ot();var jr=class{wrapHandler(e){return(r,a)=>{try{let n=e(r,a);n instanceof Promise&&n.catch(s=>this.handleError(a,s))}catch(n){this.handleError(a,n)}}}parseIntParam(e,r,a){let n=parseInt(e.params[a],10);return isNaN(n)?(this.badRequest(r,`Invalid ${a}`),null):n}validateRequired(e,r,a){for(let n of a)if(e.body[n]===void 0||e.body[n]===null)return this.badRequest(r,`Missing ${n}`),!1;return!0}badRequest(e,r){e.status(400).json({error:r})}notFound(e,r){e.status(404).json({error:r})}handleError(e,r,a){P.failure("WORKER",a||"Request failed",{},r),e.headersSent||e.status(500).json({error:r.message})}};var ed=class extends jr{constructor(r,a,n){super();this.sseBroadcaster=r;this.dbManager=a;this.sessionManager=n}setupRoutes(r){let a=or();r.use(IR.default.static(Ql.default.join(a,"ui"))),r.get("/health",this.handleHealth.bind(this)),r.get("/",this.handleViewerUI.bind(this)),r.get("/stream",this.handleSSEStream.bind(this))}handleHealth=this.wrapHandler((r,a)=>{a.json({status:"ok",timestamp:Date.now()})});handleViewerUI=this.wrapHandler((r,a)=>{let n=or(),i=[Ql.default.join(n,"ui","viewer.html"),Ql.default.join(n,"plugin","ui","viewer.html")].find(c=>(0,td.existsSync)(c));if(!i)throw new Error("Viewer UI not found at any expected location");let o=(0,td.readFileSync)(i,"utf-8");a.setHeader("Content-Type","text/html"),a.send(o)});handleSSEStream=this.wrapHandler((r,a)=>{a.setHeader("Content-Type","text/event-stream"),a.setHeader("Cache-Control","no-cache"),a.setHeader("Connection","keep-alive"),this.sseBroadcaster.addClient(a);let n=this.dbManager.getSessionStore().getAllProjects();this.sseBroadcaster.broadcast({type:"initial_load",projects:n,timestamp:Date.now()});let s=this.sessionManager.isAnySessionProcessing(),i=this.sessionManager.getTotalActiveWork();this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:s,queueDepth:i})})};ot();ot();var AR=100;function bV(t){let e=(t.match(//g)||[]).length,r=(t.match(//g)||[]).length;return e+r}function NR(t){let e=bV(t);return e>AR&&P.warn("SYSTEM","tag count exceeds limit",void 0,{tagCount:e,maxAllowed:AR,contentLength:t.length}),t.replace(/[\s\S]*?<\/claude-mem-context>/g,"").replace(/[\s\S]*?<\/private>/g,"").trim()}function yh(t){return NR(t)}function MR(t){return NR(t)}var rd=class{constructor(e,r){this.sessionManager=e;this.eventBroadcaster=r}async completeByDbId(e){await this.sessionManager.deleteSession(e),this.eventBroadcaster.broadcastSessionCompleted(e)}};ot();var tc=class{static checkUserPromptPrivacy(e,r,a,n,s,i){let o=e.getUserPrompt(r,a);return!o||o.trim()===""?(P.debug("HOOK",`Skipping ${n} - user prompt was entirely private`,{sessionId:s,promptNumber:a,...i}),null):o}};Or();mr();var nd=class extends jr{constructor(r,a,n,s,i,o,c){super();this.sessionManager=r;this.dbManager=a;this.sdkAgent=n;this.geminiAgent=s;this.openRouterAgent=i;this.eventBroadcaster=o;this.workerService=c;this.completionHandler=new rd(r,o)}completionHandler;getActiveAgent(){if(ph()){if(dh())return P.debug("SESSION","Using OpenRouter agent"),this.openRouterAgent;throw new Error("OpenRouter provider selected but no API key configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.")}if(lh()){if(uh())return P.debug("SESSION","Using Gemini agent"),this.geminiAgent;throw new Error("Gemini provider selected but no API key configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.")}return this.sdkAgent}getSelectedProvider(){return ph()&&dh()?"openrouter":lh()&&uh()?"gemini":"claude"}ensureGeneratorRunning(r,a){let n=this.sessionManager.getSession(r);if(!n)return;let s=this.getSelectedProvider();if(!n.generatorPromise){this.startGeneratorWithProvider(n,s,a);return}n.currentProvider&&n.currentProvider!==s&&P.info("SESSION","Provider changed, will switch after current generator finishes",{sessionId:r,currentProvider:n.currentProvider,selectedProvider:s,historyLength:n.conversationHistory.length})}startGeneratorWithProvider(r,a,n){if(!r)return;let s=a==="openrouter"?this.openRouterAgent:a==="gemini"?this.geminiAgent:this.sdkAgent,i=a==="openrouter"?"OpenRouter":a==="gemini"?"Gemini":"Claude SDK";P.info("SESSION",`Generator auto-starting (${n}) using ${i}`,{sessionId:r.sessionDbId,queueDepth:r.pendingMessages.length,historyLength:r.conversationHistory.length}),r.currentProvider=a,r.generatorPromise=s.startSession(r,this.workerService).catch(o=>{if(r.abortController.signal.aborted)return;P.error("SESSION","Generator failed",{sessionId:r.sessionDbId,provider:a,error:o.message},o);let c=this.sessionManager.getPendingMessageStore(),u=this.dbManager.getSessionStore().db;try{let d=u.prepare(` +`)}getTypeIcon(e){return dt.getInstance().getTypeIcon(e)}formatDate(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}formatTime(e){return new Date(e).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}formatDateTime(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}estimateTokens(e){return e?Math.ceil(e.length/4):0}};var Yl=class{constructor(e,r){this.sseBroadcaster=e;this.workerService=r}broadcastNewPrompt(e){this.sseBroadcaster.broadcast({type:"new_prompt",prompt:e}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:!0}),this.workerService.broadcastProcessingStatus()}broadcastSessionStarted(e,r){this.sseBroadcaster.broadcast({type:"session_started",sessionDbId:e,project:r}),this.workerService.broadcastProcessingStatus()}broadcastObservationQueued(e){this.sseBroadcaster.broadcast({type:"observation_queued",sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSessionCompleted(e){this.sseBroadcaster.broadcast({type:"session_completed",timestamp:Date.now(),sessionDbId:e}),this.workerService.broadcastProcessingStatus()}broadcastSummarizeQueued(){this.workerService.broadcastProcessingStatus()}};var vh=xt(mu(),1),PR=xt(RR(),1),$R=xt(require("path"),1);mr();ot();function OR(t){let e=[];e.push(vh.default.json({limit:"50mb"})),e.push((0,PR.default)()),e.push((n,s,i)=>{let c=[".html",".js",".css",".svg",".png",".jpg",".jpeg",".webp",".woff",".woff2",".ttf",".eot"].some(m=>n.path.endsWith(m));if(n.path.startsWith("/health")||n.path==="/"||c)return i();let u=Date.now(),l=`${n.method}-${Date.now()}`,d=t(n.method,n.path,n.body);O.info("HTTP",`\u2192 ${n.method} ${n.path}`,{requestId:l},d);let p=s.send.bind(s);s.send=function(m){let g=Date.now()-u;return O.info("HTTP",`\u2190 ${s.statusCode} ${n.path}`,{requestId:l,duration:`${g}ms`}),p(m)},i()});let r=or(),a=$R.default.join(r,"plugin","ui");return e.push(vh.default.static(a)),e}function gh(t,e,r){let a=t.ip||t.connection.remoteAddress||"";if(!(a==="127.0.0.1"||a==="::1"||a==="::ffff:127.0.0.1"||a==="localhost")){O.warn("SECURITY","Admin endpoint access denied - not localhost",{endpoint:t.path,clientIp:a,method:t.method}),e.status(403).json({error:"Forbidden",message:"Admin endpoints are only accessible from localhost"});return}r()}function CR(t,e,r){if(!r||Object.keys(r).length===0||e.includes("/init"))return"";if(e.includes("/observations")){let a=r.tool_name||"?",n=r.tool_input;return`tool=${O.formatTool(a,n)}`}return e.includes("/summarize")?"requesting summary":""}var IR=xt(mu(),1),Ql=xt(require("path"),1),td=require("fs");mr();ot();var jr=class{wrapHandler(e){return(r,a)=>{try{let n=e(r,a);n instanceof Promise&&n.catch(s=>this.handleError(a,s))}catch(n){this.handleError(a,n)}}}parseIntParam(e,r,a){let n=parseInt(e.params[a],10);return isNaN(n)?(this.badRequest(r,`Invalid ${a}`),null):n}validateRequired(e,r,a){for(let n of a)if(e.body[n]===void 0||e.body[n]===null)return this.badRequest(r,`Missing ${n}`),!1;return!0}badRequest(e,r){e.status(400).json({error:r})}notFound(e,r){e.status(404).json({error:r})}handleError(e,r,a){O.failure("WORKER",a||"Request failed",{},r),e.headersSent||e.status(500).json({error:r.message})}};var ed=class extends jr{constructor(r,a,n){super();this.sseBroadcaster=r;this.dbManager=a;this.sessionManager=n}setupRoutes(r){let a=or();r.use(IR.default.static(Ql.default.join(a,"ui"))),r.get("/health",this.handleHealth.bind(this)),r.get("/",this.handleViewerUI.bind(this)),r.get("/stream",this.handleSSEStream.bind(this))}handleHealth=this.wrapHandler((r,a)=>{a.json({status:"ok",timestamp:Date.now()})});handleViewerUI=this.wrapHandler((r,a)=>{let n=or(),i=[Ql.default.join(n,"ui","viewer.html"),Ql.default.join(n,"plugin","ui","viewer.html")].find(c=>(0,td.existsSync)(c));if(!i)throw new Error("Viewer UI not found at any expected location");let o=(0,td.readFileSync)(i,"utf-8");a.setHeader("Content-Type","text/html"),a.send(o)});handleSSEStream=this.wrapHandler((r,a)=>{a.setHeader("Content-Type","text/event-stream"),a.setHeader("Cache-Control","no-cache"),a.setHeader("Connection","keep-alive"),this.sseBroadcaster.addClient(a);let n=this.dbManager.getSessionStore().getAllProjects();this.sseBroadcaster.broadcast({type:"initial_load",projects:n,timestamp:Date.now()});let s=this.sessionManager.isAnySessionProcessing(),i=this.sessionManager.getTotalActiveWork();this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:s,queueDepth:i})})};ot();ot();var AR=100;function bV(t){let e=(t.match(//g)||[]).length,r=(t.match(//g)||[]).length;return e+r}function NR(t){let e=bV(t);return e>AR&&O.warn("SYSTEM","tag count exceeds limit",void 0,{tagCount:e,maxAllowed:AR,contentLength:t.length}),t.replace(/[\s\S]*?<\/claude-mem-context>/g,"").replace(/[\s\S]*?<\/private>/g,"").trim()}function yh(t){return NR(t)}function MR(t){return NR(t)}var rd=class{constructor(e,r){this.sessionManager=e;this.eventBroadcaster=r}async completeByDbId(e){await this.sessionManager.deleteSession(e),this.eventBroadcaster.broadcastSessionCompleted(e)}};ot();var tc=class{static checkUserPromptPrivacy(e,r,a,n,s,i){let o=e.getUserPrompt(r,a);return!o||o.trim()===""?(O.debug("HOOK",`Skipping ${n} - user prompt was entirely private`,{sessionId:s,promptNumber:a,...i}),null):o}};Or();mr();var nd=class extends jr{constructor(r,a,n,s,i,o,c){super();this.sessionManager=r;this.dbManager=a;this.sdkAgent=n;this.geminiAgent=s;this.openRouterAgent=i;this.eventBroadcaster=o;this.workerService=c;this.completionHandler=new rd(r,o)}completionHandler;getActiveAgent(){if(ph()){if(dh())return O.debug("SESSION","Using OpenRouter agent"),this.openRouterAgent;throw new Error("OpenRouter provider selected but no API key configured. Set CLAUDE_MEM_OPENROUTER_API_KEY in settings or OPENROUTER_API_KEY environment variable.")}if(lh()){if(uh())return O.debug("SESSION","Using Gemini agent"),this.geminiAgent;throw new Error("Gemini provider selected but no API key configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.")}return this.sdkAgent}getSelectedProvider(){return ph()&&dh()?"openrouter":lh()&&uh()?"gemini":"claude"}ensureGeneratorRunning(r,a){let n=this.sessionManager.getSession(r);if(!n)return;let s=this.getSelectedProvider();if(!n.generatorPromise){this.startGeneratorWithProvider(n,s,a);return}n.currentProvider&&n.currentProvider!==s&&O.info("SESSION","Provider changed, will switch after current generator finishes",{sessionId:r,currentProvider:n.currentProvider,selectedProvider:s,historyLength:n.conversationHistory.length})}startGeneratorWithProvider(r,a,n){if(!r)return;let s=a==="openrouter"?this.openRouterAgent:a==="gemini"?this.geminiAgent:this.sdkAgent,i=a==="openrouter"?"OpenRouter":a==="gemini"?"Gemini":"Claude SDK";O.info("SESSION",`Generator auto-starting (${n}) using ${i}`,{sessionId:r.sessionDbId,queueDepth:r.pendingMessages.length,historyLength:r.conversationHistory.length}),r.currentProvider=a,r.generatorPromise=s.startSession(r,this.workerService).catch(o=>{if(r.abortController.signal.aborted)return;O.error("SESSION","Generator failed",{sessionId:r.sessionDbId,provider:a,error:o.message},o);let c=this.sessionManager.getPendingMessageStore(),u=this.dbManager.getSessionStore().db;try{let d=u.prepare(` SELECT id FROM pending_messages WHERE session_db_id = ? AND status = 'processing' - `).all(r.sessionDbId);for(let p of d)c.markFailed(p.id),P.warn("SESSION","Marked message as failed after generator error",{sessionId:r.sessionDbId,messageId:p.id})}catch(l){P.error("SESSION","Failed to mark messages as failed",{sessionId:r.sessionDbId},l)}}).finally(()=>{let o=r.sessionDbId;if(r.abortController.signal.aborted?P.info("SESSION","Generator aborted",{sessionId:o}):P.warn("SESSION","Generator exited unexpectedly",{sessionId:o}),r.generatorPromise=null,r.currentProvider=null,this.workerService.broadcastProcessingStatus(),!r.abortController.signal.aborted)try{let u=this.sessionManager.getPendingMessageStore().getPendingCount(o);u>0&&(P.info("SESSION","Restarting generator after crash/exit with pending work",{sessionId:o,pendingCount:u}),setTimeout(()=>{let l=this.sessionManager.getSession(o);l&&!l.generatorPromise&&this.startGeneratorWithProvider(l,this.getSelectedProvider(),"crash-recovery")},1e3))}catch{}})}setupRoutes(r){r.post("/sessions/:sessionDbId/init",this.handleSessionInit.bind(this)),r.post("/sessions/:sessionDbId/observations",this.handleObservations.bind(this)),r.post("/sessions/:sessionDbId/summarize",this.handleSummarize.bind(this)),r.get("/sessions/:sessionDbId/status",this.handleSessionStatus.bind(this)),r.delete("/sessions/:sessionDbId",this.handleSessionDelete.bind(this)),r.post("/sessions/:sessionDbId/complete",this.handleSessionComplete.bind(this)),r.post("/api/sessions/init",this.handleSessionInitByClaudeId.bind(this)),r.post("/api/sessions/observations",this.handleObservationsByClaudeId.bind(this)),r.post("/api/sessions/summarize",this.handleSummarizeByClaudeId.bind(this))}handleSessionInit=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{userPrompt:s,promptNumber:i}=r.body;P.info("HTTP","SessionRoutes: handleSessionInit called",{sessionDbId:n,promptNumber:i,has_userPrompt:!!s});let o=this.sessionManager.initializeSession(n,s,i),c=this.dbManager.getSessionStore().getLatestUserPrompt(o.contentSessionId);if(c){this.eventBroadcaster.broadcastNewPrompt({id:c.id,content_session_id:c.content_session_id,project:c.project,prompt_number:c.prompt_number,prompt_text:c.prompt_text,created_at_epoch:c.created_at_epoch});let u=Date.now(),l=c.prompt_text;this.dbManager.getChromaSync().syncUserPrompt(c.id,c.memory_session_id,c.project,l,c.prompt_number,c.created_at_epoch).then(()=>{let d=Date.now()-u,p=l.length>60?l.substring(0,60)+"...":l;P.debug("CHROMA","User prompt synced",{promptId:c.id,duration:`${d}ms`,prompt:p})}).catch(d=>{P.warn("CHROMA","User prompt sync failed, continuing without vector search",{promptId:c.id,prompt:l.length>60?l.substring(0,60)+"...":l},d)})}this.startGeneratorWithProvider(o,this.getSelectedProvider(),"init"),this.eventBroadcaster.broadcastSessionStarted(n,o.project),a.json({status:"initialized",sessionDbId:n,port:Xt()})});handleObservations=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{tool_name:s,tool_input:i,tool_response:o,prompt_number:c,cwd:u}=r.body;this.sessionManager.queueObservation(n,{tool_name:s,tool_input:i,tool_response:o,prompt_number:c,cwd:u}),this.ensureGeneratorRunning(n,"observation"),this.eventBroadcaster.broadcastObservationQueued(n),a.json({status:"queued"})});handleSummarize=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{last_user_message:s,last_assistant_message:i}=r.body;this.sessionManager.queueSummarize(n,s,i),this.ensureGeneratorRunning(n,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),a.json({status:"queued"})});handleSessionStatus=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let s=this.sessionManager.getSession(n);if(!s){a.json({status:"not_found"});return}a.json({status:"active",sessionDbId:n,project:s.project,queueLength:s.pendingMessages.length,uptime:Date.now()-s.startTime})});handleSessionDelete=this.wrapHandler(async(r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");n!==null&&(await this.completionHandler.completeByDbId(n),a.json({status:"deleted"}))});handleSessionComplete=this.wrapHandler(async(r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");n!==null&&(await this.completionHandler.completeByDbId(n),a.json({success:!0}))});handleObservationsByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,tool_name:s,tool_input:i,tool_response:o,cwd:c}=r.body;if(!n)return this.badRequest(a,"Missing contentSessionId");let u=Ze.loadFromFile(Ir);if(new Set(u.CLAUDE_MEM_SKIP_TOOLS.split(",").map(y=>y.trim()).filter(Boolean)).has(s)){P.debug("SESSION","Skipping observation for tool",{tool_name:s}),a.json({status:"skipped",reason:"tool_excluded"});return}if(new Set(["Edit","Write","Read","NotebookEdit"]).has(s)&&i){let y=i.file_path||i.notebook_path;if(y&&y.includes("session-memory")){P.debug("SESSION","Skipping meta-observation for session-memory file",{tool_name:s,file_path:y}),a.json({status:"skipped",reason:"session_memory_meta"});return}}let p=this.dbManager.getSessionStore(),m=p.createSDKSession(n,"",""),g=p.getPromptNumberFromUserPrompts(n);if(!tc.checkUserPromptPrivacy(p,n,g,"observation",m,{tool_name:s})){a.json({status:"skipped",reason:"private"});return}let f=i!==void 0?yh(JSON.stringify(i)):"{}",h=o!==void 0?yh(JSON.stringify(o)):"{}";this.sessionManager.queueObservation(m,{tool_name:s,tool_input:f,tool_response:h,prompt_number:g,cwd:c||P.happyPathError("SESSION","Missing cwd when queueing observation in SessionRoutes",{sessionId:m},{tool_name:s},"")}),this.ensureGeneratorRunning(m,"observation"),this.eventBroadcaster.broadcastObservationQueued(m),a.json({status:"queued"})});handleSummarizeByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,last_user_message:s,last_assistant_message:i}=r.body;if(!n)return this.badRequest(a,"Missing contentSessionId");let o=this.dbManager.getSessionStore(),c=o.createSDKSession(n,"",""),u=o.getPromptNumberFromUserPrompts(n);if(!tc.checkUserPromptPrivacy(o,n,u,"summarize",c)){a.json({status:"skipped",reason:"private"});return}this.sessionManager.queueSummarize(c,s||P.happyPathError("SESSION","Missing last_user_message when queueing summary in SessionRoutes",{sessionId:c},void 0,""),i),this.ensureGeneratorRunning(c,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),a.json({status:"queued"})});handleSessionInitByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,project:s,prompt:i}=r.body;if(P.info("HTTP","SessionRoutes: handleSessionInitByClaudeId called",{contentSessionId:n,project:s,prompt_length:i?.length}),!this.validateRequired(r,a,["contentSessionId","project","prompt"]))return;let o=this.dbManager.getSessionStore(),c=o.createSDKSession(n,s,i);P.info("HTTP","SessionRoutes: createSDKSession returned",{sessionDbId:c,contentSessionId:n});let u=o.getPromptNumberFromUserPrompts(n),l=u+1;P.info("HTTP","SessionRoutes: Calculated promptNumber",{sessionDbId:c,promptNumber:l,currentCount:u});let d=MR(i);if(!d||d.trim()===""){P.debug("HOOK","Session init - prompt entirely private",{sessionId:c,promptNumber:l,originalLength:i.length}),a.json({sessionDbId:c,promptNumber:l,skipped:!0,reason:"private"});return}o.saveUserPrompt(n,l,d),P.info("SESSION","Session initialized via HTTP",{sessionId:c,promptNumber:l,project:s}),a.json({sessionDbId:c,promptNumber:l,skipped:!1})})};var _h=xt(require("path"),1),ki=require("fs"),jR=require("os");mr();var ad=class extends jr{constructor(r,a,n,s,i,o){super();this.paginationHelper=r;this.dbManager=a;this.sessionManager=n;this.sseBroadcaster=s;this.workerService=i;this.startTime=o}setupRoutes(r){r.get("/api/observations",this.handleGetObservations.bind(this)),r.get("/api/summaries",this.handleGetSummaries.bind(this)),r.get("/api/prompts",this.handleGetPrompts.bind(this)),r.get("/api/observation/:id",this.handleGetObservationById.bind(this)),r.post("/api/observations/batch",this.handleGetObservationsByIds.bind(this)),r.get("/api/session/:id",this.handleGetSessionById.bind(this)),r.post("/api/sdk-sessions/batch",this.handleGetSdkSessionsByIds.bind(this)),r.get("/api/prompt/:id",this.handleGetPromptById.bind(this)),r.get("/api/stats",this.handleGetStats.bind(this)),r.get("/api/projects",this.handleGetProjects.bind(this)),r.get("/api/processing-status",this.handleGetProcessingStatus.bind(this)),r.post("/api/processing",this.handleSetProcessing.bind(this)),r.get("/api/pending-queue",this.handleGetPendingQueue.bind(this)),r.post("/api/pending-queue/process",this.handleProcessPendingQueue.bind(this)),r.post("/api/import",this.handleImport.bind(this))}handleGetObservations=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getObservations(n,s,i);a.json(o)});handleGetSummaries=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getSummaries(n,s,i);a.json(o)});handleGetPrompts=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getPrompts(n,s,i);a.json(o)});handleGetObservationById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getObservationById(n);if(!i){this.notFound(a,`Observation #${n} not found`);return}a.json(i)});handleGetObservationsByIds=this.wrapHandler((r,a)=>{let{ids:n,orderBy:s,limit:i,project:o}=r.body;if(!n||!Array.isArray(n)){this.badRequest(a,"ids must be an array of numbers");return}if(n.length===0){a.json([]);return}if(!n.every(l=>typeof l=="number"&&Number.isInteger(l))){this.badRequest(a,"All ids must be integers");return}let u=this.dbManager.getSessionStore().getObservationsByIds(n,{orderBy:s,limit:i,project:o});a.json(u)});handleGetSessionById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getSessionSummariesByIds([n]);if(i.length===0){this.notFound(a,`Session #${n} not found`);return}a.json(i[0])});handleGetSdkSessionsByIds=this.wrapHandler((r,a)=>{let{memorySessionIds:n}=r.body;if(!Array.isArray(n)){this.badRequest(a,"memorySessionIds must be an array");return}let i=this.dbManager.getSessionStore().getSdkSessionsBySessionIds(n);a.json(i)});handleGetPromptById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getUserPromptsByIds([n]);if(i.length===0){this.notFound(a,`Prompt #${n} not found`);return}a.json(i[0])});handleGetStats=this.wrapHandler((r,a)=>{let n=this.dbManager.getSessionStore().db,s=or(),i=_h.default.join(s,"package.json"),c=JSON.parse((0,ki.readFileSync)(i,"utf-8")).version,u=n.prepare("SELECT COUNT(*) as count FROM observations").get(),l=n.prepare("SELECT COUNT(*) as count FROM sdk_sessions").get(),d=n.prepare("SELECT COUNT(*) as count FROM session_summaries").get(),p=_h.default.join((0,jR.homedir)(),".claude-mem","claude-mem.db"),m=0;(0,ki.existsSync)(p)&&(m=(0,ki.statSync)(p).size);let g=Math.floor((Date.now()-this.startTime)/1e3),_=this.sessionManager.getActiveSessionCount(),f=this.sseBroadcaster.getClientCount();a.json({worker:{version:c,uptime:g,activeSessions:_,sseClients:f,port:Xt()},database:{path:p,size:m,observations:u.count,sessions:l.count,summaries:d.count}})});handleGetProjects=this.wrapHandler((r,a)=>{let i=this.dbManager.getSessionStore().db.prepare(` + `).all(r.sessionDbId);for(let p of d)c.markFailed(p.id),O.warn("SESSION","Marked message as failed after generator error",{sessionId:r.sessionDbId,messageId:p.id})}catch(l){O.error("SESSION","Failed to mark messages as failed",{sessionId:r.sessionDbId},l)}}).finally(()=>{let o=r.sessionDbId;if(r.abortController.signal.aborted?O.info("SESSION","Generator aborted",{sessionId:o}):O.warn("SESSION","Generator exited unexpectedly",{sessionId:o}),r.generatorPromise=null,r.currentProvider=null,this.workerService.broadcastProcessingStatus(),!r.abortController.signal.aborted)try{let u=this.sessionManager.getPendingMessageStore().getPendingCount(o);u>0&&(O.info("SESSION","Restarting generator after crash/exit with pending work",{sessionId:o,pendingCount:u}),setTimeout(()=>{let l=this.sessionManager.getSession(o);l&&!l.generatorPromise&&this.startGeneratorWithProvider(l,this.getSelectedProvider(),"crash-recovery")},1e3))}catch{}})}setupRoutes(r){r.post("/sessions/:sessionDbId/init",this.handleSessionInit.bind(this)),r.post("/sessions/:sessionDbId/observations",this.handleObservations.bind(this)),r.post("/sessions/:sessionDbId/summarize",this.handleSummarize.bind(this)),r.get("/sessions/:sessionDbId/status",this.handleSessionStatus.bind(this)),r.delete("/sessions/:sessionDbId",this.handleSessionDelete.bind(this)),r.post("/sessions/:sessionDbId/complete",this.handleSessionComplete.bind(this)),r.post("/api/sessions/init",this.handleSessionInitByClaudeId.bind(this)),r.post("/api/sessions/observations",this.handleObservationsByClaudeId.bind(this)),r.post("/api/sessions/summarize",this.handleSummarizeByClaudeId.bind(this))}handleSessionInit=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{userPrompt:s,promptNumber:i}=r.body;O.info("HTTP","SessionRoutes: handleSessionInit called",{sessionDbId:n,promptNumber:i,has_userPrompt:!!s});let o=this.sessionManager.initializeSession(n,s,i),c=this.dbManager.getSessionStore().getLatestUserPrompt(o.contentSessionId);if(c){this.eventBroadcaster.broadcastNewPrompt({id:c.id,content_session_id:c.content_session_id,project:c.project,prompt_number:c.prompt_number,prompt_text:c.prompt_text,created_at_epoch:c.created_at_epoch});let u=Date.now(),l=c.prompt_text;this.dbManager.getChromaSync().syncUserPrompt(c.id,c.memory_session_id,c.project,l,c.prompt_number,c.created_at_epoch).then(()=>{let d=Date.now()-u,p=l.length>60?l.substring(0,60)+"...":l;O.debug("CHROMA","User prompt synced",{promptId:c.id,duration:`${d}ms`,prompt:p})}).catch(d=>{O.warn("CHROMA","User prompt sync failed, continuing without vector search",{promptId:c.id,prompt:l.length>60?l.substring(0,60)+"...":l},d)})}this.startGeneratorWithProvider(o,this.getSelectedProvider(),"init"),this.eventBroadcaster.broadcastSessionStarted(n,o.project),a.json({status:"initialized",sessionDbId:n,port:Xt()})});handleObservations=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{tool_name:s,tool_input:i,tool_response:o,prompt_number:c,cwd:u}=r.body;this.sessionManager.queueObservation(n,{tool_name:s,tool_input:i,tool_response:o,prompt_number:c,cwd:u}),this.ensureGeneratorRunning(n,"observation"),this.eventBroadcaster.broadcastObservationQueued(n),a.json({status:"queued"})});handleSummarize=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let{last_user_message:s,last_assistant_message:i}=r.body;this.sessionManager.queueSummarize(n,s,i),this.ensureGeneratorRunning(n,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),a.json({status:"queued"})});handleSessionStatus=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");if(n===null)return;let s=this.sessionManager.getSession(n);if(!s){a.json({status:"not_found"});return}a.json({status:"active",sessionDbId:n,project:s.project,queueLength:s.pendingMessages.length,uptime:Date.now()-s.startTime})});handleSessionDelete=this.wrapHandler(async(r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");n!==null&&(await this.completionHandler.completeByDbId(n),a.json({status:"deleted"}))});handleSessionComplete=this.wrapHandler(async(r,a)=>{let n=this.parseIntParam(r,a,"sessionDbId");n!==null&&(await this.completionHandler.completeByDbId(n),a.json({success:!0}))});handleObservationsByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,tool_name:s,tool_input:i,tool_response:o,cwd:c}=r.body;if(!n)return this.badRequest(a,"Missing contentSessionId");let u=Ze.loadFromFile(Ir);if(new Set(u.CLAUDE_MEM_SKIP_TOOLS.split(",").map(y=>y.trim()).filter(Boolean)).has(s)){O.debug("SESSION","Skipping observation for tool",{tool_name:s}),a.json({status:"skipped",reason:"tool_excluded"});return}if(new Set(["Edit","Write","Read","NotebookEdit"]).has(s)&&i){let y=i.file_path||i.notebook_path;if(y&&y.includes("session-memory")){O.debug("SESSION","Skipping meta-observation for session-memory file",{tool_name:s,file_path:y}),a.json({status:"skipped",reason:"session_memory_meta"});return}}let p=this.dbManager.getSessionStore(),m=p.createSDKSession(n,"",""),g=p.getPromptNumberFromUserPrompts(n);if(!tc.checkUserPromptPrivacy(p,n,g,"observation",m,{tool_name:s})){a.json({status:"skipped",reason:"private"});return}let f=i!==void 0?yh(JSON.stringify(i)):"{}",h=o!==void 0?yh(JSON.stringify(o)):"{}";this.sessionManager.queueObservation(m,{tool_name:s,tool_input:f,tool_response:h,prompt_number:g,cwd:c||O.happyPathError("SESSION","Missing cwd when queueing observation in SessionRoutes",{sessionId:m},{tool_name:s},"")}),this.ensureGeneratorRunning(m,"observation"),this.eventBroadcaster.broadcastObservationQueued(m),a.json({status:"queued"})});handleSummarizeByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,last_user_message:s,last_assistant_message:i}=r.body;if(!n)return this.badRequest(a,"Missing contentSessionId");let o=this.dbManager.getSessionStore(),c=o.createSDKSession(n,"",""),u=o.getPromptNumberFromUserPrompts(n);if(!tc.checkUserPromptPrivacy(o,n,u,"summarize",c)){a.json({status:"skipped",reason:"private"});return}this.sessionManager.queueSummarize(c,s||O.happyPathError("SESSION","Missing last_user_message when queueing summary in SessionRoutes",{sessionId:c},void 0,""),i),this.ensureGeneratorRunning(c,"summarize"),this.eventBroadcaster.broadcastSummarizeQueued(),a.json({status:"queued"})});handleSessionInitByClaudeId=this.wrapHandler((r,a)=>{let{contentSessionId:n,project:s,prompt:i}=r.body;if(O.info("HTTP","SessionRoutes: handleSessionInitByClaudeId called",{contentSessionId:n,project:s,prompt_length:i?.length}),!this.validateRequired(r,a,["contentSessionId","project","prompt"]))return;let o=this.dbManager.getSessionStore(),c=o.createSDKSession(n,s,i);O.info("HTTP","SessionRoutes: createSDKSession returned",{sessionDbId:c,contentSessionId:n});let u=o.getPromptNumberFromUserPrompts(n),l=u+1;O.info("HTTP","SessionRoutes: Calculated promptNumber",{sessionDbId:c,promptNumber:l,currentCount:u});let d=MR(i);if(!d||d.trim()===""){O.debug("HOOK","Session init - prompt entirely private",{sessionId:c,promptNumber:l,originalLength:i.length}),a.json({sessionDbId:c,promptNumber:l,skipped:!0,reason:"private"});return}o.saveUserPrompt(n,l,d),O.info("SESSION","Session initialized via HTTP",{sessionId:c,promptNumber:l,project:s}),a.json({sessionDbId:c,promptNumber:l,skipped:!1})})};var _h=xt(require("path"),1),ki=require("fs"),jR=require("os");mr();var ad=class extends jr{constructor(r,a,n,s,i,o){super();this.paginationHelper=r;this.dbManager=a;this.sessionManager=n;this.sseBroadcaster=s;this.workerService=i;this.startTime=o}setupRoutes(r){r.get("/api/observations",this.handleGetObservations.bind(this)),r.get("/api/summaries",this.handleGetSummaries.bind(this)),r.get("/api/prompts",this.handleGetPrompts.bind(this)),r.get("/api/observation/:id",this.handleGetObservationById.bind(this)),r.post("/api/observations/batch",this.handleGetObservationsByIds.bind(this)),r.get("/api/session/:id",this.handleGetSessionById.bind(this)),r.post("/api/sdk-sessions/batch",this.handleGetSdkSessionsByIds.bind(this)),r.get("/api/prompt/:id",this.handleGetPromptById.bind(this)),r.get("/api/stats",this.handleGetStats.bind(this)),r.get("/api/projects",this.handleGetProjects.bind(this)),r.get("/api/processing-status",this.handleGetProcessingStatus.bind(this)),r.post("/api/processing",this.handleSetProcessing.bind(this)),r.get("/api/pending-queue",this.handleGetPendingQueue.bind(this)),r.post("/api/pending-queue/process",this.handleProcessPendingQueue.bind(this)),r.post("/api/import",this.handleImport.bind(this))}handleGetObservations=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getObservations(n,s,i);a.json(o)});handleGetSummaries=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getSummaries(n,s,i);a.json(o)});handleGetPrompts=this.wrapHandler((r,a)=>{let{offset:n,limit:s,project:i}=this.parsePaginationParams(r),o=this.paginationHelper.getPrompts(n,s,i);a.json(o)});handleGetObservationById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getObservationById(n);if(!i){this.notFound(a,`Observation #${n} not found`);return}a.json(i)});handleGetObservationsByIds=this.wrapHandler((r,a)=>{let{ids:n,orderBy:s,limit:i,project:o}=r.body;if(!n||!Array.isArray(n)){this.badRequest(a,"ids must be an array of numbers");return}if(n.length===0){a.json([]);return}if(!n.every(l=>typeof l=="number"&&Number.isInteger(l))){this.badRequest(a,"All ids must be integers");return}let u=this.dbManager.getSessionStore().getObservationsByIds(n,{orderBy:s,limit:i,project:o});a.json(u)});handleGetSessionById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getSessionSummariesByIds([n]);if(i.length===0){this.notFound(a,`Session #${n} not found`);return}a.json(i[0])});handleGetSdkSessionsByIds=this.wrapHandler((r,a)=>{let{memorySessionIds:n}=r.body;if(!Array.isArray(n)){this.badRequest(a,"memorySessionIds must be an array");return}let i=this.dbManager.getSessionStore().getSdkSessionsBySessionIds(n);a.json(i)});handleGetPromptById=this.wrapHandler((r,a)=>{let n=this.parseIntParam(r,a,"id");if(n===null)return;let i=this.dbManager.getSessionStore().getUserPromptsByIds([n]);if(i.length===0){this.notFound(a,`Prompt #${n} not found`);return}a.json(i[0])});handleGetStats=this.wrapHandler((r,a)=>{let n=this.dbManager.getSessionStore().db,s=or(),i=_h.default.join(s,"package.json"),c=JSON.parse((0,ki.readFileSync)(i,"utf-8")).version,u=n.prepare("SELECT COUNT(*) as count FROM observations").get(),l=n.prepare("SELECT COUNT(*) as count FROM sdk_sessions").get(),d=n.prepare("SELECT COUNT(*) as count FROM session_summaries").get(),p=_h.default.join((0,jR.homedir)(),".claude-mem","claude-mem.db"),m=0;(0,ki.existsSync)(p)&&(m=(0,ki.statSync)(p).size);let g=Math.floor((Date.now()-this.startTime)/1e3),_=this.sessionManager.getActiveSessionCount(),f=this.sseBroadcaster.getClientCount();a.json({worker:{version:c,uptime:g,activeSessions:_,sseClients:f,port:Xt()},database:{path:p,size:m,observations:u.count,sessions:l.count,summaries:d.count}})});handleGetProjects=this.wrapHandler((r,a)=>{let i=this.dbManager.getSessionStore().db.prepare(` SELECT DISTINCT project FROM observations WHERE project IS NOT NULL GROUP BY project ORDER BY MAX(created_at_epoch) DESC - `).all().map(o=>o.project);a.json({projects:i})});handleGetProcessingStatus=this.wrapHandler((r,a)=>{let n=this.sessionManager.isAnySessionProcessing(),s=this.sessionManager.getTotalActiveWork();a.json({isProcessing:n,queueDepth:s})});handleSetProcessing=this.wrapHandler((r,a)=>{this.workerService.broadcastProcessingStatus();let n=this.sessionManager.isAnySessionProcessing(),s=this.sessionManager.getTotalQueueDepth(),i=this.sessionManager.getActiveSessionCount();a.json({status:"ok",isProcessing:n,queueDepth:s,activeSessions:i})});parsePaginationParams(r){let a=parseInt(r.query.offset,10)||0,n=Math.min(parseInt(r.query.limit,10)||20,100),s=r.query.project;return{offset:a,limit:n,project:s}}handleImport=this.wrapHandler((r,a)=>{let{sessions:n,summaries:s,observations:i,prompts:o}=r.body,c={sessionsImported:0,sessionsSkipped:0,summariesImported:0,summariesSkipped:0,observationsImported:0,observationsSkipped:0,promptsImported:0,promptsSkipped:0},u=this.dbManager.getSessionStore();if(Array.isArray(n))for(let l of n)u.importSdkSession(l).imported?c.sessionsImported++:c.sessionsSkipped++;if(Array.isArray(s))for(let l of s)u.importSessionSummary(l).imported?c.summariesImported++:c.summariesSkipped++;if(Array.isArray(i))for(let l of i)u.importObservation(l).imported?c.observationsImported++:c.observationsSkipped++;if(Array.isArray(o))for(let l of o)u.importUserPrompt(l).imported?c.promptsImported++:c.promptsSkipped++;a.json({success:!0,stats:c})});handleGetPendingQueue=this.wrapHandler((r,a)=>{let{PendingMessageStore:n}=(Oo(),Vh(tl)),s=new n(this.dbManager.getSessionStore().db,3),i=s.getQueueMessages(),o=s.getRecentlyProcessed(20,30),c=s.getStuckCount(300*1e3),u=s.getSessionsWithPendingMessages();a.json({queue:{messages:i,totalPending:i.filter(l=>l.status==="pending").length,totalProcessing:i.filter(l=>l.status==="processing").length,totalFailed:i.filter(l=>l.status==="failed").length,stuckCount:c},recentlyProcessed:o,sessionsWithPendingWork:u})});handleProcessPendingQueue=this.wrapHandler(async(r,a)=>{let n=Math.min(Math.max(parseInt(r.body.sessionLimit,10)||10,1),100),s=await this.workerService.processPendingQueues(n);a.json({success:!0,...s})})};var cd=class extends jr{constructor(r){super();this.searchManager=r}setupRoutes(r){r.get("/api/search",this.handleUnifiedSearch.bind(this)),r.get("/api/timeline",this.handleUnifiedTimeline.bind(this)),r.get("/api/decisions",this.handleDecisions.bind(this)),r.get("/api/changes",this.handleChanges.bind(this)),r.get("/api/how-it-works",this.handleHowItWorks.bind(this)),r.get("/api/search/observations",this.handleSearchObservations.bind(this)),r.get("/api/search/sessions",this.handleSearchSessions.bind(this)),r.get("/api/search/prompts",this.handleSearchPrompts.bind(this)),r.get("/api/search/by-concept",this.handleSearchByConcept.bind(this)),r.get("/api/search/by-file",this.handleSearchByFile.bind(this)),r.get("/api/search/by-type",this.handleSearchByType.bind(this)),r.get("/api/context/recent",this.handleGetRecentContext.bind(this)),r.get("/api/context/timeline",this.handleGetContextTimeline.bind(this)),r.get("/api/context/preview",this.handleContextPreview.bind(this)),r.get("/api/context/inject",this.handleContextInject.bind(this)),r.get("/api/timeline/by-query",this.handleGetTimelineByQuery.bind(this)),r.get("/api/search/help",this.handleSearchHelp.bind(this))}handleUnifiedSearch=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.search(r.query);a.json(n)});handleUnifiedTimeline=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.timeline(r.query);a.json(n)});handleDecisions=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.decisions(r.query);a.json(n)});handleChanges=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.changes(r.query);a.json(n)});handleHowItWorks=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.howItWorks(r.query);a.json(n)});handleSearchObservations=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchObservations(r.query);a.json(n)});handleSearchSessions=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchSessions(r.query);a.json(n)});handleSearchPrompts=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchUserPrompts(r.query);a.json(n)});handleSearchByConcept=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByConcept(r.query);a.json(n)});handleSearchByFile=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByFile(r.query);a.json(n)});handleSearchByType=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByType(r.query);a.json(n)});handleGetRecentContext=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getRecentContext(r.query);a.json(n)});handleGetContextTimeline=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getContextTimeline(r.query);a.json(n)});handleContextPreview=this.wrapHandler(async(r,a)=>{let n=r.query.project;if(!n){this.badRequest(a,"Project parameter is required");return}let{generateContext:s}=await Promise.resolve().then(()=>(Sh(),bh)),i=`/preview/${n}`,o=await s({session_id:"preview-"+Date.now(),cwd:i},!0);a.setHeader("Content-Type","text/plain; charset=utf-8"),a.send(o)});handleContextInject=this.wrapHandler(async(r,a)=>{let n=r.query.project,s=r.query.colors==="true";if(!n){this.badRequest(a,"Project parameter is required");return}let{generateContext:i}=await Promise.resolve().then(()=>(Sh(),bh)),o=`/context/${n}`,c=await i({session_id:"context-inject-"+Date.now(),cwd:o},s);a.setHeader("Content-Type","text/plain; charset=utf-8"),a.send(c)});handleGetTimelineByQuery=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getTimelineByQuery(r.query);a.json(n)});handleSearchHelp=this.wrapHandler((r,a)=>{a.json({title:"Claude-Mem Search API",description:"HTTP API for searching persistent memory",endpoints:[{path:"/api/search/observations",method:"GET",description:"Search observations using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/sessions",method:"GET",description:"Search session summaries using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)"}},{path:"/api/search/prompts",method:"GET",description:"Search user prompts using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/by-concept",method:"GET",description:"Find observations by concept tag",parameters:{concept:"Concept tag (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-file",method:"GET",description:"Find observations and sessions by file path",parameters:{filePath:"File path or partial path (required)",limit:"Number of results per type (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-type",method:"GET",description:"Find observations by type",parameters:{type:"Observation type (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/context/recent",method:"GET",description:"Get recent session context including summaries and observations",parameters:{project:"Project name (default: current directory)",limit:"Number of recent sessions (default: 3)"}},{path:"/api/context/timeline",method:"GET",description:"Get unified timeline around a specific point in time",parameters:{anchor:'Anchor point: observation ID, session ID (e.g., "S123"), or ISO timestamp (required)',depth_before:"Number of records before anchor (default: 10)",depth_after:"Number of records after anchor (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/timeline/by-query",method:"GET",description:"Search for best match, then get timeline around it",parameters:{query:"Search query (required)",mode:'Search mode: "auto", "observations", or "sessions" (default: "auto")',depth_before:"Number of records before match (default: 10)",depth_after:"Number of records after match (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/help",method:"GET",description:"Get this help documentation"}],examples:['curl "http://localhost:37777/api/search/observations?query=authentication&limit=5"','curl "http://localhost:37777/api/search/by-type?type=bugfix&limit=10"','curl "http://localhost:37777/api/context/recent?project=claude-mem&limit=3"','curl "http://localhost:37777/api/context/timeline?anchor=123&depth_before=5&depth_after=5"']})})};var Ja=xt(require("path"),1),zt=require("fs"),Th=require("os");mr();ot();var wh=require("child_process"),Xa=require("fs"),UR=require("os"),rc=require("path");ot();var nc=(0,rc.join)((0,UR.homedir)(),".claude","plugins","marketplaces","thedotmack");function xh(t){return!t||typeof t!="string"?!1:/^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/.test(t)&&!t.includes("..")}var RV=3e5,Eh=6e5;function Dr(t){let e=(0,wh.spawnSync)("git",t,{cwd:nc,encoding:"utf-8",timeout:RV,windowsHide:!0,shell:!1});if(e.error)throw e.error;if(e.status!==0)throw new Error(e.stderr||e.stdout||"Git command failed");return e.stdout.trim()}function zR(t,e=Eh){let a=process.platform==="win32"?"npm.cmd":"npm",n=(0,wh.spawnSync)(a,t,{cwd:nc,encoding:"utf-8",timeout:e,windowsHide:!0,shell:!1});if(n.error)throw n.error;if(n.status!==0)throw new Error(n.stderr||n.stdout||"npm command failed");return n.stdout.trim()}function ud(){let t=(0,rc.join)(nc,".git");if(!(0,Xa.existsSync)(t))return{branch:null,isBeta:!1,isGitRepo:!1,isDirty:!1,canSwitch:!1,error:"Installed plugin is not a git repository"};try{let e=Dr(["rev-parse","--abbrev-ref","HEAD"]),a=Dr(["status","--porcelain"]).length>0,n=e.startsWith("beta");return{branch:e,isBeta:n,isGitRepo:!0,isDirty:a,canSwitch:!0}}catch(e){return P.error("BRANCH","Failed to get branch info",{},e),{branch:null,isBeta:!1,isGitRepo:!0,isDirty:!1,canSwitch:!1,error:e.message}}}async function HR(t){if(!xh(t))return{success:!1,error:`Invalid branch name: ${t}. Branch names must be alphanumeric with hyphens, underscores, slashes, or dots.`};let e=ud();if(!e.isGitRepo)return{success:!1,error:"Installed plugin is not a git repository. Please reinstall."};if(e.branch===t)return{success:!0,branch:t,message:`Already on branch ${t}`};try{P.info("BRANCH","Starting branch switch",{from:e.branch,to:t}),P.debug("BRANCH","Discarding local changes"),Dr(["checkout","--","."]),Dr(["clean","-fd"]),P.debug("BRANCH","Fetching from origin"),Dr(["fetch","origin"]),P.debug("BRANCH","Checking out branch",{branch:t});try{Dr(["checkout",t])}catch{Dr(["checkout","-b",t,`origin/${t}`])}P.debug("BRANCH","Pulling latest"),Dr(["pull","origin",t]);let r=(0,rc.join)(nc,".install-version");return(0,Xa.existsSync)(r)&&(0,Xa.unlinkSync)(r),P.debug("BRANCH","Running npm install"),zR(["install"],Eh),P.success("BRANCH","Branch switch complete",{branch:t}),{success:!0,branch:t,message:`Switched to ${t}. Worker will restart automatically.`}}catch(r){P.error("BRANCH","Branch switch failed",{targetBranch:t},r);try{e.branch&&xh(e.branch)&&Dr(["checkout",e.branch])}catch{}return{success:!1,error:`Branch switch failed: ${r.message}`}}}async function BR(){let t=ud();if(!t.isGitRepo||!t.branch)return{success:!1,error:"Cannot pull updates: not a git repository"};try{if(!xh(t.branch))return{success:!1,error:`Invalid current branch name: ${t.branch}`};P.info("BRANCH","Pulling updates",{branch:t.branch}),Dr(["checkout","--","."]),Dr(["fetch","origin"]),Dr(["pull","origin",t.branch]);let e=(0,rc.join)(nc,".install-version");return(0,Xa.existsSync)(e)&&(0,Xa.unlinkSync)(e),zR(["install"],Eh),P.success("BRANCH","Updates pulled",{branch:t.branch}),{success:!0,branch:t.branch,message:`Updated ${t.branch}. Worker will restart automatically.`}}catch(e){return P.error("BRANCH","Pull failed",{},e),{success:!1,error:`Pull failed: ${e.message}`}}}Or();var ld=class extends jr{constructor(r){super();this.settingsManager=r}setupRoutes(r){r.get("/api/settings",this.handleGetSettings.bind(this)),r.post("/api/settings",this.handleUpdateSettings.bind(this)),r.get("/api/mcp/status",this.handleGetMcpStatus.bind(this)),r.post("/api/mcp/toggle",this.handleToggleMcp.bind(this)),r.get("/api/branch/status",this.handleGetBranchStatus.bind(this)),r.post("/api/branch/switch",this.handleSwitchBranch.bind(this)),r.post("/api/branch/update",this.handleUpdateBranch.bind(this))}handleGetSettings=this.wrapHandler((r,a)=>{let n=Ja.default.join((0,Th.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(n);let s=Ze.loadFromFile(n);a.json(s)});handleUpdateSettings=this.wrapHandler((r,a)=>{let n=this.validateSettings(r.body);if(!n.valid){a.status(400).json({success:!1,error:n.error});return}let s=Ja.default.join((0,Th.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(s);let i={};if((0,zt.existsSync)(s)){let c=(0,zt.readFileSync)(s,"utf-8");try{i=JSON.parse(c)}catch(u){P.error("SETTINGS","Failed to parse settings file",{settingsPath:s},u),a.status(500).json({success:!1,error:"Settings file is corrupted. Delete ~/.claude-mem/settings.json to reset."});return}}let o=["CLAUDE_MEM_MODEL","CLAUDE_MEM_CONTEXT_OBSERVATIONS","CLAUDE_MEM_WORKER_PORT","CLAUDE_MEM_WORKER_HOST","CLAUDE_MEM_PROVIDER","CLAUDE_MEM_GEMINI_API_KEY","CLAUDE_MEM_GEMINI_MODEL","CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED","CLAUDE_MEM_OPENROUTER_API_KEY","CLAUDE_MEM_OPENROUTER_MODEL","CLAUDE_MEM_OPENROUTER_SITE_URL","CLAUDE_MEM_OPENROUTER_APP_NAME","CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES","CLAUDE_MEM_OPENROUTER_MAX_TOKENS","CLAUDE_MEM_DATA_DIR","CLAUDE_MEM_LOG_LEVEL","CLAUDE_MEM_PYTHON_VERSION","CLAUDE_CODE_PATH","CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES","CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS","CLAUDE_MEM_CONTEXT_FULL_COUNT","CLAUDE_MEM_CONTEXT_FULL_FIELD","CLAUDE_MEM_CONTEXT_SESSION_COUNT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let c of o)r.body[c]!==void 0&&(i[c]=r.body[c]);(0,zt.writeFileSync)(s,JSON.stringify(i,null,2),"utf-8"),E1(),P.info("WORKER","Settings updated"),a.json({success:!0,message:"Settings updated successfully"})});handleGetMcpStatus=this.wrapHandler((r,a)=>{let n=this.isMcpEnabled();a.json({enabled:n})});handleToggleMcp=this.wrapHandler((r,a)=>{let{enabled:n}=r.body;if(typeof n!="boolean"){this.badRequest(a,"enabled must be a boolean");return}this.toggleMcp(n),a.json({success:!0,enabled:this.isMcpEnabled()})});handleGetBranchStatus=this.wrapHandler((r,a)=>{let n=ud();a.json(n)});handleSwitchBranch=this.wrapHandler(async(r,a)=>{let{branch:n}=r.body;if(!n){a.status(400).json({success:!1,error:"Missing branch parameter"});return}let s=["main","beta/7.0","feature/bun-executable"];if(!s.includes(n)){a.status(400).json({success:!1,error:`Invalid branch. Allowed: ${s.join(", ")}`});return}P.info("WORKER","Branch switch requested",{branch:n});let i=await HR(n);i.success&&setTimeout(()=>{P.info("WORKER","Restarting worker after branch switch"),process.exit(0)},1e3),a.json(i)});handleUpdateBranch=this.wrapHandler(async(r,a)=>{P.info("WORKER","Branch update requested");let n=await BR();n.success&&setTimeout(()=>{P.info("WORKER","Restarting worker after branch update"),process.exit(0)},1e3),a.json(n)});validateSettings(r){if(r.CLAUDE_MEM_PROVIDER&&!["claude","gemini","openrouter"].includes(r.CLAUDE_MEM_PROVIDER))return{valid:!1,error:'CLAUDE_MEM_PROVIDER must be "claude", "gemini", or "openrouter"'};if(r.CLAUDE_MEM_GEMINI_MODEL&&!["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-flash"].includes(r.CLAUDE_MEM_GEMINI_MODEL))return{valid:!1,error:"CLAUDE_MEM_GEMINI_MODEL must be one of: gemini-2.5-flash-lite, gemini-2.5-flash, gemini-3-flash"};if(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS){let n=parseInt(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10);if(isNaN(n)||n<1||n>200)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_OBSERVATIONS must be between 1 and 200"}}if(r.CLAUDE_MEM_WORKER_PORT){let n=parseInt(r.CLAUDE_MEM_WORKER_PORT,10);if(isNaN(n)||n<1024||n>65535)return{valid:!1,error:"CLAUDE_MEM_WORKER_PORT must be between 1024 and 65535"}}if(r.CLAUDE_MEM_WORKER_HOST){let n=r.CLAUDE_MEM_WORKER_HOST;if(!/^(127\.0\.0\.1|0\.0\.0\.0|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/.test(n))return{valid:!1,error:"CLAUDE_MEM_WORKER_HOST must be a valid IP address (e.g., 127.0.0.1, 0.0.0.0)"}}if(r.CLAUDE_MEM_LOG_LEVEL&&!["DEBUG","INFO","WARN","ERROR","SILENT"].includes(r.CLAUDE_MEM_LOG_LEVEL.toUpperCase()))return{valid:!1,error:"CLAUDE_MEM_LOG_LEVEL must be one of: DEBUG, INFO, WARN, ERROR, SILENT"};if(r.CLAUDE_MEM_PYTHON_VERSION&&!/^3\.\d{1,2}$/.test(r.CLAUDE_MEM_PYTHON_VERSION))return{valid:!1,error:'CLAUDE_MEM_PYTHON_VERSION must be in format "3.X" or "3.XX" (e.g., "3.13")'};let a=["CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let n of a)if(r[n]&&!["true","false"].includes(r[n]))return{valid:!1,error:`${n} must be "true" or "false"`};if(r.CLAUDE_MEM_CONTEXT_FULL_COUNT){let n=parseInt(r.CLAUDE_MEM_CONTEXT_FULL_COUNT,10);if(isNaN(n)||n<0||n>20)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_FULL_COUNT must be between 0 and 20"}}if(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT){let n=parseInt(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10);if(isNaN(n)||n<1||n>50)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_SESSION_COUNT must be between 1 and 50"}}if(r.CLAUDE_MEM_CONTEXT_FULL_FIELD&&!["narrative","facts"].includes(r.CLAUDE_MEM_CONTEXT_FULL_FIELD))return{valid:!1,error:'CLAUDE_MEM_CONTEXT_FULL_FIELD must be "narrative" or "facts"'};if(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES){let n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES,10);if(isNaN(n)||n<1||n>100)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES must be between 1 and 100"}}if(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS){let n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS,10);if(isNaN(n)||n<1e3||n>1e6)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_TOKENS must be between 1000 and 1000000"}}if(r.CLAUDE_MEM_OPENROUTER_SITE_URL)try{new URL(r.CLAUDE_MEM_OPENROUTER_SITE_URL)}catch{return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_SITE_URL must be a valid URL"}}return{valid:!0}}isMcpEnabled(){let r=or(),a=Ja.default.join(r,"plugin",".mcp.json");return(0,zt.existsSync)(a)}toggleMcp(r){let a=or(),n=Ja.default.join(a,"plugin",".mcp.json"),s=Ja.default.join(a,"plugin",".mcp.json.disabled");r&&(0,zt.existsSync)(s)?((0,zt.renameSync)(s,n),P.info("WORKER","MCP search server enabled")):!r&&(0,zt.existsSync)(n)?((0,zt.renameSync)(n,s),P.info("WORKER","MCP search server disabled")):P.debug("WORKER","MCP toggle no-op (already in desired state)",{enabled:r})}ensureSettingsFile(r){if(!(0,zt.existsSync)(r)){let a=Ze.getAllDefaults(),n=Ja.default.dirname(r);(0,zt.existsSync)(n)||(0,zt.mkdirSync)(n,{recursive:!0}),(0,zt.writeFileSync)(r,JSON.stringify(a,null,2),"utf-8"),P.info("SETTINGS","Created settings file with defaults",{settingsPath:r})}}};var ac=(0,ZR.promisify)(ra.exec),PV="8.5.0",Ch=xe.default.join((0,Wr.homedir)(),".claude-mem"),Qa=xe.default.join(Ch,"worker.pid"),WR=xe.default.join(Ch,"cursor-projects.json");function $h(t){(0,Ae.mkdirSync)(Ch,{recursive:!0}),(0,Ae.writeFileSync)(Qa,JSON.stringify(t,null,2))}function $V(){try{return(0,Ae.existsSync)(Qa)?JSON.parse((0,Ae.readFileSync)(Qa,"utf-8")):null}catch(t){return P.warn("SYSTEM","Failed to read PID file",{path:Qa,error:t.message}),null}}function ta(){try{(0,Ae.existsSync)(Qa)&&(0,Ae.unlinkSync)(Qa)}catch(t){P.warn("SYSTEM","Failed to remove PID file",{path:Qa,error:t.message})}}function Ih(){return T1(WR)}function KR(t){k1(WR,t)}function OV(t,e){let r=Ih();r[t]={workspacePath:e,installedAt:new Date().toISOString()},KR(r),P.info("CURSOR","Registered project for auto-context updates",{projectName:t,workspacePath:e})}function CV(t){let e=Ih();e[t]&&(delete e[t],KR(e),P.info("CURSOR","Unregistered project",{projectName:t}))}async function Za(t,e){let a=Ih()[t];if(a)try{let n=await fetch(`http://127.0.0.1:${e}/api/context/inject?project=${encodeURIComponent(t)}`);if(!n.ok)return;let s=await n.text();if(!s||!s.trim())return;R1(a.workspacePath,s),P.debug("CURSOR","Updated context file",{projectName:t,workspacePath:a.workspacePath})}catch(n){P.warn("CURSOR","Failed to update context file",{projectName:t,error:n.message})}}function Ya(t){return process.platform==="win32"?Math.round(t*2):t}async function Oh(t){try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch{return!1}}async function Pi(t,e=3e4){let r=Date.now();for(;Date.now()-rsetTimeout(a,500))}return!1}async function kh(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST"});return e.ok?!0:(P.warn("SYSTEM","Shutdown request returned error",{port:t,status:e.status}),!1)}catch(e){return e.message?.includes("ECONNREFUSED")||P.warn("SYSTEM","Shutdown request failed",{port:t,error:e.message}),!1}}async function Rh(t,e=1e4){let r=Date.now();for(;Date.now()-rsetTimeout(a,500))}return!1}function IV(){let t=xe.default.join((0,Wr.homedir)(),".claude","plugins","marketplaces","thedotmack"),e=xe.default.join(t,"package.json");return JSON.parse((0,Ae.readFileSync)(e,"utf-8")).version}async function AV(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/version`);return e.ok?(await e.json()).version:null}catch{return null}}async function NV(t){let e=IV(),r=await AV(t);return r?{matches:e===r,pluginVersion:e,workerVersion:r}:{matches:!0,pluginVersion:e,workerVersion:r}}var dd=class{app;server=null;startTime=Date.now();mcpClient;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;geminiAgent;openRouterAgent;paginationHelper;settingsManager;sessionEventBroadcaster;viewerRoutes;sessionRoutes;dataRoutes;searchRoutes;settingsRoutes;initializationComplete;resolveInitialization;constructor(){this.app=(0,VR.default)(),this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new el,this.sessionManager=new nl(this.dbManager),this.sseBroadcaster=new al,this.sdkAgent=new Ul(this.dbManager,this.sessionManager),this.geminiAgent=new zl(this.dbManager,this.sessionManager),this.geminiAgent.setFallbackAgent(this.sdkAgent),this.openRouterAgent=new Vl(this.dbManager,this.sessionManager),this.openRouterAgent.setFallbackAgent(this.sdkAgent),this.paginationHelper=new Gl(this.dbManager),this.settingsManager=new Zl(this.dbManager),this.sessionEventBroadcaster=new Yl(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new Hs({name:"worker-search-proxy",version:"1.0.0"},{capabilities:{}}),this.viewerRoutes=new ed(this.sseBroadcaster,this.dbManager,this.sessionManager),this.sessionRoutes=new nd(this.sessionManager,this.dbManager,this.sdkAgent,this.geminiAgent,this.openRouterAgent,this.sessionEventBroadcaster,this),this.dataRoutes=new ad(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime),this.searchRoutes=null,this.settingsRoutes=new ld(this.settingsManager),this.setupMiddleware(),this.setupRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e=async r=>{if(this.isShuttingDown){P.warn("SYSTEM",`Received ${r} but shutdown already in progress`);return}this.isShuttingDown=!0,P.info("SYSTEM",`Received ${r}, shutting down...`);try{await this.shutdown(),process.exit(0)}catch(a){P.error("SYSTEM","Error during shutdown",{},a),process.exit(1)}};process.on("SIGTERM",()=>e("SIGTERM")),process.on("SIGINT",()=>e("SIGINT"))}setupMiddleware(){OR(this.summarizeRequestBody.bind(this)).forEach(r=>this.app.use(r))}setupRoutes(){let e="TEST-008-wrapper-ipc";this.app.get("/api/health",(r,a)=>{a.status(200).json({status:"ok",build:e,managed:process.env.CLAUDE_MEM_MANAGED==="true",hasIpc:typeof process.send=="function",platform:process.platform,pid:process.pid,initialized:this.initializationCompleteFlag,mcpReady:this.mcpReady})}),this.app.get("/api/readiness",(r,a)=>{this.initializationCompleteFlag?a.status(200).json({status:"ready",mcpReady:this.mcpReady}):a.status(503).json({status:"initializing",message:"Worker is still initializing, please retry"})}),this.app.get("/api/version",(r,a)=>{a.status(200).json({version:PV})}),this.app.get("/api/instructions",async(r,a)=>{let n=r.query.topic||"all",s=r.query.operation;try{let i;if(s){let o=xe.default.join(__dirname,"../skills/mem-search/operations",`${s}.md`);i=await Ph.promises.readFile(o,"utf-8")}else{let o=xe.default.join(__dirname,"../skills/mem-search/SKILL.md"),c=await Ph.promises.readFile(o,"utf-8");i=this.extractInstructionSection(c,n)}a.json({content:[{type:"text",text:i}]})}catch(i){P.error("WORKER","Failed to load instructions",{topic:n,operation:s},i),a.status(500).json({content:[{type:"text",text:`Error loading instructions: ${i instanceof Error?i.message:"Unknown error"}`}],isError:!0})}}),this.app.post("/api/admin/restart",gh,async(r,a)=>{a.json({status:"restarting"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(P.info("SYSTEM","Sending restart request to wrapper"),process.send({type:"restart"})):setTimeout(async()=>{await this.shutdown(),process.exit(0)},100)}),this.app.post("/api/admin/shutdown",gh,async(r,a)=>{a.json({status:"shutting_down"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(P.info("SYSTEM","Sending shutdown request to wrapper"),process.send({type:"shutdown"})):setTimeout(async()=>{await this.shutdown(),process.exit(0)},100)}),this.viewerRoutes.setupRoutes(this.app),this.sessionRoutes.setupRoutes(this.app),this.dataRoutes.setupRoutes(this.app),this.settingsRoutes.setupRoutes(this.app),this.app.get("/api/context/inject",async(r,a,n)=>{try{let i=new Promise((o,c)=>setTimeout(()=>c(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,i]),!this.searchRoutes){a.status(503).json({error:"Search routes not initialized"});return}n()}catch(s){P.error("WORKER","Context inject handler failed",{},s),a.headersSent||a.status(500).json({error:s instanceof Error?s.message:"Internal server error"})}})}async cleanupOrphanedProcesses(){let e=process.platform==="win32",r=[];if(e){let a=`powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -like '*python*' -and $_.CommandLine -like '*chroma-mcp*' } | Select-Object -ExpandProperty ProcessId"`,{stdout:n}=await ac(a,{timeout:6e4});if(!n.trim()){P.debug("SYSTEM","No orphaned chroma-mcp processes found (Windows)");return}let s=n.trim().split(` -`);for(let i of s){let o=parseInt(i.trim(),10);!isNaN(o)&&Number.isInteger(o)&&o>0&&r.push(o)}}else{let{stdout:a}=await ac('ps aux | grep "chroma-mcp" | grep -v grep || true');if(!a.trim()){P.debug("SYSTEM","No orphaned chroma-mcp processes found (Unix)");return}let n=a.trim().split(` -`);for(let s of n){let i=s.trim().split(/\s+/);if(i.length>1){let o=parseInt(i[1],10);!isNaN(o)&&Number.isInteger(o)&&o>0&&r.push(o)}}}if(r.length!==0){if(P.info("SYSTEM","Cleaning up orphaned chroma-mcp processes",{platform:e?"Windows":"Unix",count:r.length,pids:r}),e)for(let a of r){if(!Number.isInteger(a)||a<=0){P.warn("SYSTEM","Skipping invalid PID",{pid:a});continue}try{(0,ra.execSync)(`taskkill /PID ${a} /T /F`,{timeout:6e4,stdio:"ignore"})}catch{}}else for(let a of r)try{process.kill(a,"SIGKILL")}catch{}P.info("SYSTEM","Orphaned processes cleaned up",{count:r.length})}}async start(){let e=Xt(),r=w1();this.server=await new Promise((a,n)=>{let s=this.app.listen(e,r,()=>a(s));s.on("error",n)}),P.info("SYSTEM","Worker started",{host:r,port:e,pid:process.pid}),this.initializeBackground().catch(a=>{P.error("SYSTEM","Background initialization failed",{},a)})}async initializeBackground(){try{await this.cleanupOrphanedProcesses();let{ModeManager:e}=await Promise.resolve().then(()=>(ln(),z1)),{SettingsDefaultsManager:r}=await Promise.resolve().then(()=>(Or(),b1)),{USER_SETTINGS_PATH:a}=await Promise.resolve().then(()=>(mr(),j1)),s=r.loadFromFile(a).CLAUDE_MEM_MODE;e.getInstance().loadMode(s),P.info("SYSTEM",`Mode loaded: ${s}`),await this.dbManager.initialize();let{PendingMessageStore:i}=await Promise.resolve().then(()=>(Oo(),tl)),o=new i(this.dbManager.getSessionStore().db,3),c=300*1e3,u=o.resetStuckMessages(c);u>0&&P.info("SYSTEM",`Recovered ${u} stuck messages from previous session`,{thresholdMinutes:5});let l=new Xl,d=new Jl,p=new Kl(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getChromaSync(),l,d);this.searchRoutes=new cd(p),this.searchRoutes.setupRoutes(this.app),P.info("WORKER","SearchManager initialized and search routes registered");let m=xe.default.join(__dirname,"mcp-server.cjs"),g=new Gs({command:"node",args:[m],env:process.env}),_=3e5,f=this.mcpClient.connect(g),h=new Promise((y,v)=>setTimeout(()=>v(new Error("MCP connection timeout after 5 minutes")),_));await Promise.race([f,h]),this.mcpReady=!0,P.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),P.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(y=>{y.sessionsStarted>0&&P.info("SYSTEM",`Auto-recovered ${y.sessionsStarted} sessions with pending work`,{totalPending:y.totalPendingSessions,started:y.sessionsStarted,sessionIds:y.startedSessionIds})}).catch(y=>{P.warn("SYSTEM","Auto-recovery of pending queues failed",{},y)})}catch(e){throw P.error("SYSTEM","Background initialization failed",{},e),e}}startSessionProcessor(e,r){if(!e)return;let a=e.sessionDbId;P.info("SYSTEM",`Starting generator (${r})`,{sessionId:a}),e.generatorPromise=this.sdkAgent.startSession(e,this).catch(n=>{e.abortController.signal.aborted||P.error("SYSTEM",`Generator failed (${r})`,{sessionId:a,error:n.message},n)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus(),e.abortController.signal.aborted||P.warn("SYSTEM","Session processor exited unexpectedly",{sessionId:a})})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(Oo(),tl)),a=new r(this.dbManager.getSessionStore().db,3),n=a.getSessionsWithPendingMessages(),s={totalPendingSessions:n.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(n.length===0)return s;P.info("SYSTEM",`Processing up to ${e} of ${n.length} pending session queues`);for(let i of n){if(s.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(i)?.generatorPromise){s.sessionsSkipped++;continue}let c=this.sessionManager.initializeSession(i);P.info("SYSTEM",`Starting processor for session ${i}`,{project:c.project,pendingCount:a.getPendingCount(i)}),this.startSessionProcessor(c,"startup-recovery"),s.sessionsStarted++,s.startedSessionIds.push(i),await new Promise(u=>setTimeout(u,100))}catch(o){P.warn("SYSTEM",`Failed to process session ${i}`,{},o),s.sessionsSkipped++}}return s}extractInstructionSection(e,r){let a={workflow:this.extractBetween(e,"## The Workflow","## Search Parameters"),search_params:this.extractBetween(e,"## Search Parameters","## Examples"),examples:this.extractBetween(e,"## Examples","## Why This Workflow"),all:e};return a[r]||a.all}extractBetween(e,r,a){let n=e.indexOf(r),s=e.indexOf(a);return n===-1?e:s===-1?e.substring(n):e.substring(n,s).trim()}async shutdown(){P.info("SYSTEM","Shutdown initiated"),ta();let e=await this.getChildProcesses(process.pid);if(P.info("SYSTEM","Found child processes",{count:e.length,pids:e}),this.server&&(this.server.closeAllConnections(),process.platform==="win32"&&await new Promise(r=>setTimeout(r,500)),await new Promise((r,a)=>{this.server.close(n=>n?a(n):r())}),this.server=null,P.info("SYSTEM","HTTP server closed"),process.platform==="win32"&&(await new Promise(r=>setTimeout(r,500)),P.info("SYSTEM","Waited for Windows port cleanup"))),await this.sessionManager.shutdownAll(),this.mcpClient&&(await this.mcpClient.close(),P.info("SYSTEM","MCP client closed")),await this.dbManager.close(),e.length>0){P.info("SYSTEM","Force killing remaining children");for(let r of e)await this.forceKillProcess(r);await this.waitForProcessesExit(e,5e3)}P.info("SYSTEM","Worker shutdown complete")}async getChildProcesses(e){if(process.platform!=="win32")return[];if(!Number.isInteger(e)||e<=0)return P.warn("SYSTEM","Invalid parent PID for child process enumeration",{parentPid:e}),[];try{let r=`powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.ParentProcessId -eq ${e} } | Select-Object -ExpandProperty ProcessId"`,{stdout:a}=await ac(r,{timeout:6e4});return a.trim().split(` -`).map(n=>parseInt(n.trim(),10)).filter(n=>!isNaN(n)&&Number.isInteger(n)&&n>0)}catch(r){return P.warn("SYSTEM","Failed to enumerate child processes",{parentPid:e,error:r.message}),[]}}async forceKillProcess(e){if(!Number.isInteger(e)||e<=0){P.warn("SYSTEM","Invalid PID for force kill",{pid:e});return}try{process.platform==="win32"?await ac(`taskkill /PID ${e} /T /F`,{timeout:6e4}):process.kill(e,"SIGKILL"),P.info("SYSTEM","Killed process",{pid:e})}catch{P.debug("SYSTEM","Process already exited during force kill",{pid:e})}}async waitForProcessesExit(e,r){let a=Date.now();for(;Date.now()-a{try{return process.kill(s,0),!0}catch{return!1}});if(n.length===0){P.info("SYSTEM","All child processes exited");return}P.debug("SYSTEM","Waiting for processes to exit",{stillAlive:n}),await new Promise(s=>setTimeout(s,100))}P.warn("SYSTEM","Timeout waiting for child processes to exit")}summarizeRequestBody(e,r,a){return CR(e,r,a)}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),a=this.sessionManager.getActiveSessionCount();P.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:a}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function MV(){let t=GR.createInterface({input:process.stdin,output:process.stdout}),e=r=>new Promise(a=>t.question(r,a));console.log(` + `).all().map(o=>o.project);a.json({projects:i})});handleGetProcessingStatus=this.wrapHandler((r,a)=>{let n=this.sessionManager.isAnySessionProcessing(),s=this.sessionManager.getTotalActiveWork();a.json({isProcessing:n,queueDepth:s})});handleSetProcessing=this.wrapHandler((r,a)=>{this.workerService.broadcastProcessingStatus();let n=this.sessionManager.isAnySessionProcessing(),s=this.sessionManager.getTotalQueueDepth(),i=this.sessionManager.getActiveSessionCount();a.json({status:"ok",isProcessing:n,queueDepth:s,activeSessions:i})});parsePaginationParams(r){let a=parseInt(r.query.offset,10)||0,n=Math.min(parseInt(r.query.limit,10)||20,100),s=r.query.project;return{offset:a,limit:n,project:s}}handleImport=this.wrapHandler((r,a)=>{let{sessions:n,summaries:s,observations:i,prompts:o}=r.body,c={sessionsImported:0,sessionsSkipped:0,summariesImported:0,summariesSkipped:0,observationsImported:0,observationsSkipped:0,promptsImported:0,promptsSkipped:0},u=this.dbManager.getSessionStore();if(Array.isArray(n))for(let l of n)u.importSdkSession(l).imported?c.sessionsImported++:c.sessionsSkipped++;if(Array.isArray(s))for(let l of s)u.importSessionSummary(l).imported?c.summariesImported++:c.summariesSkipped++;if(Array.isArray(i))for(let l of i)u.importObservation(l).imported?c.observationsImported++:c.observationsSkipped++;if(Array.isArray(o))for(let l of o)u.importUserPrompt(l).imported?c.promptsImported++:c.promptsSkipped++;a.json({success:!0,stats:c})});handleGetPendingQueue=this.wrapHandler((r,a)=>{let{PendingMessageStore:n}=(Oo(),Vh(tl)),s=new n(this.dbManager.getSessionStore().db,3),i=s.getQueueMessages(),o=s.getRecentlyProcessed(20,30),c=s.getStuckCount(300*1e3),u=s.getSessionsWithPendingMessages();a.json({queue:{messages:i,totalPending:i.filter(l=>l.status==="pending").length,totalProcessing:i.filter(l=>l.status==="processing").length,totalFailed:i.filter(l=>l.status==="failed").length,stuckCount:c},recentlyProcessed:o,sessionsWithPendingWork:u})});handleProcessPendingQueue=this.wrapHandler(async(r,a)=>{let n=Math.min(Math.max(parseInt(r.body.sessionLimit,10)||10,1),100),s=await this.workerService.processPendingQueues(n);a.json({success:!0,...s})})};var cd=class extends jr{constructor(r){super();this.searchManager=r}setupRoutes(r){r.get("/api/search",this.handleUnifiedSearch.bind(this)),r.get("/api/timeline",this.handleUnifiedTimeline.bind(this)),r.get("/api/decisions",this.handleDecisions.bind(this)),r.get("/api/changes",this.handleChanges.bind(this)),r.get("/api/how-it-works",this.handleHowItWorks.bind(this)),r.get("/api/search/observations",this.handleSearchObservations.bind(this)),r.get("/api/search/sessions",this.handleSearchSessions.bind(this)),r.get("/api/search/prompts",this.handleSearchPrompts.bind(this)),r.get("/api/search/by-concept",this.handleSearchByConcept.bind(this)),r.get("/api/search/by-file",this.handleSearchByFile.bind(this)),r.get("/api/search/by-type",this.handleSearchByType.bind(this)),r.get("/api/context/recent",this.handleGetRecentContext.bind(this)),r.get("/api/context/timeline",this.handleGetContextTimeline.bind(this)),r.get("/api/context/preview",this.handleContextPreview.bind(this)),r.get("/api/context/inject",this.handleContextInject.bind(this)),r.get("/api/timeline/by-query",this.handleGetTimelineByQuery.bind(this)),r.get("/api/search/help",this.handleSearchHelp.bind(this))}handleUnifiedSearch=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.search(r.query);a.json(n)});handleUnifiedTimeline=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.timeline(r.query);a.json(n)});handleDecisions=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.decisions(r.query);a.json(n)});handleChanges=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.changes(r.query);a.json(n)});handleHowItWorks=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.howItWorks(r.query);a.json(n)});handleSearchObservations=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchObservations(r.query);a.json(n)});handleSearchSessions=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchSessions(r.query);a.json(n)});handleSearchPrompts=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.searchUserPrompts(r.query);a.json(n)});handleSearchByConcept=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByConcept(r.query);a.json(n)});handleSearchByFile=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByFile(r.query);a.json(n)});handleSearchByType=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.findByType(r.query);a.json(n)});handleGetRecentContext=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getRecentContext(r.query);a.json(n)});handleGetContextTimeline=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getContextTimeline(r.query);a.json(n)});handleContextPreview=this.wrapHandler(async(r,a)=>{let n=r.query.project;if(!n){this.badRequest(a,"Project parameter is required");return}let{generateContext:s}=await Promise.resolve().then(()=>(Sh(),bh)),i=`/preview/${n}`,o=await s({session_id:"preview-"+Date.now(),cwd:i},!0);a.setHeader("Content-Type","text/plain; charset=utf-8"),a.send(o)});handleContextInject=this.wrapHandler(async(r,a)=>{let n=r.query.project,s=r.query.colors==="true";if(!n){this.badRequest(a,"Project parameter is required");return}let{generateContext:i}=await Promise.resolve().then(()=>(Sh(),bh)),o=`/context/${n}`,c=await i({session_id:"context-inject-"+Date.now(),cwd:o},s);a.setHeader("Content-Type","text/plain; charset=utf-8"),a.send(c)});handleGetTimelineByQuery=this.wrapHandler(async(r,a)=>{let n=await this.searchManager.getTimelineByQuery(r.query);a.json(n)});handleSearchHelp=this.wrapHandler((r,a)=>{a.json({title:"Claude-Mem Search API",description:"HTTP API for searching persistent memory",endpoints:[{path:"/api/search/observations",method:"GET",description:"Search observations using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/sessions",method:"GET",description:"Search session summaries using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)"}},{path:"/api/search/prompts",method:"GET",description:"Search user prompts using full-text search",parameters:{query:"Search query (required)",limit:"Number of results (default: 20)",project:"Filter by project name (optional)"}},{path:"/api/search/by-concept",method:"GET",description:"Find observations by concept tag",parameters:{concept:"Concept tag (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-file",method:"GET",description:"Find observations and sessions by file path",parameters:{filePath:"File path or partial path (required)",limit:"Number of results per type (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/by-type",method:"GET",description:"Find observations by type",parameters:{type:"Observation type (required): discovery, decision, bugfix, feature, refactor",limit:"Number of results (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/context/recent",method:"GET",description:"Get recent session context including summaries and observations",parameters:{project:"Project name (default: current directory)",limit:"Number of recent sessions (default: 3)"}},{path:"/api/context/timeline",method:"GET",description:"Get unified timeline around a specific point in time",parameters:{anchor:'Anchor point: observation ID, session ID (e.g., "S123"), or ISO timestamp (required)',depth_before:"Number of records before anchor (default: 10)",depth_after:"Number of records after anchor (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/timeline/by-query",method:"GET",description:"Search for best match, then get timeline around it",parameters:{query:"Search query (required)",mode:'Search mode: "auto", "observations", or "sessions" (default: "auto")',depth_before:"Number of records before match (default: 10)",depth_after:"Number of records after match (default: 10)",project:"Filter by project name (optional)"}},{path:"/api/search/help",method:"GET",description:"Get this help documentation"}],examples:['curl "http://localhost:37777/api/search/observations?query=authentication&limit=5"','curl "http://localhost:37777/api/search/by-type?type=bugfix&limit=10"','curl "http://localhost:37777/api/context/recent?project=claude-mem&limit=3"','curl "http://localhost:37777/api/context/timeline?anchor=123&depth_before=5&depth_after=5"']})})};var Ja=xt(require("path"),1),zt=require("fs"),Th=require("os");mr();ot();var wh=require("child_process"),Xa=require("fs"),UR=require("os"),rc=require("path");ot();var nc=(0,rc.join)((0,UR.homedir)(),".claude","plugins","marketplaces","thedotmack");function xh(t){return!t||typeof t!="string"?!1:/^[a-zA-Z0-9][a-zA-Z0-9._/-]*$/.test(t)&&!t.includes("..")}var RV=3e5,Eh=6e5;function Dr(t){let e=(0,wh.spawnSync)("git",t,{cwd:nc,encoding:"utf-8",timeout:RV,windowsHide:!0,shell:!1});if(e.error)throw e.error;if(e.status!==0)throw new Error(e.stderr||e.stdout||"Git command failed");return e.stdout.trim()}function zR(t,e=Eh){let a=process.platform==="win32"?"npm.cmd":"npm",n=(0,wh.spawnSync)(a,t,{cwd:nc,encoding:"utf-8",timeout:e,windowsHide:!0,shell:!1});if(n.error)throw n.error;if(n.status!==0)throw new Error(n.stderr||n.stdout||"npm command failed");return n.stdout.trim()}function ud(){let t=(0,rc.join)(nc,".git");if(!(0,Xa.existsSync)(t))return{branch:null,isBeta:!1,isGitRepo:!1,isDirty:!1,canSwitch:!1,error:"Installed plugin is not a git repository"};try{let e=Dr(["rev-parse","--abbrev-ref","HEAD"]),a=Dr(["status","--porcelain"]).length>0,n=e.startsWith("beta");return{branch:e,isBeta:n,isGitRepo:!0,isDirty:a,canSwitch:!0}}catch(e){return O.error("BRANCH","Failed to get branch info",{},e),{branch:null,isBeta:!1,isGitRepo:!0,isDirty:!1,canSwitch:!1,error:e.message}}}async function HR(t){if(!xh(t))return{success:!1,error:`Invalid branch name: ${t}. Branch names must be alphanumeric with hyphens, underscores, slashes, or dots.`};let e=ud();if(!e.isGitRepo)return{success:!1,error:"Installed plugin is not a git repository. Please reinstall."};if(e.branch===t)return{success:!0,branch:t,message:`Already on branch ${t}`};try{O.info("BRANCH","Starting branch switch",{from:e.branch,to:t}),O.debug("BRANCH","Discarding local changes"),Dr(["checkout","--","."]),Dr(["clean","-fd"]),O.debug("BRANCH","Fetching from origin"),Dr(["fetch","origin"]),O.debug("BRANCH","Checking out branch",{branch:t});try{Dr(["checkout",t])}catch{Dr(["checkout","-b",t,`origin/${t}`])}O.debug("BRANCH","Pulling latest"),Dr(["pull","origin",t]);let r=(0,rc.join)(nc,".install-version");return(0,Xa.existsSync)(r)&&(0,Xa.unlinkSync)(r),O.debug("BRANCH","Running npm install"),zR(["install"],Eh),O.success("BRANCH","Branch switch complete",{branch:t}),{success:!0,branch:t,message:`Switched to ${t}. Worker will restart automatically.`}}catch(r){O.error("BRANCH","Branch switch failed",{targetBranch:t},r);try{e.branch&&xh(e.branch)&&Dr(["checkout",e.branch])}catch{}return{success:!1,error:`Branch switch failed: ${r.message}`}}}async function BR(){let t=ud();if(!t.isGitRepo||!t.branch)return{success:!1,error:"Cannot pull updates: not a git repository"};try{if(!xh(t.branch))return{success:!1,error:`Invalid current branch name: ${t.branch}`};O.info("BRANCH","Pulling updates",{branch:t.branch}),Dr(["checkout","--","."]),Dr(["fetch","origin"]),Dr(["pull","origin",t.branch]);let e=(0,rc.join)(nc,".install-version");return(0,Xa.existsSync)(e)&&(0,Xa.unlinkSync)(e),zR(["install"],Eh),O.success("BRANCH","Updates pulled",{branch:t.branch}),{success:!0,branch:t.branch,message:`Updated ${t.branch}. Worker will restart automatically.`}}catch(e){return O.error("BRANCH","Pull failed",{},e),{success:!1,error:`Pull failed: ${e.message}`}}}Or();var ld=class extends jr{constructor(r){super();this.settingsManager=r}setupRoutes(r){r.get("/api/settings",this.handleGetSettings.bind(this)),r.post("/api/settings",this.handleUpdateSettings.bind(this)),r.get("/api/mcp/status",this.handleGetMcpStatus.bind(this)),r.post("/api/mcp/toggle",this.handleToggleMcp.bind(this)),r.get("/api/branch/status",this.handleGetBranchStatus.bind(this)),r.post("/api/branch/switch",this.handleSwitchBranch.bind(this)),r.post("/api/branch/update",this.handleUpdateBranch.bind(this))}handleGetSettings=this.wrapHandler((r,a)=>{let n=Ja.default.join((0,Th.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(n);let s=Ze.loadFromFile(n);a.json(s)});handleUpdateSettings=this.wrapHandler((r,a)=>{let n=this.validateSettings(r.body);if(!n.valid){a.status(400).json({success:!1,error:n.error});return}let s=Ja.default.join((0,Th.homedir)(),".claude-mem","settings.json");this.ensureSettingsFile(s);let i={};if((0,zt.existsSync)(s)){let c=(0,zt.readFileSync)(s,"utf-8");try{i=JSON.parse(c)}catch(u){O.error("SETTINGS","Failed to parse settings file",{settingsPath:s},u),a.status(500).json({success:!1,error:"Settings file is corrupted. Delete ~/.claude-mem/settings.json to reset."});return}}let o=["CLAUDE_MEM_MODEL","CLAUDE_MEM_CONTEXT_OBSERVATIONS","CLAUDE_MEM_WORKER_PORT","CLAUDE_MEM_WORKER_HOST","CLAUDE_MEM_PROVIDER","CLAUDE_MEM_GEMINI_API_KEY","CLAUDE_MEM_GEMINI_MODEL","CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED","CLAUDE_MEM_OPENROUTER_API_KEY","CLAUDE_MEM_OPENROUTER_MODEL","CLAUDE_MEM_OPENROUTER_SITE_URL","CLAUDE_MEM_OPENROUTER_APP_NAME","CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES","CLAUDE_MEM_OPENROUTER_MAX_TOKENS","CLAUDE_MEM_DATA_DIR","CLAUDE_MEM_LOG_LEVEL","CLAUDE_MEM_PYTHON_VERSION","CLAUDE_CODE_PATH","CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES","CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS","CLAUDE_MEM_CONTEXT_FULL_COUNT","CLAUDE_MEM_CONTEXT_FULL_FIELD","CLAUDE_MEM_CONTEXT_SESSION_COUNT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let c of o)r.body[c]!==void 0&&(i[c]=r.body[c]);(0,zt.writeFileSync)(s,JSON.stringify(i,null,2),"utf-8"),E1(),O.info("WORKER","Settings updated"),a.json({success:!0,message:"Settings updated successfully"})});handleGetMcpStatus=this.wrapHandler((r,a)=>{let n=this.isMcpEnabled();a.json({enabled:n})});handleToggleMcp=this.wrapHandler((r,a)=>{let{enabled:n}=r.body;if(typeof n!="boolean"){this.badRequest(a,"enabled must be a boolean");return}this.toggleMcp(n),a.json({success:!0,enabled:this.isMcpEnabled()})});handleGetBranchStatus=this.wrapHandler((r,a)=>{let n=ud();a.json(n)});handleSwitchBranch=this.wrapHandler(async(r,a)=>{let{branch:n}=r.body;if(!n){a.status(400).json({success:!1,error:"Missing branch parameter"});return}let s=["main","beta/7.0","feature/bun-executable"];if(!s.includes(n)){a.status(400).json({success:!1,error:`Invalid branch. Allowed: ${s.join(", ")}`});return}O.info("WORKER","Branch switch requested",{branch:n});let i=await HR(n);i.success&&setTimeout(()=>{O.info("WORKER","Restarting worker after branch switch"),process.exit(0)},1e3),a.json(i)});handleUpdateBranch=this.wrapHandler(async(r,a)=>{O.info("WORKER","Branch update requested");let n=await BR();n.success&&setTimeout(()=>{O.info("WORKER","Restarting worker after branch update"),process.exit(0)},1e3),a.json(n)});validateSettings(r){if(r.CLAUDE_MEM_PROVIDER&&!["claude","gemini","openrouter"].includes(r.CLAUDE_MEM_PROVIDER))return{valid:!1,error:'CLAUDE_MEM_PROVIDER must be "claude", "gemini", or "openrouter"'};if(r.CLAUDE_MEM_GEMINI_MODEL&&!["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-3-flash"].includes(r.CLAUDE_MEM_GEMINI_MODEL))return{valid:!1,error:"CLAUDE_MEM_GEMINI_MODEL must be one of: gemini-2.5-flash-lite, gemini-2.5-flash, gemini-3-flash"};if(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS){let n=parseInt(r.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10);if(isNaN(n)||n<1||n>200)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_OBSERVATIONS must be between 1 and 200"}}if(r.CLAUDE_MEM_WORKER_PORT){let n=parseInt(r.CLAUDE_MEM_WORKER_PORT,10);if(isNaN(n)||n<1024||n>65535)return{valid:!1,error:"CLAUDE_MEM_WORKER_PORT must be between 1024 and 65535"}}if(r.CLAUDE_MEM_WORKER_HOST){let n=r.CLAUDE_MEM_WORKER_HOST;if(!/^(127\.0\.0\.1|0\.0\.0\.0|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/.test(n))return{valid:!1,error:"CLAUDE_MEM_WORKER_HOST must be a valid IP address (e.g., 127.0.0.1, 0.0.0.0)"}}if(r.CLAUDE_MEM_LOG_LEVEL&&!["DEBUG","INFO","WARN","ERROR","SILENT"].includes(r.CLAUDE_MEM_LOG_LEVEL.toUpperCase()))return{valid:!1,error:"CLAUDE_MEM_LOG_LEVEL must be one of: DEBUG, INFO, WARN, ERROR, SILENT"};if(r.CLAUDE_MEM_PYTHON_VERSION&&!/^3\.\d{1,2}$/.test(r.CLAUDE_MEM_PYTHON_VERSION))return{valid:!1,error:'CLAUDE_MEM_PYTHON_VERSION must be in format "3.X" or "3.XX" (e.g., "3.13")'};let a=["CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT","CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT","CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY","CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE"];for(let n of a)if(r[n]&&!["true","false"].includes(r[n]))return{valid:!1,error:`${n} must be "true" or "false"`};if(r.CLAUDE_MEM_CONTEXT_FULL_COUNT){let n=parseInt(r.CLAUDE_MEM_CONTEXT_FULL_COUNT,10);if(isNaN(n)||n<0||n>20)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_FULL_COUNT must be between 0 and 20"}}if(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT){let n=parseInt(r.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10);if(isNaN(n)||n<1||n>50)return{valid:!1,error:"CLAUDE_MEM_CONTEXT_SESSION_COUNT must be between 1 and 50"}}if(r.CLAUDE_MEM_CONTEXT_FULL_FIELD&&!["narrative","facts"].includes(r.CLAUDE_MEM_CONTEXT_FULL_FIELD))return{valid:!1,error:'CLAUDE_MEM_CONTEXT_FULL_FIELD must be "narrative" or "facts"'};if(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES){let n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES,10);if(isNaN(n)||n<1||n>100)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES must be between 1 and 100"}}if(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS){let n=parseInt(r.CLAUDE_MEM_OPENROUTER_MAX_TOKENS,10);if(isNaN(n)||n<1e3||n>1e6)return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_MAX_TOKENS must be between 1000 and 1000000"}}if(r.CLAUDE_MEM_OPENROUTER_SITE_URL)try{new URL(r.CLAUDE_MEM_OPENROUTER_SITE_URL)}catch{return{valid:!1,error:"CLAUDE_MEM_OPENROUTER_SITE_URL must be a valid URL"}}return{valid:!0}}isMcpEnabled(){let r=or(),a=Ja.default.join(r,"plugin",".mcp.json");return(0,zt.existsSync)(a)}toggleMcp(r){let a=or(),n=Ja.default.join(a,"plugin",".mcp.json"),s=Ja.default.join(a,"plugin",".mcp.json.disabled");r&&(0,zt.existsSync)(s)?((0,zt.renameSync)(s,n),O.info("WORKER","MCP search server enabled")):!r&&(0,zt.existsSync)(n)?((0,zt.renameSync)(n,s),O.info("WORKER","MCP search server disabled")):O.debug("WORKER","MCP toggle no-op (already in desired state)",{enabled:r})}ensureSettingsFile(r){if(!(0,zt.existsSync)(r)){let a=Ze.getAllDefaults(),n=Ja.default.dirname(r);(0,zt.existsSync)(n)||(0,zt.mkdirSync)(n,{recursive:!0}),(0,zt.writeFileSync)(r,JSON.stringify(a,null,2),"utf-8"),O.info("SETTINGS","Created settings file with defaults",{settingsPath:r})}}};var ac=(0,ZR.promisify)(ra.exec),PV="8.5.0",Ch=xe.default.join((0,Wr.homedir)(),".claude-mem"),Qa=xe.default.join(Ch,"worker.pid"),WR=xe.default.join(Ch,"cursor-projects.json");function $h(t){(0,Ae.mkdirSync)(Ch,{recursive:!0}),(0,Ae.writeFileSync)(Qa,JSON.stringify(t,null,2))}function $V(){try{return(0,Ae.existsSync)(Qa)?JSON.parse((0,Ae.readFileSync)(Qa,"utf-8")):null}catch(t){return O.warn("SYSTEM","Failed to read PID file",{path:Qa,error:t.message}),null}}function ta(){try{(0,Ae.existsSync)(Qa)&&(0,Ae.unlinkSync)(Qa)}catch(t){O.warn("SYSTEM","Failed to remove PID file",{path:Qa,error:t.message})}}function Ih(){return T1(WR)}function KR(t){k1(WR,t)}function OV(t,e){let r=Ih();r[t]={workspacePath:e,installedAt:new Date().toISOString()},KR(r),O.info("CURSOR","Registered project for auto-context updates",{projectName:t,workspacePath:e})}function CV(t){let e=Ih();e[t]&&(delete e[t],KR(e),O.info("CURSOR","Unregistered project",{projectName:t}))}async function Za(t,e){let a=Ih()[t];if(a)try{let n=await fetch(`http://127.0.0.1:${e}/api/context/inject?project=${encodeURIComponent(t)}`);if(!n.ok)return;let s=await n.text();if(!s||!s.trim())return;R1(a.workspacePath,s),O.debug("CURSOR","Updated context file",{projectName:t,workspacePath:a.workspacePath})}catch(n){O.warn("CURSOR","Failed to update context file",{projectName:t,error:n.message})}}function Ya(t){return process.platform==="win32"?Math.round(t*2):t}async function Oh(t){try{return(await fetch(`http://127.0.0.1:${t}/api/health`)).ok}catch{return!1}}async function Pi(t,e=3e4){let r=Date.now();for(;Date.now()-rsetTimeout(a,500))}return!1}async function kh(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST"});return e.ok?!0:(O.warn("SYSTEM","Shutdown request returned error",{port:t,status:e.status}),!1)}catch(e){return e.message?.includes("ECONNREFUSED")||O.warn("SYSTEM","Shutdown request failed",{port:t,error:e.message}),!1}}async function Rh(t,e=1e4){let r=Date.now();for(;Date.now()-rsetTimeout(a,500))}return!1}function IV(){let t=xe.default.join((0,Wr.homedir)(),".claude","plugins","marketplaces","thedotmack"),e=xe.default.join(t,"package.json");return JSON.parse((0,Ae.readFileSync)(e,"utf-8")).version}async function AV(t){try{let e=await fetch(`http://127.0.0.1:${t}/api/version`);return e.ok?(await e.json()).version:null}catch{return null}}async function NV(t){let e=IV(),r=await AV(t);return r?{matches:e===r,pluginVersion:e,workerVersion:r}:{matches:!0,pluginVersion:e,workerVersion:r}}var dd=class{app;server=null;startTime=Date.now();mcpClient;mcpReady=!1;initializationCompleteFlag=!1;isShuttingDown=!1;dbManager;sessionManager;sseBroadcaster;sdkAgent;geminiAgent;openRouterAgent;paginationHelper;settingsManager;sessionEventBroadcaster;viewerRoutes;sessionRoutes;dataRoutes;searchRoutes;settingsRoutes;initializationComplete;resolveInitialization;constructor(){this.app=(0,VR.default)(),this.initializationComplete=new Promise(e=>{this.resolveInitialization=e}),this.dbManager=new el,this.sessionManager=new nl(this.dbManager),this.sseBroadcaster=new al,this.sdkAgent=new Ul(this.dbManager,this.sessionManager),this.geminiAgent=new zl(this.dbManager,this.sessionManager),this.geminiAgent.setFallbackAgent(this.sdkAgent),this.openRouterAgent=new Vl(this.dbManager,this.sessionManager),this.openRouterAgent.setFallbackAgent(this.sdkAgent),this.paginationHelper=new Gl(this.dbManager),this.settingsManager=new Zl(this.dbManager),this.sessionEventBroadcaster=new Yl(this.sseBroadcaster,this),this.sessionManager.setOnSessionDeleted(()=>{this.broadcastProcessingStatus()}),this.mcpClient=new Hs({name:"worker-search-proxy",version:"1.0.0"},{capabilities:{}}),this.viewerRoutes=new ed(this.sseBroadcaster,this.dbManager,this.sessionManager),this.sessionRoutes=new nd(this.sessionManager,this.dbManager,this.sdkAgent,this.geminiAgent,this.openRouterAgent,this.sessionEventBroadcaster,this),this.dataRoutes=new ad(this.paginationHelper,this.dbManager,this.sessionManager,this.sseBroadcaster,this,this.startTime),this.searchRoutes=null,this.settingsRoutes=new ld(this.settingsManager),this.setupMiddleware(),this.setupRoutes(),this.registerSignalHandlers()}registerSignalHandlers(){let e=async r=>{if(this.isShuttingDown){O.warn("SYSTEM",`Received ${r} but shutdown already in progress`);return}this.isShuttingDown=!0,O.info("SYSTEM",`Received ${r}, shutting down...`);try{await this.shutdown(),process.exit(0)}catch(a){O.error("SYSTEM","Error during shutdown",{},a),process.exit(1)}};process.on("SIGTERM",()=>e("SIGTERM")),process.on("SIGINT",()=>e("SIGINT"))}setupMiddleware(){OR(this.summarizeRequestBody.bind(this)).forEach(r=>this.app.use(r))}setupRoutes(){let e="TEST-008-wrapper-ipc";this.app.get("/api/health",(r,a)=>{a.status(200).json({status:"ok",build:e,managed:process.env.CLAUDE_MEM_MANAGED==="true",hasIpc:typeof process.send=="function",platform:process.platform,pid:process.pid,initialized:this.initializationCompleteFlag,mcpReady:this.mcpReady})}),this.app.get("/api/readiness",(r,a)=>{this.initializationCompleteFlag?a.status(200).json({status:"ready",mcpReady:this.mcpReady}):a.status(503).json({status:"initializing",message:"Worker is still initializing, please retry"})}),this.app.get("/api/version",(r,a)=>{a.status(200).json({version:PV})}),this.app.get("/api/instructions",async(r,a)=>{let n=r.query.topic||"all",s=r.query.operation;try{let i;if(s){let o=xe.default.join(__dirname,"../skills/mem-search/operations",`${s}.md`);i=await Ph.promises.readFile(o,"utf-8")}else{let o=xe.default.join(__dirname,"../skills/mem-search/SKILL.md"),c=await Ph.promises.readFile(o,"utf-8");i=this.extractInstructionSection(c,n)}a.json({content:[{type:"text",text:i}]})}catch(i){O.error("WORKER","Failed to load instructions",{topic:n,operation:s},i),a.status(500).json({content:[{type:"text",text:`Error loading instructions: ${i instanceof Error?i.message:"Unknown error"}`}],isError:!0})}}),this.app.post("/api/admin/restart",gh,async(r,a)=>{a.json({status:"restarting"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(O.info("SYSTEM","Sending restart request to wrapper"),process.send({type:"restart"})):setTimeout(async()=>{await this.shutdown(),process.exit(0)},100)}),this.app.post("/api/admin/shutdown",gh,async(r,a)=>{a.json({status:"shutting_down"}),process.platform==="win32"&&process.env.CLAUDE_MEM_MANAGED==="true"&&process.send?(O.info("SYSTEM","Sending shutdown request to wrapper"),process.send({type:"shutdown"})):setTimeout(async()=>{await this.shutdown(),process.exit(0)},100)}),this.viewerRoutes.setupRoutes(this.app),this.sessionRoutes.setupRoutes(this.app),this.dataRoutes.setupRoutes(this.app),this.settingsRoutes.setupRoutes(this.app),this.app.get("/api/context/inject",async(r,a,n)=>{try{let i=new Promise((o,c)=>setTimeout(()=>c(new Error("Initialization timeout")),3e5));if(await Promise.race([this.initializationComplete,i]),!this.searchRoutes){a.status(503).json({error:"Search routes not initialized"});return}n()}catch(s){O.error("WORKER","Context inject handler failed",{},s),a.headersSent||a.status(500).json({error:s instanceof Error?s.message:"Internal server error"})}})}async cleanupOrphanedProcesses(){let e=process.platform==="win32",r=[];if(e){let a=`powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -like '*python*' -and $_.CommandLine -like '*chroma-mcp*' } | Select-Object -ExpandProperty ProcessId"`,{stdout:n}=await ac(a,{timeout:6e4});if(!n.trim()){O.debug("SYSTEM","No orphaned chroma-mcp processes found (Windows)");return}let s=n.trim().split(` +`);for(let i of s){let o=parseInt(i.trim(),10);!isNaN(o)&&Number.isInteger(o)&&o>0&&r.push(o)}}else{let{stdout:a}=await ac('ps aux | grep "chroma-mcp" | grep -v grep || true');if(!a.trim()){O.debug("SYSTEM","No orphaned chroma-mcp processes found (Unix)");return}let n=a.trim().split(` +`);for(let s of n){let i=s.trim().split(/\s+/);if(i.length>1){let o=parseInt(i[1],10);!isNaN(o)&&Number.isInteger(o)&&o>0&&r.push(o)}}}if(r.length!==0){if(O.info("SYSTEM","Cleaning up orphaned chroma-mcp processes",{platform:e?"Windows":"Unix",count:r.length,pids:r}),e)for(let a of r){if(!Number.isInteger(a)||a<=0){O.warn("SYSTEM","Skipping invalid PID",{pid:a});continue}try{(0,ra.execSync)(`taskkill /PID ${a} /T /F`,{timeout:6e4,stdio:"ignore"})}catch{}}else for(let a of r)try{process.kill(a,"SIGKILL")}catch{}O.info("SYSTEM","Orphaned processes cleaned up",{count:r.length})}}async start(){let e=Xt(),r=w1();this.server=await new Promise((a,n)=>{let s=this.app.listen(e,r,()=>a(s));s.on("error",n)}),O.info("SYSTEM","Worker started",{host:r,port:e,pid:process.pid}),this.initializeBackground().catch(a=>{O.error("SYSTEM","Background initialization failed",{},a)})}async initializeBackground(){try{await this.cleanupOrphanedProcesses();let{ModeManager:e}=await Promise.resolve().then(()=>(ln(),z1)),{SettingsDefaultsManager:r}=await Promise.resolve().then(()=>(Or(),b1)),{USER_SETTINGS_PATH:a}=await Promise.resolve().then(()=>(mr(),j1)),s=r.loadFromFile(a).CLAUDE_MEM_MODE;e.getInstance().loadMode(s),O.info("SYSTEM",`Mode loaded: ${s}`),await this.dbManager.initialize();let{PendingMessageStore:i}=await Promise.resolve().then(()=>(Oo(),tl)),o=new i(this.dbManager.getSessionStore().db,3),c=300*1e3,u=o.resetStuckMessages(c);u>0&&O.info("SYSTEM",`Recovered ${u} stuck messages from previous session`,{thresholdMinutes:5});let l=new Xl,d=new Jl,p=new Kl(this.dbManager.getSessionSearch(),this.dbManager.getSessionStore(),this.dbManager.getChromaSync(),l,d);this.searchRoutes=new cd(p),this.searchRoutes.setupRoutes(this.app),O.info("WORKER","SearchManager initialized and search routes registered");let m=xe.default.join(__dirname,"mcp-server.cjs"),g=new Gs({command:"node",args:[m],env:process.env}),_=3e5,f=this.mcpClient.connect(g),h=new Promise((y,v)=>setTimeout(()=>v(new Error("MCP connection timeout after 5 minutes")),_));await Promise.race([f,h]),this.mcpReady=!0,O.success("WORKER","Connected to MCP server"),this.initializationCompleteFlag=!0,this.resolveInitialization(),O.info("SYSTEM","Background initialization complete"),this.processPendingQueues(50).then(y=>{y.sessionsStarted>0&&O.info("SYSTEM",`Auto-recovered ${y.sessionsStarted} sessions with pending work`,{totalPending:y.totalPendingSessions,started:y.sessionsStarted,sessionIds:y.startedSessionIds})}).catch(y=>{O.warn("SYSTEM","Auto-recovery of pending queues failed",{},y)})}catch(e){throw O.error("SYSTEM","Background initialization failed",{},e),e}}startSessionProcessor(e,r){if(!e)return;let a=e.sessionDbId;O.info("SYSTEM",`Starting generator (${r})`,{sessionId:a}),e.generatorPromise=this.sdkAgent.startSession(e,this).catch(n=>{e.abortController.signal.aborted||O.error("SYSTEM",`Generator failed (${r})`,{sessionId:a,error:n.message},n)}).finally(()=>{e.generatorPromise=null,this.broadcastProcessingStatus(),e.abortController.signal.aborted||O.warn("SYSTEM","Session processor exited unexpectedly",{sessionId:a})})}async processPendingQueues(e=10){let{PendingMessageStore:r}=await Promise.resolve().then(()=>(Oo(),tl)),a=new r(this.dbManager.getSessionStore().db,3),n=a.getSessionsWithPendingMessages(),s={totalPendingSessions:n.length,sessionsStarted:0,sessionsSkipped:0,startedSessionIds:[]};if(n.length===0)return s;O.info("SYSTEM",`Processing up to ${e} of ${n.length} pending session queues`);for(let i of n){if(s.sessionsStarted>=e)break;try{if(this.sessionManager.getSession(i)?.generatorPromise){s.sessionsSkipped++;continue}let c=this.sessionManager.initializeSession(i);O.info("SYSTEM",`Starting processor for session ${i}`,{project:c.project,pendingCount:a.getPendingCount(i)}),this.startSessionProcessor(c,"startup-recovery"),s.sessionsStarted++,s.startedSessionIds.push(i),await new Promise(u=>setTimeout(u,100))}catch(o){O.warn("SYSTEM",`Failed to process session ${i}`,{},o),s.sessionsSkipped++}}return s}extractInstructionSection(e,r){let a={workflow:this.extractBetween(e,"## The Workflow","## Search Parameters"),search_params:this.extractBetween(e,"## Search Parameters","## Examples"),examples:this.extractBetween(e,"## Examples","## Why This Workflow"),all:e};return a[r]||a.all}extractBetween(e,r,a){let n=e.indexOf(r),s=e.indexOf(a);return n===-1?e:s===-1?e.substring(n):e.substring(n,s).trim()}async shutdown(){O.info("SYSTEM","Shutdown initiated"),ta();let e=await this.getChildProcesses(process.pid);if(O.info("SYSTEM","Found child processes",{count:e.length,pids:e}),this.server&&(this.server.closeAllConnections(),process.platform==="win32"&&await new Promise(r=>setTimeout(r,500)),await new Promise((r,a)=>{this.server.close(n=>n?a(n):r())}),this.server=null,O.info("SYSTEM","HTTP server closed"),process.platform==="win32"&&(await new Promise(r=>setTimeout(r,500)),O.info("SYSTEM","Waited for Windows port cleanup"))),await this.sessionManager.shutdownAll(),this.mcpClient&&(await this.mcpClient.close(),O.info("SYSTEM","MCP client closed")),await this.dbManager.close(),e.length>0){O.info("SYSTEM","Force killing remaining children");for(let r of e)await this.forceKillProcess(r);await this.waitForProcessesExit(e,5e3)}O.info("SYSTEM","Worker shutdown complete")}async getChildProcesses(e){if(process.platform!=="win32")return[];if(!Number.isInteger(e)||e<=0)return O.warn("SYSTEM","Invalid parent PID for child process enumeration",{parentPid:e}),[];try{let r=`powershell -Command "Get-CimInstance Win32_Process | Where-Object { $_.ParentProcessId -eq ${e} } | Select-Object -ExpandProperty ProcessId"`,{stdout:a}=await ac(r,{timeout:6e4});return a.trim().split(` +`).map(n=>parseInt(n.trim(),10)).filter(n=>!isNaN(n)&&Number.isInteger(n)&&n>0)}catch(r){return O.warn("SYSTEM","Failed to enumerate child processes",{parentPid:e,error:r.message}),[]}}async forceKillProcess(e){if(!Number.isInteger(e)||e<=0){O.warn("SYSTEM","Invalid PID for force kill",{pid:e});return}try{process.platform==="win32"?await ac(`taskkill /PID ${e} /T /F`,{timeout:6e4}):process.kill(e,"SIGKILL"),O.info("SYSTEM","Killed process",{pid:e})}catch{O.debug("SYSTEM","Process already exited during force kill",{pid:e})}}async waitForProcessesExit(e,r){let a=Date.now();for(;Date.now()-a{try{return process.kill(s,0),!0}catch{return!1}});if(n.length===0){O.info("SYSTEM","All child processes exited");return}O.debug("SYSTEM","Waiting for processes to exit",{stillAlive:n}),await new Promise(s=>setTimeout(s,100))}O.warn("SYSTEM","Timeout waiting for child processes to exit")}summarizeRequestBody(e,r,a){return CR(e,r,a)}broadcastProcessingStatus(){let e=this.sessionManager.isAnySessionProcessing(),r=this.sessionManager.getTotalActiveWork(),a=this.sessionManager.getActiveSessionCount();O.info("WORKER","Broadcasting processing status",{isProcessing:e,queueDepth:r,activeSessions:a}),this.sseBroadcaster.broadcast({type:"processing_status",isProcessing:e,queueDepth:r})}};async function MV(){let t=GR.createInterface({input:process.stdin,output:process.stdout}),e=r=>new Promise(a=>t.question(r,a));console.log(` \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557 \u2551 Claude-Mem Cursor Setup Wizard \u2551 \u2551 \u2551 @@ -1237,7 +1237,7 @@ Context Injection: \u274C Uninstallation failed: ${r.message}`),1}}function zV(){console.log(` \u{1F50D} Claude-Mem Cursor Hooks Status `);let t=[{name:"Project",dir:xe.default.join(process.cwd(),".cursor")},{name:"User",dir:xe.default.join((0,Wr.homedir)(),".cursor")}];process.platform==="darwin"?t.push({name:"Enterprise",dir:"/Library/Application Support/Cursor"}):process.platform==="linux"&&t.push({name:"Enterprise",dir:"/etc/cursor"});let e=!1;for(let r of t){let a=xe.default.join(r.dir,"hooks.json"),n=xe.default.join(r.dir,"hooks");if((0,Ae.existsSync)(a)){e=!0,console.log(`\u2705 ${r.name}: Installed`),console.log(` Config: ${a}`);let s=["session-init.sh","context-inject.sh","save-observation.sh"],i=["session-init.ps1","context-inject.ps1","save-observation.ps1"],o=s.some(p=>(0,Ae.existsSync)(xe.default.join(n,p))),c=i.some(p=>(0,Ae.existsSync)(xe.default.join(n,p)));console.log(o&&c?" Platform: Both (bash + PowerShell)":o?" Platform: Unix (bash)":c?" Platform: Windows (PowerShell)":" \u26A0 No hook scripts found");let u=Ah(),d=(u==="windows"?i:s).filter(p=>!(0,Ae.existsSync)(xe.default.join(n,p)));if(d.length>0?console.log(` \u26A0 Missing ${u} scripts: ${d.join(", ")}`):console.log(` Scripts: All present for ${u}`),r.name==="Project"){let p=xe.default.join(r.dir,"rules","claude-mem-context.mdc");(0,Ae.existsSync)(p)?console.log(" Context: Active"):console.log(" Context: Not yet generated (will be created on first prompt)")}}else console.log(`\u274C ${r.name}: Not installed`);console.log("")}return e||console.log(`No hooks installed. Run: claude-mem cursor install -`),0}async function HV(){let t=process.argv[2],e=Xt();switch(t){case"start":{if(await Pi(e,1e3)){let s=await NV(e);s.matches?(P.info("SYSTEM","Worker already running and healthy"),process.exit(0)):(P.info("SYSTEM","Worker version mismatch detected - auto-restarting",{pluginVersion:s.pluginVersion,workerVersion:s.workerVersion}),await kh(e),await Rh(e,Ya(15e3))||(P.error("SYSTEM","Port did not free up after shutdown for version mismatch restart",{port:e}),process.exit(1)),ta())}await Oh(e)&&(P.info("SYSTEM","Port in use, waiting for worker to become healthy"),await Pi(e,Ya(15e3))&&(P.info("SYSTEM","Worker is now healthy"),process.exit(0)),P.error("SYSTEM","Port in use but worker not responding to health checks"),process.exit(1)),P.info("SYSTEM","Starting worker daemon");let a=(0,ra.spawn)(process.execPath,[__filename,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e)}});a.pid===void 0&&(P.error("SYSTEM","Failed to spawn worker daemon"),process.exit(1)),a.unref(),$h({pid:a.pid,port:e,startedAt:new Date().toISOString()}),await Pi(e,Ya(3e4))||(ta(),P.error("SYSTEM","Worker failed to start (health check timeout)"),process.exit(1)),P.info("SYSTEM","Worker started successfully"),process.exit(0)}case"stop":await kh(e),await Rh(e,Ya(15e3))||P.warn("SYSTEM","Port did not free up after shutdown",{port:e}),ta(),P.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{P.info("SYSTEM","Restarting worker"),await kh(e),await Rh(e,Ya(15e3))||(P.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(1)),ta();let a=(0,ra.spawn)(process.execPath,[__filename,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e)}});a.pid===void 0&&(P.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(1)),a.unref(),$h({pid:a.pid,port:e,startedAt:new Date().toISOString()}),await Pi(e,Ya(3e4))||(ta(),P.error("SYSTEM","Worker failed to restart"),process.exit(1)),P.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let r=await Oh(e),a=$V();r&&a?(console.log("Worker is running"),console.log(` PID: ${a.pid}`),console.log(` Port: ${a.port}`),console.log(` Started: ${a.startedAt}`)):console.log("Worker is not running"),process.exit(0)}case"cursor":{let r=process.argv[3],a=await qV(r,process.argv.slice(4));process.exit(a)}case"--daemon":default:new dd().start().catch(a=>{P.failure("SYSTEM","Worker failed to start",{},a),ta(),process.exit(1)})}}(require.main===module||!module.parent)&&HV();0&&(module.exports={WorkerService,updateCursorContextForProject}); +`),0}async function HV(){let t=process.argv[2],e=Xt();switch(t){case"start":{if(await Pi(e,1e3)){let s=await NV(e);s.matches?(O.info("SYSTEM","Worker already running and healthy"),process.exit(0)):(O.info("SYSTEM","Worker version mismatch detected - auto-restarting",{pluginVersion:s.pluginVersion,workerVersion:s.workerVersion}),await kh(e),await Rh(e,Ya(15e3))||(O.error("SYSTEM","Port did not free up after shutdown for version mismatch restart",{port:e}),process.exit(1)),ta())}await Oh(e)&&(O.info("SYSTEM","Port in use, waiting for worker to become healthy"),await Pi(e,Ya(15e3))&&(O.info("SYSTEM","Worker is now healthy"),process.exit(0)),O.error("SYSTEM","Port in use but worker not responding to health checks"),process.exit(1)),O.info("SYSTEM","Starting worker daemon");let a=(0,ra.spawn)(process.execPath,[__filename,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e)}});a.pid===void 0&&(O.error("SYSTEM","Failed to spawn worker daemon"),process.exit(1)),a.unref(),$h({pid:a.pid,port:e,startedAt:new Date().toISOString()}),await Pi(e,Ya(3e4))||(ta(),O.error("SYSTEM","Worker failed to start (health check timeout)"),process.exit(1)),O.info("SYSTEM","Worker started successfully"),process.exit(0)}case"stop":await kh(e),await Rh(e,Ya(15e3))||O.warn("SYSTEM","Port did not free up after shutdown",{port:e}),ta(),O.info("SYSTEM","Worker stopped successfully"),process.exit(0);case"restart":{O.info("SYSTEM","Restarting worker"),await kh(e),await Rh(e,Ya(15e3))||(O.error("SYSTEM","Port did not free up after shutdown, aborting restart",{port:e}),process.exit(1)),ta();let a=(0,ra.spawn)(process.execPath,[__filename,"--daemon"],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(e)}});a.pid===void 0&&(O.error("SYSTEM","Failed to spawn worker daemon during restart"),process.exit(1)),a.unref(),$h({pid:a.pid,port:e,startedAt:new Date().toISOString()}),await Pi(e,Ya(3e4))||(ta(),O.error("SYSTEM","Worker failed to restart"),process.exit(1)),O.info("SYSTEM","Worker restarted successfully"),process.exit(0)}case"status":{let r=await Oh(e),a=$V();r&&a?(console.log("Worker is running"),console.log(` PID: ${a.pid}`),console.log(` Port: ${a.port}`),console.log(` Started: ${a.startedAt}`)):console.log("Worker is not running"),process.exit(0)}case"cursor":{let r=process.argv[3],a=await qV(r,process.argv.slice(4));process.exit(a)}case"--daemon":default:new dd().start().catch(a=>{O.failure("SYSTEM","Worker failed to start",{},a),ta(),process.exit(1)})}}(require.main===module||!module.parent)&&HV();0&&(module.exports={WorkerService,updateCursorContextForProject}); /*! Bundled license information: depd/index.js: diff --git a/scripts/export-memories.ts b/scripts/export-memories.ts index 0dfd21cb..93086534 100644 --- a/scripts/export-memories.ts +++ b/scripts/export-memories.ts @@ -12,7 +12,7 @@ import { SettingsDefaultsManager } from '../src/shared/SettingsDefaultsManager'; interface ObservationRecord { id: number; - sdk_session_id: string; + memory_session_id: string; project: string; text: string | null; type: string; @@ -31,8 +31,8 @@ interface ObservationRecord { interface SdkSessionRecord { id: number; - claude_session_id: string; - sdk_session_id: string; + content_session_id: string; + memory_session_id: string; project: string; user_prompt: string; started_at: string; @@ -44,7 +44,7 @@ interface SdkSessionRecord { interface SessionSummaryRecord { id: number; - sdk_session_id: string; + memory_session_id: string; project: string; request: string | null; investigated: string | null; @@ -62,7 +62,7 @@ interface SessionSummaryRecord { interface UserPromptRecord { id: number; - claude_session_id: string; + content_session_id: string; prompt_number: number; prompt_text: string; created_at: string; @@ -117,23 +117,23 @@ async function exportMemories(query: string, outputFile: string, project?: strin console.log(`✅ Found ${summaries.length} session summaries`); console.log(`✅ Found ${prompts.length} user prompts`); - // Get unique SDK session IDs from observations and summaries - const sdkSessionIds = new Set(); + // Get unique memory session IDs from observations and summaries + const memorySessionIds = new Set(); observations.forEach((o) => { - if (o.sdk_session_id) sdkSessionIds.add(o.sdk_session_id); + if (o.memory_session_id) memorySessionIds.add(o.memory_session_id); }); summaries.forEach((s) => { - if (s.sdk_session_id) sdkSessionIds.add(s.sdk_session_id); + if (s.memory_session_id) memorySessionIds.add(s.memory_session_id); }); // Get SDK sessions metadata via API console.log('📡 Fetching SDK sessions metadata...'); let sessions: SdkSessionRecord[] = []; - if (sdkSessionIds.size > 0) { + if (memorySessionIds.size > 0) { const sessionsResponse = await fetch(`${baseUrl}/api/sdk-sessions/batch`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ sdkSessionIds: Array.from(sdkSessionIds) }) + body: JSON.stringify({ sdkSessionIds: Array.from(memorySessionIds) }) }); if (sessionsResponse.ok) { sessions = await sessionsResponse.json(); diff --git a/scripts/fix-all-timestamps.ts b/scripts/fix-all-timestamps.ts index 2e2a2599..5023d31a 100755 --- a/scripts/fix-all-timestamps.ts +++ b/scripts/fix-all-timestamps.ts @@ -18,7 +18,7 @@ interface CorruptedObservation { obs_created: number; session_started: number; session_completed: number | null; - sdk_session_id: string; + memory_session_id: string; } function formatTimestamp(epoch: number): string { @@ -54,9 +54,9 @@ function main() { o.created_at_epoch as obs_created, s.started_at_epoch as session_started, s.completed_at_epoch as session_completed, - s.sdk_session_id + s.memory_session_id FROM observations o - JOIN sdk_sessions s ON o.sdk_session_id = s.sdk_session_id + JOIN sdk_sessions s ON o.memory_session_id = s.memory_session_id WHERE o.created_at_epoch < s.started_at_epoch -- Observation older than session OR (s.completed_at_epoch IS NOT NULL AND o.created_at_epoch > (s.completed_at_epoch + 3600000)) -- More than 1hr after session diff --git a/scripts/fix-corrupted-timestamps.ts b/scripts/fix-corrupted-timestamps.ts index 86bd4c44..5e061a4b 100755 --- a/scripts/fix-corrupted-timestamps.ts +++ b/scripts/fix-corrupted-timestamps.ts @@ -20,7 +20,7 @@ const BAD_WINDOW_END = 1766626260000; // Dec 24 20:31 PST interface AffectedObservation { id: number; - sdk_session_id: string; + memory_session_id: string; created_at_epoch: number; title: string; } @@ -35,7 +35,7 @@ interface ProcessedMessage { interface SessionMapping { session_db_id: number; - sdk_session_id: string; + memory_session_id: string; } interface TimestampFix { @@ -75,7 +75,7 @@ function main() { // Step 1: Find affected observations console.log('Step 1: Finding observations created during bad window...'); const affectedObs = db.query(` - SELECT id, sdk_session_id, created_at_epoch, title + SELECT id, memory_session_id, created_at_epoch, title FROM observations WHERE created_at_epoch >= ${BAD_WINDOW_START} AND created_at_epoch <= ${BAD_WINDOW_END} @@ -111,7 +111,7 @@ function main() { obs_title: string; obs_created: number; session_started: number; - sdk_session_id: string; + memory_session_id: string; } const obsWithSessions = db.query(` @@ -120,9 +120,9 @@ function main() { o.title as obs_title, o.created_at_epoch as obs_created, s.started_at_epoch as session_started, - s.sdk_session_id + s.memory_session_id FROM observations o - JOIN sdk_sessions s ON o.sdk_session_id = s.sdk_session_id + JOIN sdk_sessions s ON o.memory_session_id = s.memory_session_id WHERE o.created_at_epoch >= ${BAD_WINDOW_START} AND o.created_at_epoch <= ${BAD_WINDOW_END} AND s.started_at_epoch < ${BAD_WINDOW_START} diff --git a/scripts/investigate-timestamps.ts b/scripts/investigate-timestamps.ts index 15d755c7..dd6b3f79 100755 --- a/scripts/investigate-timestamps.ts +++ b/scripts/investigate-timestamps.ts @@ -36,7 +36,7 @@ function main() { const dec24End = 1735113600000; // Dec 25 00:00 PST const dec24Obs = db.query(` - SELECT id, sdk_session_id, created_at_epoch, title + SELECT id, memory_session_id, created_at_epoch, title FROM observations WHERE created_at_epoch >= ${dec24Start} AND created_at_epoch < ${dec24End} @@ -59,7 +59,7 @@ function main() { const dec21Start = 1734768000000; // Dec 21 00:00 PST const oldObs = db.query(` - SELECT id, sdk_session_id, created_at_epoch, title + SELECT id, memory_session_id, created_at_epoch, title FROM observations WHERE created_at_epoch >= ${dec17Start} AND created_at_epoch < ${dec21Start} diff --git a/scripts/validate-timestamp-logic.ts b/scripts/validate-timestamp-logic.ts index dc3dfbbb..1c2808f5 100755 --- a/scripts/validate-timestamp-logic.ts +++ b/scripts/validate-timestamp-logic.ts @@ -59,7 +59,7 @@ function main() { pm.tool_name, pm.created_at_epoch as msg_created, pm.status, - s.sdk_session_id, + s.memory_session_id, s.started_at_epoch as session_started, s.project FROM pending_messages pm diff --git a/scripts/verify-timestamp-fix.ts b/scripts/verify-timestamp-fix.ts index e789e064..f9650e07 100755 --- a/scripts/verify-timestamp-fix.ts +++ b/scripts/verify-timestamp-fix.ts @@ -22,7 +22,7 @@ const ORIGINAL_WINDOW_END = 1766613600000; // Dec 23 23:59 PST interface Observation { id: number; - sdk_session_id: string; + memory_session_id: string; created_at_epoch: number; created_at: string; title: string; @@ -49,7 +49,7 @@ function main() { // Check 1: Observations still in bad window console.log('Check 1: Looking for observations still in bad window (Dec 24 19:45-20:31)...'); const badWindowObs = db.query(` - SELECT id, sdk_session_id, created_at_epoch, created_at, title + SELECT id, memory_session_id, created_at_epoch, created_at, title FROM observations WHERE created_at_epoch >= ${BAD_WINDOW_START} AND created_at_epoch <= ${BAD_WINDOW_END} @@ -63,7 +63,7 @@ function main() { for (const obs of badWindowObs) { console.log(` Observation #${obs.id}: ${obs.title || '(no title)'}`); console.log(` Timestamp: ${formatTimestamp(obs.created_at_epoch)}`); - console.log(` Session: ${obs.sdk_session_id}\n`); + console.log(` Session: ${obs.memory_session_id}\n`); } } @@ -81,19 +81,19 @@ function main() { // Check 3: Session distribution console.log('Check 3: Session distribution of corrected observations...'); - const sessionDist = db.query<{ sdk_session_id: string; count: number }, []>(` - SELECT sdk_session_id, COUNT(*) as count + const sessionDist = db.query<{ memory_session_id: string; count: number }, []>(` + SELECT memory_session_id, COUNT(*) as count FROM observations WHERE created_at_epoch >= ${ORIGINAL_WINDOW_START} AND created_at_epoch <= ${ORIGINAL_WINDOW_END} - GROUP BY sdk_session_id + GROUP BY memory_session_id ORDER BY count DESC `).all(); if (sessionDist.length > 0) { console.log(`Observations distributed across ${sessionDist.length} sessions:\n`); for (const dist of sessionDist.slice(0, 10)) { - console.log(` ${dist.sdk_session_id}: ${dist.count} observations`); + console.log(` ${dist.memory_session_id}: ${dist.count} observations`); } if (sessionDist.length > 10) { console.log(` ... and ${sessionDist.length - 10} more sessions`); diff --git a/src/services/sqlite/SessionStore.ts b/src/services/sqlite/SessionStore.ts index f9b7a170..d98a8311 100644 --- a/src/services/sqlite/SessionStore.ts +++ b/src/services/sqlite/SessionStore.ts @@ -582,126 +582,85 @@ export class SessionStore { * Rename session ID columns for semantic clarity (migration 17) * - claude_session_id → content_session_id (user's observed session) * - sdk_session_id → memory_session_id (memory agent's session for resume) + * + * IDEMPOTENT: Checks each table individually before renaming. + * This handles databases in any intermediate state (partial migration, fresh install, etc.) */ private renameSessionIdColumns(): void { const applied = this.db.prepare('SELECT version FROM schema_versions WHERE version = ?').get(17) as SchemaVersion | undefined; if (applied) return; - // Check if columns are already renamed (idempotent check) - const sessionsInfo = this.db.query('PRAGMA table_info(sdk_sessions)').all() as TableColumnInfo[]; - const hasContentSessionId = sessionsInfo.some(col => col.name === 'content_session_id'); + logger.info('DB', 'Checking session ID columns for semantic clarity rename'); - if (hasContentSessionId) { - // Already renamed, just record migration - this.db.prepare('INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)').run(17, new Date().toISOString()); - return; - } + let renamesPerformed = 0; - logger.info('DB', 'Renaming session ID columns for semantic clarity'); + // Helper to safely rename a column if it exists + const safeRenameColumn = (table: string, oldCol: string, newCol: string): boolean => { + try { + const tableInfo = this.db.query(`PRAGMA table_info(${table})`).all() as TableColumnInfo[]; + const hasOldCol = tableInfo.some(col => col.name === oldCol); + const hasNewCol = tableInfo.some(col => col.name === newCol); - // Begin transaction for atomic rename - this.db.run('BEGIN TRANSACTION'); + if (hasNewCol) { + // Already renamed, nothing to do + return false; + } - try { - // SQLite 3.25+ supports ALTER TABLE RENAME COLUMN - // Rename in sdk_sessions table - this.db.run('ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id'); - this.db.run('ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id'); + if (hasOldCol) { + // SQLite 3.25+ supports ALTER TABLE RENAME COLUMN + this.db.run(`ALTER TABLE ${table} RENAME COLUMN ${oldCol} TO ${newCol}`); + logger.info('DB', `Renamed ${table}.${oldCol} to ${newCol}`); + return true; + } - // Rename in pending_messages table - this.db.run('ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id'); + // Neither column exists - table might not exist or has different schema + logger.warn('DB', `Column ${oldCol} not found in ${table}, skipping rename`); + return false; + } catch (error: any) { + // Table might not exist yet, which is fine + logger.warn('DB', `Could not rename ${table}.${oldCol}: ${error.message}`); + return false; + } + }; - // Rename in observations table - this.db.run('ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id'); + // Rename in sdk_sessions table + if (safeRenameColumn('sdk_sessions', 'claude_session_id', 'content_session_id')) renamesPerformed++; + if (safeRenameColumn('sdk_sessions', 'sdk_session_id', 'memory_session_id')) renamesPerformed++; - // Rename in session_summaries table - this.db.run('ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id'); + // Rename in pending_messages table + if (safeRenameColumn('pending_messages', 'claude_session_id', 'content_session_id')) renamesPerformed++; - // Rename in user_prompts table - this.db.run('ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id'); + // Rename in observations table + if (safeRenameColumn('observations', 'sdk_session_id', 'memory_session_id')) renamesPerformed++; - // Commit transaction - this.db.run('COMMIT'); + // Rename in session_summaries table + if (safeRenameColumn('session_summaries', 'sdk_session_id', 'memory_session_id')) renamesPerformed++; - // Record migration - this.db.prepare('INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)').run(17, new Date().toISOString()); + // Rename in user_prompts table + if (safeRenameColumn('user_prompts', 'claude_session_id', 'content_session_id')) renamesPerformed++; - logger.info('DB', 'Successfully renamed session ID columns'); - } catch (error: any) { - // Rollback on error - this.db.run('ROLLBACK'); - logger.error('DB', 'Session ID column rename migration error', undefined, error); - throw error; + // Record migration + this.db.prepare('INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)').run(17, new Date().toISOString()); + + if (renamesPerformed > 0) { + logger.info('DB', `Successfully renamed ${renamesPerformed} session ID columns`); + } else { + logger.info('DB', 'No session ID column renames needed (already up to date)'); } } /** * Repair session ID column renames (migration 19) - * Migration 17 may have been recorded but failed to actually rename columns. - * This migration checks each table and renames if needed (idempotent). + * DEPRECATED: Migration 17 is now fully idempotent and handles all cases. + * This migration is kept for backwards compatibility but does nothing. */ private repairSessionIdColumnRename(): void { - try { - const applied = this.db.prepare('SELECT version FROM schema_versions WHERE version = ?').get(19) as SchemaVersion | undefined; - if (applied) return; + const applied = this.db.prepare('SELECT version FROM schema_versions WHERE version = ?').get(19) as SchemaVersion | undefined; + if (applied) return; - logger.info('DB', 'Checking session ID column renames (repair migration)'); - - let repairsNeeded = false; - - // Check and fix sdk_sessions - const sessionsInfo = this.db.query('PRAGMA table_info(sdk_sessions)').all() as TableColumnInfo[]; - if (sessionsInfo.some(col => col.name === 'claude_session_id')) { - logger.info('DB', 'Repairing sdk_sessions columns'); - this.db.run('ALTER TABLE sdk_sessions RENAME COLUMN claude_session_id TO content_session_id'); - this.db.run('ALTER TABLE sdk_sessions RENAME COLUMN sdk_session_id TO memory_session_id'); - repairsNeeded = true; - } - - // Check and fix pending_messages - const pendingInfo = this.db.query('PRAGMA table_info(pending_messages)').all() as TableColumnInfo[]; - if (pendingInfo.some(col => col.name === 'claude_session_id')) { - logger.info('DB', 'Repairing pending_messages columns'); - this.db.run('ALTER TABLE pending_messages RENAME COLUMN claude_session_id TO content_session_id'); - repairsNeeded = true; - } - - // Check and fix observations - const obsInfo = this.db.query('PRAGMA table_info(observations)').all() as TableColumnInfo[]; - if (obsInfo.some(col => col.name === 'sdk_session_id')) { - logger.info('DB', 'Repairing observations columns'); - this.db.run('ALTER TABLE observations RENAME COLUMN sdk_session_id TO memory_session_id'); - repairsNeeded = true; - } - - // Check and fix session_summaries - const summariesInfo = this.db.query('PRAGMA table_info(session_summaries)').all() as TableColumnInfo[]; - if (summariesInfo.some(col => col.name === 'sdk_session_id')) { - logger.info('DB', 'Repairing session_summaries columns'); - this.db.run('ALTER TABLE session_summaries RENAME COLUMN sdk_session_id TO memory_session_id'); - repairsNeeded = true; - } - - // Check and fix user_prompts - const promptsInfo = this.db.query('PRAGMA table_info(user_prompts)').all() as TableColumnInfo[]; - if (promptsInfo.some(col => col.name === 'claude_session_id')) { - logger.info('DB', 'Repairing user_prompts columns'); - this.db.run('ALTER TABLE user_prompts RENAME COLUMN claude_session_id TO content_session_id'); - repairsNeeded = true; - } - - // Record migration - this.db.prepare('INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)').run(19, new Date().toISOString()); - - if (repairsNeeded) { - logger.info('DB', 'Session ID column rename repairs completed'); - } else { - logger.info('DB', 'No session ID column repairs needed'); - } - } catch (error: any) { - logger.error('DB', 'Session ID column rename repair error', undefined, error); - throw error; - } + // Migration 17 now handles all column rename cases idempotently. + // Just record this migration as applied. + this.db.prepare('INSERT OR IGNORE INTO schema_versions (version, applied_at) VALUES (?, ?)').run(19, new Date().toISOString()); } /** diff --git a/tests/session_store.test.ts b/tests/session_store.test.ts index 69fc1224..c22f7ab6 100644 --- a/tests/session_store.test.ts +++ b/tests/session_store.test.ts @@ -37,9 +37,9 @@ describe('SessionStore', () => { const claudeId = 'claude-sess-obs'; const sdkId = store.createSDKSession(claudeId, 'test-project', 'initial prompt'); - // Get the sdk_session_id string (createSDKSession returns number ID, need string for FK) - // Wait, createSDKSession inserts using sdk_session_id = claude_session_id in the current implementation - // "VALUES (?, ?, ?, ?, ?, ?, 'active')" -> claudeSessionId, claudeSessionId, ... + // Get the memory_session_id string (createSDKSession returns number ID, need string for FK) + // createSDKSession inserts using memory_session_id = content_session_id in the current implementation + // "VALUES (?, ?, ?, ?, ?, ?, 'active')" -> contentSessionId, contentSessionId, ... const obs = { type: 'discovery', diff --git a/tests/validate_sql_update.test.ts b/tests/validate_sql_update.test.ts index 20e51e45..e4a34d9b 100644 --- a/tests/validate_sql_update.test.ts +++ b/tests/validate_sql_update.test.ts @@ -7,11 +7,12 @@ describe('Refactor Validation: SQL Updates', () => { beforeEach(() => { db = new Database(':memory:'); // Minimal schema for sdk_sessions based on SessionStore.ts migration004 + // Uses new column names: content_session_id and memory_session_id db.run(` CREATE TABLE sdk_sessions ( id INTEGER PRIMARY KEY AUTOINCREMENT, - claude_session_id TEXT UNIQUE NOT NULL, - sdk_session_id TEXT UNIQUE, + content_session_id TEXT UNIQUE NOT NULL, + memory_session_id TEXT UNIQUE, project TEXT NOT NULL, user_prompt TEXT, started_at TEXT, @@ -27,28 +28,26 @@ describe('Refactor Validation: SQL Updates', () => { db.close(); }); - it('should update sdk_session_id using direct SQL (replacing updateSDKSessionId)', () => { - // Setup initial state: A session without an sdk_session_id - const claudeId = 'claude-session-123'; - const syntheticId = 'sdk-session-456'; - + it('should update memory_session_id using direct SQL (replacing updateSDKSessionId)', () => { + // Setup initial state: A session without a memory_session_id + const contentId = 'content-session-123'; + const memoryId = 'memory-session-456'; + db.prepare(` - INSERT INTO sdk_sessions (claude_session_id, project, started_at, started_at_epoch) + INSERT INTO sdk_sessions (content_session_id, project, started_at, started_at_epoch) VALUES (?, ?, ?, ?) - `).run(claudeId, 'test-project', '2025-01-01T00:00:00Z', 1735689600000); + `).run(contentId, 'test-project', '2025-01-01T00:00:00Z', 1735689600000); // Verify initial state - const before = db.prepare('SELECT sdk_session_id FROM sdk_sessions WHERE claude_session_id = ?').get(claudeId) as any; - expect(before.sdk_session_id).toBeNull(); + const before = db.prepare('SELECT memory_session_id FROM sdk_sessions WHERE content_session_id = ?').get(contentId) as any; + expect(before.memory_session_id).toBeNull(); - // EXECUTE: The exact SQL statement from the refactor in import-xml-observations.ts - // Original code: db['db'].prepare('UPDATE sdk_sessions SET sdk_session_id = ? WHERE claude_session_id = ?').run(syntheticSdkSessionId, sessionMeta.sessionId); - - const stmt = db.prepare('UPDATE sdk_sessions SET sdk_session_id = ? WHERE claude_session_id = ?'); - stmt.run(syntheticId, claudeId); + // EXECUTE: The exact SQL statement from the refactor + const stmt = db.prepare('UPDATE sdk_sessions SET memory_session_id = ? WHERE content_session_id = ?'); + stmt.run(memoryId, contentId); // VERIFY: The update happened - const after = db.prepare('SELECT sdk_session_id FROM sdk_sessions WHERE claude_session_id = ?').get(claudeId) as any; - expect(after.sdk_session_id).toBe(syntheticId); + const after = db.prepare('SELECT memory_session_id FROM sdk_sessions WHERE content_session_id = ?').get(contentId) as any; + expect(after.memory_session_id).toBe(memoryId); }); });