mneme-ai 3.15.0 โ†’ 3.16.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":"aphelion.d.ts","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkE/D"}
1
+ {"version":3,"file":"aphelion.d.ts","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuG/D"}
@@ -49,6 +49,77 @@ export function registerAphelionCommands(program) {
49
49
  out(`${last.withinCharter ? "๐ŸŸข within charter" : "๐Ÿ”ด CHARTER VIOLATION"} ยท ${last.action}${o.path ? ` (${o.path})` : ""} ยท risk ${last.risk} โ€” ${last.reason}`);
50
50
  out(` recorded #${last.seq} to the tamper-evident offline ledger (${next.actions.length} action(s) this window).`);
51
51
  });
52
+ k.command("amend").description("Amend the autonomy charter MID-FLIGHT โ€” a signed, chain-recorded envelope change (it governs only future actions; it cannot retroactively cover a past violation).")
53
+ .requiredOption("--node <name>", "this node's id").requiredOption("--reason <r>", "why the charter is changing")
54
+ .option("--scope <globs...>", "new allowed paths").option("--forbidden <words...>", "new forbidden actions").option("--max-risk <n>", "new risk ceiling", parseFloat).option("--by <who>", "who authorized it", "operator")
55
+ .action((o) => {
56
+ const cwd = process.cwd();
57
+ const s = loadSession(cwd, o.node);
58
+ if (!s) {
59
+ out(`no open session for ${o.node}`);
60
+ process.exitCode = 2;
61
+ return;
62
+ }
63
+ const cur = aphelion.activeCharterOf(s);
64
+ const charter = { mission: cur.mission, scope: o.scope ?? cur.scope, forbidden: o.forbidden ?? cur.forbidden, maxRisk: o.maxRisk ?? cur.maxRisk };
65
+ saveSession(cwd, aphelion.amendCharter(s, { charter, reason: o.reason, by: o.by }, Date.now()));
66
+ out(`๐Ÿ›ฐ charter amended by ${o.by} โ€” "${o.reason}" ยท scope [${charter.scope.join(", ") || "any"}] ยท forbidden [${charter.forbidden.join(", ") || "none"}] ยท maxRisk ${charter.maxRisk}`);
67
+ out(" recorded as a signed amendment in the chain โ€” future actions judge against it; past actions keep their verdicts.");
68
+ });
69
+ k.command("relay").description("DTN store-and-forward: take custody of a bundle at a relay (orbiter / ground station), or create one. With no --in, wraps the node's sealed capsule.")
70
+ .requiredOption("--via <node>", "the relay taking custody").option("--in <bundle>", "the incoming bundle").option("--node <name>", "origin node (to create a bundle from its capsule)").option("--out <file>", "write the forwarded bundle")
71
+ .action((o) => {
72
+ const cwd = process.cwd();
73
+ let bundle = null;
74
+ if (o.in && existsSync(o.in)) {
75
+ try {
76
+ const j = JSON.parse(readFileSync(o.in, "utf8"));
77
+ bundle = (j?.payload?.v ? j.payload : j);
78
+ }
79
+ catch { /* */ }
80
+ }
81
+ else if (o.node) {
82
+ const cap = readCapsule(join(dir(cwd), `${o.node}.capsule.json`));
83
+ if (cap)
84
+ bundle = aphelion.createBundle(cap, o.node, Date.now());
85
+ }
86
+ if (!bundle) {
87
+ out("no bundle/capsule โ€” pass --in <bundle> or --node <name> (after seal)");
88
+ process.exitCode = 2;
89
+ return;
90
+ }
91
+ const fwd = aphelion.forwardBundle(bundle, o.via, Date.now());
92
+ const outPath = o.out ?? join(dir(cwd), `bundle.json`);
93
+ writeFileSync(outPath, JSON.stringify(fwd, null, 2), "utf8");
94
+ out(`๐Ÿ›ฐ custody taken at ${o.via} ยท path ${fwd.custody.map((h) => h.node).join(" โ†’ ")} โ†’ ${outPath}`);
95
+ });
96
+ k.command("deliver <bundle>").description("DTN delivery: verify a bundle that reached home โ€” the custody PATH + the carried capsule both verify OFFLINE.")
97
+ .action((file) => {
98
+ if (!existsSync(file)) {
99
+ out("bundle not found");
100
+ process.exitCode = 2;
101
+ return;
102
+ }
103
+ let bundle;
104
+ try {
105
+ const j = JSON.parse(readFileSync(file, "utf8"));
106
+ bundle = (j?.payload?.v ? j.payload : j);
107
+ }
108
+ catch {
109
+ out("โœ— invalid bundle JSON");
110
+ process.exitCode = 2;
111
+ return;
112
+ }
113
+ const v = aphelion.verifyBundle(bundle);
114
+ out(v.valid ? `โœ“ DELIVERED + VERIFIED โ€” ${v.reasons[0]}` : "โœ— NOT verified:");
115
+ if (!v.valid) {
116
+ for (const r of v.reasons)
117
+ out(" โ€ข " + r);
118
+ process.exitCode = 2;
119
+ }
120
+ else
121
+ out(` path: ${v.path.join(" โ†’ ")} ยท custody ${v.custodyOk ? "intact" : "BROKEN"} ยท payload ${v.capsuleValid ? "valid" : "INVALID"}`);
122
+ });
52
123
  k.command("seal").description("Seal the disconnected window into a signed capsule (verify offline on reconnect).")
