mneme-ai 2.98.0 → 2.100.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.
- package/dist/commands/hydra.d.ts.map +1 -1
- package/dist/commands/hydra.js +212 -29
- package/dist/commands/hydra.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydra.d.ts","sourceRoot":"","sources":["../../src/commands/hydra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"hydra.d.ts","sourceRoot":"","sources":["../../src/commands/hydra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4N5D"}
|
package/dist/commands/hydra.js
CHANGED
|
@@ -10,8 +10,33 @@
|
|
|
10
10
|
* mneme hydra verify <artifact> offline-verify a portable artifact (sig +
|
|
11
11
|
* codebook binding + re-prove round-trip).
|
|
12
12
|
*/
|
|
13
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
13
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync } from "node:fs";
|
|
14
14
|
import { join } from "node:path";
|
|
15
|
+
import { execFileSync } from "node:child_process";
|
|
16
|
+
/** Run a git command; returns "" on any failure (total — never throws). */
|
|
17
|
+
function git(repoRoot, args) {
|
|
18
|
+
try {
|
|
19
|
+
return execFileSync("git", args, { cwd: repoRoot, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], maxBuffer: 64 * 1024 * 1024 }).trim();
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** Deterministic corpus = the HEAD tree snapshot (mode type sha\tpath per
|
|
26
|
+
* line). Changes exactly when the tracked content changes. "" if no repo. */
|
|
27
|
+
function gitTreeCorpus(repoRoot) {
|
|
28
|
+
return git(repoRoot, ["ls-tree", "-r", "HEAD"]);
|
|
29
|
+
}
|
|
30
|
+
function headMeta(repoRoot) {
|
|
31
|
+
const commit = git(repoRoot, ["rev-parse", "HEAD"]);
|
|
32
|
+
const subject = git(repoRoot, ["log", "-1", "--pretty=%s"]);
|
|
33
|
+
const meta = {};
|
|
34
|
+
if (commit)
|
|
35
|
+
meta.commit = commit;
|
|
36
|
+
if (subject)
|
|
37
|
+
meta.subject = subject.slice(0, 120);
|
|
38
|
+
return meta;
|
|
39
|
+
}
|
|
15
40
|
function writeJson(p) { process.stdout.write(JSON.stringify(p, null, 2) + "\n"); }
|
|
16
41
|
function writeText(l) { process.stdout.write(l + "\n"); }
|
|
17
42
|
async function resolveCore() {
|
|
@@ -131,8 +156,11 @@ export function registerHydraCommands(program) {
|
|
|
131
156
|
process.exitCode = g.score === 100 ? 0 : 1;
|
|
132
157
|
});
|
|
133
158
|
h.command("chain")
|
|
134
|
-
.description("PROVENANCE CHAIN: forge the current corpus's codebook and append a SIGNED delta to .mneme/hydra/chain.json, then verify the WHOLE history offline (Ed25519 sigs + prev→result links + byte-exact replay to every step).
|
|
159
|
+
.description("PROVENANCE CHAIN: forge the current corpus's codebook and append a SIGNED delta to .mneme/hydra/chain.json, then verify the WHOLE history offline (Ed25519 sigs + prev→result links + byte-exact replay to every step). With --git the corpus is the HEAD tree snapshot and the delta is ANCHORED to the commit sha+subject (signed) — a portable, offline-verifiable record of Mneme's context at each commit (complements git; not a replacement). Idempotent: re-running on the same HEAD appends a no-change delta only if content moved.")
|
|
135
160
|
.option("--file <path>", "corpus file (default: the rendered manifest)")
|
|
161
|
+
.option("--git", "use the HEAD git-tree snapshot as the corpus + anchor the delta to the commit")
|
|
162
|
+
.option("--note <text>", "extra note recorded (signed) in the delta meta")
|
|
163
|
+
.option("--skip-unchanged", "do not append if the corpus codebook is identical to the chain tip")
|
|
136
164
|
.option("--json", "JSON output.")
|
|
137
165
|
.action(async (opts) => {
|
|
138
166
|
const core = await resolveCore();
|
|
@@ -142,40 +170,195 @@ export function registerHydraCommands(program) {
|
|
|
142
170
|
return;
|
|
143
171
|
}
|
|
144
172
|
const repoRoot = process.cwd();
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
173
|
+
try {
|
|
174
|
+
const dir = join(repoRoot, ".mneme", "hydra");
|
|
175
|
+
if (!existsSync(dir))
|
|
176
|
+
mkdirSync(dir, { recursive: true });
|
|
177
|
+
const chainPath = join(dir, "chain.json");
|
|
178
|
+
let chain = [];
|
|
179
|
+
if (existsSync(chainPath)) {
|
|
180
|
+
try {
|
|
181
|
+
const parsed = JSON.parse(readFileSync(chainPath, "utf8"));
|
|
182
|
+
if (Array.isArray(parsed))
|
|
183
|
+
chain = parsed;
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
chain = [];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Build corpus + anchor metadata.
|
|
190
|
+
let corpus;
|
|
191
|
+
let meta = {};
|
|
192
|
+
if (opts.git) {
|
|
193
|
+
corpus = gitTreeCorpus(repoRoot);
|
|
194
|
+
if (!corpus) {
|
|
195
|
+
if (opts.json) {
|
|
196
|
+
writeJson({ ok: false, reason: "no git HEAD / not a repo" });
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
writeText("· skipped: not a git repo (or empty HEAD)");
|
|
200
|
+
}
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
meta = headMeta(repoRoot);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
corpus = corpusFor(opts.file, core.agentManifest);
|
|
207
|
+
}
|
|
208
|
+
if (opts.note)
|
|
209
|
+
meta.note = String(opts.note).slice(0, 200);
|
|
210
|
+
const cb = core.hydra.forgeCodebook(corpus, {}).codebook;
|
|
211
|
+
// Idempotency: skip when the new codebook == the chain tip's result.
|
|
212
|
+
if (opts.skipUnchanged && chain.length > 0) {
|
|
213
|
+
const tip = core.hydra.verifyChain(chain);
|
|
214
|
+
const replay = core.hydra.chainGauntlet(chain);
|
|
215
|
+
const next = core.hydra.appendToChain(repoRoot, [], cb, 1).delta;
|
|
216
|
+
const tipResult = chain[chain.length - 1].resultHash;
|
|
217
|
+
if (tip.ok && replay.score === 100 && next.resultHash === tipResult) {
|
|
218
|
+
if (opts.json) {
|
|
219
|
+
writeJson({ ok: true, skipped: true, reason: "unchanged since tip", length: chain.length });
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
writeText(`· unchanged since tip — chain stays ${chain.length} link(s)`);
|
|
223
|
+
}
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const appended = core.hydra.appendToChain(repoRoot, chain, cb, Date.now(), Object.keys(meta).length ? meta : undefined);
|
|
228
|
+
writeFileSync(chainPath, JSON.stringify(appended.chain, null, 2));
|
|
229
|
+
const g = core.hydra.chainGauntlet(appended.chain);
|
|
230
|
+
const v = core.hydra.verifyChain(appended.chain);
|
|
231
|
+
if (opts.json) {
|
|
232
|
+
writeJson({ gauntlet: g, verify: v, meta, delta: { seq: appended.delta.seq, added: appended.delta.added.length, removed: appended.delta.removed.length }, chainPath });
|
|
233
|
+
process.exitCode = g.score === 100 ? 0 : 1;
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
writeText(`HYDRA provenance chain — ${g.length} link(s)`);
|
|
237
|
+
writeText(``);
|
|
238
|
+
if (meta.commit)
|
|
239
|
+
writeText(` anchor: commit ${meta.commit.slice(0, 10)} "${meta.subject ?? ""}"`);
|
|
240
|
+
writeText(` new delta #${appended.delta.seq}: +${appended.delta.added.length} phrases · -${appended.delta.removed.length} phrases (signed)`);
|
|
241
|
+
writeText(` verified(offline): ${g.verified ? "✓" : "✗"} · replay-exact: ${g.replayExact ? "✓" : "✗"} · tamper-caught: ${g.tamperCaught ? "✓" : "✗"}`);
|
|
242
|
+
writeText(` → ${chainPath}`);
|
|
243
|
+
writeText(``);
|
|
244
|
+
writeText(g.score === 100 ? ` ✓ CHAIN 100/100 — ${v.reason}` : ` ✗ CHAIN ${g.score}/100 — broken at delta ${v.brokenAt}: ${v.reason}`);
|
|
245
|
+
process.exitCode = g.score === 100 ? 0 : 1;
|
|
246
|
+
}
|
|
247
|
+
catch (e) {
|
|
248
|
+
// 108-error rule: provenance must never crash the host (or a commit).
|
|
249
|
+
if (opts.json) {
|
|
250
|
+
writeJson({ ok: false, reason: e.message });
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
writeText(`· hydra chain skipped (non-fatal): ${e.message}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
h.command("replay <index>")
|
|
258
|
+
.description("TEMPORAL GUARDED REPLAY (Guard × Chain fusion): replay the codebook at a past chain step. With --guard, staleness is derived from the chain's OWN history (atrophy) and cold entries would expand only to a signed abstract — the AI gets the shape of old knowledge, not rotten detail. Reads .mneme/hydra/chain.json.")
|
|
259
|
+
.option("--guard", "derive temporal staleness from chain history + report what would be redacted")
|
|
260
|
+
.option("--halflife <n>", "atrophy half-life in deltas (entries older than 2× → stale)", (v) => parseInt(v, 10), 3)
|
|
261
|
+
.option("--json", "JSON output.")
|
|
262
|
+
.action(async (indexArg, opts) => {
|
|
263
|
+
const core = await resolveCore();
|
|
264
|
+
if (!core) {
|
|
265
|
+
writeText("✗ @mneme-ai/core hydra unavailable.");
|
|
266
|
+
process.exitCode = 1;
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const chainPath = join(process.cwd(), ".mneme", "hydra", "chain.json");
|
|
270
|
+
if (!existsSync(chainPath)) {
|
|
271
|
+
writeText("✗ no chain yet — run `mneme hydra chain --git` first.");
|
|
272
|
+
process.exitCode = 1;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
149
275
|
let chain = [];
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
276
|
+
try {
|
|
277
|
+
const p = JSON.parse(readFileSync(chainPath, "utf8"));
|
|
278
|
+
if (Array.isArray(p))
|
|
279
|
+
chain = p;
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
writeText("✗ chain.json unreadable");
|
|
283
|
+
process.exitCode = 1;
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
const index = Number.isFinite(parseInt(indexArg, 10)) ? parseInt(indexArg, 10) : chain.length - 1;
|
|
287
|
+
const hl = opts.halflife ?? 3;
|
|
288
|
+
const r = core.hydra.guardedReplay(chain, index, hl);
|
|
289
|
+
if (!r.ok || !r.codebook) {
|
|
290
|
+
if (opts.json) {
|
|
291
|
+
writeJson(r);
|
|
155
292
|
}
|
|
156
|
-
|
|
157
|
-
|
|
293
|
+
else {
|
|
294
|
+
writeText(`✗ replay failed: ${r.reason}`);
|
|
158
295
|
}
|
|
296
|
+
process.exitCode = 1;
|
|
297
|
+
return;
|
|
159
298
|
}
|
|
160
|
-
const corpus = corpusFor(opts.file, core.agentManifest);
|
|
161
|
-
const cb = core.hydra.forgeCodebook(corpus, {}).codebook;
|
|
162
|
-
const appended = core.hydra.appendToChain(repoRoot, chain, cb, Date.now());
|
|
163
|
-
writeFileSync(chainPath, JSON.stringify(appended.chain, null, 2));
|
|
164
|
-
const g = core.hydra.chainGauntlet(appended.chain);
|
|
165
|
-
const v = core.hydra.verifyChain(appended.chain);
|
|
166
299
|
if (opts.json) {
|
|
167
|
-
writeJson({
|
|
168
|
-
process.exitCode = g.score === 100 ? 0 : 1;
|
|
300
|
+
writeJson({ atIndex: r.trust.atIndex, entries: r.codebook.entries.length, guard: !!opts.guard, fresh: r.trust.freshCount, stale: r.trust.staleCount, halflife: hl });
|
|
169
301
|
return;
|
|
170
302
|
}
|
|
171
|
-
writeText(`HYDRA
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
303
|
+
writeText(`HYDRA replay — codebook at chain step ${r.trust.atIndex} (${r.codebook.entries.length} entries)`);
|
|
304
|
+
if (opts.guard) {
|
|
305
|
+
writeText(``);
|
|
306
|
+
writeText(` temporal guard (half-life ${hl} deltas): ${r.trust.freshCount} fresh · ${r.trust.staleCount} stale (redacted)`);
|
|
307
|
+
const staleSyms = Object.keys(r.trust.trustMap);
|
|
308
|
+
const sample = r.codebook.entries.filter((e) => staleSyms.includes(e.sym)).slice(0, 3);
|
|
309
|
+
for (const e of sample)
|
|
310
|
+
writeText(` ⊘ redacted (cold): "${e.phrase.slice(0, 40).replace(/\n/g, " ")}…"`);
|
|
311
|
+
writeText(``);
|
|
312
|
+
writeText(` ✓ cold knowledge is redacted to a signed abstract — the AI sees its shape, not rotten detail.`);
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
h.command("install-hook")
|
|
316
|
+
.description("Install a git post-commit hook that runs `mneme hydra chain --git` after every commit — anchoring a signed HYDRA context delta to each commit. Non-blocking + fail-open (never breaks a commit). Sentinel-bracketed: re-installs cleanly, composes with an existing hook.")
|
|
317
|
+
.option("--uninstall", "remove the Mneme block from the post-commit hook instead")
|
|
318
|
+
.action(async (opts) => {
|
|
319
|
+
const repoRoot = process.cwd();
|
|
320
|
+
const gitDir = git(repoRoot, ["rev-parse", "--git-dir"]);
|
|
321
|
+
if (!gitDir) {
|
|
322
|
+
writeText("✗ not a git repo (no .git)");
|
|
323
|
+
process.exitCode = 1;
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const hooksDir = join(repoRoot, gitDir, "hooks");
|
|
327
|
+
const hookPath = join(hooksDir, "post-commit");
|
|
328
|
+
const BEGIN = "# >>> mneme hydra chain >>>";
|
|
329
|
+
const END = "# <<< mneme hydra chain <<<";
|
|
330
|
+
const block = [
|
|
331
|
+
BEGIN,
|
|
332
|
+
"# Auto-anchor a signed HYDRA context delta to this commit. Fail-open + non-blocking.",
|
|
333
|
+
"# Honors MNEME_CLI_BIN (a path to mneme's bin, run via node) for CI / monorepo / testing.",
|
|
334
|
+
`if [ -n "$MNEME_CLI_BIN" ]; then node "$MNEME_CLI_BIN" hydra chain --git --skip-unchanged >/dev/null 2>&1 || true;`,
|
|
335
|
+
`else mneme hydra chain --git --skip-unchanged >/dev/null 2>&1 || true; fi`,
|
|
336
|
+
END,
|
|
337
|
+
].join("\n");
|
|
338
|
+
let existing = existsSync(hookPath) ? readFileSync(hookPath, "utf8") : "";
|
|
339
|
+
// Strip any prior Mneme block.
|
|
340
|
+
const bi = existing.indexOf(BEGIN), ei = existing.indexOf(END);
|
|
341
|
+
if (bi >= 0 && ei > bi)
|
|
342
|
+
existing = (existing.slice(0, bi) + existing.slice(ei + END.length)).replace(/\n{3,}/g, "\n\n").trimEnd() + "\n";
|
|
343
|
+
if (opts.uninstall) {
|
|
344
|
+
if (!existsSync(hooksDir))
|
|
345
|
+
mkdirSync(hooksDir, { recursive: true });
|
|
346
|
+
writeFileSync(hookPath, existing.trim() ? existing : "#!/bin/sh\n");
|
|
347
|
+
writeText("✓ removed the Mneme block from post-commit hook");
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
if (!existsSync(hooksDir))
|
|
351
|
+
mkdirSync(hooksDir, { recursive: true });
|
|
352
|
+
const head = existing.startsWith("#!") ? "" : "#!/bin/sh\n";
|
|
353
|
+
const next = (head + existing).trimEnd() + "\n\n" + block + "\n";
|
|
354
|
+
writeFileSync(hookPath, next);
|
|
355
|
+
try {
|
|
356
|
+
chmodSync(hookPath, 0o755);
|
|
357
|
+
}
|
|
358
|
+
catch { /* windows: no-op */ }
|
|
359
|
+
writeText(`✓ installed post-commit hook → ${hookPath}`);
|
|
360
|
+
writeText(` every commit now appends a signed HYDRA delta anchored to its sha (fail-open, non-blocking).`);
|
|
361
|
+
writeText(` remove with: mneme hydra install-hook --uninstall`);
|
|
179
362
|
});
|
|
180
363
|
h.command("verify <artifact>")
|
|
181
364
|
.description("Offline-verify a portable artifact: Ed25519 signature + codebook binding + re-prove the round-trip is lossless. No network, public key alone.")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydra.js","sourceRoot":"","sources":["../../src/commands/hydra.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hydra.js","sourceRoot":"","sources":["../../src/commands/hydra.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.
|
|
3
|
+
"version": "2.100.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,10 +32,10 @@
|
|
|
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.
|
|
36
|
-
"@mneme-ai/correlator": "2.
|
|
37
|
-
"@mneme-ai/embeddings": "2.
|
|
38
|
-
"@mneme-ai/mcp": "2.
|
|
35
|
+
"@mneme-ai/core": "2.100.0",
|
|
36
|
+
"@mneme-ai/correlator": "2.100.0",
|
|
37
|
+
"@mneme-ai/embeddings": "2.100.0",
|
|
38
|
+
"@mneme-ai/mcp": "2.100.0",
|
|
39
39
|
"commander": "^14.0.3",
|
|
40
40
|
"kleur": "^4.1.5"
|
|
41
41
|
},
|