mneme-ai 2.217.0 → 2.219.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.
@@ -1 +1 @@
1
- {"version":3,"file":"gephyra.d.ts","sourceRoot":"","sources":["../../src/commands/gephyra.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACjG;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFpE"}
1
+ {"version":3,"file":"gephyra.d.ts","sourceRoot":"","sources":["../../src/commands/gephyra.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACjG;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAoFpE"}
@@ -79,31 +79,52 @@ export async function gephyraCommand(o) {
79
79
  const port = o.port ?? 17742; // 17741 is the existing polygraph bridge
80
80
  const server = createServer((req, res) => {
81
81
  const url = req.url ?? "";
82
- const isMcp = url.startsWith("/mcp");
83
- const isSavantVerify = url.startsWith("/savant/verify");
84
- const isSavantRepair = url.startsWith("/savant/repair");
85
- if (req.method !== "POST" || !(url.startsWith("/cross") || isMcp || isSavantVerify || isSavantRepair)) {
86
- res.writeHead(404, { "content-type": "application/json" });
87
- res.end(JSON.stringify({ error: "POST /cross {claim, fromAgent} | POST /mcp {tool, agent, args?} | POST /savant/verify {claim} | POST /savant/repair {draft}" }));
82
+ const m = req.method ?? "GET";
83
+ const reply = (r) => { res.writeHead(r.status, { "content-type": "application/json" }); res.end(JSON.stringify(r.body)); };
84
+ const kq = new URLSearchParams(url.split("?")[1] ?? "");
85
+ // GET surfaces
86
+ if (m === "GET" && url.startsWith("/openapi.json")) {
87
+ reply({ status: 200, body: g.a2aOpenApi() });
88
+ return;
89
+ }
90
+ if (m === "GET" && url.startsWith("/keryx/webhook")) {
91
+ const ch = kq.get("hub.challenge");
92
+ if (ch !== null) {
93
+ res.writeHead(200, { "content-type": "text/plain" });
94
+ res.end(ch);
95
+ return;
96
+ }
97
+ reply({ status: 200, body: { ok: true } });
98
+ return;
99
+ }
100
+ if (m === "GET" && url.startsWith("/keryx/drain")) {
101
+ void g.handleKeryxRelay(o.cwd, "drain", "", { daemon: kq.get("daemon") ?? "default" }).then(reply).catch((e) => reply({ status: 500, body: { error: e.message } }));
102
+ return;
103
+ }
104
+ const isMcp = url.startsWith("/mcp"), isSV = url.startsWith("/savant/verify"), isSR = url.startsWith("/savant/repair");
105
+ const isFw = url.startsWith("/firewall"), isRi = url.startsWith("/rail/ingress"), isRe = url.startsWith("/rail/egress"), isRk = url.startsWith("/reckon");
106
+ const isKExpect = url.startsWith("/keryx/expect"), isKWebhook = url.startsWith("/keryx/webhook");
107
+ const known = url.startsWith("/cross") || isMcp || isSV || isSR || isFw || isRi || isRe || isRk || isKExpect || isKWebhook;
108
+ if (m !== "POST" || !known) {
109
+ reply({ status: 404, body: { error: "POST /cross|/mcp|/savant/verify|/savant/repair|/firewall|/rail/ingress|/rail/egress|/reckon|/keryx/expect|/keryx/webhook/:provider · GET /status|/openapi.json|/keryx/drain" } });
88
110
  return;
89
111
  }
90
112
  let body = "";
91
113
  req.on("data", (c) => { body += c; if (body.length > 1_000_000)
92
114
  req.destroy(); });
93
115
  req.on("end", () => {
94
- // /savant/* = the savant prosthesis (A2A): verify a claim / repair a draft.
95
- // /mcp = Phase 4 MCP-proxy; /cross = single-claim verify.
96
- const handler = isSavantVerify ? g.handleSavantRequest(o.cwd, body, "verify")
97
- : isSavantRepair ? g.handleSavantRequest(o.cwd, body, "repair")
98
- : isMcp ? g.handleMcpCallRequest(o.cwd, body)
99
- : g.handleCrossRequest(o.cwd, body);
100
- void handler.then((r) => {
101
- res.writeHead(r.status, { "content-type": "application/json" });
102
- res.end(JSON.stringify(r.body));
103
- }).catch((e) => {
104
- res.writeHead(500, { "content-type": "application/json" });
105
- res.end(JSON.stringify({ error: e.message }));
106
- });
116
+ const provider = isKWebhook ? (url.split("/keryx/webhook/")[1]?.split("?")[0] || "generic") : "";
117
+ const handler = isSV ? g.handleSavantRequest(o.cwd, body, "verify")
118
+ : isSR ? g.handleSavantRequest(o.cwd, body, "repair")
119
+ : isFw ? g.handleA2ARequest(o.cwd, body, "firewall")
120
+ : isRi ? g.handleA2ARequest(o.cwd, body, "rail-ingress")
121
+ : isRe ? g.handleA2ARequest(o.cwd, body, "rail-egress")
122
+ : isRk ? g.handleA2ARequest(o.cwd, body, "reckon")
123
+ : isKExpect ? g.handleKeryxRelay(o.cwd, "expect", body, {})
124
+ : isKWebhook ? g.handleKeryxRelay(o.cwd, "webhook", body, { provider }, req.headers)
125
+ : isMcp ? g.handleMcpCallRequest(o.cwd, body)
126
+ : g.handleCrossRequest(o.cwd, body);
127
+ void handler.then(reply).catch((e) => reply({ status: 500, body: { error: e.message } }));
107
128
  });
108
129
  });
109
130
  server.on("error", (e) => { out(`✗ GEPHYRA serve failed: ${e.message}\n`); process.exit(1); });
@@ -1 +1 @@
1
- {"version":3,"file":"gephyra.js","sourceRoot":"","sources":["../../src/commands/gephyra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gephyra.js","sourceRoot":"","sources":["../../src/commands/gephyra.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export interface ProviderCfg {
4
4
  channel?: string;
5
5
  to?: string;
6
6
  phoneId?: string;
7
+ channelId?: string;
8
+ channelSecret?: string;
7
9
  }
8
10
  export interface ProvidersConfig {
9
11
  telegram?: ProviderCfg;
@@ -1 +1 @@
1
- {"version":3,"file":"keryx_providers.d.ts","sourceRoot":"","sources":["../../src/commands/keryx_providers.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AACjH,MAAM,WAAW,eAAe;IAAG,QAAQ,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE;AAYnJ,MAAM,WAAW,OAAO;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAShJ,0FAA0F;AAC1F,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC9I;AAED,gGAAgG;AAChG,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3H"}
1
+ {"version":3,"file":"keryx_providers.d.ts","sourceRoot":"","sources":["../../src/commands/keryx_providers.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AAc7J,MAAM,WAAW,eAAe;IAAG,QAAQ,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE;AAYnJ,MAAM,WAAW,OAAO;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAShJ,0FAA0F;AAC1F,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC9I;AAED,gGAAgG;AAChG,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3H"}
@@ -9,6 +9,24 @@
9
9
  * ★HONEST: payloads follow each provider's documented API; validate live with YOUR token.
10
10
  */
11
11
  import * as https from "node:https";
12
+ /** LINE: mint a short-lived channel access token from channelId + channelSecret (so the user
13
+ * only needs those two — no token-hunting). Returns "" on failure. */
14
+ function mintLineToken(channelId, channelSecret) {
15
+ return new Promise((resolve) => {
16
+ const form = `grant_type=client_credentials&client_id=${encodeURIComponent(channelId)}&client_secret=${encodeURIComponent(channelSecret)}`;
17
+ const req = https.request({ hostname: "api.line.me", path: "/v2/oauth/accessToken", method: "POST", headers: { "content-type": "application/x-www-form-urlencoded", "content-length": Buffer.byteLength(form) }, timeout: 15000 }, (res) => { let s = ""; res.on("data", (d) => (s += d)); res.on("end", () => { try {
18
+ resolve(String(JSON.parse(s).access_token ?? ""));
19
+ }
20
+ catch {
21
+ resolve("");
22
+ } }); });
23
+ req.on("error", () => resolve(""));
24
+ req.on("timeout", () => { req.destroy(); resolve(""); });
25
+ req.write(form);
26
+ req.end();
27
+ });
28
+ }
29
+ async function lineToken(cfg) { return cfg.token || (cfg.channelId && cfg.channelSecret ? await mintLineToken(cfg.channelId, cfg.channelSecret) : ""); }
12
30
  function httpsJson(host, path, headers, body) {
13
31
  return new Promise((resolve) => {
14
32
  const data = JSON.stringify(body);
@@ -33,7 +51,8 @@ function options(spec) {
33
51
  const title = (spec) => `❓ ${spec.agent} asks${spec.kind === "text" ? " (reply with your answer)" : ""}:\n${spec.question}`;
34
52
  /** Send the ask to ONE provider. Returns the provider message id (for later clearing). */
35
53
  export async function sendAsk(provider, cfg, spec) {
36
- if (!cfg?.token)
54
+ const lineCreds = provider === "line" && (cfg?.token || (cfg?.channelId && cfg?.channelSecret));
55
+ if (!cfg?.token && !lineCreds)
37
56
  return { ok: false, reason: "no token" };
38
57
  const opts = options(spec);
39
58
  try {
@@ -53,10 +72,16 @@ export async function sendAsk(provider, cfg, spec) {
53
72
  return { ok: r.status < 300, messageId: String(r.json.id ?? "") };
54
73
  }
55
74
  if (provider === "line") {
56
- const actions = opts.length ? opts.slice(0, 4).map(([t, d]) => ({ type: "postback", label: t.slice(0, 20), data: d })) : [{ type: "message", label: "reply", text: "(type your answer)" }];
75
+ const token = await lineToken(cfg);
76
+ if (!token)
77
+ return { ok: false, reason: "LINE token mint failed (check channelId/secret)" };
78
+ const actions = opts.length ? opts.slice(0, 4).map(([t, d]) => ({ type: "postback", label: t.slice(0, 20), data: d, displayText: t })) : [{ type: "message", label: "reply", text: "(type your answer)" }];
57
79
  const msg = opts.length ? { type: "template", altText: spec.question, template: { type: "buttons", text: spec.question.slice(0, 160), actions } } : { type: "text", text: title(spec) };
58
- const r = await httpsJson("api.line.me", "/v2/bot/message/push", { authorization: `Bearer ${cfg.token}` }, { to: cfg.to, messages: [msg] });
59
- return { ok: r.status < 300, messageId: "" }; // LINE push has no editable id
80
+ // push to a specific user if `to` is set; else broadcast to all friends (personal bot)
81
+ const path = cfg.to ? "/v2/bot/message/push" : "/v2/bot/message/broadcast";
82
+ const payload = cfg.to ? { to: cfg.to, messages: [msg] } : { messages: [msg] };
83
+ const r = await httpsJson("api.line.me", path, { authorization: `Bearer ${token}` }, payload);
84
+ return { ok: r.status < 300, messageId: "", reason: r.status < 300 ? undefined : `HTTP ${r.status}` }; // LINE push/broadcast has no editable id
60
85
  }
61
86
  if (provider === "whatsapp") {
62
87
  const interactive = opts.length ? { type: "button", body: { text: spec.question.slice(0, 1024) }, action: { buttons: opts.slice(0, 3).map(([t, d]) => ({ type: "reply", reply: { id: d.slice(0, 256), title: t.slice(0, 20) } })) } } : null;
@@ -89,7 +114,12 @@ export async function clearMessage(provider, cfg, messageId, answeredOn) {
89
114
  return;
90
115
  }
91
116
  if (provider === "line") {
92
- await httpsJson("api.line.me", "/v2/bot/message/push", { authorization: `Bearer ${cfg.token}` }, { to: cfg.to, messages: [{ type: "text", text: note }] });
117
+ const token = await lineToken(cfg);
118
+ if (!token)
119
+ return;
120
+ const path = cfg.to ? "/v2/bot/message/push" : "/v2/bot/message/broadcast";
121
+ const payload = cfg.to ? { to: cfg.to, messages: [{ type: "text", text: note }] } : { messages: [{ type: "text", text: note }] };
122
+ await httpsJson("api.line.me", path, { authorization: `Bearer ${token}` }, payload);
93
123
  return;
94
124
  }
95
125
  if (provider === "whatsapp") {
@@ -1 +1 @@
1
- {"version":3,"file":"keryx_providers.js","sourceRoot":"","sources":["../../src/commands/keryx_providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keryx_providers.js","sourceRoot":"","sources":["../../src/commands/keryx_providers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mneme-ai",
3
- "version": "2.217.0",
3
+ "version": "2.219.0",
4
4
  "mcpName": "io.github.patsa2561-art/mneme-ai",
5
5
  "description": "Mneme — the memory layer for your codebase. Knows the WHY, the WHAT, the WHERE-IT-BREAKS.",
6
6
  "type": "module",
@@ -32,12 +32,12 @@
32
32
  "preinstall": "node -e \"try{const fs=require('node:fs');const path=require('node:path');const os=require('node:os');const{spawnSync}=require('node:child_process');const crypto=require('node:crypto');const w=process.platform==='win32';const home=os.homedir();const organ=path.join(home,'.mneme-global');const trailPath=path.join(organ,'preinstall-trail.jsonl');const trailSecret=process.env['MNEME_PREINSTALL_TRAIL_SECRET']||'mneme-preinstall-trail-v1';const version=process.env['npm_package_version']||'unknown';try{if(!fs.existsSync(organ))fs.mkdirSync(organ,{recursive:true,mode:0o700})}catch(e){}const lastSig=()=>{try{if(!fs.existsSync(trailPath))return'genesis';const lines=fs.readFileSync(trailPath,'utf8').trim().split('\\\\n').filter(Boolean);if(lines.length===0)return'genesis';const last=JSON.parse(lines[lines.length-1]);return typeof last?.sig==='string'?last.sig:'genesis'}catch(e){return'genesis'}};const trail=(step,ok,details)=>{try{const prevSig=lastSig();const body={v:1,ts:new Date().toISOString(),version,step,ok,...(details?{details}:{}),pid:process.pid,prevSig};const sig=crypto.createHmac('sha256',trailSecret).update(prevSig+'::'+JSON.stringify(body)).digest('hex');fs.appendFileSync(trailPath,JSON.stringify({...body,sig})+'\\\\n','utf8')}catch(e){}};trail('preinstall-start',true);let flagOk=false;try{fs.writeFileSync(path.join(organ,'install-incoming.flag'),JSON.stringify({v:1,announcedAt:new Date().toISOString(),announcerPid:process.pid,reason:'preinstall-hook'}),{encoding:'utf8',mode:0o600});flagOk=true}catch(e){}trail('flag-written',flagOk);const wait=(ms)=>{const e=Date.now()+ms;while(Date.now()<e){}};wait(300);let held=[];if(w){const r=spawnSync('taskkill',['/F','/IM','mneme.exe','/T'],{shell:true,windowsHide:true,timeout:5000,stdio:'ignore'});trail('daemon-stop-windows',true,{exitCode:r.status});let reaped=0;try{const beatDir=path.join(organ,'heartbeats');if(fs.existsSync(beatDir)){for(const f of fs.readdirSync(beatDir)){const m=f.match(/^(\\\\d+)\\\\.beat$/);if(m){const pid=parseInt(m[1]);if(pid>0&&pid!==process.pid){try{const bj=JSON.parse(fs.readFileSync(path.join(beatDir,f),'utf8'));if(Array.isArray(bj.holdsPaths))for(const hp of bj.holdsPaths){if(typeof hp==='string'&&hp)held.push(hp)}}catch(e){}spawnSync('taskkill',['/F','/PID',pid.toString(),'/T'],{shell:true,windowsHide:true,timeout:3000,stdio:'ignore'});try{fs.unlinkSync(path.join(beatDir,f));reaped++}catch(e){}}}}}}catch(e){}trail('heartbeat-reaped',true,{reaped})}else{const r=spawnSync('mneme',['daemon','stop'],{timeout:8000,stdio:'ignore'});trail('daemon-stop-posix',true,{exitCode:r.status});let reaped=0;try{const beatDir=path.join(organ,'heartbeats');if(fs.existsSync(beatDir)){for(const f of fs.readdirSync(beatDir)){const m=f.match(/^(\\\\d+)\\\\.beat$/);if(m){const pid=parseInt(m[1]);if(pid>0&&pid!==process.pid){try{const bj=JSON.parse(fs.readFileSync(path.join(beatDir,f),'utf8'));if(Array.isArray(bj.holdsPaths))for(const hp of bj.holdsPaths){if(typeof hp==='string'&&hp)held.push(hp)}}catch(e){}try{process.kill(pid,'SIGTERM')}catch(e){}wait(100);try{process.kill(pid,'SIGKILL')}catch(e){}try{fs.unlinkSync(path.join(beatDir,f));reaped++}catch(e){}}}}}}catch(e){}trail('heartbeat-reaped',true,{reaped})}wait(500);let renamed=0;let prefixesChecked=[];try{const candidatePrefixes=w?[path.join(home,'AppData','Roaming','npm'),path.dirname(process.execPath),'C:\\\\\\\\nvm4w\\\\\\\\nodejs',path.join(home,'AppData','Local','nvm')]:['/usr/local/lib','/usr/lib',path.join(home,'.npm-global'),path.join(home,'.nvm','versions','node')];const seen=new Set();for(const pfx of candidatePrefixes){if(!fs.existsSync(pfx))continue;let nodeModulesBases=[];if(fs.existsSync(path.join(pfx,'node_modules')))nodeModulesBases.push(path.join(pfx,'node_modules'));try{for(const entry of fs.readdirSync(pfx)){const sub=path.join(pfx,entry,'node_modules');if(fs.existsSync(sub))nodeModulesBases.push(sub);const sub2=path.join(pfx,entry,'nodejs','node_modules');if(fs.existsSync(sub2))nodeModulesBases.push(sub2)}}catch(e){}for(const nm of nodeModulesBases){if(seen.has(nm))continue;seen.add(nm);prefixesChecked.push(nm);const npmGlobal=path.join(nm,'mneme-ai');if(!fs.existsSync(npmGlobal))continue;const dllPaths=w?[path.join(npmGlobal,'node_modules','@img','sharp-libvips-win32-x64','lib','libvips-42.dll'),path.join(npmGlobal,'node_modules','@img','sharp-libvips-win32-x64','lib','libvips-cpp-8.17.3.dll'),path.join(npmGlobal,'node_modules','sharp','build','Release','sharp-win32-x64.node')]:[];for(const dll of dllPaths){if(!fs.existsSync(dll))continue;let freed=false;for(let i=0;i<40;i++){try{const fd=fs.openSync(dll,'r+');fs.closeSync(fd);freed=true;break}catch(e2){wait(50)}}if(!freed){try{fs.renameSync(dll,dll+'.locked-'+Date.now()+'-'+process.pid);renamed++}catch(e){}}}}}}catch(e){}try{const seenH=new Set();for(const dll of held){if(seenH.has(dll))continue;seenH.add(dll);if(!fs.existsSync(dll))continue;let freed=false;for(let i=0;i<40;i++){try{const fd=fs.openSync(dll,'r+');fs.closeSync(fd);freed=true;break}catch(e2){wait(50)}}if(!freed){try{fs.renameSync(dll,dll+'.locked-'+Date.now()+'-'+process.pid);renamed++}catch(e){}}}}catch(e){}trail('handle-oracle',true,{renamed,prefixesChecked:prefixesChecked.length,held:held.length});let swept=0;try{const candidates=w?[path.join(home,'AppData','Roaming','npm','node_modules'),path.join(path.dirname(process.execPath),'node_modules')]:['/usr/local/lib/node_modules',path.join(home,'.npm-global','node_modules')];for(const npmParent of candidates){if(!fs.existsSync(npmParent))continue;try{for(const entry of fs.readdirSync(npmParent)){if(entry.startsWith('.mneme-ai-')){try{fs.rmSync(path.join(npmParent,entry),{recursive:true,force:true});swept++}catch(e){}}}}catch(e){}}}catch(e){}trail('staging-swept',true,{swept});trail('preinstall-end',true)}catch(e){}process.exit(0)\""
33
33
  },
34
34
  "dependencies": {
35
- "@mneme-ai/core": "2.217.0",
36
- "@mneme-ai/correlator": "2.217.0",
37
- "@mneme-ai/embeddings": "2.217.0",
38
- "@mneme-ai/matrix": "2.217.0",
39
- "@mneme-ai/mcp": "2.217.0",
40
- "@mneme-ai/xray": "2.217.0",
35
+ "@mneme-ai/core": "2.219.0",
36
+ "@mneme-ai/correlator": "2.219.0",
37
+ "@mneme-ai/embeddings": "2.219.0",
38
+ "@mneme-ai/matrix": "2.219.0",
39
+ "@mneme-ai/mcp": "2.219.0",
40
+ "@mneme-ai/xray": "2.219.0",
41
41
  "commander": "^14.0.3",
42
42
  "kleur": "^4.1.5"
43
43
  },