53
124
  .requiredOption("--node <name>", "this node's id").option("--out <file>", "write the signed capsule")
54
125
  .action((o) => {
@@ -1 +1 @@
1
- {"version":3,"file":"aphelion.js","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEzC,SAAS,GAAG,CAAC,CAAS,IAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;AACvF,SAAS,WAAW,CAAC,GAAW,EAAE,IAAY,IAAoC,IAAI,CAAC;IAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,IAAI,CAAC;AAAC,CAAC,CAAC,CAAC;AAChL,SAAS,WAAW,CAAC,GAAW,EAAE,CAA0B,IAAU,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3L,SAAS,WAAW,CAAC,IAAY,IAAgC,IAAI,CAAC;IAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAwB,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,IAAI,CAAC;AAAC,CAAC,CAAC,CAAC;AAElN,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,mQAAmQ,CAAC,CAAC;IAEvT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC;SACzF,cAAc,CAAC,eAAe,EAAE,uCAAuC,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC;SACnM,MAAM,CAAC,CAAC,CAA8F,EAAE,EAAE;QACzG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACpK,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,KAA2C,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9Q,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,mCAAmC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpN,GAAG,CAAC,2BAA2B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,+DAA+D,CAAC,CAAC;IACzJ,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,6EAA6E,CAAC;SACxG,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,+BAA+B,CAAC;SACjH,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,8BAA8B,CAAC;SAClG,MAAM,CAAC,CAAC,CAAiE,EAAE,EAAE;QAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,sCAAsC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3H,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjK,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,0CAA0C,IAAI,CAAC,OAAO,CAAC,MAAM,0BAA0B,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mFAAmF,CAAC;SAC/G,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;SACpG,MAAM,CAAC,CAAC,CAAiC,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,GAAY,OAAO,CAAC;QAC9B,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5N,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC;QAClE,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;QAC7B,GAAG,CAAC,4BAA4B,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,aAAa,qBAAqB,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC;QAC1I,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,GAAG,6CAA6C,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5K,GAAG,CAAC,kBAAkB,OAAO,wDAAwD,OAAO,GAAG,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,yGAAyG,CAAC;SAC9I,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAClF,IAAI,MAAe,CAAC;QAAC,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACpJ,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5E,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5E,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1D,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,eAAe,OAAO,CAAC,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,eAAe,EAAE,CAAC,CAAC;QACjM,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,mFAAmF,CAAC;SAC3H,MAAM,CAAC,CAAC,KAAe,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAA0B,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,GAAG,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,YAAY,gBAAgB,KAAK,CAAC,eAAe,eAAe,CAAC,CAAC;QAChI,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC;IACtI,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"aphelion.js","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mneme-ai",
3
- "version": "3.15.0",
3
+ "version": "3.16.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": "3.15.0",
36
- "@mneme-ai/correlator": "3.15.0",
37
- "@mneme-ai/embeddings": "3.15.0",
38
- "@mneme-ai/matrix": "3.15.0",
39
- "@mneme-ai/mcp": "3.15.0",
40
- "@mneme-ai/xray": "3.15.0",
35
+ "@mneme-ai/core": "3.16.0",
36
+ "@mneme-ai/correlator": "3.16.0",
37
+ "@mneme-ai/embeddings": "3.16.0",
38
+ "@mneme-ai/matrix": "3.16.0",
39
+ "@mneme-ai/mcp": "3.16.0",
40
+ "@mneme-ai/xray": "3.16.0",
41
41
  "commander": "^14.0.3",
42
42
  "kleur": "^4.1.5"
43
43
  },