claude-mem 13.36.0 → 13.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,8 +70,8 @@ ${n.stack}`:` ${n.message}`:this.getLevel()===0&&typeof n=="object"?l=`
70
70
  `,"utf8")}catch(m){let _=m instanceof Error?m:new Error(String(m));Kt(`[LOGGER] Failed to write to log file: ${_.message}
71
71
  ${_.stack??""}
72
72
  `)}else Kt(f+`
73
- `)}debug(r,i,o,t){this.log(0,r,i,o,t)}info(r,i,o,t){this.log(1,r,i,o,t)}warn(r,i,o,t){this.log(2,r,i,o,t)}setErrorSink(r){Vl=r}error(r,i,o,t){this.log(3,r,i,o,t),this.routeErrorToSink(i,o,t)}routeErrorToSink(r,i,o){try{if(!Vl||!(o instanceof Error))return;Vl(o)}catch{}}dataIn(r,i,o,t){this.info(r,`\u2192 ${i}`,o,t)}dataOut(r,i,o,t){this.info(r,`\u2190 ${i}`,o,t)}success(r,i,o,t){this.info(r,`\u2713 ${i}`,o,t)}failure(r,i,o,t){this.error(r,`\u2717 ${i}`,o,t)}},uE=new Bl;function sg(e){try{return new URL(e).hostname.toLowerCase()==="openrouter.ai"}catch{return!1}}var mE="security_alert",pE="sync-hub.black-pond-afbb.workers.dev",gE="ziczmqtpmaxbornfghye.supabase.co",_E="https://sync.cmem.ai",vE=new Set(["xiaomi/mimo-v2-flash:free"]);function $E(e){return typeof e=="boolean"?String(e):e}function hE(e){let r=e.CLAUDE_MEM_OPENROUTER_MODEL;if(typeof r!="string"||!vE.has(r.trim()))return!1;let i=typeof e.CLAUDE_MEM_OPENROUTER_BASE_URL=="string"?e.CLAUDE_MEM_OPENROUTER_BASE_URL.trim():"";return i===""||sg(i)}var dg=18e4,fg=[{key:"CLAUDE_MEM_LLM_TIMEOUT_MS",legacy:"30000",markerTag:"llm-timeout-migrated-v1"},{key:"CLAUDE_MEM_FIELD_OPTIMIZE_TIMEOUT_MS",legacy:"30000",markerTag:"field-optimize-timeout-migrated-v1"}];function pg(e,r){return Kl(dE(e),`.${lE(e)}.${r.markerTag}`)}function Gl(e,r){try{cE(pg(e,r),new Date().toISOString(),{encoding:"utf-8",mode:384})}catch{}}var mg=new Set;function yE(e){if(typeof e!="string")return null;let r=e.trim();if(r.length===0)return null;try{let i=new URL(r).hostname;if(i===pE||i===gE)return _E}catch{return null}return null}var Xr=class{static DEFAULTS={CLAUDE_MEM_MEMORY_SEARCH_HOOK_ENABLED:"true",CLAUDE_MEM_MEMORY_INSTRUCTIONS_ENABLED:"true",CLAUDE_MEM_MEMORY_WATCH_ROOTS:"",CLAUDE_MEM_MODEL:"claude-haiku-4-5-20251001",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES:"false",CLAUDE_MEM_WORKER_PORT:String(37700+(process.getuid?.()??77)%100),CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_ALLOWED_ORIGINS:"",CLAUDE_MEM_PUBLIC_URL:"",CLAUDE_MEM_API_TIMEOUT_MS:String(eg(io.API_REQUEST)),CLAUDE_MEM_SESSION_INIT_TIMEOUT_MS:String(Qp()),CLAUDE_MEM_IDLE_EXIT_SEC:"0",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_SKIP_BASH_PATTERNS:"",CLAUDE_MEM_SKIP_SUBAGENT_OBSERVATIONS:"false",CLAUDE_MEM_SKIP_AGENT_TYPES:"",CLAUDE_MEM_CAPTURE_ADVISOR_CALLS:"false",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_CODEX_MODEL:"",CLAUDE_MEM_CODEX_PATH:"codex",CLAUDE_MEM_CODEX_REASONING_EFFORT:"low",CLAUDE_MEM_CODEX_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_CODEX_OBSERVATION_BATCH_SIZE:"8",CLAUDE_MEM_CODEX_OBSERVATION_BATCH_MAX_CHARS:"32000",CLAUDE_MEM_CLAUDE_AUTH_METHOD:"subscription",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_API_KEYS:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-flash-latest",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_API_KEYS:"",CLAUDE_MEM_OPENROUTER_MODEL:"cohere/north-mini-code:free",CLAUDE_MEM_OPENROUTER_BASE_URL:"",CLAUDE_MEM_OPENROUTER_TEMPERATURE:"",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_EXTRA_BODY:"",CLAUDE_MEM_OPENROUTER_REASONING_EFFORT:"",CLAUDE_MEM_OPENAI_COMPAT_PRESET:"",CLAUDE_MEM_OPENAI_COMPAT_API_KEY:"",CLAUDE_MEM_OPENAI_COMPAT_API_KEYS:"",CLAUDE_MEM_OPENAI_COMPAT_BASE_URL:"",CLAUDE_MEM_OPENAI_COMPAT_MODEL:"",CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER:"",CLAUDE_MEM_QUOTA_FALLBACK_MODEL:"",CLAUDE_MEM_QUOTA_THRESHOLD_FIVE_HOUR:"0.95",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY:"0.93",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY_OPUS:"0.93",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY_SONNET:"0.92",CLAUDE_MEM_QUOTA_THRESHOLD_OVERAGE:"0.95",CLAUDE_MEM_DATA_DIR:Kl(lg(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_CLAUDE_CONFIG_DIR:"",CLAUDE_MEM_OBSERVER_CLAUDE_CONFIG_DIR:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:"",CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:"",CLAUDE_MEM_CONTEXT_FULL_COUNT:"0",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false",CLAUDE_MEM_CONTEXT_MAIN_AGENT_ONLY:"true",CLAUDE_MEM_REINFORCE_ALPHA:"0",CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT:"true",CLAUDE_MEM_WELCOME_HINT_ENABLED:"true",CLAUDE_MEM_WORK_STATE_ENABLED:"true",CLAUDE_MEM_FILE_READ_GATE_ENABLED:"true",CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED:"false",CLAUDE_MEM_FOLDER_USE_LOCAL_MD:"false",CLAUDE_MEM_TRANSCRIPTS_ENABLED:"true",CLAUDE_MEM_TRANSCRIPTS_CONFIG_PATH:Kl(lg(),".claude-mem","transcript-watch.json"),CLAUDE_MEM_CODEX_TRANSCRIPT_INGESTION:"false",CLAUDE_MEM_CODEX_SUBAGENT_INGESTION:"false",CLAUDE_MEM_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_OBSERVER_MAX_CONVERSATION_CHARS:"400000",CLAUDE_MEM_OBSERVER_CONTEXT_WINDOW:"",CLAUDE_MEM_OBSERVER_MAX_OUTPUT_TOKENS:"4096",CLAUDE_MEM_OBSERVE_BARE_PROMPTS:"false",CLAUDE_MEM_HOOK_FAIL_LOUD_THRESHOLD:"3",CLAUDE_MEM_REDACT_ENABLED:"false",CLAUDE_MEM_REDACT_DISABLED_BUILTINS:"",CLAUDE_MEM_REDACT_CUSTOM_PATTERNS:"[]",CLAUDE_MEM_REDACT_LOG_MATCHES:"false",CLAUDE_MEM_EXCLUDED_PROJECTS:"",CLAUDE_MEM_PROJECT_ENVIRONMENTS:"[]",CLAUDE_MEM_FOLDER_MD_EXCLUDE:"[]",CLAUDE_MEM_FOLDER_MD_SKELETON_DENYLIST:"[]",CLAUDE_MEM_SEMANTIC_INJECT:"false",CLAUDE_MEM_SEMANTIC_INJECT_LIMIT:"5",CLAUDE_MEM_SEMANTIC_INJECT_FORMAT:"narrative",CLAUDE_MEM_TIER_ROUTING_ENABLED:"true",CLAUDE_MEM_TIER_SIMPLE_MODEL:"haiku",CLAUDE_MEM_TIER_SUMMARY_MODEL:"",CLAUDE_MEM_TIER_FAST_MODEL:"haiku",CLAUDE_MEM_TIER_SMART_MODEL:"sonnet",CLAUDE_MEM_CHROMA_ENABLED:"true",CLAUDE_MEM_CHROMA_MODE:"local",CLAUDE_MEM_CHROMA_HOST:"127.0.0.1",CLAUDE_MEM_CHROMA_PORT:"8000",CLAUDE_MEM_CHROMA_SSL:"false",CLAUDE_MEM_CHROMA_API_KEY:"",CLAUDE_MEM_CHROMA_TENANT:"default_tenant",CLAUDE_MEM_CHROMA_DATABASE:"default_database",CLAUDE_MEM_CHROMA_PREWARM_TIMEOUT_MS:"120000",CLAUDE_MEM_CHROMA_MUTATION_TIMEOUT_MS:"600000",CLAUDE_MEM_CHROMA_MAX_PENDING_MUTATIONS:"5000",CLAUDE_MEM_CHROMA_EMBEDDING_FUNCTION:"default",CLAUDE_MEM_CHROMA_UVX_PATH:"",CLAUDE_MEM_CLOUD_SYNC_TOKEN:"",CLAUDE_MEM_CLOUD_SYNC_USER_ID:"",CLAUDE_MEM_CLOUD_SYNC_HUB_URL:"",CLAUDE_MEM_CLOUD_SYNC_DEVICE_ID:"",CLAUDE_MEM_CLOUD_SYNC_DEVICE_NAME:fE(),CLAUDE_MEM_CLOUD_SYNC_WS:"true",CLAUDE_MEM_CLOUD_SYNC_CONTENT_BATCH_SIZE:"40",CLAUDE_MEM_CLOUD_SYNC_REQUEST_TIMEOUT_MS:"90000",CLAUDE_MEM_LLM_TIMEOUT_MS:String(dg),CLAUDE_MEM_FIELD_OPTIMIZE_TIMEOUT_MS:String(dg),CLAUDE_MEM_TV_TOKEN:"",CLAUDE_MEM_PRO_TRIAL_EMAIL:"",CLAUDE_MEM_PRO_TRIAL_AT:"",CLAUDE_MEM_PRO_TRIAL_STATE:"",CLAUDE_MEM_PRO_TRIAL_ENDS_AT:"",CLAUDE_MEM_PRO_PLAN:"",CLAUDE_MEM_PRO_FALLBACK_AT:"",CLAUDE_MEM_PRO_FALLBACK_MESSAGE:"",CLAUDE_MEM_PRO_FALLBACK_ACTION:"",CLAUDE_MEM_PRO_FALLBACK_URL:"",CLAUDE_MEM_PRO_MEMORY_KEY:"",CLAUDE_MEM_PRO_MEMORY_BASE_URL:"",CLAUDE_MEM_PRO_MEMORY_MODEL:"",CLAUDE_MEM_TELEGRAM_ENABLED:"true",CLAUDE_MEM_TELEGRAM_BOT_TOKEN:"",CLAUDE_MEM_TELEGRAM_CHAT_ID:"",CLAUDE_MEM_TELEGRAM_WRAPUPS_ENABLED:"true",CLAUDE_MEM_TELEGRAM_OBSERVATION_ALERTS_ENABLED:"false",CLAUDE_MEM_TELEGRAM_WRAPUP_ROUTES:"{}",CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:"security_alert,sensitive",CLAUDE_MEM_TELEGRAM_TRIGGER_CONCEPTS:"",CLAUDE_MEM_GROK_BOT_AWARENESS_ENABLED:"true",CLAUDE_MEM_GROK_BOT_AWARENESS_AGENT_IDS:"521e962d-2ec3-4488-bfbc-54d5209ce118,95601360-61f7-4fd9-bb3a-2c976b2b85c0",CLAUDE_MEM_GROK_BOT_AWARENESS_TRIGGER_TYPES:"decision,bugfix,security_alert,sensitive",CLAUDE_MEM_GROK_BOT_AWARENESS_TRIGGER_CONCEPTS:"",CLAUDE_MEM_GROK_BOT_WEBHOOK_URL:"",CLAUDE_MEM_GROK_BOT_WEBHOOK_SECRET:"",CLAUDE_MEM_GROK_BOT_INJECT_ENABLED:"true",CLAUDE_MEM_GROK_BOT_INJECT_AGENT_IDS:"*",CLAUDE_MEM_GROK_BOT_INJECT_TIER:"episode",CLAUDE_MEM_GROK_BOT_INJECT_WINDOW:"80",CLAUDE_MEM_GROK_BOT_INJECT_FALLBACK:"house",CLAUDE_MEM_GROK_BOT_INJECT_PLATFORM_SOURCE:"",CLAUDE_MEM_GROK_BOT_INJECT_PROJECTS_BY_AGENT:"",CLAUDE_MEM_GROK_BOT_INJECT_MAX_LINE_CHARS:"160",CLAUDE_MEM_GROK_BOT_INJECT_DEBOUNCE_MS:"1500",CLAUDE_MEM_GROK_BOT_INJECT_STANDING_LINE:"",CLAUDE_MEM_CCS_ALIGN_ENABLED:"true",CLAUDE_MEM_CCS_ALIGN_VIEWER_IDS:"ccs-align",CLAUDE_MEM_CCS_ALIGN_TRIGGER_TYPES:"decision,bugfix,security_alert,sensitive",CLAUDE_MEM_CCS_ALIGN_PATCH_SHADOWS:"false",CLAUDE_MEM_QUEUE_ENGINE:"sqlite",CLAUDE_MEM_REDIS_URL:"",CLAUDE_MEM_REDIS_HOST:"127.0.0.1",CLAUDE_MEM_REDIS_PORT:"6379",CLAUDE_MEM_REDIS_MODE:"external",CLAUDE_MEM_QUEUE_REDIS_PREFIX:`claude_mem_${process.env.CLAUDE_MEM_WORKER_PORT??String(37700+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_AUTH_MODE:"api-key",CLAUDE_MEM_RUNTIME:"worker",CLAUDE_MEM_SERVER_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_API_KEY:"",CLAUDE_MEM_SERVER_PROJECT_ID:"",CLAUDE_MEM_SERVER_BETA_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_BETA_API_KEY:"",CLAUDE_MEM_SERVER_BETA_PROJECT_ID:"",CLAUDE_MEM_DEDUP_ENABLED:"false",CLAUDE_MEM_DEDUP_COSINE_THRESHOLD:"0.80",CLAUDE_MEM_DEDUP_IDF_VETO_DF:"10",CLAUDE_MEM_DEDUP_MIN_SHARED_TOKENS:"2",CLAUDE_MEM_DEDUP_MIN_PROJECT_DOCS:"10",CLAUDE_MEM_DEDUP_MAX_SCAN:"2000",CLAUDE_MEM_DEDUP_MAX_BACKFILL_ROWS:"50000",CLAUDE_MEM_TOOL_USES_RETENTION_DAYS:"0",CLAUDE_MEM_WORKER_AUTOSTART:"true",CLAUDE_MEM_PROJECT_NAME_SOURCE:"path"};static getAllDefaults(){return{...this.DEFAULTS}}static get(r){let i=process.env[r]??this.DEFAULTS[r];return r==="CLAUDE_MEM_WORKER_HOST"?this.normalizeWorkerHost(i):i}static normalizeWorkerHost(r){return r==="localhost"?"127.0.0.1":r}static finalizeSettings(r,i){let o=i?this.applyEnvOverrides(r):r;return o.CLAUDE_MEM_WORKER_HOST=this.normalizeWorkerHost(o.CLAUDE_MEM_WORKER_HOST),o}static getInt(r){let i=this.get(r);return parseInt(i,10)}static applyEnvOverrides(r){let i={...r};for(let o of Object.keys(this.DEFAULTS))process.env[o]!==void 0&&(i[o]=process.env[o]);return i}static loadFromFile(r,i=!0,o={}){try{if(!cg(r)){let f=this.getAllDefaults();if(!o.readOnly)try{Re(r,f,{mode:384});for(let m of fg)Gl(r,m);console.warn("[SETTINGS] Created settings file with defaults:",r)}catch(m){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",r,m instanceof Error?m.message:String(m))}return this.finalizeSettings(f,i)}let t=sE(r,"utf-8"),n=jl(t),a=Jt(n),u=a!==n,c=ig(n),s=u&&Object.keys(c).some(f=>f!=="env");if(u&&!s&&!o.readOnly)try{Re(r,a,{mode:384}),console.warn("[SETTINGS] Migrated settings file from nested to flat schema:",r)}catch(f){console.warn("[SETTINGS] Failed to auto-migrate settings file:",r,f instanceof Error?f.message:String(f))}if(a.CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES===mE&&(a={...a,CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:this.DEFAULTS.CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES},!o.readOnly))try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn("[SETTINGS] Migrated Telegram trigger types off the legacy default:",r)}catch(f){console.warn("[SETTINGS] Failed to migrate Telegram trigger types:",r,f instanceof Error?f.message:String(f))}if(hE(a)){let f=String(a.CLAUDE_MEM_OPENROUTER_MODEL).trim();if(a={...a,CLAUDE_MEM_OPENROUTER_MODEL:this.DEFAULTS.CLAUDE_MEM_OPENROUTER_MODEL},!o.readOnly)try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn(`[SETTINGS] Migrated OpenRouter model off the retired default ${f} to ${this.DEFAULTS.CLAUDE_MEM_OPENROUTER_MODEL}:`,r)}catch(m){console.warn("[SETTINGS] Failed to migrate the retired OpenRouter model:",r,m instanceof Error?m.message:String(m))}}let l=yE(a.CLAUDE_MEM_CLOUD_SYNC_HUB_URL);if(l!==null&&(a={...a,CLAUDE_MEM_CLOUD_SYNC_HUB_URL:l},!o.readOnly))try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn("[SETTINGS] Migrated cloud sync hub URL to",l,"from a retired hub host:",r)}catch(f){console.warn("[SETTINGS] Failed to migrate cloud sync hub URL:",r,f instanceof Error?f.message:String(f))}for(let f of fg)if(!cg(pg(r,f))){if(a[f.key]!==f.legacy){o.readOnly||Gl(r,f);continue}if(a={...a,[f.key]:this.DEFAULTS[f.key]},!o.readOnly)try{Re(r,s?{...c,env:a}:a,{mode:384}),Gl(r,f),console.warn(`[SETTINGS] Migrated ${f.key} off the old ${f.legacy}ms default to ${this.DEFAULTS[f.key]}ms:`,r)}catch(m){let _=`${f.key}\0${r}`;mg.has(_)||(mg.add(_),console.warn(`[SETTINGS] Failed to migrate ${f.key}; using the new default in memory (reported once per process):`,r,m instanceof Error?m.message:String(m)))}}let d={...this.DEFAULTS};for(let f of Object.keys(this.DEFAULTS))a[f]!==void 0&&(d[f]=$E(a[f]));return this.finalizeSettings(d,i)}catch(t){console.warn("[SETTINGS] Failed to load settings, using defaults:",r,t instanceof Error?t.message:String(t));let n=this.getAllDefaults();return this.finalizeSettings(n,i)}}};function gg(e,r){let i;try{i=JSON.parse(e)}catch{return"Failed to parse search results."}let o=i.content;if(!Array.isArray(o)||o.length===0)return`No results found for "${r}".`;let t=o.filter(n=>n.type==="text"&&typeof n.text=="string").map(n=>n.text).join(`
74
- `).trim();return t||`No results found for "${r}".`}var _g="claude";function EE(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function vg(e){if(!e)return _g;let r=EE(e);return r?r==="transcript"||r.includes("codex")?"codex":r.includes("cursor")?"cursor":r.includes("claude")?"claude":r.includes("kimi")?"kimi":r==="pi-mono"?"pi":r==="agy"||r==="antigravity"||r.startsWith("antigravity-")?"antigravity-cli":r:_g}var bE=new Set(["ECONNREFUSED","ConnectionRefused"]);function Jl(e,r){if(!e||typeof e!="object"||r.has(e))return!1;r.add(e);let i=e;return typeof i.code=="string"&&bE.has(i.code)||Jl(i.cause,r)?!0:Array.isArray(i.errors)&&i.errors.some(o=>Jl(o,r))}function Wl(e){return Jl(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}function $g(e){return e.startsWith("[")&&e.endsWith("]")?e:e.includes(":")?`[${e}]`:e}var IE=[500,1e3,2e3,3e3,4e3];async function hg(e,r=IE){for(let i of r)if(await new Promise(o=>setTimeout(o,i)),!await e())return}function kE(){let e=SE(Xr.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),r=Xr.loadFromFile(e);return`http://${$g(r.CLAUDE_MEM_WORKER_HOST)}:${r.CLAUDE_MEM_WORKER_PORT}`}var Sg=kE(),yg=1e3,Wt="opencode",xE=new Map([["read","Read"],["write","Write"],["edit","Edit"]]),kg={"Content-Type":"application/json"},xg=5e3;function Hl(e){return e instanceof Error?e.message:String(e)}async function Eg(e,r,i){try{let o=await e(`${Sg}${r}`,{method:"POST",headers:kg,body:i,signal:AbortSignal.timeout(xg)});return o.ok||console.warn(`[claude-mem] Worker POST ${r} returned ${o.status}`),!1}catch(o){return Wl(o)?!0:(console.warn(`[claude-mem] Worker POST ${r} failed: ${Hl(o)}`),!1)}}async function ao(e,r){let i=JSON.stringify({...r,platformSource:vg(Wt)}),o=fetch;await Eg(o,e,i)&&hg(()=>Eg(o,e,i))}async function bg(e){try{let r=await fetch(`${Sg}${e}`,{headers:kg,signal:AbortSignal.timeout(xg)});return r.ok?await r.text():(console.warn(`[claude-mem] Worker GET ${e} returned ${r.status}`),null)}catch(r){return Wl(r)||console.warn(`[claude-mem] Worker GET ${e} failed: ${Hl(r)}`),null}}var ot=new Map,Dg=1e3,je=new Map,DE=6e4;function AE(e){if(!ot.has(e)){for(;ot.size>=Dg;){let r=ot.keys().next().value;if(r!==void 0)ot.delete(r);else break}ot.set(e,`opencode-${e}-${Date.now()}`)}return ot.get(e)}function uo(e){return AE(e)}async function OE(e,r,i){let o=uo(e);await ao("/api/sessions/init",{contentSessionId:o,prompt:i,cwd:r,platform_source:Wt})}function Ig(e){return e.length>yg?e.slice(0,yg):e}async function wE(e,r,i){let o=e?.session;if(typeof o?.messages!="function")return"";try{let{data:t}=await o.messages({path:{id:r},query:{directory:i}}),n=null;for(let a of t??[]){let u=a.info?.time?.completed;if(a.info?.role!=="assistant"||a.info.summary===!0||typeof u!="number")continue;let c=(a.parts??[]).filter(s=>s.type==="text"&&s.ignored!==!0&&typeof s.text=="string").map(s=>s.text).join(`
73
+ `)}debug(r,i,o,t){this.log(0,r,i,o,t)}info(r,i,o,t){this.log(1,r,i,o,t)}warn(r,i,o,t){this.log(2,r,i,o,t)}setErrorSink(r){Vl=r}error(r,i,o,t){this.log(3,r,i,o,t),this.routeErrorToSink(i,o,t)}routeErrorToSink(r,i,o){try{if(!Vl||!(o instanceof Error))return;Vl(o)}catch{}}dataIn(r,i,o,t){this.info(r,`\u2192 ${i}`,o,t)}dataOut(r,i,o,t){this.info(r,`\u2190 ${i}`,o,t)}success(r,i,o,t){this.info(r,`\u2713 ${i}`,o,t)}failure(r,i,o,t){this.error(r,`\u2717 ${i}`,o,t)}},uE=new Bl;function sg(e){try{return new URL(e).hostname.toLowerCase()==="openrouter.ai"}catch{return!1}}var mE="security_alert",pE="sync-hub.black-pond-afbb.workers.dev",gE="ziczmqtpmaxbornfghye.supabase.co",_E="https://sync.cmem.ai",vE=new Set(["xiaomi/mimo-v2-flash:free"]);function $E(e){return typeof e=="boolean"?String(e):e}function hE(e){let r=e.CLAUDE_MEM_OPENROUTER_MODEL;if(typeof r!="string"||!vE.has(r.trim()))return!1;let i=typeof e.CLAUDE_MEM_OPENROUTER_BASE_URL=="string"?e.CLAUDE_MEM_OPENROUTER_BASE_URL.trim():"";return i===""||sg(i)}var dg=18e4,fg=[{key:"CLAUDE_MEM_LLM_TIMEOUT_MS",legacy:"30000",markerTag:"llm-timeout-migrated-v1"},{key:"CLAUDE_MEM_FIELD_OPTIMIZE_TIMEOUT_MS",legacy:"30000",markerTag:"field-optimize-timeout-migrated-v1"}];function pg(e,r){return Kl(dE(e),`.${lE(e)}.${r.markerTag}`)}function Gl(e,r){try{cE(pg(e,r),new Date().toISOString(),{encoding:"utf-8",mode:384})}catch{}}var mg=new Set;function yE(e){if(typeof e!="string")return null;let r=e.trim();if(r.length===0)return null;try{let i=new URL(r).hostname;if(i===pE||i===gE)return _E}catch{return null}return null}var Xr=class{static DEFAULTS={CLAUDE_MEM_MEMORY_SEARCH_HOOK_ENABLED:"true",CLAUDE_MEM_MEMORY_INSTRUCTIONS_ENABLED:"true",CLAUDE_MEM_MEMORY_WATCH_ROOTS:"",CLAUDE_MEM_MODEL:"claude-haiku-4-5-20251001",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES:"false",CLAUDE_MEM_WORKER_PORT:String(37700+(process.getuid?.()??77)%100),CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_ALLOWED_ORIGINS:"",CLAUDE_MEM_PUBLIC_URL:"",CLAUDE_MEM_API_TIMEOUT_MS:String(eg(io.API_REQUEST)),CLAUDE_MEM_SESSION_INIT_TIMEOUT_MS:String(Qp()),CLAUDE_MEM_IDLE_EXIT_SEC:"0",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_SKIP_BASH_PATTERNS:"",CLAUDE_MEM_SKIP_SUBAGENT_OBSERVATIONS:"false",CLAUDE_MEM_SKIP_AGENT_TYPES:"",CLAUDE_MEM_CAPTURE_ADVISOR_CALLS:"false",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_CODEX_MODEL:"",CLAUDE_MEM_CODEX_PATH:"codex",CLAUDE_MEM_CODEX_REASONING_EFFORT:"low",CLAUDE_MEM_CODEX_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_CODEX_OBSERVATION_BATCH_SIZE:"8",CLAUDE_MEM_CODEX_OBSERVATION_BATCH_MAX_CHARS:"32000",CLAUDE_MEM_CLAUDE_AUTH_METHOD:"subscription",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_API_KEYS:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-flash-latest",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_OPENROUTER_API_KEY:"",CLAUDE_MEM_OPENROUTER_API_KEYS:"",CLAUDE_MEM_OPENROUTER_MODEL:"cohere/north-mini-code:free",CLAUDE_MEM_OPENROUTER_BASE_URL:"",CLAUDE_MEM_OPENROUTER_TEMPERATURE:"",CLAUDE_MEM_OPENROUTER_SITE_URL:"",CLAUDE_MEM_OPENROUTER_APP_NAME:"claude-mem",CLAUDE_MEM_OPENROUTER_EXTRA_BODY:"",CLAUDE_MEM_OPENROUTER_REASONING_EFFORT:"",CLAUDE_MEM_OPENAI_COMPAT_PRESET:"",CLAUDE_MEM_OPENAI_COMPAT_API_KEY:"",CLAUDE_MEM_OPENAI_COMPAT_API_KEYS:"",CLAUDE_MEM_OPENAI_COMPAT_BASE_URL:"",CLAUDE_MEM_OPENAI_COMPAT_MODEL:"",CLAUDE_MEM_QUOTA_FALLBACK_PROVIDER:"claude",CLAUDE_MEM_QUOTA_FALLBACK_MODEL:"",CLAUDE_MEM_QUOTA_THRESHOLD_FIVE_HOUR:"0.95",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY:"0.93",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY_OPUS:"0.93",CLAUDE_MEM_QUOTA_THRESHOLD_SEVEN_DAY_SONNET:"0.92",CLAUDE_MEM_QUOTA_THRESHOLD_OVERAGE:"0.95",CLAUDE_MEM_DATA_DIR:Kl(lg(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_CLAUDE_CONFIG_DIR:"",CLAUDE_MEM_OBSERVER_CLAUDE_CONFIG_DIR:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"false",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:"",CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:"",CLAUDE_MEM_CONTEXT_FULL_COUNT:"0",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false",CLAUDE_MEM_CONTEXT_MAIN_AGENT_ONLY:"true",CLAUDE_MEM_REINFORCE_ALPHA:"0",CLAUDE_MEM_CONTEXT_SHOW_TERMINAL_OUTPUT:"true",CLAUDE_MEM_WELCOME_HINT_ENABLED:"true",CLAUDE_MEM_WORK_STATE_ENABLED:"true",CLAUDE_MEM_FILE_READ_GATE_ENABLED:"true",CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED:"false",CLAUDE_MEM_FOLDER_USE_LOCAL_MD:"false",CLAUDE_MEM_TRANSCRIPTS_ENABLED:"true",CLAUDE_MEM_TRANSCRIPTS_CONFIG_PATH:Kl(lg(),".claude-mem","transcript-watch.json"),CLAUDE_MEM_CODEX_TRANSCRIPT_INGESTION:"false",CLAUDE_MEM_CODEX_SUBAGENT_INGESTION:"false",CLAUDE_MEM_MAX_CONCURRENT_AGENTS:"2",CLAUDE_MEM_OBSERVER_MAX_CONVERSATION_CHARS:"400000",CLAUDE_MEM_OBSERVER_CONTEXT_WINDOW:"",CLAUDE_MEM_OBSERVER_MAX_OUTPUT_TOKENS:"4096",CLAUDE_MEM_OBSERVE_BARE_PROMPTS:"false",CLAUDE_MEM_HOOK_FAIL_LOUD_THRESHOLD:"3",CLAUDE_MEM_REDACT_ENABLED:"false",CLAUDE_MEM_REDACT_DISABLED_BUILTINS:"",CLAUDE_MEM_REDACT_CUSTOM_PATTERNS:"[]",CLAUDE_MEM_REDACT_LOG_MATCHES:"false",CLAUDE_MEM_EXCLUDED_PROJECTS:"",CLAUDE_MEM_PROJECT_ENVIRONMENTS:"[]",CLAUDE_MEM_FOLDER_MD_EXCLUDE:"[]",CLAUDE_MEM_FOLDER_MD_SKELETON_DENYLIST:"[]",CLAUDE_MEM_SEMANTIC_INJECT:"false",CLAUDE_MEM_SEMANTIC_INJECT_LIMIT:"5",CLAUDE_MEM_SEMANTIC_INJECT_FORMAT:"narrative",CLAUDE_MEM_TIER_ROUTING_ENABLED:"true",CLAUDE_MEM_TIER_SIMPLE_MODEL:"haiku",CLAUDE_MEM_TIER_SUMMARY_MODEL:"",CLAUDE_MEM_TIER_FAST_MODEL:"haiku",CLAUDE_MEM_TIER_SMART_MODEL:"sonnet",CLAUDE_MEM_CHROMA_ENABLED:"true",CLAUDE_MEM_CHROMA_MODE:"local",CLAUDE_MEM_CHROMA_HOST:"127.0.0.1",CLAUDE_MEM_CHROMA_PORT:"8000",CLAUDE_MEM_CHROMA_SSL:"false",CLAUDE_MEM_CHROMA_API_KEY:"",CLAUDE_MEM_CHROMA_TENANT:"default_tenant",CLAUDE_MEM_CHROMA_DATABASE:"default_database",CLAUDE_MEM_CHROMA_PREWARM_TIMEOUT_MS:"120000",CLAUDE_MEM_CHROMA_MUTATION_TIMEOUT_MS:"600000",CLAUDE_MEM_CHROMA_MAX_PENDING_MUTATIONS:"5000",CLAUDE_MEM_CHROMA_EMBEDDING_FUNCTION:"default",CLAUDE_MEM_CHROMA_UVX_PATH:"",CLAUDE_MEM_CLOUD_SYNC_TOKEN:"",CLAUDE_MEM_CLOUD_SYNC_USER_ID:"",CLAUDE_MEM_CLOUD_SYNC_HUB_URL:"",CLAUDE_MEM_CLOUD_SYNC_DEVICE_ID:"",CLAUDE_MEM_CLOUD_SYNC_DEVICE_NAME:fE(),CLAUDE_MEM_CLOUD_SYNC_WS:"true",CLAUDE_MEM_CLOUD_SYNC_CONTENT_BATCH_SIZE:"40",CLAUDE_MEM_CLOUD_SYNC_REQUEST_TIMEOUT_MS:"90000",CLAUDE_MEM_LLM_TIMEOUT_MS:String(dg),CLAUDE_MEM_FIELD_OPTIMIZE_TIMEOUT_MS:String(dg),CLAUDE_MEM_TV_TOKEN:"",CLAUDE_MEM_PRO_TRIAL_EMAIL:"",CLAUDE_MEM_PRO_TRIAL_AT:"",CLAUDE_MEM_PRO_TRIAL_STATE:"",CLAUDE_MEM_PRO_TRIAL_ENDS_AT:"",CLAUDE_MEM_PRO_PLAN:"",CLAUDE_MEM_PRO_FALLBACK_AT:"",CLAUDE_MEM_PRO_FALLBACK_MESSAGE:"",CLAUDE_MEM_PRO_FALLBACK_ACTION:"",CLAUDE_MEM_PRO_FALLBACK_URL:"",CLAUDE_MEM_PRO_MEMORY_KEY:"",CLAUDE_MEM_PRO_MEMORY_BASE_URL:"",CLAUDE_MEM_PRO_MEMORY_MODEL:"",CLAUDE_MEM_TELEGRAM_ENABLED:"true",CLAUDE_MEM_TELEGRAM_BOT_TOKEN:"",CLAUDE_MEM_TELEGRAM_CHAT_ID:"",CLAUDE_MEM_TELEGRAM_WRAPUPS_ENABLED:"true",CLAUDE_MEM_TELEGRAM_OBSERVATION_ALERTS_ENABLED:"false",CLAUDE_MEM_TELEGRAM_WRAPUP_ROUTES:"{}",CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:"security_alert,sensitive",CLAUDE_MEM_TELEGRAM_TRIGGER_CONCEPTS:"",CLAUDE_MEM_GROK_BOT_AWARENESS_ENABLED:"true",CLAUDE_MEM_GROK_BOT_AWARENESS_AGENT_IDS:"521e962d-2ec3-4488-bfbc-54d5209ce118,95601360-61f7-4fd9-bb3a-2c976b2b85c0",CLAUDE_MEM_GROK_BOT_AWARENESS_TRIGGER_TYPES:"decision,bugfix,security_alert,sensitive",CLAUDE_MEM_GROK_BOT_AWARENESS_TRIGGER_CONCEPTS:"",CLAUDE_MEM_GROK_BOT_WEBHOOK_URL:"",CLAUDE_MEM_GROK_BOT_WEBHOOK_SECRET:"",CLAUDE_MEM_GROK_BOT_INJECT_ENABLED:"true",CLAUDE_MEM_GROK_BOT_INJECT_AGENT_IDS:"*",CLAUDE_MEM_GROK_BOT_INJECT_TIER:"episode",CLAUDE_MEM_GROK_BOT_INJECT_WINDOW:"80",CLAUDE_MEM_GROK_BOT_INJECT_FALLBACK:"house",CLAUDE_MEM_GROK_BOT_INJECT_PLATFORM_SOURCE:"",CLAUDE_MEM_GROK_BOT_INJECT_PROJECTS_BY_AGENT:"",CLAUDE_MEM_GROK_BOT_INJECT_MAX_LINE_CHARS:"160",CLAUDE_MEM_GROK_BOT_INJECT_DEBOUNCE_MS:"1500",CLAUDE_MEM_GROK_BOT_INJECT_STANDING_LINE:"",CLAUDE_MEM_CCS_ALIGN_ENABLED:"true",CLAUDE_MEM_CCS_ALIGN_VIEWER_IDS:"ccs-align",CLAUDE_MEM_CCS_ALIGN_TRIGGER_TYPES:"decision,bugfix,security_alert,sensitive",CLAUDE_MEM_CCS_ALIGN_PATCH_SHADOWS:"false",CLAUDE_MEM_QUEUE_ENGINE:"sqlite",CLAUDE_MEM_REDIS_URL:"",CLAUDE_MEM_REDIS_HOST:"127.0.0.1",CLAUDE_MEM_REDIS_PORT:"6379",CLAUDE_MEM_REDIS_MODE:"external",CLAUDE_MEM_QUEUE_REDIS_PREFIX:`claude_mem_${process.env.CLAUDE_MEM_WORKER_PORT??String(37700+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_AUTH_MODE:"api-key",CLAUDE_MEM_RUNTIME:"worker",CLAUDE_MEM_SERVER_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_API_KEY:"",CLAUDE_MEM_SERVER_PROJECT_ID:"",CLAUDE_MEM_SERVER_BETA_URL:`http://127.0.0.1:${process.env.CLAUDE_MEM_SERVER_PORT??String(37877+(process.getuid?.()??77)%100)}`,CLAUDE_MEM_SERVER_BETA_API_KEY:"",CLAUDE_MEM_SERVER_BETA_PROJECT_ID:"",CLAUDE_MEM_DEDUP_ENABLED:"false",CLAUDE_MEM_DEDUP_COSINE_THRESHOLD:"0.80",CLAUDE_MEM_DEDUP_IDF_VETO_DF:"10",CLAUDE_MEM_DEDUP_MIN_SHARED_TOKENS:"2",CLAUDE_MEM_DEDUP_MIN_PROJECT_DOCS:"10",CLAUDE_MEM_DEDUP_MAX_SCAN:"2000",CLAUDE_MEM_DEDUP_MAX_BACKFILL_ROWS:"50000",CLAUDE_MEM_TOOL_USES_RETENTION_DAYS:"0",CLAUDE_MEM_WORKER_AUTOSTART:"true",CLAUDE_MEM_PROJECT_NAME_SOURCE:"path"};static getAllDefaults(){return{...this.DEFAULTS}}static get(r){let i=process.env[r]??this.DEFAULTS[r];return r==="CLAUDE_MEM_WORKER_HOST"?this.normalizeWorkerHost(i):i}static normalizeWorkerHost(r){return r==="localhost"?"127.0.0.1":r}static finalizeSettings(r,i){let o=i?this.applyEnvOverrides(r):r;return o.CLAUDE_MEM_WORKER_HOST=this.normalizeWorkerHost(o.CLAUDE_MEM_WORKER_HOST),o}static getInt(r){let i=this.get(r);return parseInt(i,10)}static applyEnvOverrides(r){let i={...r};for(let o of Object.keys(this.DEFAULTS))process.env[o]!==void 0&&(i[o]=process.env[o]);return i}static loadFromFile(r,i=!0,o={}){try{if(!cg(r)){let f=this.getAllDefaults();if(!o.readOnly)try{Re(r,f,{mode:384});for(let m of fg)Gl(r,m);console.warn("[SETTINGS] Created settings file with defaults:",r)}catch(m){console.warn("[SETTINGS] Failed to create settings file, using in-memory defaults:",r,m instanceof Error?m.message:String(m))}return this.finalizeSettings(f,i)}let t=sE(r,"utf-8"),n=jl(t),a=Jt(n),u=a!==n,c=ig(n),s=u&&Object.keys(c).some(f=>f!=="env");if(u&&!s&&!o.readOnly)try{Re(r,a,{mode:384}),console.warn("[SETTINGS] Migrated settings file from nested to flat schema:",r)}catch(f){console.warn("[SETTINGS] Failed to auto-migrate settings file:",r,f instanceof Error?f.message:String(f))}if(a.CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES===mE&&(a={...a,CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES:this.DEFAULTS.CLAUDE_MEM_TELEGRAM_TRIGGER_TYPES},!o.readOnly))try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn("[SETTINGS] Migrated Telegram trigger types off the legacy default:",r)}catch(f){console.warn("[SETTINGS] Failed to migrate Telegram trigger types:",r,f instanceof Error?f.message:String(f))}if(hE(a)){let f=String(a.CLAUDE_MEM_OPENROUTER_MODEL).trim();if(a={...a,CLAUDE_MEM_OPENROUTER_MODEL:this.DEFAULTS.CLAUDE_MEM_OPENROUTER_MODEL},!o.readOnly)try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn(`[SETTINGS] Migrated OpenRouter model off the retired default ${f} to ${this.DEFAULTS.CLAUDE_MEM_OPENROUTER_MODEL}:`,r)}catch(m){console.warn("[SETTINGS] Failed to migrate the retired OpenRouter model:",r,m instanceof Error?m.message:String(m))}}let l=yE(a.CLAUDE_MEM_CLOUD_SYNC_HUB_URL);if(l!==null&&(a={...a,CLAUDE_MEM_CLOUD_SYNC_HUB_URL:l},!o.readOnly))try{Re(r,s?{...c,env:a}:a,{mode:384}),console.warn("[SETTINGS] Migrated cloud sync hub URL to",l,"from a retired hub host:",r)}catch(f){console.warn("[SETTINGS] Failed to migrate cloud sync hub URL:",r,f instanceof Error?f.message:String(f))}for(let f of fg)if(!cg(pg(r,f))){if(a[f.key]!==f.legacy){o.readOnly||Gl(r,f);continue}if(a={...a,[f.key]:this.DEFAULTS[f.key]},!o.readOnly)try{Re(r,s?{...c,env:a}:a,{mode:384}),Gl(r,f),console.warn(`[SETTINGS] Migrated ${f.key} off the old ${f.legacy}ms default to ${this.DEFAULTS[f.key]}ms:`,r)}catch(m){let _=`${f.key}\0${r}`;mg.has(_)||(mg.add(_),console.warn(`[SETTINGS] Failed to migrate ${f.key}; using the new default in memory (reported once per process):`,r,m instanceof Error?m.message:String(m)))}}let d={...this.DEFAULTS};for(let f of Object.keys(this.DEFAULTS))a[f]!==void 0&&(d[f]=$E(a[f]));return this.finalizeSettings(d,i)}catch(t){console.warn("[SETTINGS] Failed to load settings, using defaults:",r,t instanceof Error?t.message:String(t));let n=this.getAllDefaults();return this.finalizeSettings(n,i)}}};function gg(e,r){let i;try{i=JSON.parse(e)}catch{return"Failed to parse search results."}let o=i.content;if(!Array.isArray(o)||o.length===0)return`No results found for "${r}".`;let t=o.filter(n=>n.type==="text"&&typeof n.text=="string").map(n=>n.text).join(`
74
+ `).trim();return t||`No results found for "${r}".`}var _g="claude";function EE(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function vg(e){if(!e)return _g;let r=EE(e);return r?r==="transcript"||r.includes("codex")?"codex":r.includes("cursor")?"cursor":r.includes("claude")?"claude":r.includes("kimi")?"kimi":r==="pi-mono"?"pi":r==="agy"||r==="antigravity"||r.startsWith("antigravity-")?"antigravity-cli":r:_g}var bE=new Set(["ECONNREFUSED","ConnectionRefused"]);function Jl(e,r){if(!e||typeof e!="object"||r.has(e))return!1;if(r.add(e),e instanceof Error&&e.message.includes("ECONNREFUSED"))return!0;let i=e;return typeof i.code=="string"&&bE.has(i.code)||Jl(i.cause,r)?!0:Array.isArray(i.errors)&&i.errors.some(o=>Jl(o,r))}function Wl(e){return Jl(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}function $g(e){return e.startsWith("[")&&e.endsWith("]")?e:e.includes(":")?`[${e}]`:e}var IE=[500,1e3,2e3,3e3,4e3];async function hg(e,r=IE){for(let i of r)if(await new Promise(o=>setTimeout(o,i)),!await e())return}function kE(){let e=SE(Xr.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),r=Xr.loadFromFile(e);return`http://${$g(r.CLAUDE_MEM_WORKER_HOST)}:${r.CLAUDE_MEM_WORKER_PORT}`}var Sg=kE(),yg=1e3,Wt="opencode",xE=new Map([["read","Read"],["write","Write"],["edit","Edit"]]),kg={"Content-Type":"application/json"},xg=5e3;function Hl(e){return e instanceof Error?e.message:String(e)}async function Eg(e,r,i){try{let o=await e(`${Sg}${r}`,{method:"POST",headers:kg,body:i,signal:AbortSignal.timeout(xg)});return o.ok||console.warn(`[claude-mem] Worker POST ${r} returned ${o.status}`),!1}catch(o){return Wl(o)?!0:(console.warn(`[claude-mem] Worker POST ${r} failed: ${Hl(o)}`),!1)}}async function ao(e,r){let i=JSON.stringify({...r,platformSource:vg(Wt)}),o=fetch;await Eg(o,e,i)&&hg(()=>Eg(o,e,i))}async function bg(e){try{let r=await fetch(`${Sg}${e}`,{headers:kg,signal:AbortSignal.timeout(xg)});return r.ok?await r.text():(console.warn(`[claude-mem] Worker GET ${e} returned ${r.status}`),null)}catch(r){return Wl(r)||console.warn(`[claude-mem] Worker GET ${e} failed: ${Hl(r)}`),null}}var ot=new Map,Dg=1e3,je=new Map,DE=6e4;function AE(e){if(!ot.has(e)){for(;ot.size>=Dg;){let r=ot.keys().next().value;if(r!==void 0)ot.delete(r);else break}ot.set(e,`opencode-${e}-${Date.now()}`)}return ot.get(e)}function uo(e){return AE(e)}async function OE(e,r,i){let o=uo(e);await ao("/api/sessions/init",{contentSessionId:o,prompt:i,cwd:r,platform_source:Wt})}function Ig(e){return e.length>yg?e.slice(0,yg):e}async function wE(e,r,i){let o=e?.session;if(typeof o?.messages!="function")return"";try{let{data:t}=await o.messages({path:{id:r},query:{directory:i}}),n=null;for(let a of t??[]){let u=a.info?.time?.completed;if(a.info?.role!=="assistant"||a.info.summary===!0||typeof u!="number")continue;let c=(a.parts??[]).filter(s=>s.type==="text"&&s.ignored!==!0&&typeof s.text=="string").map(s=>s.text).join(`
75
75
  `).trim();c&&(!n||u>=n.completed)&&(n={completed:u,text:c})}return n?.text??""}catch(t){return console.warn(`[claude-mem] OpenCode message list failed for ${r}: ${Hl(t)}`),""}}function so(e){function r(o,t){let n=je.get(o);if(n&&(n.failedAt===void 0||Date.now()-n.failedAt<DE))return n.request;for(je.delete(o);je.size>=Dg;){let u=je.keys().next().value;if(u===void 0)break;je.delete(u)}let a={request:bg(`/api/context/inject?cwd=${encodeURIComponent(t)}&platformSource=${Wt}`)};return je.set(o,a),a.request.then(u=>{u||(a.failedAt=Date.now())}),a.request}async function i(o,t={}){let n=uo(o);await ao("/api/sessions/summarize",{contentSessionId:n,last_assistant_message:t.lastAssistantMessage??await wE(e.client,o,e.directory),cwd:e.directory,platform_source:Wt})}return{async captureTool({tool:o,sessionID:t,args:n,output:a}){let u=uo(t),c=n||{};if(o==="apply_patch"&&typeof c.patchText=="string"){let{patchText:s,...l}=c;c={...l,patch:s}}await ao("/api/sessions/observations",{contentSessionId:u,tool_name:xE.get(o)??o,tool_input:c,tool_response:Ig(a||""),cwd:e.directory,platform_source:Wt})},async captureUserPrompt(o,t){await OE(o,e.directory,t)},async captureAssistantMessage(o,t){let n=uo(o);t&&await ao("/api/sessions/observations",{contentSessionId:n,tool_name:"assistant_message",tool_input:{},tool_response:Ig(t),cwd:e.directory,platform_source:Wt})},captureSummary:i,forgetMemoryContext(o){je.delete(o)},forgetSession(o){ot.delete(o),je.delete(o)},memoryContext(o){return r(o,e.directory)},async search(o){if(!o)return"Please provide a search query.";let t=await bg(`/api/search/observations?query=${encodeURIComponent(o)}&limit=10`);return t?gg(t,o):"claude-mem worker is not running. Start it with: npx claude-mem start"}}}function Ag(e){return(e||[]).filter(r=>r.type==="text"&&typeof r.text=="string").map(r=>r.text).join(`
76
76
  `)}function Og(e){console.log(`[claude-mem] OpenCode plugin loading (directory: ${e.directory})`);let r=so(e);return{"tool.execute.after":async(i,o)=>{await r.captureTool({tool:i.tool,sessionID:i.sessionID,args:i.args,output:o.output||""})},"chat.message":async(i,o)=>{let t=o.message?.sessionID;if(t){if(o.message?.role==="user"){let n=Ag(o.parts).trim();n&&await r.captureUserPrompt(t,n);return}o.message?.role==="assistant"&&await r.captureAssistantMessage(t,Ag(o.parts))}},"experimental.session.compacting":async i=>{r.forgetMemoryContext(i.sessionID),await r.captureSummary(i.sessionID)},"experimental.chat.system.transform":async(i,o)=>{let t=await r.memoryContext(i.sessionID??"");t?.trim()&&o.system.push(t)},event:async({event:i})=>{let o=i?.type,t=i?.properties?.sessionID||i?.properties?.info?.id;if(t)switch(o){case"session.idle":{await r.captureSummary(t);break}case"session.deleted":{r.forgetSession(t);break}default:break}},tool:{claude_mem_search:{description:"Search claude-mem memory database for past observations, sessions, and context",args:{query:no.string().describe("Search query for memory observations")},execute:async i=>r.search(String(i.query||""))}}}}import Fx from"path";import{existsSync as Gx,readFileSync as Kx,writeFileSync as Jx,mkdirSync as Wx}from"fs";var Xl="<claude-mem-context>",wg="</claude-mem-context>";var Ug="claude-mem",UE=1e4,TE=1e3;function Yl(e){if(e instanceof Error)return e.message;let r=e?.message;return typeof r=="string"?r:String(e)}function CE(e){for(let r=e.length-1;r>=0;r--){let i=e[r];i?.type==="text"&&i.text?.startsWith(Xl)&&e.splice(r,1)}}function ME(e,r){return new Promise(i=>{let o=()=>{clearTimeout(t),r.removeEventListener("abort",o),i()},t=setTimeout(o,e);t.unref?.(),r.addEventListener("abort",o,{once:!0})})}async function zE(e,r,i,o){for(;!i.aborted;){try{for await(let t of e({signal:i})){if(i.aborted)break;r(t)}}catch(t){i.aborted||console.warn(`[claude-mem] OpenCode event stream failed: ${Yl(t)}`)}i.aborted||await ME(o,i)}}function NE(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return"";let r=e;if(typeof r.content=="string"&&r.content.trim())return r.content;if(Array.isArray(r.content)){let i=r.content.filter(o=>o?.type==="text"&&typeof o.text=="string").map(o=>o.text).join(`
77
77
  `);if(i.trim())return i}if(typeof r.output=="string")return r.output;if(r.output&&typeof r.output=="object"){let i=r.output.output;if(typeof i=="string")return i}return""}async function Tg(e,r={}){let i={directory:e.location?.directory??"",client:e.client};console.log(`[claude-mem] OpenCode plugin loading (directory: ${i.directory})`);let o=so(i),t=[],n=new Map,a=v=>{if(!n.has(v)){if(n.size>=TE){let E=n.keys().next().value;E!==void 0&&n.delete(E)}n.set(v,"")}},u=async()=>{await Promise.allSettled(t.map(v=>v.dispose()))},c=async v=>{try{t.push(await v())}catch(E){throw await u(),E}},s=e.tool,l=e.session;if(s?.hook){let v=s.hook.bind(s);await c(()=>v("execute.after",async E=>{let k=E.sessionID,S=E.tool;if(!k||!S)return;a(k);let x=E.input??E.args,C=E.result,P=E.status==="error"?Yl(E.error??""):NE(C);await o.captureTool({tool:S,sessionID:k,args:x,output:P})}))}if(l?.hook){let v=l.hook.bind(l);await c(()=>v("prompt",async E=>{let k=E?.prompt?.text?.trim();!E?.sessionID||!k||(a(E.sessionID),await o.captureUserPrompt(E.sessionID,k))})),await c(()=>v("context",async E=>{if(!E?.sessionID||!Array.isArray(E.system))return;let k=(await o.memoryContext(E.sessionID))?.trim();k&&(CE(E.system),E.system.push({type:"text",text:`${Xl}
@@ -5,7 +5,7 @@ var Bc=Object.defineProperty;var qt=(e,t)=>{for(var r in t)Bc(e,r,{get:t[r],enum
5
5
  `,r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u(",",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(`
6
6
  `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))))),([t,r])=>[t,r]),lm=(e,t=[])=>o(o(cm(e),([r,n])=>o(dm(n),([a,s])=>[[r,a],s])),([r,n])=>lm(n,[...t,r]),()=>[t,e]),ff=e=>o(o(lm(e),([t,r])=>o(o(o(cm(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[qi(t),r]),ca=e=>o(o(u("{",e),([t,r])=>o(ff(r),([n,a])=>o(u("}",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Ai(t),r]),xf=e=>o(ca(e),([t,r])=>[Li(t),r]),If=e=>o(o(o(B(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,f])=>o(A(f),([v,q])=>[[t,n,s,c,v],q]))))),([t,r])=>[t,r],()=>o(o(B(e),([t,r])=>o(u(":",r),([n,a])=>o(u("readonly",a),([s,m])=>o(A(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[t,r],()=>o(o(B(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(A(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[t,r],()=>o(o(B(e),([t,r])=>o(u(":",r),([n,a])=>o(A(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>[])))),([t,r])=>[Fi(t),r]),yf=e=>o(o(u("readonly",e),([t,r])=>o(A(r),([n,a])=>o(u("?",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Ki(t),r]),gf=e=>o(o(u("readonly",e),([t,r])=>o(A(r),([n,a])=>[[t,n],a])),([t,r])=>[Ui(t),r]),$f=e=>o(o(A(e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[Ni(t),r]),Js=e=>o(o(If(e),([t,r])=>[t,r],()=>o(yf(e),([t,r])=>[t,r],()=>o(gf(e),([t,r])=>[t,r],()=>o($f(e),([t,r])=>[t,r],()=>o(A(e),([t,r])=>[t,r],()=>[]))))),([t,r])=>[t,r]),fm=e=>o(o(o(u("...",e),([t,r])=>o(Js(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(Js(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[Di(t),r]),xm=(e,t=[])=>o(o(fm(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>xm(n,[...t,r]),()=>[t,e]),bf=e=>o(o(xm(e),([t,r])=>o(o(o(fm(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Gi(t),r]),Tf=e=>o(o(u("[",e),([t,r])=>o(bf(r),([n,a])=>o(u("]",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[zi(t),r]),hf=e=>o(o(B(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,f])=>o(A(f),([v,q])=>[[t,n,s,c,v],q]))))),([t,r])=>[_i(t),r]),kf=e=>o(o(B(e),([t,r])=>o(u(":",r),([n,a])=>o(u("readonly",a),([s,m])=>o(A(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[Bi(t),r]),Ef=e=>o(o(B(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(A(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[Hi(t),r]),Pf=e=>o(o(B(e),([t,r])=>o(u(":",r),([n,a])=>o(A(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Vi(t),r]),Ws=e=>o(o(hf(e),([t,r])=>[t,r],()=>o(kf(e),([t,r])=>[t,r],()=>o(Ef(e),([t,r])=>[t,r],()=>o(Pf(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),Im=e=>o(o(o(u("...",e),([t,r])=>o(Ws(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(Ws(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[Ji(t),r]),ym=(e,t=[])=>o(o(Im(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>ym(n,[...t,r]),()=>[t,e]),gm=e=>o(o(ym(e),([t,r])=>o(o(o(Im(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Wi(t),r]),Of=e=>o(o(u("(",e),([t,r])=>o(gm(r),([n,a])=>o(u(")",a),([s,m])=>o(u("=>",m),([c,f])=>o(A(f),([v,q])=>[[t,n,s,c,v],q]))))),([t,r])=>[Zi(t),r]),Cf=e=>o(o(u("new",e),([t,r])=>o(u("(",r),([n,a])=>o(gm(a),([s,m])=>o(u(")",m),([c,f])=>o(u("=>",f),([v,q])=>o(A(q),([b,R])=>[[t,n,s,c,v,b],R])))))),([t,r])=>[Qi(t),r]),Mf=e=>o(o(o(u("+",e),([t,r])=>o(u("readonly",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("-",e),([t,r])=>o(u("readonly",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("readonly",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[Xi(t),r]),Rf=e=>o(o(o(u("+",e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("-",e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("?",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[Yi(t),r]),wf=e=>o(o(o(u("as",e),([t,r])=>o(A(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[es(t),r]),vf=e=>o(o(u("{",e),([t,r])=>o(Mf(r),([n,a])=>o(u("[",a),([s,m])=>o(B(m),([c,f])=>o(u("in",f),([v,q])=>o(A(q),([b,R])=>o(wf(R),([x,J])=>o(u("]",J),([Me,Ze])=>o(Rf(Ze),([gt,$t])=>o(u(":",$t),([vt,jt])=>o(A(jt),([te,Ee])=>o(Ys(Ee),([pr,bt])=>o(u("}",bt),([zc,_c])=>[[t,n,s,c,v,b,x,Me,gt,vt,te,pr,zc],_c]))))))))))))),([t,r])=>[ts(t),r]),jf=e=>o(B(e),([t,r])=>[rs(t),r]),qf=e=>o(o(u("Options",e),([t,r])=>o(u("<",r),([n,a])=>o(A(a),([s,m])=>o(u(",",m),([c,f])=>o(Tm(f),([v,q])=>o(u(">",q),([b,R])=>[[t,n,s,c,v,b],R])))))),([t,r])=>[ns(t),r]),Sf=e=>o(jn(e),([t,r])=>[as(t),r]),Af=e=>o(o(u("true",e),([t,r])=>[t,r],()=>o(u("false",e),([t,r])=>[t,r],()=>[])),([t,r])=>[os(t),r]),Lf=e=>o(qn(['"',"'"],e),([t,r])=>[t,r]),Ff=e=>o(u("null",e),([t,r])=>[is(t),r]),$m=e=>o(o(um(e),([t,r])=>o(u(":",r),([n,a])=>o(da(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[ss(t),r]),bm=(e,t=[])=>o(o($m(e),([r,n])=>o(dm(n),([a,s])=>[[r,a],s])),([r,n])=>bm(n,[...t,r]),()=>[t,e]),Kf=e=>o(o(bm(e),([t,r])=>o(o(o($m(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[ms(t),r]),Tm=e=>o(o(u("{",e),([t,r])=>o(Kf(r),([n,a])=>o(u("}",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[ps(t),r]),hm=(e,t=[])=>o(o(da(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>hm(n,[...t,r]),()=>[t,e]),Uf=e=>o(o(hm(e),([t,r])=>o(o(o(da(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[us(t),r]),Nf=e=>o(o(u("[",e),([t,r])=>o(Uf(r),([n,a])=>o(u("]",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[cs(t),r]),da=e=>o(o(Sf(e),([t,r])=>[t,r],()=>o(Af(e),([t,r])=>[t,r],()=>o(Lf(e),([t,r])=>[t,r],()=>o(Ff(e),([t,r])=>[t,r],()=>o(Tm(e),([t,r])=>[t,r],()=>o(Nf(e),([t,r])=>[t,r],()=>[])))))),([t,r])=>[t,r]),Df=e=>o(u("-?(?:0|[1-9][0-9]*)n",e),([t,r])=>[ds(t),r]),Gf=e=>o(u(".*",e),([t,r])=>[ls(t),r]),zf=e=>o(u("-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?",e),([t,r])=>[fs(t),r]),_f=e=>o(u("-?(?:0|[1-9][0-9]*)",e),([t,r])=>[xs(t),r]),Bf=e=>o(u("(?!)",e),([t,r])=>[Is(t),r]),Hf=e=>o(Vs(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,r])=>[ys(t),r]),Vf=e=>o(o(Df(e),([t,r])=>[t,r],()=>o(Gf(e),([t,r])=>[t,r],()=>o(zf(e),([t,r])=>[t,r],()=>o(_f(e),([t,r])=>[t,r],()=>o(Bf(e),([t,r])=>[t,r],()=>o(Jf(e),([t,r])=>[t,r],()=>o(Hf(e),([t,r])=>[t,r],()=>[]))))))),([t,r])=>[t,r]),Jf=e=>o(o(u("(",e),([t,r])=>o(la(r),([n,a])=>o(u(")",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[gs(t),r]),km=e=>o(o(o(ma(e),([t,r])=>o(u("|",r),([n,a])=>o(km(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o(o(ma(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[]))),([t,r])=>[$s(t),r]),ma=e=>o(o(Vf(e),([t,r])=>o(la(r),([n,a])=>[[t,n],a])),([t,r])=>[bs(t),r]),la=e=>o(o(km(e),([t,r])=>[t,r],()=>o(ma(e),([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),ho=e=>o(o(u("^",e),([t,r])=>o(la(r),([n,a])=>o(u("$",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Ts(t),r]),Em=(e,t=[])=>o(o(A(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>Em(n,[...t,r]),()=>[t,e]),Wf=e=>o(o(Em(e),([t,r])=>o(o(o(A(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[hs(t),r]),Pm=e=>o(o(o(u("extends",e),([t,r])=>o(Wf(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[ks(t),r]),Zf=e=>o(o(u("interface",e),([t,r])=>o(B(r),([n,a])=>o(pa(a),([s,m])=>o(Pm(m),([c,f])=>o(ca(f),([v,q])=>[[t,n,s,c,v],q]))))),([t,r])=>[Es(t),r]),Qf=e=>o(o(u("interface",e),([t,r])=>o(B(r),([n,a])=>o(Pm(a),([s,m])=>o(ca(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[Ps(t),r]),Xf=e=>o(o(u("type",e),([t,r])=>o(B(r),([n,a])=>o(pa(a),([s,m])=>o(u("=",m),([c,f])=>o(A(f),([v,q])=>[[t,n,s,c,v],q]))))),([t,r])=>[Os(t),r]),Yf=e=>o(o(u("type",e),([t,r])=>o(B(r),([n,a])=>o(u("=",a),([s,m])=>o(A(m),([c,f])=>[[t,n,s,c],f])))),([t,r])=>[Cs(t),r]),ex=e=>o(o(o(u("export",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Ms(t),r]),tx=e=>o(o(o(u(";",e),([t,r])=>o(u(`
7
7
  `,r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(`
8
- `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]),Om=(e,t=[])=>o(o(fa(e),([r,n])=>o(tx(n),([a,s])=>[[r,a],s])),([r,n])=>Om(n,[...t,r]),()=>[t,e]),rx=e=>o(o(Om(e),([t,r])=>o(o(o(fa(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Rs(t),r]),fa=e=>o(o(ex(e),([t,r])=>o(o(Zf(r),([n,a])=>[n,a],()=>o(Qf(r),([n,a])=>[n,a],()=>o(Xf(r),([n,a])=>[n,a],()=>o(Yf(r),([n,a])=>[n,a],()=>[])))),([n,a])=>o(Ys(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[ws(t),r]),nx=e=>o(o(fa(e),([t,r])=>o(rx(r),([n,a])=>[[t,n],a])),([t,r])=>[vs(t),r]),Cm=e=>o(o(nx(e),([t,r])=>[t,r],()=>o(of(e),([t,r])=>[t,r],()=>o(A(e),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]);function Mm(e){let t=ua(`\`${e}\``);return i.IsEqual(t.length,2)?t[0]:D()}function br(e,t={}){return $("TemplateLiteral",[e],t)}function Rm(e){return g({},br(e,{}))}function ox(e){let t=Mm(e);return Rm(t)}function wm(e,t={}){let r=i.IsString(e)?ox(e):Rm(e);return p.Update(r,{},t)}function Y(e){return l(e,"TemplateLiteral")}var T={};qt(T,{ExtendsFalse:()=>O,ExtendsTrue:()=>I,ExtendsUnion:()=>xa,IsExtendsFalse:()=>ix,IsExtendsTrue:()=>jm,IsExtendsTrueLike:()=>er,IsExtendsUnion:()=>vm,Match:()=>W,TakeLeft:()=>fe});function xa(e){return p.Create({"~kind":"ExtendsUnion"},{inferred:e})}function vm(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsUnion")&&i.IsObject(e.inferred)}function I(e){return p.Create({"~kind":"ExtendsTrue"},{inferred:e})}function jm(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsTrue")&&i.IsObject(e.inferred)}function O(){return p.Create({"~kind":"ExtendsFalse"},{})}function ix(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],"ExtendsFalse")}function er(e){return vm(e)||jm(e)}function W(e,t,r){return er(e)?t(e.inferred):r()}function fe(e,t,r){return i.IsEqual(e.length,0)?r():t(e[0],e.slice(1))}function sx(e){return i.IsString(e)||i.IsNumber(e)?S(e):i.IsNull(e)?it():j()}function je(e){return e.map(r=>sx(r))}function Dr(e){let t=je(e);return P(t)}function qm(e){return Dr(e.enum)}function mx(e,t,r,n){return W(F(e,r,n),a=>I(p.Assign(p.Assign(e,a),{[t]:r})),()=>O())}function px(e,t){return I(e)}function ux(e,t,r){let n=Dr(r);return F(e,t,n)}function Sm(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>Sm(s,t,a),()=>O()),()=>I(e))}function cx(e,t,r){let n=Te(r);return F(e,t,n)}function Am(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>I(s),()=>Am(e,t,a)),()=>O())}function M(e,t,r){return Q(r)?px(e,t):se(r)?ux(e,t,r.enum):V(r)?mx(e,r.name,t,r.extends):w(r)?Sm(e,t,r.allOf):Y(r)?cx(e,t,r.pattern):y(r)?Am(e,t,r.anyOf):re(r)?I(e):O()}function Lm(e,t,r){return V(r)?M(e,t,r):Q(r)?I(e):re(r)?I(e):xa(e)}function dx(e,t){let r=ht(e),n=ht(t);return r&&n||!r&&n?!0:!(r&&!n)}function Fm(e,t,r,n){return _(n)?dx(t,n)?F(e,r,n.items):O():M(e,t,n)}function Km(e,t,r){return ge(r)?F(e,t,r.iteratorItems):M(e,Ae(t),r)}function Um(e,t,r){return Fe(r)?I(e):M(e,t,r)}function Nm(e,t,r){return Pe(r)?I(e):M(e,t,r)}function lx(e,t,r,n,a){let s=V(n)?t:n,m=V(n)?n:t,c=pe(t),f=pe(n);return!c&&f?O():W(F(e,s,m),v=>Gr(v,r,a),()=>O())}function fx(e,t,r,n){return fe(n,(a,s)=>lx(e,t,r,a,s),()=>pe(t)?I(e):O())}function xx(e,t,r){return fe(t,(n,a)=>fx(e,n,a,r),()=>I(e))}function Gr(e,t,r){return xx(e,t,r)}function An(e,t,r){return De(r)?I(e):F(e,t,r)}function Dm(e,t,r,n){return Q(n)?I(e):re(n)?I(e):ae(n)?W(Gr(e,t,n.parameters),a=>An(a,r,n.instanceType),()=>O()):O()}function Gm(e,t,r){return F(e,qm(t),r)}function zm(e,t,r,n){return Q(n)?I(e):re(n)?I(e):oe(n)?W(Gr(e,t,n.parameters),a=>An(a,r,n.returnType),()=>O()):O()}function _m(e,t,r){return ce(r)?I(e):X(r)?I(e):M(e,t,r)}function Bm(e,t,r){let n=z(t);return F(e,n,r)}function Hm(e,t,r){return $e(r)?F(e,t,r.iteratorItems):M(e,Ke(t),r)}function Ln(e,t,r){return t===r?I(e):O()}function Ix(e,t,r){return U(r)?Ln(e,t,r.const):Fe(r)?I(e):M(e,S(t),r)}function yx(e,t,r){return U(r)?Ln(e,t,r.const):Pe(r)?I(e):M(e,S(t),r)}function gx(e,t,r){return U(r)?Ln(e,t,r.const):X(r)?I(e):M(e,S(t),r)}function $x(e,t,r){return U(r)?Ln(e,t,r.const):le(r)?I(e):M(e,S(t),r)}function Vm(e,t,r){return i.IsBigInt(t.const)?Ix(e,t.const,r):i.IsBoolean(t.const)?yx(e,t.const,r):i.IsNumber(t.const)?gx(e,t.const,r):i.IsString(t.const)?$x(e,t.const,r):D()}function Jm(e,t,r){return V(r)?M(e,t,r):I(e)}function Wm(e,t,r){return Kt(r)?I(e):M(e,t,r)}function Zm(e,t,r){return X(r)?I(e):M(e,t,r)}function bx(e,t,r){return pe(t)?pe(r)?I(e):O():I(e)}function Tx(e,t,r){return V(r)&&at(r.extends)?O():W(F(e,t,r),n=>bx(n,t,r),()=>O())}function hx(e,t){return e.reduce((r,n)=>n in t?er(t[n])?{...r,...t[n].inferred}:D():D(),{})}function kx(e,t,r){let n={};for(let m of i.Keys(r))n[m]=m in t?Tx({},t[m],r[m]):pe(r[m])?V(r[m])?I(p.Assign(e,{[r[m].name]:r[m].extends})):I(e):O();let a=i.Values(n).every(m=>er(m)),s=a?hx(i.Keys(n),n):{};return a?I(s):O()}function Ex(e,t,r){let n=kx(e,t,r);return er(n)?I(p.Assign(e,n.inferred)):O()}function Px(e,t,r){return Ex(e,t,r)}function Qm(e,t,r){return K(r)?Px(e,t,r.properties):M(e,k(t),r)}function Xm(e,t,r){return de(r)?F(e,t,r.item):M(e,Ue(t),r)}function Ym(e,t,r){return le(r)?I(e):M(e,t,r)}function ep(e,t,r){return st(r)?I(e):M(e,t,r)}function tp(e,t,r){let n=Te(t);return F(e,n,r)}function Ia(e,t){return p.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function zr(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"name")&&i.HasPropertyKey(e,"type")&&i.IsEqual(e["~kind"],"Inferrable")&&i.IsString(e.name)&&i.IsObject(e.type)}function ya(e){return mt(e)?V(e.items)?_(e.items.extends)?Ia(e.items.name,e.items.extends.items):re(e.items.extends)?Ia(e.items.name,e.items.extends):void 0:D():void 0}function Fn(e){return V(e)?Ia(e.name,e.extends):void 0}function ga(e,t,r=[]){return fe(e,(n,a)=>W(F({},n,t),()=>ga(a,t,[...r,n]),()=>{}),()=>r)}function rp(e,t,r,n){let a=ga(r,n);return i.IsArray(a)?I(p.Assign(e,{[t]:ee(a)})):O()}function Kn(e,t,r,n){let a=ga(r,n);return i.IsArray(a)?I(p.Assign(e,{[t]:P(a)})):O()}function Ox(e){return[...e].reverse()}function $a(e,t){return t?Ox(e):e}function Cx(e){let t=e.length>0?e[0]:void 0,r=E(t)?ya(t):void 0;return E(r)}function Mx(e,t,r,n,a,s){return W(F(e,r,a),m=>np(m,t,n,s),()=>O())}function Rx(e,t,r,n,a){let s=ya(n);return zr(s)?rp(e,s.name,$a(r,t),s.type):fe(r,(m,c)=>Mx(e,t,m,c,n,a),()=>O())}function wx(e,t,r,n){return fe(n,(a,s)=>Rx(e,t,r,a,s),()=>i.IsEqual(r.length,0)?I(e):O())}function np(e,t,r,n){return wx(e,t,r,n)}function vx(e,t,r){let n=Un(e,{callstack:[]},r),a=Cx(n);return np(e,a,$a(t,a),$a(n,a))}function ap(e,t,r){let n=Fn(r);return zr(n)?Kn(e,n.name,t,n.type):fe(t,(a,s)=>W(F(e,a,r),m=>ap(m,s,r),()=>O()),()=>I(e))}function op(e,t,r){let n=Un(e,{callstack:[]},t);return N(r)?vx(e,n,r.items):_(r)?ap(e,n,r.items):M(e,ee(n),r)}function ip(e,t,r){return De(r)?I(e):Bt(r)?I(e):M(e,t,r)}function sp(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>I(s),()=>sp(e,t,a)),()=>O())}function ba(e,t,r){return fe(t,(n,a)=>W(sp(e,n,r),s=>ba(s,a,r),()=>O()),()=>I(e))}function mp(e,t,r){let n=Fn(r);return zr(n)?Kn(e,n.name,t,n.type):y(r)?ba(e,t,r.anyOf):ba(e,t,[r])}function pp(e,t,r){return V(r)?M(e,t,r):Q(r)?I(e):re(r)?I(e):O()}function up(e,t,r){return De(r)?I(e):M(e,t,r)}function F(e,t,r){return Q(t)?Lm(e,t,r):_(t)?Fm(e,t,t.items,r):ge(t)?Km(e,t.iteratorItems,r):Fe(t)?Um(e,t,r):Pe(t)?Nm(e,t,r):ae(t)?Dm(e,t.parameters,t.instanceType,r):se(t)?Gm(e,t,r):oe(t)?zm(e,t.parameters,t.returnType,r):ce(t)?_m(e,t,r):w(t)?Bm(e,t.allOf,r):$e(t)?Hm(e,t.iteratorItems,r):U(t)?Vm(e,t,r):at(t)?Jm(e,t,r):Kt(t)?Wm(e,t,r):X(t)?Zm(e,t,r):K(t)?Qm(e,t.properties,r):de(t)?Xm(e,t.item,r):le(t)?Ym(e,t,r):st(t)?ep(e,t,r):Y(t)?tp(e,t.pattern,r):N(t)?op(e,t.items,r):Bt(t)?ip(e,t,r):y(t)?mp(e,t.anyOf,r):re(t)?pp(e,t,r):De(t)?up(e,t,r):O()}function Vt(e,t,r={}){return $("Interface",[e,t],r)}function tr(e){return E(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"Interface")}function cp(e,t,r={}){return g({},Vt(e,t,r))}function jx(e,t,r){return e.includes(r)?!0:ct([...e,r],t,t[r])}function dp(e,t,r){let n=dn(r);return Mt(e,t,n)}function Mt(e,t,r){let[n,...a]=r;return E(n)?ct(e,t,n)?!0:Mt(e,t,a):!1}function ct(e,t,r){return Z(r)?jx(e,t,r.$ref):_(r)?ct(e,t,r.items):ge(r)?ct(e,t,r.iteratorItems):ae(r)?Mt(e,t,[...r.parameters,r.instanceType]):oe(r)?Mt(e,t,[...r.parameters,r.returnType]):tr(r)?dp(e,t,r.parameters[1]):w(r)?Mt(e,t,r.allOf):$e(r)?ct(e,t,r.iteratorItems):K(r)?dp(e,t,r.properties):de(r)?ct(e,t,r.item):y(r)?Mt(e,t,r.anyOf):N(r)?Mt(e,t,r.items):Ce(r)?ct(e,t,Ne(r)):!1}function Nn(e,t,r){return ct(e,t,r)}function qx(e,t){return t.reduce((r,n)=>n in e?Nn([n],e,e[n])?[...r,n]:r:D(),[])}function lp(e){let t=no(e);return qx(e,t)}function Sx(e,t,r){return r.includes(t)?r:t in e?dt(e,e[t],[...r,t]):D()}function fp(e,t,r){let n=dn(t);return rr(e,n,r)}function rr(e,t,r){return t.reduce((n,a)=>dt(e,a,n),r)}function dt(e,t,r){return Z(t)?Sx(e,t.$ref,r):_(t)?dt(e,t.items,r):ge(t)?dt(e,t.iteratorItems,r):ae(t)?rr(e,[...t.parameters,t.instanceType],r):oe(t)?rr(e,[...t.parameters,t.returnType],r):tr(t)?fp(e,t.parameters[1],r):w(t)?rr(e,t.allOf,r):$e(t)?dt(e,t.iteratorItems,r):K(t)?fp(e,t.properties,r):de(t)?dt(e,t.item,r):y(t)?rr(e,t.anyOf,r):N(t)?rr(e,t.items,r):Ce(t)?dt(e,Ne(t),r):r}function xp(e,t,r){return dt(e,r,[t])}function Ax(e){return Ft()}function Lx(e){return i.Keys(e).reduce((t,r)=>({...t,[r]:Ge(e[r])}),{})}function _r(e){return e.reduce((t,r)=>[...t,Ge(r)],[])}function Ge(e){return Z(e)?Ax(e.$ref):_(e)?we(Ge(e.items),pn(e)):ge(e)?Ae(Ge(e.iteratorItems)):ae(e)?tt(_r(e.parameters),Ge(e.instanceType)):oe(e)?rt(_r(e.parameters),Ge(e.returnType)):w(e)?he(_r(e.allOf)):$e(e)?Ke(Ge(e.iteratorItems)):K(e)?k(Lx(e.properties)):de(e)?Ue(Ge(e.item)):Ce(e)?En(zt(e),Ge(Ne(e))):y(e)?P(_r(e.anyOf)):N(e)?ee(_r(e.items)):e}function Fx(e,t){return t in e?Ge(e[t]):ue()}function Ip(e){return Fx(e.$defs,e.$ref)}function Ta(e){return e.reduceRight((r,n,a)=>({[a]:n,...r}),{})}function yp(e){let t=Ta(e.items);return k(t)}function Kx(e,t){return kt(e)?!!kt(t):!1}function Ux(e,t){return pe(e)?!!pe(t):!1}function Nx(e,t){let r=Kx(e,t),n=Ux(e,t),a=z([e,t]),s=sn(At(a));return r&&n?Ie(xe(s)):r&&!n?Ie(s):!r&&n?xe(s):s}function Dx(e,t,r){return r in e?r in t?Nx(e[r],t[r]):e[r]:r in t?t[r]:j()}function Gx(e,t){return[...new Set([...i.Keys(t),...i.Keys(e)])].reduce((n,a)=>({...n,[a]:Dx(e,t,a)}),{})}function gp(e){return K(e)?e.properties:N(e)?Ta(e.items):D()}function $p(e,t){let r=gp(e),n=gp(t),a=Gx(r,n);return k(a)}function bp(e,t){let r=Jr(e,t);return i.IsEqual(r,Hr)?e:i.IsEqual(r,Vr)||i.IsEqual(r,Br)?t:j()}function Tp(e){return K(e)||N(e)}function zx(e,t){let r=y(e),n=y(t);return r||n}function _x(e,t){let r=Rt(e),n=Rt(t),a=zx(r,n),s=Tp(r),m=Tp(n);return a?z([r,n]):s&&m?$p(r,n):s&&!m?r:!s&&m?n:bp(r,n)}function hp(e,t,r=[]){let[n,...a]=t;return i.IsUndefined(n)?r.length===0?[e]:r:hp(e,a,[...r,_x(e,n)])}function kp(e,t,r=[]){let[n,...a]=e;return E(n)?kp(a,t,[...r,...Wr([n],t)]):r}function Wr(e,t=[]){let[r,...n]=e;return E(r)?y(r)?Wr(n,kp(r.anyOf,t)):Wr(n,hp(r,t)):t}function z(e){let t=Wr(e);return ha(t)}function qe(e){return ha(e)}function Rt(e){return w(e)?z(e.allOf):y(e)?qe(e.anyOf):e}function wt(e){return i.IsEqual(e.length,1)?e[0]:i.IsEqual(e.length,0)?j():P(e)}function Bx(e,t,r){let n=ke(e,{callstack:[]},t),a=Zr({},{callstack:[]},r);return z([...n,k(a)])}function Hx(e,t){return i.Keys(e).filter(n=>t.includes(n)).reduce((n,a)=>{let s=e[a],m=tr(s)?Bx(e,s.parameters[0],s.parameters[1]):s;return{...n,[a]:m}},{})}function Ep(e,t,r){let n=xp(e,t,r),a=Hx(e,n);return Le(a,t)}function Pp(e,t){return t in e?Z(e[t])?Pp(e,e[t].$ref):e[t]:j()}function ze(e,t){return Pp(e,t)}function Op(e){return ie(e)?Ip(e):e}function me(e,t,r){let n=Op(t),a=Op(r);return F(e,n,a)}var Br="equal",Vx="disjoint",Hr="left-inside",Vr="right-inside";function Jr(e,t){let r=[re(e)?T.ExtendsFalse():me({},e,t),re(e)?T.ExtendsTrue({}):me({},t,e)];return T.IsExtendsTrueLike(r[0])&&T.IsExtendsTrueLike(r[1])?Br:T.IsExtendsTrueLike(r[0])&&T.IsExtendsFalse(r[1])?Hr:T.IsExtendsFalse(r[0])&&T.IsExtendsTrueLike(r[1])?Vr:Vx}function Jx(e){return y(e)?Je(e.anyOf):[e]}function Je(e){return e.reduce((t,r)=>[...t,...Jx(r)],[])}function Wx(e,t){return t.filter(r=>Jr(e,r)!==Vr)}function Zx(e,t){let r=t.some(n=>{let a=Jr(e,n);return i.IsEqual(a,Hr)||i.IsEqual(a,Br)});return i.IsEqual(r,!1)}function Qx(e,t){let r=Rt(e);return Q(r)?[r]:Zx(r,t)?[...Wx(r,t),r]:t}function Xx(e){return e.reduce((t,r)=>K(r)?[...t,r]:at(r)?t:Qx(r,t),[])}function ha(e){let t=Xx(e),r=Je(t);return r.length===0?j():r.length===1?r[0]:P(r)}function Yx(e,t,r,n){let a=d(e,t,r);return p.Update(Rt(a),{},n)}function Cp(e,t,r,n){return Yx(e,t,r,n)}function Qr(e,t=[]){return Ye(e)&&i.IsEqual(e.action,"Conditional")?Z(e.parameters[0])?Qr(e.parameters[2],Qr(e.parameters[3],[...t,e.parameters[0].$ref])):Qr(e.parameters[2],Qr(e.parameters[3],t)):Ye(e)&&i.IsEqual(e.action,"Mapped")&&Ye(e.parameters[1])&&i.IsEqual(e.parameters[1].action,"KeyOf")&&Z(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function eI(e,t){return e.reduce((r,n)=>[...r,t.includes(n.name)],[])}function wp(e,t,r=[]){let[n,...a]=e,[s,...m]=t;return i.IsGreaterThan(e.length,0)&&i.IsGreaterThan(t.length,0)?wp(a,m,[...r,[s,n]]):r}function tI(e){return y(e)?[...e.anyOf]:[e]}function rI(e,t){return e.reduce((r,n)=>[...r,[...n,t]],[])}function Mp(e,t){return t.reduce((r,n)=>[...r,...rI(e,n)],[])}function Rp(e){return e.reduce((t,r)=>i.IsEqual(r[0],!0)?Mp(t,tI(r[1])):Mp(t,[r[1]]),[[]])}function vp(e,t,r){let n=Qr(r),a=eI(e,n),s=wp(t,a);return Ye(r)&&i.IsEqual(r.action,"Conditional")||Ye(r)&&i.IsEqual(r.action,"Mapped")?Rp(s):[t]}function nI(){return["(not-resolvable)",j()]}function aI(){return["(not-generic)",j()]}function oI(e,t,r){return[e,nt(t,r)]}function iI(e,t,r){return t in e?jp(e,t,e[t],r):nI()}function jp(e,t,r,n){return Lt(r)?oI(t,r.parameters,r.expression):Z(r)?iI(e,r.$ref,n):aI()}function qp(e,t,r){return jp(e,"(anonymous)",t,r)}function sI(e,t,r){if(V(t)||nr(t)||T.IsExtendsTrueLike(me({},t,r)))return;let n={parameter:e,expect:r,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:n})}function Sp(e,t,r,n,a){let s=d(e,t,a);return sI(r,s,n),p.Assign(e,{[r]:s})}function mI(e,t,r,n,a){let s=d(e,t,r.extends),m=d(e,t,r.equals),[c,...f]=a;return E(c)?ka(Sp(e,t,r.name,s,c),t,n,f):ka(Sp(e,t,r.name,s,m),t,n,[])}function ka(e,t,r,n){let[a,...s]=r;return E(a)?mI(e,t,a,s,n):e}function Ap(e,t,r,n){return ka(e,t,r,n)}function pI(e){return i.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function uI(e,t){return i.IsEqual(pI(e),t)}function cI(e,t,r,n,a,s){let m=Ap(e,t,n,s),c=d(m,{callstack:[...t.callstack,r.$ref]},a);return d(e,t,c)}function dI(e,t,r,n,a,s){return s.reduce((m,c)=>[...m,cI(e,t,r,n,a,c)],[])}function lI(e,t,r,n,a,s){let m=vp(n,s,a),c=dI(e,t,r,n,a,m);return i.IsEqual(c.length,1)?c[0]:qe(c)}function Dn(e,t,r,n){let a=ke(e,t,n),s=qp(e,r,n),m=s[0],c=s[1];return Lt(c)?uI(t,m)?Tr(He(m),a):lI(e,t,He(m),c.parameters,c.expression,a):Tr(r,a)}function Tr(e,t){return p.Create({"~kind":"Call"},{target:e,arguments:t},{})}function Lp(e,t){return Dn({},{callstack:[]},e,t)}function nr(e){return l(e,"Call")}function Fp(e){return de(e)?Fp(e.item):e}function fI(e,t,r,n){let a=d(e,t,r);return p.Update(Fp(a),{},n)}function Kp(e,t,r,n){return h(e,[r])?fI(e,t,r,n):Ur(r,n)}function Up(e,t){return e(t)}function Np(e,t){return i.IsString(t)?S(Up(e,t)):S(t)}function Dp(e,t){let r=Te(t);return We(e,r)}function Gp(e,t){let r=t.map(n=>We(e,n));return P(r)}function We(e,t){return U(t)?Np(e,t.const):Y(t)?Dp(e,t.pattern):y(t)?Gp(e,t.anyOf):t}function hr(e,t={}){return $("Capitalize",[e],t)}function zp(e,t={}){return g({},hr(e,t))}function kr(e,t={}){return $("Lowercase",[e],t)}function _p(e,t={}){return g({},kr(e,t))}function Er(e,t={}){return $("Uncapitalize",[e],t)}function Bp(e,t={}){return g({},Er(e,t))}function Pr(e,t={}){return $("Uppercase",[e],t)}function Hp(e,t={}){return g({},Pr(e,t))}var xI=e=>e[0].toUpperCase()+e.slice(1),II=e=>e.toLowerCase(),yI=e=>e[0].toLowerCase()+e.slice(1),gI=e=>e.toUpperCase();function $I(e,t,r,n){let a=d(e,t,r);return p.Update(We(xI,a),{},n)}function Vp(e,t,r,n){return h(e,[r])?$I(e,t,r,n):hr(r,n)}function bI(e,t,r,n){let a=d(e,t,r);return p.Update(We(II,a),{},n)}function Jp(e,t,r,n){return h(e,[r])?bI(e,t,r,n):kr(r,n)}function TI(e,t,r,n){let a=d(e,t,r);return p.Update(We(yI,a),{},n)}function Wp(e,t,r,n){return h(e,[r])?TI(e,t,r,n):Er(r,n)}function hI(e,t,r,n){let a=d(e,t,r);return p.Update(We(gI,a),{},n)}function Zp(e,t,r,n){return h(e,[r])?hI(e,t,r,n):Pr(r,n)}function Or(e,t,r,n,a={}){return $("Conditional",[e,t,r,n],a)}function Qp(e,t,r,n,a={}){return g({},Or(e,t,r,n,a))}function kI(e,t,r,n,a,s,m){let c=d(e,t,r),f=d(e,t,n),v=me(e,c,f);return p.Update(T.IsExtendsUnion(v)?P([d(v.inferred,t,a),d(e,t,s)]):T.IsExtendsTrue(v)?d(v.inferred,t,a):d(e,t,s),{},m)}function Xp(e,t,r,n,a,s,m){return h(e,[r,n])?kI(e,t,r,n,a,s,m):Or(r,n,a,s,m)}function Cr(e,t={}){return $("ConstructorParameters",[e],t)}function Yp(e,t={}){return g({},Cr(e,t))}function EI(e){return ae(e)?d({},{callstack:[]},ee(e.parameters)):j()}function PI(e,t,r,n){let a=d(e,t,r);return p.Update(EI(a),{},n)}function eu(e,t,r,n){return h(e,[r])?PI(e,t,r,n):Cr(r,n)}function Mr(e,t,r={}){return $("Exclude",[e,t],r)}function tu(e,t,r={}){return g({},Mr(e,t,r))}function ru(e,t){return e.reduce((r,n)=>[...r,...nu(n,t)],[])}function nu(e,t){let r=me({},e,t);return T.IsExtendsTrueLike(r)?[]:[e]}function OI(e,t){let r=se(e)?ru(je(e.enum),t):y(e)?ru(Je(e.anyOf),t):nu(e,t);return qe(r)}function CI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(OI(s,m),{},a)}function Gn(e,t,r,n,a){return h(e,[r,n])?CI(e,t,r,n,a):Mr(r,n,a)}function Rr(e,t,r={}){return $("Extract",[e,t],r)}function au(e,t,r={}){return g({},Rr(e,t,r))}function ou(e,t){return e.reduce((r,n)=>[...r,...iu(n,t)],[])}function iu(e,t){let r=me({},e,t);return T.IsExtendsTrueLike(r)?[e]:[]}function MI(e,t){let r=se(e)?ou(je(e.enum),t):y(e)?ou(Je(e.anyOf),t):iu(e,t);return qe(r)}function RI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(MI(s,m),{},a)}function su(e,t,r,n,a){return h(e,[r,n])?RI(e,t,r,n,a):Rr(r,n,a)}var wI=new RegExp("^(?:0|[1-9][0-9]*)$");function ar(e){let t=`${e}`;return wI.test(t)?parseInt(t):e}function vI(e){return S(ar(e))}function mu(e){return e.map(t=>pu(t))}function pu(e){return w(e)?he(mu(e.allOf)):y(e)?P(mu(e.anyOf)):U(e)?vI(e.const):e}function uu(e,t){let r=pu(t),n=me({},r,be());return T.IsExtendsTrueLike(n)?e:U(t)&&i.IsEqual(t.const,"length")?be():j()}function cu(e,t){let r=ze(e,t);return _e(r)}function zn(e){return e.reduce((t,r)=>[...t,..._e(r)],[])}function du(e){let t=je(e);return zn(t)}function lu(e){let t=z(e);return _e(t)}function fu(e){return[`${e}`]}function xu(e){let t=Te(e);return _e(t)}function _e(e){return ie(e)?cu(e.$defs,e.$ref):se(e)?du(e.enum):w(e)?lu(e.allOf):U(e)?fu(e.const):Y(e)?xu(e.pattern):y(e)?zn(e.anyOf):[]}function or(e){return _e(e)}function jI(e,t){return t in e?[e[t]]:[]}function qI(e,t){return t.reduce((r,n)=>[...r,...jI(e,n)],[])}function Iu(e,t){let r=or(t),n=qI(e,r);return qe(n)}function SI(e){return S(ar(e))}function yu(e){return e.map(t=>Ea(t))}function Ea(e){return w(e)?he(yu(e.allOf)):y(e)?P(yu(e.anyOf)):U(e)?SI(e.const):e}function AI(e,t){return e.reduceRight((r,n,a)=>{let s=me({},S(a),t);return T.IsExtendsTrueLike(s)?[n,...r]:r},[])}function LI(e,t){let r=Ea(t),n=AI(e,r);return wt(n)}function FI(e){return wt(e)}function gu(e,t){return U(t)&&i.IsEqual(t.const,"length")?S(e.length):X(t)||ce(t)?FI(e):LI(e,t)}function KI(e){return e.reduce((t,r)=>yn(r)?[...t,S(r)]:t,[])}function ir(e){let t=KI(e);return P(t)}function Jt(e,t,r={}){return $("Index",[e,t],r)}function $u(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},Jt(e,n,r))}function bu(e,t){let r=ze(e,t);return Se(r)}function UI(e,t){let r=i.Keys(e).filter(q=>!i.HasPropertyKey(t,q)),n=i.Keys(t).filter(q=>!i.HasPropertyKey(e,q)),a=i.Keys(e).filter(q=>i.HasPropertyKey(t,q)),s=r.reduce((q,b)=>({...q,[b]:e[b]}),{}),m=n.reduce((q,b)=>({...q,[b]:t[b]}),{}),c=a.reduce((q,b)=>({...q,[b]:z([e[b],t[b]])}),{}),f=p.Assign(s,m);return p.Assign(f,c)}function Tu(e){return e.reduce((t,r)=>UI(t,Se(r)),{})}function hu(e){let t=yp(ee(e));return Se(t)}function NI(e,t){return i.Keys(e).filter(a=>a in t).reduce((a,s)=>({...a,[s]:qe([e[s],t[s]])}),{})}function ku(e,t){let[r,...n]=e;return E(r)?ku(n,NI(t,Se(r))):t}function Eu(e){let[t,...r]=e;return E(t)?ku(r,Se(t)):D()}function Se(e){return ie(e)?bu(e.$defs,e.$ref):w(e)?Tu(e.allOf):y(e)?Eu(e.anyOf):N(e)?hu(e.items):K(e)?e.properties:{}}function sr(e){let t=Se(e);return k(t)}function DI(e){return ie(e)||w(e)||y(e)?sr(e):e}function GI(e,t){let r=DI(e);return _(r)?uu(r.items,t):K(r)?Iu(r.properties,t):N(r)?gu(r.items,t):j()}function zI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(GI(s,m),{},a)}function Pu(e,t,r,n,a){return h(e,[r,n])?zI(e,t,r,n,a):Jt(r,n,a)}function wr(e,t={}){return $("InstanceType",[e],t)}function Ou(e,t={}){return g({},wr(e,t))}function _I(e){return ae(e)?e.instanceType:j()}function BI(e,t,r,n){let a=d(e,t,r);return p.Update(_I(a),{},n)}function Cu(e,t,r,n={}){return h(e,[r])?BI(e,t,r,n):wr(r,n)}function HI(e,t,r,n,a){let s=ke(e,{callstack:[]},r),m=Zr(e,{callstack:[]},n),c=z([...s,k(m)]);return p.Update(c,{},a)}function Mu(e,t,r,n,a){return h(e,r)?HI(e,t,r,n,a):Vt(r,n,a)}function Wt(e,t={}){return $("KeyOf",[e],t)}function Ru(e,t={}){return g({},Wt(e,t))}function wu(){return P([be(),Oe(),Ut()])}function vu(e){return be()}function VI(e){return e.reduce((r,n)=>yn(n)?[...r,S(ar(n))]:D(),[])}function ju(e){let t=i.Keys(e),r=VI(t);return wt(r)}function qu(e){return zt(e)}function Su(e){let t=e.map((r,n)=>S(n));return wt(t)}function JI(e){return ie(e)||w(e)||y(e)?sr(e):e}function WI(e){let t=JI(e);return Q(t)?wu():_(t)?vu(t.items):K(t)?ju(t.properties):Ce(t)?qu(t):N(t)?Su(t.items):j()}function ZI(e,t,r,n){let a=d(e,t,r);return p.Update(WI(a),{},n)}function Au(e,t,r,n){return h(e,[r])?ZI(e,t,r,n):Wt(r,n)}function Ht(e,t,r,n,a={}){return $("Mapped",[e,t,r,n],a)}function Lu(e,t,r,n,a={}){return g({},Ht(e,t,r,n,a))}function QI(e){let t=Te(e);return Pa(t)}function Fu(e){return e.reduce((t,r)=>[...t,...Pa(r)],[])}function Pa(e){return se(e)?Fu(je(e.enum)):$n(e)||gn(e)?[e]:Y(e)?QI(e.pattern):y(e)?Fu(e.anyOf):[e]}function Ku(e){return Pa(e)}function XI(e){return Y(e)?Te(e.pattern):e}function YI(e,t,r,n,a,s){let m=p.Assign(e,{[r.name]:n}),c=d(m,t,a),f=XI(c),v=d(m,t,s);return gn(f)||$n(f)?{[f.const]:v}:{}}function ey(e,t,r,n,a,s){return n.reduce((m,c)=>[...m,YI(e,t,r,c,a,s)],[])}function ty(e){return e.reduce((t,r)=>[...t,k(r)],[])}function ry(e,t,r,n,a,s){let m=Ku(n),c=ey(e,t,r,m,a,s),f=ty(c);return z(f)}function ny(e,t,r,n,a,s,m){let c=d(e,t,n);return p.Update(ry(e,t,r,c,a,s),{},m)}function Uu(e,t,r,n,a,s,m){return h(e,[n])?ny(e,t,r,n,a,s,m):Ht(r,n,a,s,m)}function ay(e,t){return i.Keys(e).filter(n=>t.includes(n)).reduce((n,a)=>({...n,[a]:Ep(e,a,e[a])}),{})}function oy(e,t){return i.Keys(e).filter(n=>!t.includes(n)).reduce((n,a)=>({...n,[a]:d(e,{callstack:[]},e[a])}),{})}function iy(e,t){let r=lp(e),n=ay(e,r),a=oy(e,r),s={...n,...a};return p.Update(s,{},t)}function Nu(e,t,r,n){let a=p.Assign(e,r);return iy(a,n)}function vr(e,t={}){return $("NonNullable",[e],t)}function Du(e,t={}){return g({},vr(e,t))}function sy(e){let t=P([it(),_t()]);return Gn({},{callstack:[]},e,t,{})}function my(e,t,r,n){let a=d(e,t,r);return p.Update(sy(a),{},n)}function Gu(e,t,r,n){return h(e,[r])?my(e,t,r,n):vr(r,n)}function _n(e){let t=sr(e);return K(t)?t.properties:D()}function jr(e,t,r={}){return $("Omit",[e,t],r)}function zu(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},jr(e,n,r))}function py(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?n:{...n,[a]:e[a]},{})}function uy(e,t){let r=_n(e),n=or(t),a=py(r,n);return k(a)}function cy(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(uy(s,m),{},a)}function _u(e,t,r,n,a){return h(e,[r,n])?cy(e,t,r,n,a):jr(r,n,a)}function Zt(e,t){return $("Options",[e,t],{})}function Bu(e,t){return g({},Zt(e,t))}function dy(e,t,r,n){let a=d(e,t,r);return p.Update(a,{},n)}function Hu(e,t,r,n){return h(e,[r])?dy(e,t,r,n):Zt(r,n)}function qr(e,t={}){return $("Parameters",[e],t)}function Vu(e,t={}){return g({},qr(e,t))}function ly(e){return oe(e)?d({},{callstack:[]},ee(e.parameters)):j()}function fy(e,t,r,n){let a=d(e,t,r);return p.Update(ly(a),{},n)}function Ju(e,t,r,n){return h(e,[r])?fy(e,t,r,n):qr(r,n)}function Sr(e,t={}){return $("Partial",[e],t)}function Wu(e,t={}){return g({},Sr(e,t))}function Zu(e,t){let r=ze(e,t),n=lt(r);return Le(p.Assign(e,{[t]:n}),t)}function Qu(e){let t=e.map(r=>lt(r));return z(t)}function Xu(e){let t=e.map(r=>lt(r));return P(t)}function Yu(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:on(e[a])}),{});return k(t)}function lt(e){return ie(e)?Zu(e.$defs,e.$ref):w(e)?Qu(e.allOf):y(e)?Xu(e.anyOf):K(e)?Yu(e.properties):k({})}function xy(e,t,r,n){let a=d(e,t,r);return p.Update(lt(a),{},n)}function ec(e,t,r,n){return h(e,[r])?xy(e,t,r,n):Sr(r,n)}function Ar(e,t,r={}){return $("Pick",[e,t],r)}function tc(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},Ar(e,n,r))}function Iy(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?p.Assign(n,{[a]:e[a]}):n,{})}function yy(e,t){let r=_n(e),n=or(t),a=Iy(r,n);return k(a)}function gy(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(yy(s,m),{},a)}function rc(e,t,r,n,a){return h(e,[r,n])?gy(e,t,r,n,a):Ar(r,n,a)}function Lr(e,t={}){return $("ReadonlyType",[e],t)}function nc(e,t={}){return g({},Lr(e,t))}function ac(e){return et(we(e))}function oc(e,t){let r=ze(e,t),n=ft(r);return Le(p.Assign(e,{[t]:n}),t)}function ic(e){let t=e.map(r=>ft(r));return z(t)}function sc(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:mn(e[a])}),{});return k(t)}function mc(e){return et(ee(e))}function pc(e){let t=e.map(r=>ft(r));return P(t)}function ft(e){return _(e)?ac(e.items):ie(e)?oc(e.$defs,e.$ref):w(e)?ic(e.allOf):K(e)?sc(e.properties):N(e)?mc(e.items):y(e)?pc(e.anyOf):e}function $y(e,t,r,n){let a=d(e,t,r);return p.Update(ft(a),{},n)}function uc(e,t,r,n){return h(e,[r])?$y(e,t,r,n):Lr(r,n)}function cc(e){return ye(ve,e)}function dc(e){return k({true:e,false:e})}function lc(e,t){let r=Dr(e);return xt(r,t)}function fc(e,t){return ye(Nt,t)}function xc(e,t){let r=z(e);return xt(r,t)}function Ic(e,t){return i.IsString(e)||i.IsNumber(e)?k({[e]:t}):i.IsEqual(e,!1)?k({false:t}):i.IsEqual(e,!0)?k({true:t}):k({})}function yc(e,t){return ye(Dt,t)}function gc(e,t){return i.HasPropertyKey(e,"pattern")&&(i.IsString(e.pattern)||e.pattern instanceof RegExp)?ye(e.pattern.toString(),t):ye(ve,t)}function $c(e,t){let r=gr(e);return hn(r)?xt(Te(e),t):ye(e,t)}function by(e){return e.some(t=>le(t)||X(t)||ce(t))}function Ty(e,t){return i.IsEqual(by(e),!0)?ye(ve,t):void 0}function hy(e,t){return e.reduce((r,n)=>U(n)&&(i.IsString(n.const)||i.IsNumber(n.const))?{...r,[n.const]:t}:r,{})}function ky(e,t){let r=hy(e,t);return k(r)}function bc(e,t){let r=Je(e),n=Ty(r,t);return E(n)?n:ky(r,t)}function xt(e,t){return Q(e)?cc(t):Pe(e)?dc(t):se(e)?lc(e.enum,t):ce(e)?fc(e,t):w(e)?xc(e.allOf,t):U(e)?Ic(e.const,t):X(e)?yc(e,t):y(e)?bc(e.anyOf,t):le(e)?gc(e,t):Y(e)?$c(e.pattern,t):k({})}function Ey(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(xt(s,m),{},a)}function Tc(e,t,r,n,a){return h(e,[r])?Ey(e,t,r,n,a):$r(r,n,a)}function hc(e,t,r,n){return n in e?Nn([n],e,e[n])?r:d(e,t,e[n]):r}function kc(e,t){let r=ze(e,t),n=It(r);return Le(p.Assign(e,{[t]:n}),t)}function Ec(e){let t=e.map(r=>It(r));return z(t)}function Pc(e){let t=e.map(r=>It(r));return P(t)}function Oc(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:At(e[a])}),{});return k(t)}function It(e){return ie(e)?kc(e.$defs,e.$ref):w(e)?Ec(e.allOf):y(e)?Pc(e.anyOf):K(e)?Oc(e.properties):k({})}function Fr(e,t={}){return $("Required",[e],t)}function Cc(e,t={}){return g({},Fr(e,t))}function Py(e,t,r,n){let a=d(e,t,r);return p.Update(It(a),{},n)}function Mc(e,t,r,n){return h(e,[r])?Py(e,t,r,n):Fr(r,n)}function Kr(e,t={}){return $("ReturnType",[e],t)}function Rc(e,t={}){return g({},Kr(e,t))}function Oy(e){return oe(e)?e.returnType:j()}function Cy(e,t,r,n){let a=d(e,t,r);return p.Update(Oy(a),{},n)}function wc(e,t,r,n){return h(e,[r])?Cy(e,t,r,n):Kr(r,n)}function My(e){return e.join("|")}function Ry(e){return e.slice(1,e.length-1)}function wy(e,t,r){return yt(t,`${r}${e}`)}function vy(e,t){return yt(e,`${t}${yo}`)}function jy(e,t){return yt(e,`${t}${In}`)}function qy(e,t){return yt(e,`${t}${bn}`)}function Sy(e,t){return Ca(P([S("false"),S("true")]),e,t)}function Ay(e,t){return yt(e,`${t}${Tn}`)}function Ly(e,t,r){return yt(t,`${r}${Ry(e)}`)}function Fy(e,t,r){let n=je(e);return Oa(n,t,r)}function Oa(e,t,r,n=[]){let[a,...s]=e;return E(a)?Oa(s,t,r,[...n,Ca(a,[],"")]):yt(t,`${r}(${My(n)})`)}function Ca(e,t,r){return se(e)?Fy(e.enum,t,r):ce(e)?jy(t,r):U(e)?wy(e.const,t,r):Fe(e)?vy(t,r):Pe(e)?Sy(t,r):X(e)?qy(t,r):le(e)?Ay(t,r):Y(e)?Ly(e.pattern,t,r):y(e)?Oa(e.anyOf,t,r):to}function yt(e,t){let[r,...n]=e;return E(r)?Ca(r,n,t):t}function Ky(e){return`^${yt(e,"")}$`}function vc(e){let t=Ky(e);return kn(t)}function Uy(e,t,r,n){let a=ke(e,t,r);return p.Update(vc(a),{},n)}function jc(e,t,r,n){return h(e,r)?Uy(e,t,r,n):br(r,n)}function Ny(e){return mt(e)?N(e.items)?Ma(e.items.items):V(e.items)?[e]:Z(e.items)?[e]:[j()]:[e]}function Ma(e){return e.reduce((r,n)=>[...r,...Ny(n)],[])}function Dy(e,t){return t in e}function Gy(e,t){return w(t)?h(e,t.allOf):y(t)?h(e,t.anyOf):Z(t)?Dy(e,t.$ref):!0}function h(e,t){let[r,...n]=t;return E(r)?Gy(e,r)?h(e,n):!1:!0}function Xr(e,t,r){return Za(e)?Xr(e.type,"remove",r):Ha(e)?Xr(e.type,t,"remove"):Ja(e)?Xr(e.type,"add",r):_a(e)?Xr(e.type,t,"add"):[e,t,r]}function zy(e,t){return i.IsEqual(e,"remove")?sn(t):i.IsEqual(e,"add")?Ie(t):t}function _y(e,t){return i.IsEqual(e,"remove")?At(t):i.IsEqual(e,"add")?xe(t):t}function Zr(e,t,r){return i.Keys(r).reduce((n,a)=>({...n,[a]:d(e,t,r[a])}),{})}function Un(e,t,r){let n=ke(e,t,r);return Ma(n)}function ke(e,t,r){return r.map(n=>d(e,t,n))}function By(e,t,r,n,a){return i.IsEqual(r,"Awaited")?Kp(e,t,n[0],a):i.IsEqual(r,"Capitalize")?Vp(e,t,n[0],a):i.IsEqual(r,"Conditional")?Xp(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"ConstructorParameters")?eu(e,t,n[0],a):i.IsEqual(r,"Evaluate")?Cp(e,t,n[0],a):i.IsEqual(r,"Exclude")?Gn(e,t,n[0],n[1],a):i.IsEqual(r,"Extract")?su(e,t,n[0],n[1],a):i.IsEqual(r,"Index")?Pu(e,t,n[0],n[1],a):i.IsEqual(r,"InstanceType")?Cu(e,t,n[0],a):i.IsEqual(r,"Interface")?Mu(e,t,n[0],n[1],a):i.IsEqual(r,"KeyOf")?Au(e,t,n[0],a):i.IsEqual(r,"Lowercase")?Jp(e,t,n[0],a):i.IsEqual(r,"Mapped")?Uu(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"Module")?Nu(e,t,n[0],a):i.IsEqual(r,"NonNullable")?Gu(e,t,n[0],a):i.IsEqual(r,"Pick")?rc(e,t,n[0],n[1],a):i.IsEqual(r,"Options")?Hu(e,t,n[0],n[1]):i.IsEqual(r,"Parameters")?Ju(e,t,n[0],a):i.IsEqual(r,"Partial")?ec(e,t,n[0],a):i.IsEqual(r,"Omit")?_u(e,t,n[0],n[1],a):i.IsEqual(r,"ReadonlyType")?uc(e,t,n[0],a):i.IsEqual(r,"Record")?Tc(e,t,n[0],n[1],a):i.IsEqual(r,"Required")?Mc(e,t,n[0],a):i.IsEqual(r,"ReturnType")?wc(e,t,n[0],a):i.IsEqual(r,"TemplateLiteral")?jc(e,t,n[0],a):i.IsEqual(r,"Uncapitalize")?Wp(e,t,n[0],a):i.IsEqual(r,"Uppercase")?Zp(e,t,n[0],a):$(r,n,a)}function d(e,t,r){let n=ht(r),a=Xr(r,kt(r)?"add":"none",pe(r)?"add":"none"),s=cn(a[0])?a[0].Clone():a[0],m=Z(s)?hc(e,t,s,s.$ref):_(s)?we(d(e,t,s.items),pn(s)):ge(s)?Ae(d(e,t,s.iteratorItems),Qa(s)):nr(s)?Dn(e,t,s.target,s.arguments):ae(s)?tt(ke(e,t,s.parameters),d(e,t,s.instanceType),Ya(s)):Ye(s)?By(e,t,s.action,s.parameters,s.options):oe(s)?rt(ke(e,t,s.parameters),d(e,t,s.returnType),eo(s)):w(s)?he(ke(e,t,s.allOf),po(s)):$e(s)?Ke(d(e,t,s.iteratorItems),$o(s)):K(s)?k(Zr(e,t,s.properties),ao(s)):de(s)?Ue(d(e,t,s.item),To(s)):Ce(s)?Ro(Gt(s),d(e,t,Ne(s))):mt(s)?Ot(d(e,t,s.items)):N(s)?ee(Un(e,t,s.items),vo(s)):y(s)?P(ke(e,t,s.anyOf),oo(s)):s,c=n?et(m):m;return zy(a[1],_y(a[2],c))}function g(e,t){return d(e,{callstack:[]},t)}function Ur(e,t={}){return $("Awaited",[e],t)}function qc(e,t={}){return g({},Ur(e,t))}function ta(e,t={}){return $("Evaluate",[e],t)}function Sc(e,t={}){return g({},ta(e,t))}function ra(e,t={}){return $("Module",[e],t)}function Ac(e,t={}){return g({},ra(e,t))}function Lc(...e){let[t,r,n]=ot.Match(e,{2:(m,c)=>i.IsString(m)?[{},m,c]:[m,c,{}],3:(m,c,f)=>[m,c,f],1:m=>[{},m,{}]}),a=Cm(r),s=i.IsArray(a)&&i.IsEqual(a.length,2)?d(t,{callstack:[]},a[0]):j();return p.Update(s,{},n)}var H={};qt(H,{Any:()=>Ft,Array:()=>we,AsyncIterator:()=>Ae,Awaited:()=>qc,Base:()=>un,BigInt:()=>Ir,Boolean:()=>xn,Call:()=>Lp,Capitalize:()=>zp,Codec:()=>fn,Conditional:()=>Qp,Constructor:()=>tt,ConstructorParameters:()=>Yp,Cyclic:()=>Le,Decode:()=>fo,DecodeBuilder:()=>xr,Encode:()=>xo,EncodeBuilder:()=>fr,Enum:()=>mo,Evaluate:()=>Sc,Exclude:()=>tu,Extends:()=>me,ExtendsResult:()=>T,Extract:()=>au,Function:()=>rt,Generic:()=>nt,Identifier:()=>yr,Immutable:()=>et,Index:()=>$u,Infer:()=>lr,InstanceType:()=>Ou,Instantiate:()=>g,Integer:()=>Et,Interface:()=>cp,Intersect:()=>he,IsAny:()=>Q,IsArray:()=>_,IsAsyncIterator:()=>ge,IsBase:()=>cn,IsBigInt:()=>Fe,IsBoolean:()=>Pe,IsCall:()=>nr,IsCodec:()=>ln,IsConstructor:()=>ae,IsCyclic:()=>ie,IsEnum:()=>se,IsFunction:()=>oe,IsGeneric:()=>Lt,IsIdentifier:()=>go,IsImmutable:()=>ht,IsInfer:()=>V,IsInteger:()=>ce,IsIntersect:()=>w,IsIterator:()=>$e,IsKind:()=>l,IsLiteral:()=>U,IsNever:()=>at,IsNull:()=>Kt,IsNumber:()=>X,IsObject:()=>K,IsOptional:()=>pe,IsParameter:()=>bo,IsPromise:()=>de,IsReadonly:()=>kt,IsRecord:()=>Ce,IsRef:()=>Z,IsRefine:()=>Qn,IsRest:()=>mt,IsSchema:()=>E,IsString:()=>le,IsSymbol:()=>st,IsTemplateLiteral:()=>Y,IsThis:()=>wo,IsTuple:()=>N,IsUndefined:()=>Bt,IsUnion:()=>y,IsUnknown:()=>re,IsUnsafe:()=>qo,IsVoid:()=>De,Iterator:()=>Ke,KeyOf:()=>Ru,Literal:()=>S,Lowercase:()=>_p,Mapped:()=>Lu,Module:()=>Ac,Never:()=>j,NonNullable:()=>Du,Null:()=>it,Number:()=>be,Object:()=>k,Omit:()=>zu,Optional:()=>on,Options:()=>Bu,Parameter:()=>Pt,Parameters:()=>Vu,Partial:()=>Wu,Pick:()=>tc,Promise:()=>Ue,Readonly:()=>mn,ReadonlyType:()=>nc,Record:()=>En,RecordKey:()=>zt,RecordKeyAsPattern:()=>Gt,RecordValue:()=>Ne,Ref:()=>He,Refine:()=>Io,Required:()=>Cc,Rest:()=>Ot,ReturnType:()=>Rc,Script:()=>Lc,String:()=>Oe,Symbol:()=>Ut,TemplateLiteral:()=>wm,This:()=>Pn,Tuple:()=>ee,Uncapitalize:()=>Bp,Undefined:()=>_t,Union:()=>P,Unknown:()=>ue,Unsafe:()=>jo,Uppercase:()=>Hp,Void:()=>On});import{existsSync as Uc,readFileSync as Wy}from"node:fs";import{homedir as Dc}from"node:os";import{join as mr}from"node:path";import{spawn as Zy}from"node:child_process";var Hy=new Set(["ECONNREFUSED","ConnectionRefused"]);function Ra(e,t){if(!e||typeof e!="object"||t.has(e))return!1;t.add(e);let r=e;return typeof r.code=="string"&&Hy.has(r.code)||Ra(r.cause,t)?!0:Array.isArray(r.errors)&&r.errors.some(n=>Ra(n,t))}function Fc(e){return Ra(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}import{homedir as Vy}from"os";import{join as Jy}from"path";function Kc(e,t=process.platform,r=Vy()){return typeof e!="string"||e.length===0?e:e==="~"?r:e.startsWith("~/")||t==="win32"&&e.startsWith("~\\")?Jy(r,e.slice(2)):e}var wa=5e3;function Nc(){let e=Kc(process.env.CLAUDE_MEM_DATA_DIR||mr(Dc(),".claude-mem")),t={};try{let m=JSON.parse(Wy(mr(e,"settings.json"),"utf8").replace(/^\uFEFF/,"")),c=m?.env;t=c&&typeof c=="object"&&!Array.isArray(c)&&Object.keys(c).some(f=>f.startsWith("CLAUDE_MEM_"))?c:m??{}}catch{}let r=(m,c)=>process.env[m]||(typeof t[m]=="string"&&t[m]?String(t[m]):c),n=r("CLAUDE_MEM_WORKER_HOST","127.0.0.1"),a=n==="localhost"?"127.0.0.1":n,s=r("CLAUDE_MEM_WORKER_PORT",String(37700+(process.getuid?.()??77)%100));return"http://"+(a.includes(":")&&!a.startsWith("[")?"["+a+"]":a)+":"+s}var Yr;function Qy(){if(Yr)return Yr;let e=mr(process.env.CLAUDE_CONFIG_DIR||mr(Dc(),".claude"),"plugins","marketplaces","thedotmack"),t=mr(e,"plugin","scripts","bun-runner.js"),r=mr(e,"plugin","scripts","worker-service.cjs");return!Uc(t)||!Uc(r)?Promise.reject(new Error("Run npx claude-mem install to install the worker.")):(Yr=new Promise((a,s)=>{let m=Zy(process.execPath,[t,r,"start"],{stdio:"ignore",windowsHide:!0,timeout:15e3});m.once("error",s),m.once("close",c=>c===0?a():s(new Error("claude-mem worker could not start")))}).finally(()=>{Yr=void 0}),Yr)}function Gc(){let e=Nc();return{reset(){e=Nc()},async ready(){try{let t=await fetch(e+"/api/health",{signal:AbortSignal.timeout(wa)});if(t.ok)return;throw new Error("claude-mem health check returned "+t.status)}catch(t){if(!Fc(t))throw t;await Qy()}},async request(t,r={}){let n=await fetch(e+t,{...r,signal:r.signal?AbortSignal.any([r.signal,AbortSignal.timeout(wa)]):AbortSignal.timeout(wa)});if(!n.ok)throw new Error("claude-mem "+t+" returned "+n.status);return n},async post(t,r){return this.request(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)})}}}function en(e){return typeof e=="string"?e:Array.isArray(e)?e.filter(t=>!!t&&typeof t=="object"&&t.type==="text"&&typeof t.text=="string").map(t=>t.text).join(`
8
+ `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]),Om=(e,t=[])=>o(o(fa(e),([r,n])=>o(tx(n),([a,s])=>[[r,a],s])),([r,n])=>Om(n,[...t,r]),()=>[t,e]),rx=e=>o(o(Om(e),([t,r])=>o(o(o(fa(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Rs(t),r]),fa=e=>o(o(ex(e),([t,r])=>o(o(Zf(r),([n,a])=>[n,a],()=>o(Qf(r),([n,a])=>[n,a],()=>o(Xf(r),([n,a])=>[n,a],()=>o(Yf(r),([n,a])=>[n,a],()=>[])))),([n,a])=>o(Ys(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[ws(t),r]),nx=e=>o(o(fa(e),([t,r])=>o(rx(r),([n,a])=>[[t,n],a])),([t,r])=>[vs(t),r]),Cm=e=>o(o(nx(e),([t,r])=>[t,r],()=>o(of(e),([t,r])=>[t,r],()=>o(A(e),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]);function Mm(e){let t=ua(`\`${e}\``);return i.IsEqual(t.length,2)?t[0]:D()}function br(e,t={}){return $("TemplateLiteral",[e],t)}function Rm(e){return g({},br(e,{}))}function ox(e){let t=Mm(e);return Rm(t)}function wm(e,t={}){let r=i.IsString(e)?ox(e):Rm(e);return p.Update(r,{},t)}function Y(e){return l(e,"TemplateLiteral")}var T={};qt(T,{ExtendsFalse:()=>O,ExtendsTrue:()=>I,ExtendsUnion:()=>xa,IsExtendsFalse:()=>ix,IsExtendsTrue:()=>jm,IsExtendsTrueLike:()=>er,IsExtendsUnion:()=>vm,Match:()=>W,TakeLeft:()=>fe});function xa(e){return p.Create({"~kind":"ExtendsUnion"},{inferred:e})}function vm(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsUnion")&&i.IsObject(e.inferred)}function I(e){return p.Create({"~kind":"ExtendsTrue"},{inferred:e})}function jm(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsTrue")&&i.IsObject(e.inferred)}function O(){return p.Create({"~kind":"ExtendsFalse"},{})}function ix(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],"ExtendsFalse")}function er(e){return vm(e)||jm(e)}function W(e,t,r){return er(e)?t(e.inferred):r()}function fe(e,t,r){return i.IsEqual(e.length,0)?r():t(e[0],e.slice(1))}function sx(e){return i.IsString(e)||i.IsNumber(e)?S(e):i.IsNull(e)?it():j()}function je(e){return e.map(r=>sx(r))}function Dr(e){let t=je(e);return P(t)}function qm(e){return Dr(e.enum)}function mx(e,t,r,n){return W(F(e,r,n),a=>I(p.Assign(p.Assign(e,a),{[t]:r})),()=>O())}function px(e,t){return I(e)}function ux(e,t,r){let n=Dr(r);return F(e,t,n)}function Sm(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>Sm(s,t,a),()=>O()),()=>I(e))}function cx(e,t,r){let n=Te(r);return F(e,t,n)}function Am(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>I(s),()=>Am(e,t,a)),()=>O())}function M(e,t,r){return Q(r)?px(e,t):se(r)?ux(e,t,r.enum):V(r)?mx(e,r.name,t,r.extends):w(r)?Sm(e,t,r.allOf):Y(r)?cx(e,t,r.pattern):y(r)?Am(e,t,r.anyOf):re(r)?I(e):O()}function Lm(e,t,r){return V(r)?M(e,t,r):Q(r)?I(e):re(r)?I(e):xa(e)}function dx(e,t){let r=ht(e),n=ht(t);return r&&n||!r&&n?!0:!(r&&!n)}function Fm(e,t,r,n){return _(n)?dx(t,n)?F(e,r,n.items):O():M(e,t,n)}function Km(e,t,r){return ge(r)?F(e,t,r.iteratorItems):M(e,Ae(t),r)}function Um(e,t,r){return Fe(r)?I(e):M(e,t,r)}function Nm(e,t,r){return Pe(r)?I(e):M(e,t,r)}function lx(e,t,r,n,a){let s=V(n)?t:n,m=V(n)?n:t,c=pe(t),f=pe(n);return!c&&f?O():W(F(e,s,m),v=>Gr(v,r,a),()=>O())}function fx(e,t,r,n){return fe(n,(a,s)=>lx(e,t,r,a,s),()=>pe(t)?I(e):O())}function xx(e,t,r){return fe(t,(n,a)=>fx(e,n,a,r),()=>I(e))}function Gr(e,t,r){return xx(e,t,r)}function An(e,t,r){return De(r)?I(e):F(e,t,r)}function Dm(e,t,r,n){return Q(n)?I(e):re(n)?I(e):ae(n)?W(Gr(e,t,n.parameters),a=>An(a,r,n.instanceType),()=>O()):O()}function Gm(e,t,r){return F(e,qm(t),r)}function zm(e,t,r,n){return Q(n)?I(e):re(n)?I(e):oe(n)?W(Gr(e,t,n.parameters),a=>An(a,r,n.returnType),()=>O()):O()}function _m(e,t,r){return ce(r)?I(e):X(r)?I(e):M(e,t,r)}function Bm(e,t,r){let n=z(t);return F(e,n,r)}function Hm(e,t,r){return $e(r)?F(e,t,r.iteratorItems):M(e,Ke(t),r)}function Ln(e,t,r){return t===r?I(e):O()}function Ix(e,t,r){return U(r)?Ln(e,t,r.const):Fe(r)?I(e):M(e,S(t),r)}function yx(e,t,r){return U(r)?Ln(e,t,r.const):Pe(r)?I(e):M(e,S(t),r)}function gx(e,t,r){return U(r)?Ln(e,t,r.const):X(r)?I(e):M(e,S(t),r)}function $x(e,t,r){return U(r)?Ln(e,t,r.const):le(r)?I(e):M(e,S(t),r)}function Vm(e,t,r){return i.IsBigInt(t.const)?Ix(e,t.const,r):i.IsBoolean(t.const)?yx(e,t.const,r):i.IsNumber(t.const)?gx(e,t.const,r):i.IsString(t.const)?$x(e,t.const,r):D()}function Jm(e,t,r){return V(r)?M(e,t,r):I(e)}function Wm(e,t,r){return Kt(r)?I(e):M(e,t,r)}function Zm(e,t,r){return X(r)?I(e):M(e,t,r)}function bx(e,t,r){return pe(t)?pe(r)?I(e):O():I(e)}function Tx(e,t,r){return V(r)&&at(r.extends)?O():W(F(e,t,r),n=>bx(n,t,r),()=>O())}function hx(e,t){return e.reduce((r,n)=>n in t?er(t[n])?{...r,...t[n].inferred}:D():D(),{})}function kx(e,t,r){let n={};for(let m of i.Keys(r))n[m]=m in t?Tx({},t[m],r[m]):pe(r[m])?V(r[m])?I(p.Assign(e,{[r[m].name]:r[m].extends})):I(e):O();let a=i.Values(n).every(m=>er(m)),s=a?hx(i.Keys(n),n):{};return a?I(s):O()}function Ex(e,t,r){let n=kx(e,t,r);return er(n)?I(p.Assign(e,n.inferred)):O()}function Px(e,t,r){return Ex(e,t,r)}function Qm(e,t,r){return K(r)?Px(e,t,r.properties):M(e,k(t),r)}function Xm(e,t,r){return de(r)?F(e,t,r.item):M(e,Ue(t),r)}function Ym(e,t,r){return le(r)?I(e):M(e,t,r)}function ep(e,t,r){return st(r)?I(e):M(e,t,r)}function tp(e,t,r){let n=Te(t);return F(e,n,r)}function Ia(e,t){return p.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function zr(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"name")&&i.HasPropertyKey(e,"type")&&i.IsEqual(e["~kind"],"Inferrable")&&i.IsString(e.name)&&i.IsObject(e.type)}function ya(e){return mt(e)?V(e.items)?_(e.items.extends)?Ia(e.items.name,e.items.extends.items):re(e.items.extends)?Ia(e.items.name,e.items.extends):void 0:D():void 0}function Fn(e){return V(e)?Ia(e.name,e.extends):void 0}function ga(e,t,r=[]){return fe(e,(n,a)=>W(F({},n,t),()=>ga(a,t,[...r,n]),()=>{}),()=>r)}function rp(e,t,r,n){let a=ga(r,n);return i.IsArray(a)?I(p.Assign(e,{[t]:ee(a)})):O()}function Kn(e,t,r,n){let a=ga(r,n);return i.IsArray(a)?I(p.Assign(e,{[t]:P(a)})):O()}function Ox(e){return[...e].reverse()}function $a(e,t){return t?Ox(e):e}function Cx(e){let t=e.length>0?e[0]:void 0,r=E(t)?ya(t):void 0;return E(r)}function Mx(e,t,r,n,a,s){return W(F(e,r,a),m=>np(m,t,n,s),()=>O())}function Rx(e,t,r,n,a){let s=ya(n);return zr(s)?rp(e,s.name,$a(r,t),s.type):fe(r,(m,c)=>Mx(e,t,m,c,n,a),()=>O())}function wx(e,t,r,n){return fe(n,(a,s)=>Rx(e,t,r,a,s),()=>i.IsEqual(r.length,0)?I(e):O())}function np(e,t,r,n){return wx(e,t,r,n)}function vx(e,t,r){let n=Un(e,{callstack:[]},r),a=Cx(n);return np(e,a,$a(t,a),$a(n,a))}function ap(e,t,r){let n=Fn(r);return zr(n)?Kn(e,n.name,t,n.type):fe(t,(a,s)=>W(F(e,a,r),m=>ap(m,s,r),()=>O()),()=>I(e))}function op(e,t,r){let n=Un(e,{callstack:[]},t);return N(r)?vx(e,n,r.items):_(r)?ap(e,n,r.items):M(e,ee(n),r)}function ip(e,t,r){return De(r)?I(e):Bt(r)?I(e):M(e,t,r)}function sp(e,t,r){return fe(r,(n,a)=>W(F(e,t,n),s=>I(s),()=>sp(e,t,a)),()=>O())}function ba(e,t,r){return fe(t,(n,a)=>W(sp(e,n,r),s=>ba(s,a,r),()=>O()),()=>I(e))}function mp(e,t,r){let n=Fn(r);return zr(n)?Kn(e,n.name,t,n.type):y(r)?ba(e,t,r.anyOf):ba(e,t,[r])}function pp(e,t,r){return V(r)?M(e,t,r):Q(r)?I(e):re(r)?I(e):O()}function up(e,t,r){return De(r)?I(e):M(e,t,r)}function F(e,t,r){return Q(t)?Lm(e,t,r):_(t)?Fm(e,t,t.items,r):ge(t)?Km(e,t.iteratorItems,r):Fe(t)?Um(e,t,r):Pe(t)?Nm(e,t,r):ae(t)?Dm(e,t.parameters,t.instanceType,r):se(t)?Gm(e,t,r):oe(t)?zm(e,t.parameters,t.returnType,r):ce(t)?_m(e,t,r):w(t)?Bm(e,t.allOf,r):$e(t)?Hm(e,t.iteratorItems,r):U(t)?Vm(e,t,r):at(t)?Jm(e,t,r):Kt(t)?Wm(e,t,r):X(t)?Zm(e,t,r):K(t)?Qm(e,t.properties,r):de(t)?Xm(e,t.item,r):le(t)?Ym(e,t,r):st(t)?ep(e,t,r):Y(t)?tp(e,t.pattern,r):N(t)?op(e,t.items,r):Bt(t)?ip(e,t,r):y(t)?mp(e,t.anyOf,r):re(t)?pp(e,t,r):De(t)?up(e,t,r):O()}function Vt(e,t,r={}){return $("Interface",[e,t],r)}function tr(e){return E(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"Interface")}function cp(e,t,r={}){return g({},Vt(e,t,r))}function jx(e,t,r){return e.includes(r)?!0:ct([...e,r],t,t[r])}function dp(e,t,r){let n=dn(r);return Mt(e,t,n)}function Mt(e,t,r){let[n,...a]=r;return E(n)?ct(e,t,n)?!0:Mt(e,t,a):!1}function ct(e,t,r){return Z(r)?jx(e,t,r.$ref):_(r)?ct(e,t,r.items):ge(r)?ct(e,t,r.iteratorItems):ae(r)?Mt(e,t,[...r.parameters,r.instanceType]):oe(r)?Mt(e,t,[...r.parameters,r.returnType]):tr(r)?dp(e,t,r.parameters[1]):w(r)?Mt(e,t,r.allOf):$e(r)?ct(e,t,r.iteratorItems):K(r)?dp(e,t,r.properties):de(r)?ct(e,t,r.item):y(r)?Mt(e,t,r.anyOf):N(r)?Mt(e,t,r.items):Ce(r)?ct(e,t,Ne(r)):!1}function Nn(e,t,r){return ct(e,t,r)}function qx(e,t){return t.reduce((r,n)=>n in e?Nn([n],e,e[n])?[...r,n]:r:D(),[])}function lp(e){let t=no(e);return qx(e,t)}function Sx(e,t,r){return r.includes(t)?r:t in e?dt(e,e[t],[...r,t]):D()}function fp(e,t,r){let n=dn(t);return rr(e,n,r)}function rr(e,t,r){return t.reduce((n,a)=>dt(e,a,n),r)}function dt(e,t,r){return Z(t)?Sx(e,t.$ref,r):_(t)?dt(e,t.items,r):ge(t)?dt(e,t.iteratorItems,r):ae(t)?rr(e,[...t.parameters,t.instanceType],r):oe(t)?rr(e,[...t.parameters,t.returnType],r):tr(t)?fp(e,t.parameters[1],r):w(t)?rr(e,t.allOf,r):$e(t)?dt(e,t.iteratorItems,r):K(t)?fp(e,t.properties,r):de(t)?dt(e,t.item,r):y(t)?rr(e,t.anyOf,r):N(t)?rr(e,t.items,r):Ce(t)?dt(e,Ne(t),r):r}function xp(e,t,r){return dt(e,r,[t])}function Ax(e){return Ft()}function Lx(e){return i.Keys(e).reduce((t,r)=>({...t,[r]:Ge(e[r])}),{})}function _r(e){return e.reduce((t,r)=>[...t,Ge(r)],[])}function Ge(e){return Z(e)?Ax(e.$ref):_(e)?we(Ge(e.items),pn(e)):ge(e)?Ae(Ge(e.iteratorItems)):ae(e)?tt(_r(e.parameters),Ge(e.instanceType)):oe(e)?rt(_r(e.parameters),Ge(e.returnType)):w(e)?he(_r(e.allOf)):$e(e)?Ke(Ge(e.iteratorItems)):K(e)?k(Lx(e.properties)):de(e)?Ue(Ge(e.item)):Ce(e)?En(zt(e),Ge(Ne(e))):y(e)?P(_r(e.anyOf)):N(e)?ee(_r(e.items)):e}function Fx(e,t){return t in e?Ge(e[t]):ue()}function Ip(e){return Fx(e.$defs,e.$ref)}function Ta(e){return e.reduceRight((r,n,a)=>({[a]:n,...r}),{})}function yp(e){let t=Ta(e.items);return k(t)}function Kx(e,t){return kt(e)?!!kt(t):!1}function Ux(e,t){return pe(e)?!!pe(t):!1}function Nx(e,t){let r=Kx(e,t),n=Ux(e,t),a=z([e,t]),s=sn(At(a));return r&&n?Ie(xe(s)):r&&!n?Ie(s):!r&&n?xe(s):s}function Dx(e,t,r){return r in e?r in t?Nx(e[r],t[r]):e[r]:r in t?t[r]:j()}function Gx(e,t){return[...new Set([...i.Keys(t),...i.Keys(e)])].reduce((n,a)=>({...n,[a]:Dx(e,t,a)}),{})}function gp(e){return K(e)?e.properties:N(e)?Ta(e.items):D()}function $p(e,t){let r=gp(e),n=gp(t),a=Gx(r,n);return k(a)}function bp(e,t){let r=Jr(e,t);return i.IsEqual(r,Hr)?e:i.IsEqual(r,Vr)||i.IsEqual(r,Br)?t:j()}function Tp(e){return K(e)||N(e)}function zx(e,t){let r=y(e),n=y(t);return r||n}function _x(e,t){let r=Rt(e),n=Rt(t),a=zx(r,n),s=Tp(r),m=Tp(n);return a?z([r,n]):s&&m?$p(r,n):s&&!m?r:!s&&m?n:bp(r,n)}function hp(e,t,r=[]){let[n,...a]=t;return i.IsUndefined(n)?r.length===0?[e]:r:hp(e,a,[...r,_x(e,n)])}function kp(e,t,r=[]){let[n,...a]=e;return E(n)?kp(a,t,[...r,...Wr([n],t)]):r}function Wr(e,t=[]){let[r,...n]=e;return E(r)?y(r)?Wr(n,kp(r.anyOf,t)):Wr(n,hp(r,t)):t}function z(e){let t=Wr(e);return ha(t)}function qe(e){return ha(e)}function Rt(e){return w(e)?z(e.allOf):y(e)?qe(e.anyOf):e}function wt(e){return i.IsEqual(e.length,1)?e[0]:i.IsEqual(e.length,0)?j():P(e)}function Bx(e,t,r){let n=ke(e,{callstack:[]},t),a=Zr({},{callstack:[]},r);return z([...n,k(a)])}function Hx(e,t){return i.Keys(e).filter(n=>t.includes(n)).reduce((n,a)=>{let s=e[a],m=tr(s)?Bx(e,s.parameters[0],s.parameters[1]):s;return{...n,[a]:m}},{})}function Ep(e,t,r){let n=xp(e,t,r),a=Hx(e,n);return Le(a,t)}function Pp(e,t){return t in e?Z(e[t])?Pp(e,e[t].$ref):e[t]:j()}function ze(e,t){return Pp(e,t)}function Op(e){return ie(e)?Ip(e):e}function me(e,t,r){let n=Op(t),a=Op(r);return F(e,n,a)}var Br="equal",Vx="disjoint",Hr="left-inside",Vr="right-inside";function Jr(e,t){let r=[re(e)?T.ExtendsFalse():me({},e,t),re(e)?T.ExtendsTrue({}):me({},t,e)];return T.IsExtendsTrueLike(r[0])&&T.IsExtendsTrueLike(r[1])?Br:T.IsExtendsTrueLike(r[0])&&T.IsExtendsFalse(r[1])?Hr:T.IsExtendsFalse(r[0])&&T.IsExtendsTrueLike(r[1])?Vr:Vx}function Jx(e){return y(e)?Je(e.anyOf):[e]}function Je(e){return e.reduce((t,r)=>[...t,...Jx(r)],[])}function Wx(e,t){return t.filter(r=>Jr(e,r)!==Vr)}function Zx(e,t){let r=t.some(n=>{let a=Jr(e,n);return i.IsEqual(a,Hr)||i.IsEqual(a,Br)});return i.IsEqual(r,!1)}function Qx(e,t){let r=Rt(e);return Q(r)?[r]:Zx(r,t)?[...Wx(r,t),r]:t}function Xx(e){return e.reduce((t,r)=>K(r)?[...t,r]:at(r)?t:Qx(r,t),[])}function ha(e){let t=Xx(e),r=Je(t);return r.length===0?j():r.length===1?r[0]:P(r)}function Yx(e,t,r,n){let a=d(e,t,r);return p.Update(Rt(a),{},n)}function Cp(e,t,r,n){return Yx(e,t,r,n)}function Qr(e,t=[]){return Ye(e)&&i.IsEqual(e.action,"Conditional")?Z(e.parameters[0])?Qr(e.parameters[2],Qr(e.parameters[3],[...t,e.parameters[0].$ref])):Qr(e.parameters[2],Qr(e.parameters[3],t)):Ye(e)&&i.IsEqual(e.action,"Mapped")&&Ye(e.parameters[1])&&i.IsEqual(e.parameters[1].action,"KeyOf")&&Z(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function eI(e,t){return e.reduce((r,n)=>[...r,t.includes(n.name)],[])}function wp(e,t,r=[]){let[n,...a]=e,[s,...m]=t;return i.IsGreaterThan(e.length,0)&&i.IsGreaterThan(t.length,0)?wp(a,m,[...r,[s,n]]):r}function tI(e){return y(e)?[...e.anyOf]:[e]}function rI(e,t){return e.reduce((r,n)=>[...r,[...n,t]],[])}function Mp(e,t){return t.reduce((r,n)=>[...r,...rI(e,n)],[])}function Rp(e){return e.reduce((t,r)=>i.IsEqual(r[0],!0)?Mp(t,tI(r[1])):Mp(t,[r[1]]),[[]])}function vp(e,t,r){let n=Qr(r),a=eI(e,n),s=wp(t,a);return Ye(r)&&i.IsEqual(r.action,"Conditional")||Ye(r)&&i.IsEqual(r.action,"Mapped")?Rp(s):[t]}function nI(){return["(not-resolvable)",j()]}function aI(){return["(not-generic)",j()]}function oI(e,t,r){return[e,nt(t,r)]}function iI(e,t,r){return t in e?jp(e,t,e[t],r):nI()}function jp(e,t,r,n){return Lt(r)?oI(t,r.parameters,r.expression):Z(r)?iI(e,r.$ref,n):aI()}function qp(e,t,r){return jp(e,"(anonymous)",t,r)}function sI(e,t,r){if(V(t)||nr(t)||T.IsExtendsTrueLike(me({},t,r)))return;let n={parameter:e,expect:r,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:n})}function Sp(e,t,r,n,a){let s=d(e,t,a);return sI(r,s,n),p.Assign(e,{[r]:s})}function mI(e,t,r,n,a){let s=d(e,t,r.extends),m=d(e,t,r.equals),[c,...f]=a;return E(c)?ka(Sp(e,t,r.name,s,c),t,n,f):ka(Sp(e,t,r.name,s,m),t,n,[])}function ka(e,t,r,n){let[a,...s]=r;return E(a)?mI(e,t,a,s,n):e}function Ap(e,t,r,n){return ka(e,t,r,n)}function pI(e){return i.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function uI(e,t){return i.IsEqual(pI(e),t)}function cI(e,t,r,n,a,s){let m=Ap(e,t,n,s),c=d(m,{callstack:[...t.callstack,r.$ref]},a);return d(e,t,c)}function dI(e,t,r,n,a,s){return s.reduce((m,c)=>[...m,cI(e,t,r,n,a,c)],[])}function lI(e,t,r,n,a,s){let m=vp(n,s,a),c=dI(e,t,r,n,a,m);return i.IsEqual(c.length,1)?c[0]:qe(c)}function Dn(e,t,r,n){let a=ke(e,t,n),s=qp(e,r,n),m=s[0],c=s[1];return Lt(c)?uI(t,m)?Tr(He(m),a):lI(e,t,He(m),c.parameters,c.expression,a):Tr(r,a)}function Tr(e,t){return p.Create({"~kind":"Call"},{target:e,arguments:t},{})}function Lp(e,t){return Dn({},{callstack:[]},e,t)}function nr(e){return l(e,"Call")}function Fp(e){return de(e)?Fp(e.item):e}function fI(e,t,r,n){let a=d(e,t,r);return p.Update(Fp(a),{},n)}function Kp(e,t,r,n){return h(e,[r])?fI(e,t,r,n):Ur(r,n)}function Up(e,t){return e(t)}function Np(e,t){return i.IsString(t)?S(Up(e,t)):S(t)}function Dp(e,t){let r=Te(t);return We(e,r)}function Gp(e,t){let r=t.map(n=>We(e,n));return P(r)}function We(e,t){return U(t)?Np(e,t.const):Y(t)?Dp(e,t.pattern):y(t)?Gp(e,t.anyOf):t}function hr(e,t={}){return $("Capitalize",[e],t)}function zp(e,t={}){return g({},hr(e,t))}function kr(e,t={}){return $("Lowercase",[e],t)}function _p(e,t={}){return g({},kr(e,t))}function Er(e,t={}){return $("Uncapitalize",[e],t)}function Bp(e,t={}){return g({},Er(e,t))}function Pr(e,t={}){return $("Uppercase",[e],t)}function Hp(e,t={}){return g({},Pr(e,t))}var xI=e=>e[0].toUpperCase()+e.slice(1),II=e=>e.toLowerCase(),yI=e=>e[0].toLowerCase()+e.slice(1),gI=e=>e.toUpperCase();function $I(e,t,r,n){let a=d(e,t,r);return p.Update(We(xI,a),{},n)}function Vp(e,t,r,n){return h(e,[r])?$I(e,t,r,n):hr(r,n)}function bI(e,t,r,n){let a=d(e,t,r);return p.Update(We(II,a),{},n)}function Jp(e,t,r,n){return h(e,[r])?bI(e,t,r,n):kr(r,n)}function TI(e,t,r,n){let a=d(e,t,r);return p.Update(We(yI,a),{},n)}function Wp(e,t,r,n){return h(e,[r])?TI(e,t,r,n):Er(r,n)}function hI(e,t,r,n){let a=d(e,t,r);return p.Update(We(gI,a),{},n)}function Zp(e,t,r,n){return h(e,[r])?hI(e,t,r,n):Pr(r,n)}function Or(e,t,r,n,a={}){return $("Conditional",[e,t,r,n],a)}function Qp(e,t,r,n,a={}){return g({},Or(e,t,r,n,a))}function kI(e,t,r,n,a,s,m){let c=d(e,t,r),f=d(e,t,n),v=me(e,c,f);return p.Update(T.IsExtendsUnion(v)?P([d(v.inferred,t,a),d(e,t,s)]):T.IsExtendsTrue(v)?d(v.inferred,t,a):d(e,t,s),{},m)}function Xp(e,t,r,n,a,s,m){return h(e,[r,n])?kI(e,t,r,n,a,s,m):Or(r,n,a,s,m)}function Cr(e,t={}){return $("ConstructorParameters",[e],t)}function Yp(e,t={}){return g({},Cr(e,t))}function EI(e){return ae(e)?d({},{callstack:[]},ee(e.parameters)):j()}function PI(e,t,r,n){let a=d(e,t,r);return p.Update(EI(a),{},n)}function eu(e,t,r,n){return h(e,[r])?PI(e,t,r,n):Cr(r,n)}function Mr(e,t,r={}){return $("Exclude",[e,t],r)}function tu(e,t,r={}){return g({},Mr(e,t,r))}function ru(e,t){return e.reduce((r,n)=>[...r,...nu(n,t)],[])}function nu(e,t){let r=me({},e,t);return T.IsExtendsTrueLike(r)?[]:[e]}function OI(e,t){let r=se(e)?ru(je(e.enum),t):y(e)?ru(Je(e.anyOf),t):nu(e,t);return qe(r)}function CI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(OI(s,m),{},a)}function Gn(e,t,r,n,a){return h(e,[r,n])?CI(e,t,r,n,a):Mr(r,n,a)}function Rr(e,t,r={}){return $("Extract",[e,t],r)}function au(e,t,r={}){return g({},Rr(e,t,r))}function ou(e,t){return e.reduce((r,n)=>[...r,...iu(n,t)],[])}function iu(e,t){let r=me({},e,t);return T.IsExtendsTrueLike(r)?[e]:[]}function MI(e,t){let r=se(e)?ou(je(e.enum),t):y(e)?ou(Je(e.anyOf),t):iu(e,t);return qe(r)}function RI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(MI(s,m),{},a)}function su(e,t,r,n,a){return h(e,[r,n])?RI(e,t,r,n,a):Rr(r,n,a)}var wI=new RegExp("^(?:0|[1-9][0-9]*)$");function ar(e){let t=`${e}`;return wI.test(t)?parseInt(t):e}function vI(e){return S(ar(e))}function mu(e){return e.map(t=>pu(t))}function pu(e){return w(e)?he(mu(e.allOf)):y(e)?P(mu(e.anyOf)):U(e)?vI(e.const):e}function uu(e,t){let r=pu(t),n=me({},r,be());return T.IsExtendsTrueLike(n)?e:U(t)&&i.IsEqual(t.const,"length")?be():j()}function cu(e,t){let r=ze(e,t);return _e(r)}function zn(e){return e.reduce((t,r)=>[...t,..._e(r)],[])}function du(e){let t=je(e);return zn(t)}function lu(e){let t=z(e);return _e(t)}function fu(e){return[`${e}`]}function xu(e){let t=Te(e);return _e(t)}function _e(e){return ie(e)?cu(e.$defs,e.$ref):se(e)?du(e.enum):w(e)?lu(e.allOf):U(e)?fu(e.const):Y(e)?xu(e.pattern):y(e)?zn(e.anyOf):[]}function or(e){return _e(e)}function jI(e,t){return t in e?[e[t]]:[]}function qI(e,t){return t.reduce((r,n)=>[...r,...jI(e,n)],[])}function Iu(e,t){let r=or(t),n=qI(e,r);return qe(n)}function SI(e){return S(ar(e))}function yu(e){return e.map(t=>Ea(t))}function Ea(e){return w(e)?he(yu(e.allOf)):y(e)?P(yu(e.anyOf)):U(e)?SI(e.const):e}function AI(e,t){return e.reduceRight((r,n,a)=>{let s=me({},S(a),t);return T.IsExtendsTrueLike(s)?[n,...r]:r},[])}function LI(e,t){let r=Ea(t),n=AI(e,r);return wt(n)}function FI(e){return wt(e)}function gu(e,t){return U(t)&&i.IsEqual(t.const,"length")?S(e.length):X(t)||ce(t)?FI(e):LI(e,t)}function KI(e){return e.reduce((t,r)=>yn(r)?[...t,S(r)]:t,[])}function ir(e){let t=KI(e);return P(t)}function Jt(e,t,r={}){return $("Index",[e,t],r)}function $u(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},Jt(e,n,r))}function bu(e,t){let r=ze(e,t);return Se(r)}function UI(e,t){let r=i.Keys(e).filter(q=>!i.HasPropertyKey(t,q)),n=i.Keys(t).filter(q=>!i.HasPropertyKey(e,q)),a=i.Keys(e).filter(q=>i.HasPropertyKey(t,q)),s=r.reduce((q,b)=>({...q,[b]:e[b]}),{}),m=n.reduce((q,b)=>({...q,[b]:t[b]}),{}),c=a.reduce((q,b)=>({...q,[b]:z([e[b],t[b]])}),{}),f=p.Assign(s,m);return p.Assign(f,c)}function Tu(e){return e.reduce((t,r)=>UI(t,Se(r)),{})}function hu(e){let t=yp(ee(e));return Se(t)}function NI(e,t){return i.Keys(e).filter(a=>a in t).reduce((a,s)=>({...a,[s]:qe([e[s],t[s]])}),{})}function ku(e,t){let[r,...n]=e;return E(r)?ku(n,NI(t,Se(r))):t}function Eu(e){let[t,...r]=e;return E(t)?ku(r,Se(t)):D()}function Se(e){return ie(e)?bu(e.$defs,e.$ref):w(e)?Tu(e.allOf):y(e)?Eu(e.anyOf):N(e)?hu(e.items):K(e)?e.properties:{}}function sr(e){let t=Se(e);return k(t)}function DI(e){return ie(e)||w(e)||y(e)?sr(e):e}function GI(e,t){let r=DI(e);return _(r)?uu(r.items,t):K(r)?Iu(r.properties,t):N(r)?gu(r.items,t):j()}function zI(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(GI(s,m),{},a)}function Pu(e,t,r,n,a){return h(e,[r,n])?zI(e,t,r,n,a):Jt(r,n,a)}function wr(e,t={}){return $("InstanceType",[e],t)}function Ou(e,t={}){return g({},wr(e,t))}function _I(e){return ae(e)?e.instanceType:j()}function BI(e,t,r,n){let a=d(e,t,r);return p.Update(_I(a),{},n)}function Cu(e,t,r,n={}){return h(e,[r])?BI(e,t,r,n):wr(r,n)}function HI(e,t,r,n,a){let s=ke(e,{callstack:[]},r),m=Zr(e,{callstack:[]},n),c=z([...s,k(m)]);return p.Update(c,{},a)}function Mu(e,t,r,n,a){return h(e,r)?HI(e,t,r,n,a):Vt(r,n,a)}function Wt(e,t={}){return $("KeyOf",[e],t)}function Ru(e,t={}){return g({},Wt(e,t))}function wu(){return P([be(),Oe(),Ut()])}function vu(e){return be()}function VI(e){return e.reduce((r,n)=>yn(n)?[...r,S(ar(n))]:D(),[])}function ju(e){let t=i.Keys(e),r=VI(t);return wt(r)}function qu(e){return zt(e)}function Su(e){let t=e.map((r,n)=>S(n));return wt(t)}function JI(e){return ie(e)||w(e)||y(e)?sr(e):e}function WI(e){let t=JI(e);return Q(t)?wu():_(t)?vu(t.items):K(t)?ju(t.properties):Ce(t)?qu(t):N(t)?Su(t.items):j()}function ZI(e,t,r,n){let a=d(e,t,r);return p.Update(WI(a),{},n)}function Au(e,t,r,n){return h(e,[r])?ZI(e,t,r,n):Wt(r,n)}function Ht(e,t,r,n,a={}){return $("Mapped",[e,t,r,n],a)}function Lu(e,t,r,n,a={}){return g({},Ht(e,t,r,n,a))}function QI(e){let t=Te(e);return Pa(t)}function Fu(e){return e.reduce((t,r)=>[...t,...Pa(r)],[])}function Pa(e){return se(e)?Fu(je(e.enum)):$n(e)||gn(e)?[e]:Y(e)?QI(e.pattern):y(e)?Fu(e.anyOf):[e]}function Ku(e){return Pa(e)}function XI(e){return Y(e)?Te(e.pattern):e}function YI(e,t,r,n,a,s){let m=p.Assign(e,{[r.name]:n}),c=d(m,t,a),f=XI(c),v=d(m,t,s);return gn(f)||$n(f)?{[f.const]:v}:{}}function ey(e,t,r,n,a,s){return n.reduce((m,c)=>[...m,YI(e,t,r,c,a,s)],[])}function ty(e){return e.reduce((t,r)=>[...t,k(r)],[])}function ry(e,t,r,n,a,s){let m=Ku(n),c=ey(e,t,r,m,a,s),f=ty(c);return z(f)}function ny(e,t,r,n,a,s,m){let c=d(e,t,n);return p.Update(ry(e,t,r,c,a,s),{},m)}function Uu(e,t,r,n,a,s,m){return h(e,[n])?ny(e,t,r,n,a,s,m):Ht(r,n,a,s,m)}function ay(e,t){return i.Keys(e).filter(n=>t.includes(n)).reduce((n,a)=>({...n,[a]:Ep(e,a,e[a])}),{})}function oy(e,t){return i.Keys(e).filter(n=>!t.includes(n)).reduce((n,a)=>({...n,[a]:d(e,{callstack:[]},e[a])}),{})}function iy(e,t){let r=lp(e),n=ay(e,r),a=oy(e,r),s={...n,...a};return p.Update(s,{},t)}function Nu(e,t,r,n){let a=p.Assign(e,r);return iy(a,n)}function vr(e,t={}){return $("NonNullable",[e],t)}function Du(e,t={}){return g({},vr(e,t))}function sy(e){let t=P([it(),_t()]);return Gn({},{callstack:[]},e,t,{})}function my(e,t,r,n){let a=d(e,t,r);return p.Update(sy(a),{},n)}function Gu(e,t,r,n){return h(e,[r])?my(e,t,r,n):vr(r,n)}function _n(e){let t=sr(e);return K(t)?t.properties:D()}function jr(e,t,r={}){return $("Omit",[e,t],r)}function zu(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},jr(e,n,r))}function py(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?n:{...n,[a]:e[a]},{})}function uy(e,t){let r=_n(e),n=or(t),a=py(r,n);return k(a)}function cy(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(uy(s,m),{},a)}function _u(e,t,r,n,a){return h(e,[r,n])?cy(e,t,r,n,a):jr(r,n,a)}function Zt(e,t){return $("Options",[e,t],{})}function Bu(e,t){return g({},Zt(e,t))}function dy(e,t,r,n){let a=d(e,t,r);return p.Update(a,{},n)}function Hu(e,t,r,n){return h(e,[r])?dy(e,t,r,n):Zt(r,n)}function qr(e,t={}){return $("Parameters",[e],t)}function Vu(e,t={}){return g({},qr(e,t))}function ly(e){return oe(e)?d({},{callstack:[]},ee(e.parameters)):j()}function fy(e,t,r,n){let a=d(e,t,r);return p.Update(ly(a),{},n)}function Ju(e,t,r,n){return h(e,[r])?fy(e,t,r,n):qr(r,n)}function Sr(e,t={}){return $("Partial",[e],t)}function Wu(e,t={}){return g({},Sr(e,t))}function Zu(e,t){let r=ze(e,t),n=lt(r);return Le(p.Assign(e,{[t]:n}),t)}function Qu(e){let t=e.map(r=>lt(r));return z(t)}function Xu(e){let t=e.map(r=>lt(r));return P(t)}function Yu(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:on(e[a])}),{});return k(t)}function lt(e){return ie(e)?Zu(e.$defs,e.$ref):w(e)?Qu(e.allOf):y(e)?Xu(e.anyOf):K(e)?Yu(e.properties):k({})}function xy(e,t,r,n){let a=d(e,t,r);return p.Update(lt(a),{},n)}function ec(e,t,r,n){return h(e,[r])?xy(e,t,r,n):Sr(r,n)}function Ar(e,t,r={}){return $("Pick",[e,t],r)}function tc(e,t,r={}){let n=i.IsArray(t)?ir(t):t;return g({},Ar(e,n,r))}function Iy(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?p.Assign(n,{[a]:e[a]}):n,{})}function yy(e,t){let r=_n(e),n=or(t),a=Iy(r,n);return k(a)}function gy(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(yy(s,m),{},a)}function rc(e,t,r,n,a){return h(e,[r,n])?gy(e,t,r,n,a):Ar(r,n,a)}function Lr(e,t={}){return $("ReadonlyType",[e],t)}function nc(e,t={}){return g({},Lr(e,t))}function ac(e){return et(we(e))}function oc(e,t){let r=ze(e,t),n=ft(r);return Le(p.Assign(e,{[t]:n}),t)}function ic(e){let t=e.map(r=>ft(r));return z(t)}function sc(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:mn(e[a])}),{});return k(t)}function mc(e){return et(ee(e))}function pc(e){let t=e.map(r=>ft(r));return P(t)}function ft(e){return _(e)?ac(e.items):ie(e)?oc(e.$defs,e.$ref):w(e)?ic(e.allOf):K(e)?sc(e.properties):N(e)?mc(e.items):y(e)?pc(e.anyOf):e}function $y(e,t,r,n){let a=d(e,t,r);return p.Update(ft(a),{},n)}function uc(e,t,r,n){return h(e,[r])?$y(e,t,r,n):Lr(r,n)}function cc(e){return ye(ve,e)}function dc(e){return k({true:e,false:e})}function lc(e,t){let r=Dr(e);return xt(r,t)}function fc(e,t){return ye(Nt,t)}function xc(e,t){let r=z(e);return xt(r,t)}function Ic(e,t){return i.IsString(e)||i.IsNumber(e)?k({[e]:t}):i.IsEqual(e,!1)?k({false:t}):i.IsEqual(e,!0)?k({true:t}):k({})}function yc(e,t){return ye(Dt,t)}function gc(e,t){return i.HasPropertyKey(e,"pattern")&&(i.IsString(e.pattern)||e.pattern instanceof RegExp)?ye(e.pattern.toString(),t):ye(ve,t)}function $c(e,t){let r=gr(e);return hn(r)?xt(Te(e),t):ye(e,t)}function by(e){return e.some(t=>le(t)||X(t)||ce(t))}function Ty(e,t){return i.IsEqual(by(e),!0)?ye(ve,t):void 0}function hy(e,t){return e.reduce((r,n)=>U(n)&&(i.IsString(n.const)||i.IsNumber(n.const))?{...r,[n.const]:t}:r,{})}function ky(e,t){let r=hy(e,t);return k(r)}function bc(e,t){let r=Je(e),n=Ty(r,t);return E(n)?n:ky(r,t)}function xt(e,t){return Q(e)?cc(t):Pe(e)?dc(t):se(e)?lc(e.enum,t):ce(e)?fc(e,t):w(e)?xc(e.allOf,t):U(e)?Ic(e.const,t):X(e)?yc(e,t):y(e)?bc(e.anyOf,t):le(e)?gc(e,t):Y(e)?$c(e.pattern,t):k({})}function Ey(e,t,r,n,a){let s=d(e,t,r),m=d(e,t,n);return p.Update(xt(s,m),{},a)}function Tc(e,t,r,n,a){return h(e,[r])?Ey(e,t,r,n,a):$r(r,n,a)}function hc(e,t,r,n){return n in e?Nn([n],e,e[n])?r:d(e,t,e[n]):r}function kc(e,t){let r=ze(e,t),n=It(r);return Le(p.Assign(e,{[t]:n}),t)}function Ec(e){let t=e.map(r=>It(r));return z(t)}function Pc(e){let t=e.map(r=>It(r));return P(t)}function Oc(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:At(e[a])}),{});return k(t)}function It(e){return ie(e)?kc(e.$defs,e.$ref):w(e)?Ec(e.allOf):y(e)?Pc(e.anyOf):K(e)?Oc(e.properties):k({})}function Fr(e,t={}){return $("Required",[e],t)}function Cc(e,t={}){return g({},Fr(e,t))}function Py(e,t,r,n){let a=d(e,t,r);return p.Update(It(a),{},n)}function Mc(e,t,r,n){return h(e,[r])?Py(e,t,r,n):Fr(r,n)}function Kr(e,t={}){return $("ReturnType",[e],t)}function Rc(e,t={}){return g({},Kr(e,t))}function Oy(e){return oe(e)?e.returnType:j()}function Cy(e,t,r,n){let a=d(e,t,r);return p.Update(Oy(a),{},n)}function wc(e,t,r,n){return h(e,[r])?Cy(e,t,r,n):Kr(r,n)}function My(e){return e.join("|")}function Ry(e){return e.slice(1,e.length-1)}function wy(e,t,r){return yt(t,`${r}${e}`)}function vy(e,t){return yt(e,`${t}${yo}`)}function jy(e,t){return yt(e,`${t}${In}`)}function qy(e,t){return yt(e,`${t}${bn}`)}function Sy(e,t){return Ca(P([S("false"),S("true")]),e,t)}function Ay(e,t){return yt(e,`${t}${Tn}`)}function Ly(e,t,r){return yt(t,`${r}${Ry(e)}`)}function Fy(e,t,r){let n=je(e);return Oa(n,t,r)}function Oa(e,t,r,n=[]){let[a,...s]=e;return E(a)?Oa(s,t,r,[...n,Ca(a,[],"")]):yt(t,`${r}(${My(n)})`)}function Ca(e,t,r){return se(e)?Fy(e.enum,t,r):ce(e)?jy(t,r):U(e)?wy(e.const,t,r):Fe(e)?vy(t,r):Pe(e)?Sy(t,r):X(e)?qy(t,r):le(e)?Ay(t,r):Y(e)?Ly(e.pattern,t,r):y(e)?Oa(e.anyOf,t,r):to}function yt(e,t){let[r,...n]=e;return E(r)?Ca(r,n,t):t}function Ky(e){return`^${yt(e,"")}$`}function vc(e){let t=Ky(e);return kn(t)}function Uy(e,t,r,n){let a=ke(e,t,r);return p.Update(vc(a),{},n)}function jc(e,t,r,n){return h(e,r)?Uy(e,t,r,n):br(r,n)}function Ny(e){return mt(e)?N(e.items)?Ma(e.items.items):V(e.items)?[e]:Z(e.items)?[e]:[j()]:[e]}function Ma(e){return e.reduce((r,n)=>[...r,...Ny(n)],[])}function Dy(e,t){return t in e}function Gy(e,t){return w(t)?h(e,t.allOf):y(t)?h(e,t.anyOf):Z(t)?Dy(e,t.$ref):!0}function h(e,t){let[r,...n]=t;return E(r)?Gy(e,r)?h(e,n):!1:!0}function Xr(e,t,r){return Za(e)?Xr(e.type,"remove",r):Ha(e)?Xr(e.type,t,"remove"):Ja(e)?Xr(e.type,"add",r):_a(e)?Xr(e.type,t,"add"):[e,t,r]}function zy(e,t){return i.IsEqual(e,"remove")?sn(t):i.IsEqual(e,"add")?Ie(t):t}function _y(e,t){return i.IsEqual(e,"remove")?At(t):i.IsEqual(e,"add")?xe(t):t}function Zr(e,t,r){return i.Keys(r).reduce((n,a)=>({...n,[a]:d(e,t,r[a])}),{})}function Un(e,t,r){let n=ke(e,t,r);return Ma(n)}function ke(e,t,r){return r.map(n=>d(e,t,n))}function By(e,t,r,n,a){return i.IsEqual(r,"Awaited")?Kp(e,t,n[0],a):i.IsEqual(r,"Capitalize")?Vp(e,t,n[0],a):i.IsEqual(r,"Conditional")?Xp(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"ConstructorParameters")?eu(e,t,n[0],a):i.IsEqual(r,"Evaluate")?Cp(e,t,n[0],a):i.IsEqual(r,"Exclude")?Gn(e,t,n[0],n[1],a):i.IsEqual(r,"Extract")?su(e,t,n[0],n[1],a):i.IsEqual(r,"Index")?Pu(e,t,n[0],n[1],a):i.IsEqual(r,"InstanceType")?Cu(e,t,n[0],a):i.IsEqual(r,"Interface")?Mu(e,t,n[0],n[1],a):i.IsEqual(r,"KeyOf")?Au(e,t,n[0],a):i.IsEqual(r,"Lowercase")?Jp(e,t,n[0],a):i.IsEqual(r,"Mapped")?Uu(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"Module")?Nu(e,t,n[0],a):i.IsEqual(r,"NonNullable")?Gu(e,t,n[0],a):i.IsEqual(r,"Pick")?rc(e,t,n[0],n[1],a):i.IsEqual(r,"Options")?Hu(e,t,n[0],n[1]):i.IsEqual(r,"Parameters")?Ju(e,t,n[0],a):i.IsEqual(r,"Partial")?ec(e,t,n[0],a):i.IsEqual(r,"Omit")?_u(e,t,n[0],n[1],a):i.IsEqual(r,"ReadonlyType")?uc(e,t,n[0],a):i.IsEqual(r,"Record")?Tc(e,t,n[0],n[1],a):i.IsEqual(r,"Required")?Mc(e,t,n[0],a):i.IsEqual(r,"ReturnType")?wc(e,t,n[0],a):i.IsEqual(r,"TemplateLiteral")?jc(e,t,n[0],a):i.IsEqual(r,"Uncapitalize")?Wp(e,t,n[0],a):i.IsEqual(r,"Uppercase")?Zp(e,t,n[0],a):$(r,n,a)}function d(e,t,r){let n=ht(r),a=Xr(r,kt(r)?"add":"none",pe(r)?"add":"none"),s=cn(a[0])?a[0].Clone():a[0],m=Z(s)?hc(e,t,s,s.$ref):_(s)?we(d(e,t,s.items),pn(s)):ge(s)?Ae(d(e,t,s.iteratorItems),Qa(s)):nr(s)?Dn(e,t,s.target,s.arguments):ae(s)?tt(ke(e,t,s.parameters),d(e,t,s.instanceType),Ya(s)):Ye(s)?By(e,t,s.action,s.parameters,s.options):oe(s)?rt(ke(e,t,s.parameters),d(e,t,s.returnType),eo(s)):w(s)?he(ke(e,t,s.allOf),po(s)):$e(s)?Ke(d(e,t,s.iteratorItems),$o(s)):K(s)?k(Zr(e,t,s.properties),ao(s)):de(s)?Ue(d(e,t,s.item),To(s)):Ce(s)?Ro(Gt(s),d(e,t,Ne(s))):mt(s)?Ot(d(e,t,s.items)):N(s)?ee(Un(e,t,s.items),vo(s)):y(s)?P(ke(e,t,s.anyOf),oo(s)):s,c=n?et(m):m;return zy(a[1],_y(a[2],c))}function g(e,t){return d(e,{callstack:[]},t)}function Ur(e,t={}){return $("Awaited",[e],t)}function qc(e,t={}){return g({},Ur(e,t))}function ta(e,t={}){return $("Evaluate",[e],t)}function Sc(e,t={}){return g({},ta(e,t))}function ra(e,t={}){return $("Module",[e],t)}function Ac(e,t={}){return g({},ra(e,t))}function Lc(...e){let[t,r,n]=ot.Match(e,{2:(m,c)=>i.IsString(m)?[{},m,c]:[m,c,{}],3:(m,c,f)=>[m,c,f],1:m=>[{},m,{}]}),a=Cm(r),s=i.IsArray(a)&&i.IsEqual(a.length,2)?d(t,{callstack:[]},a[0]):j();return p.Update(s,{},n)}var H={};qt(H,{Any:()=>Ft,Array:()=>we,AsyncIterator:()=>Ae,Awaited:()=>qc,Base:()=>un,BigInt:()=>Ir,Boolean:()=>xn,Call:()=>Lp,Capitalize:()=>zp,Codec:()=>fn,Conditional:()=>Qp,Constructor:()=>tt,ConstructorParameters:()=>Yp,Cyclic:()=>Le,Decode:()=>fo,DecodeBuilder:()=>xr,Encode:()=>xo,EncodeBuilder:()=>fr,Enum:()=>mo,Evaluate:()=>Sc,Exclude:()=>tu,Extends:()=>me,ExtendsResult:()=>T,Extract:()=>au,Function:()=>rt,Generic:()=>nt,Identifier:()=>yr,Immutable:()=>et,Index:()=>$u,Infer:()=>lr,InstanceType:()=>Ou,Instantiate:()=>g,Integer:()=>Et,Interface:()=>cp,Intersect:()=>he,IsAny:()=>Q,IsArray:()=>_,IsAsyncIterator:()=>ge,IsBase:()=>cn,IsBigInt:()=>Fe,IsBoolean:()=>Pe,IsCall:()=>nr,IsCodec:()=>ln,IsConstructor:()=>ae,IsCyclic:()=>ie,IsEnum:()=>se,IsFunction:()=>oe,IsGeneric:()=>Lt,IsIdentifier:()=>go,IsImmutable:()=>ht,IsInfer:()=>V,IsInteger:()=>ce,IsIntersect:()=>w,IsIterator:()=>$e,IsKind:()=>l,IsLiteral:()=>U,IsNever:()=>at,IsNull:()=>Kt,IsNumber:()=>X,IsObject:()=>K,IsOptional:()=>pe,IsParameter:()=>bo,IsPromise:()=>de,IsReadonly:()=>kt,IsRecord:()=>Ce,IsRef:()=>Z,IsRefine:()=>Qn,IsRest:()=>mt,IsSchema:()=>E,IsString:()=>le,IsSymbol:()=>st,IsTemplateLiteral:()=>Y,IsThis:()=>wo,IsTuple:()=>N,IsUndefined:()=>Bt,IsUnion:()=>y,IsUnknown:()=>re,IsUnsafe:()=>qo,IsVoid:()=>De,Iterator:()=>Ke,KeyOf:()=>Ru,Literal:()=>S,Lowercase:()=>_p,Mapped:()=>Lu,Module:()=>Ac,Never:()=>j,NonNullable:()=>Du,Null:()=>it,Number:()=>be,Object:()=>k,Omit:()=>zu,Optional:()=>on,Options:()=>Bu,Parameter:()=>Pt,Parameters:()=>Vu,Partial:()=>Wu,Pick:()=>tc,Promise:()=>Ue,Readonly:()=>mn,ReadonlyType:()=>nc,Record:()=>En,RecordKey:()=>zt,RecordKeyAsPattern:()=>Gt,RecordValue:()=>Ne,Ref:()=>He,Refine:()=>Io,Required:()=>Cc,Rest:()=>Ot,ReturnType:()=>Rc,Script:()=>Lc,String:()=>Oe,Symbol:()=>Ut,TemplateLiteral:()=>wm,This:()=>Pn,Tuple:()=>ee,Uncapitalize:()=>Bp,Undefined:()=>_t,Union:()=>P,Unknown:()=>ue,Unsafe:()=>jo,Uppercase:()=>Hp,Void:()=>On});import{existsSync as Uc,readFileSync as Wy}from"node:fs";import{homedir as Dc}from"node:os";import{join as mr}from"node:path";import{spawn as Zy}from"node:child_process";var Hy=new Set(["ECONNREFUSED","ConnectionRefused"]);function Ra(e,t){if(!e||typeof e!="object"||t.has(e))return!1;if(t.add(e),e instanceof Error&&e.message.includes("ECONNREFUSED"))return!0;let r=e;return typeof r.code=="string"&&Hy.has(r.code)||Ra(r.cause,t)?!0:Array.isArray(r.errors)&&r.errors.some(n=>Ra(n,t))}function Fc(e){return Ra(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}import{homedir as Vy}from"os";import{join as Jy}from"path";function Kc(e,t=process.platform,r=Vy()){return typeof e!="string"||e.length===0?e:e==="~"?r:e.startsWith("~/")||t==="win32"&&e.startsWith("~\\")?Jy(r,e.slice(2)):e}var wa=5e3;function Nc(){let e=Kc(process.env.CLAUDE_MEM_DATA_DIR||mr(Dc(),".claude-mem")),t={};try{let m=JSON.parse(Wy(mr(e,"settings.json"),"utf8").replace(/^\uFEFF/,"")),c=m?.env;t=c&&typeof c=="object"&&!Array.isArray(c)&&Object.keys(c).some(f=>f.startsWith("CLAUDE_MEM_"))?c:m??{}}catch{}let r=(m,c)=>process.env[m]||(typeof t[m]=="string"&&t[m]?String(t[m]):c),n=r("CLAUDE_MEM_WORKER_HOST","127.0.0.1"),a=n==="localhost"?"127.0.0.1":n,s=r("CLAUDE_MEM_WORKER_PORT",String(37700+(process.getuid?.()??77)%100));return"http://"+(a.includes(":")&&!a.startsWith("[")?"["+a+"]":a)+":"+s}var Yr;function Qy(){if(Yr)return Yr;let e=mr(process.env.CLAUDE_CONFIG_DIR||mr(Dc(),".claude"),"plugins","marketplaces","thedotmack"),t=mr(e,"plugin","scripts","bun-runner.js"),r=mr(e,"plugin","scripts","worker-service.cjs");return!Uc(t)||!Uc(r)?Promise.reject(new Error("Run npx claude-mem install to install the worker.")):(Yr=new Promise((a,s)=>{let m=Zy(process.execPath,[t,r,"start"],{stdio:"ignore",windowsHide:!0,timeout:15e3});m.once("error",s),m.once("close",c=>c===0?a():s(new Error("claude-mem worker could not start")))}).finally(()=>{Yr=void 0}),Yr)}function Gc(){let e=Nc();return{reset(){e=Nc()},async ready(){try{let t=await fetch(e+"/api/health",{signal:AbortSignal.timeout(wa)});if(t.ok)return;throw new Error("claude-mem health check returned "+t.status)}catch(t){if(!Fc(t))throw t;await Qy()}},async request(t,r={}){let n=await fetch(e+t,{...r,signal:r.signal?AbortSignal.any([r.signal,AbortSignal.timeout(wa)]):AbortSignal.timeout(wa)});if(!n.ok)throw new Error("claude-mem "+t+" returned "+n.status);return n},async post(t,r){return this.request(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)})}}}function en(e){return typeof e=="string"?e:Array.isArray(e)?e.filter(t=>!!t&&typeof t=="object"&&t.type==="text"&&typeof t.text=="string").map(t=>t.text).join(`
9
9
  `):""}function Xy(e){let t=Gc(),r,n=!1,a=(b,R)=>{!n&&b.hasUI&&b.ui&&(b.ui.notify("Claude-Mem is unavailable. Run npx claude-mem doctor. "+String(R),"warning"),n=!0)},s=(b,R,x)=>(b.queue=b.queue.then(x).catch(J=>a(R,J)),b.queue),m=async(b,R)=>{let x=R.sessionManager.getSessionId();if(!x||!R.cwd){r=void 0;return}let J={id:x,cwd:R.cwd,memory:"",anchored:!1,excluded:!1,queue:Promise.resolve(),lastAssistant:"",needsSummary:!1,initialized:!1};r=J,n=!1,t.reset();try{await t.ready();let Me=new URLSearchParams({cwd:J.cwd,platform_source:"pi"});J.memory=(await(await t.request("/api/context/inject?"+Me)).text()).trim()}catch(Me){a(R,Me)}};e.on("session_start",m),e.on("session_switch",m),e.on("session_fork",m);let c=(b,R)=>{let x=r;if(x)return s(x,R,async()=>{x.entryId=void 0,x.initialized=!1,x.anchored=!1,x.excluded=!0,x.needsSummary=!1,x.lastAssistant=""})};e.on("before_agent_start",c),e.on("session_tree",c),e.on("context_with_system",async(b,R)=>{let x=r,J=b.messages;if(!x)return;if(!Array.isArray(J)||J[0]?.role!=="system"||typeof J[0].content!="string"){await c(b,R);return}let Me=J[0].content,Ze=[...J].reverse().find(te=>te.role==="user"),gt=en(Ze?.content),$t=()=>{if(r!==x||R.sessionManager.getSessionId()!==x.id||R.cwd!==x.cwd||typeof R.sessionManager.getBranch!="function")return;let te=R.sessionManager.getBranch();if(!Array.isArray(te))return;let Ee=[...te].reverse().find(pr=>pr.type==="message"&&pr.message?.role==="user");if(!(!Ee||typeof Ee.id!="string"||!/^[^\s\x00-\x1f\x7f]{1,256}$/.test(Ee.id)||!Ze||typeof Ze.timestamp!="number"||!Number.isFinite(Ze.timestamp)||Ee.message?.timestamp!==Ze.timestamp||en(Ee.message.content)!==gt))return Ee};if(await s(x,R,async()=>{try{let te=$t();if(!te||!gt.trim()){x.anchored=!1,x.excluded=!0,x.initialized=!1;return}if(x.entryId!==te.id&&(x.entryId=te.id,x.initialized=!1,x.anchored=!1,x.excluded=!0,x.needsSummary=!1,x.lastAssistant=""),x.initialized)return;if((await(await t.request("/api/sessions/native-prompt-capability")).json()).nativePromptId!==1)throw new Error("Upgrade the worker for native Pi prompt capture.");if($t()?.id!==te.id)return;let bt=await(await t.post("/api/sessions/init",{contentSessionId:x.id,cwd:x.cwd,prompt:gt,platformSource:"pi",nativePromptId:te.id})).json();if($t()?.id!==te.id)return;if(bt.skipped===!0&&bt.reason!=="duplicate"){x.initialized=!0,x.excluded=!0;return}if(bt.nativePromptId!==te.id||typeof bt.sessionDbId!="number")throw new Error("The worker did not acknowledge the persisted Pi user-entry ID.");x.initialized=!0,x.anchored=bt.nativePromptCurrent===!0,x.excluded=!x.anchored,x.needsSummary=x.anchored}catch(te){throw x.anchored=!1,x.excluded=!0,x.initialized=!1,te}}),r!==x||!x.anchored||x.excluded||!x.memory)return;let[vt,...jt]=J;return{messages:[{...vt,content:Me+`
10
10
 
11
11
  <claude-mem-context>
package/dsh/lib/index.js CHANGED
@@ -67,7 +67,7 @@ tools: Tools`}
67
67
  `)}function Wi(e){return e.content!==void 0&&e.content.length>0?e.content:e.items.length===0?"No results found.":e.items.map(t=>{let r=[`#${t.id} ${t.title}`],n=[];return t.type!==void 0&&n.push(`type=${t.type}`),t.project!==void 0&&n.push(`project=${t.project}`),t.memorySessionId!==void 0&&n.push(`session=${t.memorySessionId}`),t.createdAt!==void 0&&n.push(`created=${t.createdAt}`),n.length>0&&r.push(`[${n.join(", ")}]`),t.subtitle!==void 0&&r.push(`subtitle: ${t.subtitle}`),t.narrative!==void 0&&r.push(`narrative: ${t.narrative}`),t.text!==void 0&&t.text.length>0&&r.push(`text: ${t.text}`),t.facts!==void 0&&t.facts.length>0&&r.push(`facts: ${JSON.stringify(t.facts)}`),t.concepts!==void 0&&t.concepts.length>0&&r.push(`concepts: ${JSON.stringify(t.concepts)}`),t.filesRead!==void 0&&t.filesRead.length>0&&r.push(`filesRead: ${JSON.stringify(t.filesRead)}`),t.filesModified!==void 0&&t.filesModified.length>0&&r.push(`filesModified: ${JSON.stringify(t.filesModified)}`),t.metadata!==void 0&&Object.keys(t.metadata).length>0&&r.push(`metadata: ${JSON.stringify(t.metadata)}`),t.contentHash!==void 0&&r.push(`contentHash: ${t.contentHash}`),t.originDeviceId!==void 0&&r.push(`originDeviceId: ${t.originDeviceId}`),t.originLocalId!==void 0&&r.push(`originLocalId: ${t.originLocalId}`),r.join(`
68
68
  `)}).join(`
69
69
 
70
- `)}import{basename as Xi}from"node:path";import{existsSync as Dr,readFileSync as Qi}from"node:fs";import{homedir as qr}from"node:os";import{join as ie}from"node:path";import{spawn as Gi}from"node:child_process";var Hi=new Set(["ECONNREFUSED","ConnectionRefused"]);function gt(e,t){if(!e||typeof e!="object"||t.has(e))return!1;t.add(e);let r=e;return typeof r.code=="string"&&Hi.has(r.code)||gt(r.cause,t)?!0:Array.isArray(r.errors)&&r.errors.some(n=>gt(n,t))}function Pr(e){return gt(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}import{homedir as Ki}from"os";import{join as Vi}from"path";function Nr(e,t=process.platform,r=Ki()){return typeof e!="string"||e.length===0?e:e==="~"?r:e.startsWith("~/")||t==="win32"&&e.startsWith("~\\")?Vi(r,e.slice(2)):e}var bt=5e3;function ve(){let e=Nr(process.env.CLAUDE_MEM_DATA_DIR||ie(qr(),".claude-mem")),t={};try{let a=JSON.parse(Qi(ie(e,"settings.json"),"utf8").replace(/^\uFEFF/,"")),s=a?.env;t=s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).some(l=>l.startsWith("CLAUDE_MEM_"))?s:a??{}}catch{}let r=(a,s)=>process.env[a]||(typeof t[a]=="string"&&t[a]?String(t[a]):s),n=r("CLAUDE_MEM_WORKER_HOST","127.0.0.1"),i=n==="localhost"?"127.0.0.1":n,o=r("CLAUDE_MEM_WORKER_PORT",String(37700+(process.getuid?.()??77)%100));return"http://"+(i.includes(":")&&!i.startsWith("[")?"["+i+"]":i)+":"+o}var we;function Yi(){if(we)return we;let e=ie(process.env.CLAUDE_CONFIG_DIR||ie(qr(),".claude"),"plugins","marketplaces","thedotmack"),t=ie(e,"plugin","scripts","bun-runner.js"),r=ie(e,"plugin","scripts","worker-service.cjs");return!Dr(t)||!Dr(r)?Promise.reject(new Error("Run npx claude-mem install to install the worker.")):(we=new Promise((i,o)=>{let a=Gi(process.execPath,[t,r,"start"],{stdio:"ignore",windowsHide:!0,timeout:15e3});a.once("error",o),a.once("close",s=>s===0?i():o(new Error("claude-mem worker could not start")))}).finally(()=>{we=void 0}),we)}function Fr(){let e=ve();return{reset(){e=ve()},async ready(){try{let t=await fetch(e+"/api/health",{signal:AbortSignal.timeout(bt)});if(t.ok)return;throw new Error("claude-mem health check returned "+t.status)}catch(t){if(!Pr(t))throw t;await Yi()}},async request(t,r={}){let n=await fetch(e+t,{...r,signal:r.signal?AbortSignal.any([r.signal,AbortSignal.timeout(bt)]):AbortSignal.timeout(bt)});if(!n.ok)throw new Error("claude-mem "+t+" returned "+n.status);return n},async post(t,r){return this.request(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)})}}}function Lr(e,t,r){e.on("agent/created",async n=>{let{agent:i}=n;r.injectContext&&await Zi(t,i,r)}),r.ingest&&e.on("tools/post-execute",(n,i,o)=>(eo(t,n,i,r),o())),r.summarize&&e.on("agent/turn-stopping",n=>{to(t,n.agent,r)})}async function Zi(e,t,r){try{r.startLocalWorker&&await Fr().ready();let n=t.session.header.cwd;if(!r.project&&!n)return;let i=await e.context({...r.project?{projects:r.project}:{},...n?{cwd:n}:{},...wt(r)});if(i.length===0)return;let o=ur({content:[{type:"text",text:i}],source:{kind:"plugin:claude-mem"}});t.inject(o)}catch{}}async function eo(e,t,r,n){if(r.isError||!n.toolFilter.names.includes(t.name))return;let i=t.agent;if(i===void 0)return;let o=ro(r.content);if(o.length===0)return;let a=Jr(i,n);try{await e.save({text:`[${t.name}] ${o}`,project:a,...wt(n)})}catch{}}async function to(e,t,r){let n=Jr(t,r);try{await e.sessionSummarize({contentSessionId:t.session.id,project:n,...wt(r)})}catch{}}function Jr(e,t){if(t.project!==void 0&&t.project.trim().length>0)return t.project;let r=e.session.header.cwd;if(r!==void 0){let n=Xi(r);if(n.length>0)return n}return"dsh"}function wt(e){return e.platformSource!==void 0&&e.platformSource.length>0?{platformSource:e.platformSource}:{}}function ro(e){return e.filter(t=>t.type==="text").map(t=>t.text).join(`
70
+ `)}import{basename as Xi}from"node:path";import{existsSync as Dr,readFileSync as Qi}from"node:fs";import{homedir as qr}from"node:os";import{join as ie}from"node:path";import{spawn as Gi}from"node:child_process";var Hi=new Set(["ECONNREFUSED","ConnectionRefused"]);function gt(e,t){if(!e||typeof e!="object"||t.has(e))return!1;if(t.add(e),e instanceof Error&&e.message.includes("ECONNREFUSED"))return!0;let r=e;return typeof r.code=="string"&&Hi.has(r.code)||gt(r.cause,t)?!0:Array.isArray(r.errors)&&r.errors.some(n=>gt(n,t))}function Pr(e){return gt(e,new Set)?!0:e instanceof Error&&e.message.includes("ECONNREFUSED")}import{homedir as Ki}from"os";import{join as Vi}from"path";function Nr(e,t=process.platform,r=Ki()){return typeof e!="string"||e.length===0?e:e==="~"?r:e.startsWith("~/")||t==="win32"&&e.startsWith("~\\")?Vi(r,e.slice(2)):e}var bt=5e3;function ve(){let e=Nr(process.env.CLAUDE_MEM_DATA_DIR||ie(qr(),".claude-mem")),t={};try{let a=JSON.parse(Qi(ie(e,"settings.json"),"utf8").replace(/^\uFEFF/,"")),s=a?.env;t=s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).some(l=>l.startsWith("CLAUDE_MEM_"))?s:a??{}}catch{}let r=(a,s)=>process.env[a]||(typeof t[a]=="string"&&t[a]?String(t[a]):s),n=r("CLAUDE_MEM_WORKER_HOST","127.0.0.1"),i=n==="localhost"?"127.0.0.1":n,o=r("CLAUDE_MEM_WORKER_PORT",String(37700+(process.getuid?.()??77)%100));return"http://"+(i.includes(":")&&!i.startsWith("[")?"["+i+"]":i)+":"+o}var we;function Yi(){if(we)return we;let e=ie(process.env.CLAUDE_CONFIG_DIR||ie(qr(),".claude"),"plugins","marketplaces","thedotmack"),t=ie(e,"plugin","scripts","bun-runner.js"),r=ie(e,"plugin","scripts","worker-service.cjs");return!Dr(t)||!Dr(r)?Promise.reject(new Error("Run npx claude-mem install to install the worker.")):(we=new Promise((i,o)=>{let a=Gi(process.execPath,[t,r,"start"],{stdio:"ignore",windowsHide:!0,timeout:15e3});a.once("error",o),a.once("close",s=>s===0?i():o(new Error("claude-mem worker could not start")))}).finally(()=>{we=void 0}),we)}function Fr(){let e=ve();return{reset(){e=ve()},async ready(){try{let t=await fetch(e+"/api/health",{signal:AbortSignal.timeout(bt)});if(t.ok)return;throw new Error("claude-mem health check returned "+t.status)}catch(t){if(!Pr(t))throw t;await Yi()}},async request(t,r={}){let n=await fetch(e+t,{...r,signal:r.signal?AbortSignal.any([r.signal,AbortSignal.timeout(bt)]):AbortSignal.timeout(bt)});if(!n.ok)throw new Error("claude-mem "+t+" returned "+n.status);return n},async post(t,r){return this.request(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)})}}}function Lr(e,t,r){e.on("agent/created",async n=>{let{agent:i}=n;r.injectContext&&await Zi(t,i,r)}),r.ingest&&e.on("tools/post-execute",(n,i,o)=>(eo(t,n,i,r),o())),r.summarize&&e.on("agent/turn-stopping",n=>{to(t,n.agent,r)})}async function Zi(e,t,r){try{r.startLocalWorker&&await Fr().ready();let n=t.session.header.cwd;if(!r.project&&!n)return;let i=await e.context({...r.project?{projects:r.project}:{},...n?{cwd:n}:{},...wt(r)});if(i.length===0)return;let o=ur({content:[{type:"text",text:i}],source:{kind:"plugin:claude-mem"}});t.inject(o)}catch{}}async function eo(e,t,r,n){if(r.isError||!n.toolFilter.names.includes(t.name))return;let i=t.agent;if(i===void 0)return;let o=ro(r.content);if(o.length===0)return;let a=Jr(i,n);try{await e.save({text:`[${t.name}] ${o}`,project:a,...wt(n)})}catch{}}async function to(e,t,r){let n=Jr(t,r);try{await e.sessionSummarize({contentSessionId:t.session.id,project:n,...wt(r)})}catch{}}function Jr(e,t){if(t.project!==void 0&&t.project.trim().length>0)return t.project;let r=e.session.header.cwd;if(r!==void 0){let n=Xi(r);if(n.length>0)return n}return"dsh"}function wt(e){return e.platformSource!==void 0&&e.platformSource.length>0?{platformSource:e.platformSource}:{}}function ro(e){return e.filter(t=>t.type==="text").map(t=>t.text).join(`
71
71
  `).trim()}var no="mem-search",io='Search persistent cross-session memory. Use when the user asks "did we already solve this?", "how did we do X last time?", or needs work from previous sessions.',oo=`# Memory Search
72
72
 
73
73
  Search past work across all sessions. Follow this workflow: search -> filter -> fetch.
package/dsh/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-mem/dsh",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "private": true,
5
5
  "description": "First-party DeepSeek Harness memory integration, based on Bleed00/dsh-claude-mem",
6
6
  "type": "module",
@@ -3,7 +3,7 @@
3
3
  "name": "Claude-Mem (Persistent Memory)",
4
4
  "description": "OpenClaw plugin for Claude-Mem. Records observations from embedded runner sessions and streams them to messaging channels.",
5
5
  "kind": "memory",
6
- "version": "13.36.0",
6
+ "version": "13.37.0",
7
7
  "license": "Apache-2.0",
8
8
  "author": "thedotmack",
9
9
  "homepage": "https://claude-mem.ai",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "description": "Memory compression system for Claude Code - persist context across sessions",
5
5
  "keywords": [
6
6
  "claude",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "description": "Memory compression system for Claude Code - persist context across sessions",
5
5
  "author": {
6
6
  "name": "Alex Newman"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "description": "Memory compression system for Claude Code - persist context across sessions",
5
5
  "author": {
6
6
  "name": "Alex Newman",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "description": "Persistent memory and context compression for Qoder sessions.",
5
5
  "author": {
6
6
  "name": "Alex Newman",
@@ -31,9 +31,9 @@
31
31
  "hooks": [
32
32
  {
33
33
  "type": "command",
34
- "command": "_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc 'printf %s \"$PATH\"' 2>/dev/null || true); fi; _HP=$(printf '%s' \"$_HP\" | tr ' ' ':'); export PATH=\"${_HP:+$_HP:}$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 1; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; CLAUDE_MEM_CODEX_HOOK=1 node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook codex file-context",
34
+ "command": "if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_FILE_CONTEXT:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc 'printf %s \"$PATH\"' 2>/dev/null || true); fi; _HP=$(printf '%s' \"$_HP\" | tr ' ' ':'); export PATH=\"${_HP:+$_HP:}$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 1; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; CLAUDE_MEM_CODEX_HOOK=1 node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook codex file-context",
35
35
  "timeout": 30,
36
- "commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');const roots=[];for(const v of [process.env.CLAUDE_PLUGIN_ROOT,process.env.PLUGIN_ROOT])if(v)roots.push(v);const cache=p.join(C,'plugins','cache','thedotmack','claude-mem');const S=n=>{const q=n.split('-')[0].split('.');return[parseInt(q[0],10)||0,parseInt(q[1],10)||0,parseInt(q[2],10)||0]};const W=(a,b)=>{const x=S(a),y=S(b);return(y[0]-x[0])||(y[1]-x[1])||(y[2]-x[2])||((a.indexOf('-')<0?0:1)-(b.indexOf('-')<0?0:1))||(a<b?1:a>b?-1:0)};try{roots.push(...fs.readdirSync(cache).filter(n=>{const ch=n.charAt(0);return ch>='0'&&ch<='9'}).map(n=>p.join(cache,n)).filter(r=>{try{return fs.statSync(r).isDirectory()&&!fs.existsSync(p.join(r,'.orphaned_at'))}catch{return false}}).sort((a,b)=>W(p.basename(a),p.basename(b))))}catch{}roots.push(p.join(C,'plugins','marketplaces','thedotmack','plugin'));let R=null;for(const k of roots){const r=fs.existsSync(p.join(k,'plugin','scripts'))?p.join(k,'plugin'):k;if(fs.existsSync(p.join(r,'scripts','bun-runner.js'))&&fs.existsSync(p.join(r,'scripts','worker-service.cjs'))){R=r;break}}if(!R){process.stderr.write('claude-mem: plugin scripts not found\\n');process.exit(1)}const env={...process.env,CLAUDE_MEM_CODEX_HOOK:'1'};const workerArgs=['hook','codex','file-context'];const args=[p.join(R,'scripts','bun-runner.js'),p.join(R,'scripts','worker-service.cjs'),...workerArgs];const res=c.spawnSync(process.execPath,args,{stdio:'inherit',env});if(res.error){process.stderr.write(String(res.error.message||res.error)+'\\n');process.exit(1)}process.exit(res.status==null?0:res.status)\""
36
+ "commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_FILE_CONTEXT==='1')process.exit(0);const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');const roots=[];for(const v of [process.env.CLAUDE_PLUGIN_ROOT,process.env.PLUGIN_ROOT])if(v)roots.push(v);const cache=p.join(C,'plugins','cache','thedotmack','claude-mem');const S=n=>{const q=n.split('-')[0].split('.');return[parseInt(q[0],10)||0,parseInt(q[1],10)||0,parseInt(q[2],10)||0]};const W=(a,b)=>{const x=S(a),y=S(b);return(y[0]-x[0])||(y[1]-x[1])||(y[2]-x[2])||((a.indexOf('-')<0?0:1)-(b.indexOf('-')<0?0:1))||(a<b?1:a>b?-1:0)};try{roots.push(...fs.readdirSync(cache).filter(n=>{const ch=n.charAt(0);return ch>='0'&&ch<='9'}).map(n=>p.join(cache,n)).filter(r=>{try{return fs.statSync(r).isDirectory()&&!fs.existsSync(p.join(r,'.orphaned_at'))}catch{return false}}).sort((a,b)=>W(p.basename(a),p.basename(b))))}catch{}roots.push(p.join(C,'plugins','marketplaces','thedotmack','plugin'));let R=null;for(const k of roots){const r=fs.existsSync(p.join(k,'plugin','scripts'))?p.join(k,'plugin'):k;if(fs.existsSync(p.join(r,'scripts','bun-runner.js'))&&fs.existsSync(p.join(r,'scripts','worker-service.cjs'))){R=r;break}}if(!R){process.stderr.write('claude-mem: plugin scripts not found\\n');process.exit(1)}const env={...process.env,CLAUDE_MEM_CODEX_HOOK:'1'};const workerArgs=['hook','codex','file-context'];const args=[p.join(R,'scripts','bun-runner.js'),p.join(R,'scripts','worker-service.cjs'),...workerArgs];const res=c.spawnSync(process.execPath,args,{stdio:'inherit',env});if(res.error){process.stderr.write(String(res.error.message||res.error)+'\\n');process.exit(1)}process.exit(res.status==null?0:res.status)\""
37
37
  }
38
38
  ]
39
39
  }
@@ -44,9 +44,9 @@
44
44
  "hooks": [
45
45
  {
46
46
  "type": "command",
47
- "command": "_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc 'printf %s \"$PATH\"' 2>/dev/null || true); fi; _HP=$(printf '%s' \"$_HP\" | tr ' ' ':'); export PATH=\"${_HP:+$_HP:}$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 1; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; CLAUDE_MEM_CODEX_HOOK=1 node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook codex observation",
47
+ "command": "if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_OBSERVATION:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc 'printf %s \"$PATH\"' 2>/dev/null || true); fi; _HP=$(printf '%s' \"$_HP\" | tr ' ' ':'); export PATH=\"${_HP:+$_HP:}$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 1; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; CLAUDE_MEM_CODEX_HOOK=1 node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook codex observation",
48
48
  "timeout": 120,
49
- "commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');const roots=[];for(const v of [process.env.CLAUDE_PLUGIN_ROOT,process.env.PLUGIN_ROOT])if(v)roots.push(v);const cache=p.join(C,'plugins','cache','thedotmack','claude-mem');const S=n=>{const q=n.split('-')[0].split('.');return[parseInt(q[0],10)||0,parseInt(q[1],10)||0,parseInt(q[2],10)||0]};const W=(a,b)=>{const x=S(a),y=S(b);return(y[0]-x[0])||(y[1]-x[1])||(y[2]-x[2])||((a.indexOf('-')<0?0:1)-(b.indexOf('-')<0?0:1))||(a<b?1:a>b?-1:0)};try{roots.push(...fs.readdirSync(cache).filter(n=>{const ch=n.charAt(0);return ch>='0'&&ch<='9'}).map(n=>p.join(cache,n)).filter(r=>{try{return fs.statSync(r).isDirectory()&&!fs.existsSync(p.join(r,'.orphaned_at'))}catch{return false}}).sort((a,b)=>W(p.basename(a),p.basename(b))))}catch{}roots.push(p.join(C,'plugins','marketplaces','thedotmack','plugin'));let R=null;for(const k of roots){const r=fs.existsSync(p.join(k,'plugin','scripts'))?p.join(k,'plugin'):k;if(fs.existsSync(p.join(r,'scripts','bun-runner.js'))&&fs.existsSync(p.join(r,'scripts','worker-service.cjs'))){R=r;break}}if(!R){process.stderr.write('claude-mem: plugin scripts not found\\n');process.exit(1)}const env={...process.env,CLAUDE_MEM_CODEX_HOOK:'1'};const workerArgs=['hook','codex','observation'];const args=[p.join(R,'scripts','bun-runner.js'),p.join(R,'scripts','worker-service.cjs'),...workerArgs];const res=c.spawnSync(process.execPath,args,{stdio:'inherit',env});if(res.error){process.stderr.write(String(res.error.message||res.error)+'\\n');process.exit(1)}process.exit(res.status==null?0:res.status)\""
49
+ "commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_OBSERVATION==='1')process.exit(0);const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_CONFIG_DIR||p.join(h,'.claude');const roots=[];for(const v of [process.env.CLAUDE_PLUGIN_ROOT,process.env.PLUGIN_ROOT])if(v)roots.push(v);const cache=p.join(C,'plugins','cache','thedotmack','claude-mem');const S=n=>{const q=n.split('-')[0].split('.');return[parseInt(q[0],10)||0,parseInt(q[1],10)||0,parseInt(q[2],10)||0]};const W=(a,b)=>{const x=S(a),y=S(b);return(y[0]-x[0])||(y[1]-x[1])||(y[2]-x[2])||((a.indexOf('-')<0?0:1)-(b.indexOf('-')<0?0:1))||(a<b?1:a>b?-1:0)};try{roots.push(...fs.readdirSync(cache).filter(n=>{const ch=n.charAt(0);return ch>='0'&&ch<='9'}).map(n=>p.join(cache,n)).filter(r=>{try{return fs.statSync(r).isDirectory()&&!fs.existsSync(p.join(r,'.orphaned_at'))}catch{return false}}).sort((a,b)=>W(p.basename(a),p.basename(b))))}catch{}roots.push(p.join(C,'plugins','marketplaces','thedotmack','plugin'));let R=null;for(const k of roots){const r=fs.existsSync(p.join(k,'plugin','scripts'))?p.join(k,'plugin'):k;if(fs.existsSync(p.join(r,'scripts','bun-runner.js'))&&fs.existsSync(p.join(r,'scripts','worker-service.cjs'))){R=r;break}}if(!R){process.stderr.write('claude-mem: plugin scripts not found\\n');process.exit(1)}const env={...process.env,CLAUDE_MEM_CODEX_HOOK:'1'};const workerArgs=['hook','codex','observation'];const args=[p.join(R,'scripts','bun-runner.js'),p.join(R,'scripts','worker-service.cjs'),...workerArgs];const res=c.spawnSync(process.execPath,args,{stdio:'inherit',env});if(res.error){process.stderr.write(String(res.error.message||res.error)+'\\n');process.exit(1)}process.exit(res.status==null?0:res.status)\""
50
50
  }
51
51
  ]
52
52
  }
@@ -58,7 +58,7 @@
58
58
  {
59
59
  "type": "command",
60
60
  "shell": "bash",
61
- "command": "export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code observation; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
61
+ "command": "if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_OBSERVATION:-}\" = 1 ]; then exit 0; fi; export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code observation; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
62
62
  "timeout": 120,
63
63
  "async": true
64
64
  }
@@ -72,7 +72,7 @@
72
72
  {
73
73
  "type": "command",
74
74
  "shell": "bash",
75
- "command": "export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code observation; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
75
+ "command": "if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_OBSERVATION:-}\" = 1 ]; then exit 0; fi; export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code observation; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
76
76
  "timeout": 120,
77
77
  "async": true
78
78
  }
@@ -86,7 +86,7 @@
86
86
  {
87
87
  "type": "command",
88
88
  "shell": "bash",
89
- "command": "export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code file-context; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
89
+ "command": "if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_FILE_CONTEXT:-}\" = 1 ]; then exit 0; fi; export PATH=\"$HOME/.nvm/versions/node/v$(ls \"$HOME/.nvm/versions/node\" 2>/dev/null | sed 's/^v//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:$PATH\"; _C=\"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"; _E=\"${CLAUDE_PLUGIN_ROOT:-${PLUGIN_ROOT:-}}\"; _P=; if [ -n \"$_E\" ]; then _R=\"${_E%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && _P=\"$_Q\"; fi; if [ -z \"$_P\" ]; then _F=; _P=$({ for _V in \"$_C/plugins/cache/thedotmack/claude-mem\"/[0-9]*/; do [ -d \"$_V\" ] || continue; [ -e \"${_V}.orphaned_at\" ] && continue; _B=${_V%/}; _B=${_B##*/}; case \"$_B\" in (*-*) _G=0;; (*) _G=1;; esac; _N=${_B%%-*}; _M1=${_N%%.*}; case \"$_N\" in (*.*) _T=${_N#*.};; (*) _T=0;; esac; _M2=${_T%%.*}; case \"$_T\" in (*.*) _U=${_T#*.};; (*) _U=0;; esac; _M3=${_U%%.*}; _M1=${_M1%%[!0-9]*}; _M2=${_M2%%[!0-9]*}; _M3=${_M3%%[!0-9]*}; printf '%08d%08d%08d%d %s\\n' \"${_M1:-0}\" \"${_M2:-0}\" \"${_M3:-0}\" \"$_G\" \"$_V\"; done 2>/dev/null | sort -r | sed 's/^[^ ]* //'; printf '%s\\n' \"$_C/plugins/marketplaces/thedotmack/plugin\"; } | while IFS= read -r _R; do _R=\"${_R%/}\"; [ -d \"$_R/plugin/scripts\" ] && _Q=\"$_R/plugin\" || _Q=\"$_R\"; [ -f \"$_Q/scripts/bun-runner.js\" ] && [ -f \"$_Q/scripts/worker-service.cjs\" ] && [ -z \"$_F\" ] && { _F=1; printf '%s\\n' \"$_Q\"; }; done); fi; [ -n \"$_P\" ] || { echo \"claude-mem: plugin scripts not found\" >&2; exit 0; }; command -v cygpath >/dev/null 2>&1 && { _W=$(cygpath -w \"$_P\" 2>/dev/null); [ -n \"$_W\" ] && _P=\"$_W\"; }; { node \"$_P/scripts/bun-runner.js\" \"$_P/scripts/worker-service.cjs\" hook claude-code file-context; } || { _S=$?; echo \"claude-mem: hook command failed (exit $_S)\" >&2; exit 0; }",
90
90
  "timeout": 15
91
91
  }
92
92
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem-plugin",
3
- "version": "13.36.0",
3
+ "version": "13.37.0",
4
4
  "private": true,
5
5
  "description": "Runtime dependencies for claude-mem bundled hooks",
6
6
  "type": "module",