mneme-ai 2.115.0 → 2.117.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.
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `mneme map` (v2.116.0) — render the Visual Knowledge Map: a gorgeous,
3
+ * dependency-free constellation of Mneme's live signed state (savings / loop /
4
+ * cortex / treasury) that auto-adapts to the terminal (truecolor gradients →
5
+ * 256-color → plain ASCII on a pipe/CI). Zero config — it just renders the
6
+ * richest form the surface supports.
7
+ *
8
+ * mneme map # the live knowledge-map frame
9
+ * mneme map --json # the underlying state (for embedding)
10
+ *
11
+ * Gathering is best-effort + total: missing ledgers → idle nodes, never an error.
12
+ */
13
+ import type { Command } from "commander";
14
+ export declare function registerMapCommands(program: Command): void;
15
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC1D"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * `mneme map` (v2.116.0) — render the Visual Knowledge Map: a gorgeous,
3
+ * dependency-free constellation of Mneme's live signed state (savings / loop /
4
+ * cortex / treasury) that auto-adapts to the terminal (truecolor gradients →
5
+ * 256-color → plain ASCII on a pipe/CI). Zero config — it just renders the
6
+ * richest form the surface supports.
7
+ *
8
+ * mneme map # the live knowledge-map frame
9
+ * mneme map --json # the underlying state (for embedding)
10
+ *
11
+ * Gathering is best-effort + total: missing ledgers → idle nodes, never an error.
12
+ */
13
+ import { existsSync, readFileSync } from "node:fs";
14
+ import { join } from "node:path";
15
+ import { getVersion } from "../version.js";
16
+ function writeText(l) { process.stdout.write(l + "\n"); }
17
+ function writeJson(p) { process.stdout.write(JSON.stringify(p, null, 2) + "\n"); }
18
+ async function core() {
19
+ try {
20
+ const c = (await import("@mneme-ai/core"));
21
+ if (c.visual)
22
+ return c;
23
+ }
24
+ catch { /* */ }
25
+ return null;
26
+ }
27
+ function readVersion() { try {
28
+ return getVersion();
29
+ }
30
+ catch {
31
+ return "";
32
+ } }
33
+ /** Gather the live state into a MapState (best-effort, total). */
34
+ function gatherState(m, cwd) {
35
+ const nodes = [];
36
+ let headline = "";
37
+ let savingsSpark = [];
38
+ // TREASURY — token savings
39
+ try {
40
+ const p = join(cwd, ".mneme", "treasury", "ledger.jsonl");
41
+ if (existsSync(p) && m.treasury) {
42
+ const evs = m.treasury.parseLedger(readFileSync(p, "utf8"));
43
+ const agg = m.treasury.aggregate(evs);
44
+ if (agg.events > 0) {
45
+ nodes.push({ label: "SAVINGS", status: "ok" });
46
+ headline = `${agg.tokensSaved.toLocaleString()} input tokens saved (−${agg.savedPct}%)`;
47
+ savingsSpark = evs.slice(-24).map((e) => Math.max(0, (e.tokensBefore || 0) - (e.tokensAfter || 0)));
48
+ }
49
+ else {
50
+ nodes.push({ label: "SAVINGS", status: "idle" });
51
+ }
52
+ }
53
+ else {
54
+ nodes.push({ label: "SAVINGS", status: "idle" });
55
+ }
56
+ }
57
+ catch {
58
+ nodes.push({ label: "SAVINGS", status: "idle" });
59
+ }
60
+ // LOOPGUARD — thrash state
61
+ try {
62
+ const p = join(cwd, m.loopguard?.LOOPGUARD_LEDGER ?? ".mneme/loopguard/events.jsonl");
63
+ if (existsSync(p) && m.loopguard) {
64
+ const v = m.loopguard.detectStuck(m.loopguard.parseLedger(readFileSync(p, "utf8")));
65
+ nodes.unshift({ label: "LOOP", status: v.stuck ? "bad" : "ok" });
66
+ }
67
+ else {
68
+ nodes.unshift({ label: "LOOP", status: "idle" });
69
+ }
70
+ }
71
+ catch {
72
+ nodes.unshift({ label: "LOOP", status: "idle" });
73
+ }
74
+ // CORTEX — shared facts
75
+ try {
76
+ const p = join(cwd, ".mneme", "cortex", "store.json");
77
+ if (existsSync(p)) {
78
+ const store = JSON.parse(readFileSync(p, "utf8"));
79
+ const n = Array.isArray(store.entries) ? store.entries.length : 0;
80
+ nodes.push({ label: "CORTEX", status: n > 0 ? "ok" : "idle" });
81
+ }
82
+ else {
83
+ nodes.push({ label: "CORTEX", status: "idle" });
84
+ }
85
+ }
86
+ catch {
87
+ nodes.push({ label: "CORTEX", status: "idle" });
88
+ }
89
+ // HYDRA — signed context codebook
90
+ try {
91
+ const p = join(cwd, ".mneme", "hydra", "codebook.json");
92
+ if (existsSync(p)) {
93
+ const cb = JSON.parse(readFileSync(p, "utf8"));
94
+ const entries = cb.codebook && typeof cb.codebook === "object" ? Object.keys(cb.codebook).length : 0;
95
+ nodes.push({ label: "HYDRA", status: entries > 0 ? "ok" : "idle" });
96
+ }
97
+ else {
98
+ nodes.push({ label: "HYDRA", status: "idle" });
99
+ }
100
+ }
101
+ catch {
102
+ nodes.push({ label: "HYDRA", status: "idle" });
103
+ }
104
+ // GEPHYRA — truth-customs bridge (real status reader)
105
+ try {
106
+ if (m.gephyra) {
107
+ const g = m.gephyra.bridgeStatus(cwd);
108
+ const status = g.quarantined > 0 ? "warn" : g.crossings > 0 && g.chainValid ? "ok" : "idle";
109
+ nodes.push({ label: "GEPHYRA", status });
110
+ }
111
+ else {
112
+ nodes.push({ label: "GEPHYRA", status: "idle" });
113
+ }
114
+ }
115
+ catch {
116
+ nodes.push({ label: "GEPHYRA", status: "idle" });
117
+ }
118
+ // TRUTH — always present (the savant identity)
119
+ nodes.unshift({ label: "TRUTH", status: "ok" });
120
+ return { state: { version: readVersion(), nodes, savingsSpark, headline: headline || undefined, signed: true } };
121
+ }
122
+ export function registerMapCommands(program) {
123
+ program
124
+ .command("map")
125
+ .alias("visual")
126
+ .description("🗺️ VISUAL KNOWLEDGE MAP — render Mneme's live signed state as a gorgeous terminal constellation (savings / loop / cortex / truth). Auto-adapts: truecolor gradients → 256-color → plain ASCII on a pipe/CI. Zero config.")
127
+ .option("--json", "emit the underlying state instead of the rendered frame.")
128
+ .option("--ascii", "force pure-ASCII output (no color, no Unicode).")
129
+ .option("--watch", "live-refresh the map until Ctrl-C (TTY only; on a pipe it renders once).")
130
+ .option("--interval <ms>", "watch refresh interval in ms (default 1500)", (v) => parseInt(v, 10))
131
+ .action(async (opts) => {
132
+ const m = await core();
133
+ if (!m) {
134
+ writeText("✗ core unavailable");
135
+ process.exitCode = 1;
136
+ return;
137
+ }
138
+ const cwd = process.cwd();
139
+ const env = opts.ascii ? { ...process.env, MNEME_NO_COLOR: "1", MNEME_ASCII: "1" } : process.env;
140
+ const caps = () => m.visual.detectCaps(env, Boolean(process.stdout.isTTY), process.stdout.columns);
141
+ const renderNow = () => m.visual.renderKnowledgeMap(gatherState(m, cwd).state, caps());
142
+ if (opts.json) {
143
+ writeJson(gatherState(m, cwd).state);
144
+ return;
145
+ }
146
+ // ── one-shot (default, and the SAFE path on a pipe / CI / non-TTY) ──
147
+ if (!opts.watch || !process.stdout.isTTY) {
148
+ writeText(renderNow());
149
+ return;
150
+ }
151
+ // ── live refresh (TTY only). Alt-screen + hidden cursor; flicker-free
152
+ // redraw (home + clear-below, not a full clear). Ctrl-C restores. ──
153
+ const interval = Math.max(500, Math.min(10_000, Number.isFinite(opts.interval) ? opts.interval : 1500));
154
+ const ALT_ON = "\x1b[?1049h", ALT_OFF = "\x1b[?1049l", CUR_HIDE = "\x1b[?25l", CUR_SHOW = "\x1b[?25h", HOME = "\x1b[H", CLEAR_BELOW = "\x1b[0J";
155
+ let stopped = false;
156
+ const restore = () => { if (stopped)
157
+ return; stopped = true; try {
158
+ process.stdout.write(CUR_SHOW + ALT_OFF);
159
+ }
160
+ catch { /* */ } };
161
+ const footer = "\n\n ctrl-c to exit · live\n";
162
+ const tick = () => { if (stopped)
163
+ return; try {
164
+ process.stdout.write(HOME + renderNow() + footer + CLEAR_BELOW);
165
+ }
166
+ catch { /* */ } };
167
+ try {
168
+ process.stdout.write(ALT_ON + CUR_HIDE);
169
+ }
170
+ catch { /* */ }
171
+ tick(); // first frame immediately
172
+ const timer = setInterval(tick, interval);
173
+ const onExit = () => { clearInterval(timer); restore(); process.exit(0); };
174
+ process.on("SIGINT", onExit);
175
+ process.on("SIGTERM", onExit);
176
+ // keep the process alive on the timer; never throw
177
+ });
178
+ }
179
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiJA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmgNvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkJA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAogNvD"}
package/dist/index.js CHANGED
@@ -78,6 +78,7 @@ import { registerAbsorbCommands } from "./commands/absorb.js";
78
78
  import { registerLoopguardCommands } from "./commands/loopguard.js";
79
79
  import { registerDistillCommands } from "./commands/distill.js";
80
80
  import { registerSavingsCommands } from "./commands/savings.js";
81
+ import { registerMapCommands } from "./commands/map.js";
81
82
  import { registerTrustCommands } from "./commands/trust.js";
82
83
  import { registerNuclearCommands } from "./commands/nuclear-cli.js";
83
84
  import { registerOvernightCommand } from "./commands/overnight.js";
@@ -4701,6 +4702,7 @@ export async function run(argv) {
4701
4702
  registerLoopguardCommands(program);
4702
4703
  registerDistillCommands(program);
4703
4704
  registerSavingsCommands(program);
4705
+ registerMapCommands(program);
4704
4706
  // ─── Trust calibrator (v1.31.0) -- per-subsystem precision/recall/band
4705
4707
  registerTrustCommands(program);
4706
4708
  // ─── Wisdom reactor (v1.33.0) -- five nuclear-physics formulas as Mneme metrics