mneme-ai 2.165.0 → 2.167.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/boot.d.ts.map +1 -1
- package/dist/commands/boot.js +4 -1
- package/dist/commands/boot.js.map +1 -1
- package/dist/commands/matrix.d.ts +14 -0
- package/dist/commands/matrix.d.ts.map +1 -0
- package/dist/commands/matrix.js +127 -0
- package/dist/commands/matrix.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/commands/boot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/commands/boot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgF3D"}
|
package/dist/commands/boot.js
CHANGED
|
@@ -60,7 +60,10 @@ export function registerBootCommands(program) {
|
|
|
60
60
|
const bin = process.env["MNEME_CLI_BIN"] ?? "mneme";
|
|
61
61
|
const cfg = {
|
|
62
62
|
hooks: {
|
|
63
|
-
SessionStart: [{ hooks: [
|
|
63
|
+
SessionStart: [{ hooks: [
|
|
64
|
+
{ type: "command", command: `${bin} boot --hook`, timeout: 10 },
|
|
65
|
+
{ type: "command", command: `${bin} matrix ensure`, timeout: 10 },
|
|
66
|
+
] }],
|
|
64
67
|
UserPromptSubmit: [{ hooks: [{ type: "command", command: `${bin} boot --nudge`, timeout: 10 }] }],
|
|
65
68
|
},
|
|
66
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/commands/boot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,SAAS,GAAG,CAAC,CAAS,IAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjE,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAAC,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,IAAa;IAC7C,IAAI,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sLAAsL,CAAC;SACnM,MAAM,CAAC,YAAY,EAAE,+EAA+E,CAAC;SACrG,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,yEAAyE,CAAC;SAC3F,MAAM,CAAC,SAAS,EAAE,0EAA0E,CAAC;SAC7F,MAAM,CAAC,oBAAoB,EAAE,wFAAwF,CAAC;SACtH,MAAM,CAAC,CAAC,IAAkG,EAAE,EAAE;QAC7G,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,0EAA0E;YAC1E,wEAAwE;YACxE,GAAG,CAAC,aAAa,OAAO,8VAA8V,CAAC,CAAC;YACxX,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC;YACpD,MAAM,GAAG,GAAG;gBACV,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/commands/boot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme matrix` (v2.166.0) — THE MATRIX RAIL pipe core. The transport-agnostic,
|
|
3
|
+
* gRPC-ready pipe that flows ANY payload (0 B → tens of MB, binary, unicode)
|
|
4
|
+
* byte-identical through ordered, compressed, hash-manifested frames — or says
|
|
5
|
+
* exactly why. Run the self-test (pipe integrity + corruption + size A/B) or
|
|
6
|
+
* measure a file's wire cost.
|
|
7
|
+
*
|
|
8
|
+
* mneme matrix # self-test: pipe + corruption + size A/B (gauntlet)
|
|
9
|
+
* mneme matrix bench <file> # measure raw-JSON vs rail-wire bytes for a file
|
|
10
|
+
* mneme matrix --json
|
|
11
|
+
*/
|
|
12
|
+
import type { Command } from "commander";
|
|
13
|
+
export declare function registerMatrixCommands(program: Command): void;
|
|
14
|
+
//# sourceMappingURL=matrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/commands/matrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuF7D"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { matrix } from "@mneme-ai/core";
|
|
4
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
5
|
+
export function registerMatrixCommands(program) {
|
|
6
|
+
const m = program
|
|
7
|
+
.command("matrix")
|
|
8
|
+
.description("🛰 THE MATRIX RAIL — the local-first, gRPC-ready pipe core. Flows ANY payload (0 bytes → tens of MB, raw binary, unicode) byte-identical through ordered, compressed, hash-manifested frames; catches every dropped/reordered/duplicated/tampered chunk; compresses the wire. Run with no args for the self-test (pipe integrity + corruption + size A/B). The transport substance under the gRPC server.")
|
|
9
|
+
.option("--json", "JSON output.")
|
|
10
|
+
.action((opts) => {
|
|
11
|
+
const g = matrix.matrixGauntlet();
|
|
12
|
+
if (opts.json) {
|
|
13
|
+
out(JSON.stringify(g, null, 2));
|
|
14
|
+
if (g.score !== 100)
|
|
15
|
+
process.exitCode = 2;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
out(`🛰 MATRIX RAIL — pipe self-test (gauntlet ${g.score}/100)`);
|
|
19
|
+
out("");
|
|
20
|
+
out(` PIPE INTEGRITY ${g.pipe.passed}/${g.pipe.cases} pathological payloads round-trip byte-identical (0B · 1B · 5MB · binary · unicode · nested)`);
|
|
21
|
+
out(` CORRUPTION ${g.corruption.caught}/${g.corruption.cases} tamper classes caught (dropped · reordered · duplicate · flipped byte · manifest tamper) — no silent pass`);
|
|
22
|
+
out(` SIZE A/B raw JSON ${g.ab.rawBytes.toLocaleString()} B → wire ${g.ab.wireBytes.toLocaleString()} B (−${g.ab.savedPct}% on the wire, ${g.ab.frames} frame(s))`);
|
|
23
|
+
out("");
|
|
24
|
+
for (const c of g.checks)
|
|
25
|
+
out(` ${c.pass ? "✓" : "✗"} ${c.name} — ${c.detail}`);
|
|
26
|
+
out("");
|
|
27
|
+
out(` The pipe is transport-agnostic (gRPC-ready). A large payload auto-splits into frames — gRPC's 4MB cap is not a wall. Every frame is hash-manifested; corruption is caught, never silently passed.`);
|
|
28
|
+
if (g.score !== 100)
|
|
29
|
+
process.exitCode = 2;
|
|
30
|
+
});
|
|
31
|
+
async function loadWire() {
|
|
32
|
+
try {
|
|
33
|
+
return (await import("@mneme-ai/matrix"));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
out("🛰 the gRPC wire server needs @mneme-ai/matrix — install it: npm i @mneme-ai/matrix");
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
m.command("serve")
|
|
41
|
+
.description("Serve the Matrix Rail gRPC wire server on 127.0.0.1 (loopback only). Any AI agent / language connects to reach every Mneme function over HTTP/2 + Protobuf.")
|
|
42
|
+
.option("--port <n>", "port (default 50561)", "50561")
|
|
43
|
+
.action(async (opts) => {
|
|
44
|
+
const wire = await loadWire();
|
|
45
|
+
if (!wire) {
|
|
46
|
+
process.exitCode = 2;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const srv = await wire.createMatrixServer({ port: parseInt(opts.port ?? "50561", 10) });
|
|
50
|
+
out(`🛰 Matrix Rail gRPC on 127.0.0.1:${srv.port} (loopback · proof-carrying · chunked pipe). Ctrl-C to stop.`);
|
|
51
|
+
process.on("SIGINT", () => { srv.stop().then(() => process.exit(0)); });
|
|
52
|
+
process.on("SIGTERM", () => { srv.stop().then(() => process.exit(0)); });
|
|
53
|
+
});
|
|
54
|
+
m.command("ensure")
|
|
55
|
+
.description("Idempotent zero-command auto-start: if the rail is already running (live pid in .mneme/matrix.json) do nothing, else spawn it detached. Safe to call every session (e.g. from a SessionStart hook) — never piles up processes.")
|
|
56
|
+
.option("--port <n>", "port (default 50561)", "50561")
|
|
57
|
+
.action(async (opts) => {
|
|
58
|
+
const cwd = process.cwd();
|
|
59
|
+
const disc = join(cwd, ".mneme", "matrix.json");
|
|
60
|
+
// already up? (pid-alive check prevents the duplicate-process pile-up class)
|
|
61
|
+
try {
|
|
62
|
+
if (existsSync(disc)) {
|
|
63
|
+
const j = JSON.parse(readFileSync(disc, "utf8"));
|
|
64
|
+
if (j.pid) {
|
|
65
|
+
try {
|
|
66
|
+
process.kill(j.pid, 0);
|
|
67
|
+
out(`🛰 Matrix Rail already up on 127.0.0.1:${j.port}`);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
catch { /* stale pid → fall through to (re)start */ }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch { /* */ }
|
|
75
|
+
const wire = await loadWire();
|
|
76
|
+
if (!wire) {
|
|
77
|
+
return;
|
|
78
|
+
} // fail-open: message printed
|
|
79
|
+
const { spawn } = await import("node:child_process");
|
|
80
|
+
const child = spawn(process.execPath, [process.argv[1] ?? "", "matrix", "serve", "--port", opts.port ?? "50561"], { cwd, detached: true, stdio: "ignore" });
|
|
81
|
+
child.unref();
|
|
82
|
+
out(`🛰 Matrix Rail starting (detached) on 127.0.0.1:${opts.port ?? "50561"} — agents read .mneme/matrix.json`);
|
|
83
|
+
});
|
|
84
|
+
m.command("wire-test")
|
|
85
|
+
.description("Live gRPC self-test: spin up the server on an ephemeral loopback port, round-trip (incl a 5MB+ payload through the chunked pipe), measure, shut down.")
|
|
86
|
+
.action(async () => {
|
|
87
|
+
const wire = await loadWire();
|
|
88
|
+
if (!wire) {
|
|
89
|
+
process.exitCode = 2;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const g = await wire.grpcGauntlet();
|
|
93
|
+
out(`🛰 MATRIX gRPC wire-test — ${g.score}/100`);
|
|
94
|
+
for (const c of g.checks)
|
|
95
|
+
out(` ${c.pass ? "✓" : "✗"} ${c.name} — ${c.detail}`);
|
|
96
|
+
out(` metrics: health ${g.metrics.healthMs}ms · ping ${g.metrics.pingMs}ms · ${(g.metrics.largePayloadBytes / 1e6).toFixed(1)}MB round-trip ${g.metrics.roundTripMs}ms`);
|
|
97
|
+
if (g.score !== 100)
|
|
98
|
+
process.exitCode = 2;
|
|
99
|
+
});
|
|
100
|
+
m.command("bench <file>")
|
|
101
|
+
.description("Measure a file's wire cost: raw JSON utf8 bytes vs the rail's compressed frames.")
|
|
102
|
+
.option("--json", "JSON output.")
|
|
103
|
+
.action((file, opts) => {
|
|
104
|
+
if (!existsSync(file)) {
|
|
105
|
+
out(`file not found: ${file}`);
|
|
106
|
+
process.exitCode = 2;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
let value;
|
|
110
|
+
const text = readFileSync(file, "utf8");
|
|
111
|
+
try {
|
|
112
|
+
value = JSON.parse(text);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
value = text;
|
|
116
|
+
} // works for JSON or any text
|
|
117
|
+
const ws = matrix.wireSize(value);
|
|
118
|
+
if (opts.json) {
|
|
119
|
+
out(JSON.stringify(ws, null, 2));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
out(`🛰 wire cost of ${file}:`);
|
|
123
|
+
out(` raw JSON : ${ws.rawBytes.toLocaleString()} B`);
|
|
124
|
+
out(` rail wire: ${ws.wireBytes.toLocaleString()} B (−${ws.savedPct}% · ${ws.frames} frame(s))`);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/commands/matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8KA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8kNvD"}
|
package/dist/index.js
CHANGED
|
@@ -94,6 +94,7 @@ import { registerElleipsisCommands } from "./commands/elleipsis.js";
|
|
|
94
94
|
import { registerSteleCommands } from "./commands/stele.js";
|
|
95
95
|
import { registerMembraneCommands } from "./commands/membrane.js";
|
|
96
96
|
import { registerTrustlessCommands } from "./commands/trustless.js";
|
|
97
|
+
import { registerMatrixCommands } from "./commands/matrix.js";
|
|
97
98
|
import { registerAxiaCommands } from "./commands/axia.js";
|
|
98
99
|
import { registerPceCommands } from "./commands/pce.js";
|
|
99
100
|
import { registerHauntCommands } from "./commands/haunt.js";
|
|
@@ -4752,6 +4753,7 @@ export async function run(argv) {
|
|
|
4752
4753
|
registerSteleCommands(program);
|
|
4753
4754
|
registerMembraneCommands(program);
|
|
4754
4755
|
registerTrustlessCommands(program);
|
|
4756
|
+
registerMatrixCommands(program);
|
|
4755
4757
|
registerAxiaCommands(program);
|
|
4756
4758
|
registerPceCommands(program);
|
|
4757
4759
|
registerHauntCommands(program);
|