gnosys 5.4.0 → 5.4.2

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.
Files changed (45) hide show
  1. package/README.md +114 -8
  2. package/dist/cli.js +157 -63
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.js +202 -99
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/config.d.ts +0 -5
  7. package/dist/lib/config.d.ts.map +1 -1
  8. package/dist/lib/config.js +71 -9
  9. package/dist/lib/config.js.map +1 -1
  10. package/dist/lib/dashboard.d.ts +14 -0
  11. package/dist/lib/dashboard.d.ts.map +1 -1
  12. package/dist/lib/dashboard.js +200 -94
  13. package/dist/lib/dashboard.js.map +1 -1
  14. package/dist/lib/db.d.ts +87 -3
  15. package/dist/lib/db.d.ts.map +1 -1
  16. package/dist/lib/db.js +236 -17
  17. package/dist/lib/db.js.map +1 -1
  18. package/dist/lib/desktopNotify.d.ts +31 -0
  19. package/dist/lib/desktopNotify.d.ts.map +1 -0
  20. package/dist/lib/desktopNotify.js +80 -0
  21. package/dist/lib/desktopNotify.js.map +1 -0
  22. package/dist/lib/dream.d.ts +12 -0
  23. package/dist/lib/dream.d.ts.map +1 -1
  24. package/dist/lib/dream.js +82 -2
  25. package/dist/lib/dream.js.map +1 -1
  26. package/dist/lib/ingest.d.ts.map +1 -1
  27. package/dist/lib/ingest.js +24 -4
  28. package/dist/lib/ingest.js.map +1 -1
  29. package/dist/lib/lock.d.ts +5 -0
  30. package/dist/lib/lock.d.ts.map +1 -1
  31. package/dist/lib/lock.js +9 -0
  32. package/dist/lib/lock.js.map +1 -1
  33. package/dist/lib/remote.d.ts +15 -0
  34. package/dist/lib/remote.d.ts.map +1 -1
  35. package/dist/lib/remote.js +85 -0
  36. package/dist/lib/remote.js.map +1 -1
  37. package/dist/lib/setup.d.ts +15 -0
  38. package/dist/lib/setup.d.ts.map +1 -1
  39. package/dist/lib/setup.js +228 -0
  40. package/dist/lib/setup.js.map +1 -1
  41. package/dist/lib/store.d.ts +2 -0
  42. package/dist/lib/store.d.ts.map +1 -1
  43. package/dist/lib/store.js +4 -11
  44. package/dist/lib/store.js.map +1 -1
  45. package/package.json +2 -1
@@ -5,6 +5,8 @@
5
5
  import { z } from "zod";
6
6
  import fs from "fs/promises";
7
7
  import path from "path";
8
+ import { execSync } from "child_process";
9
+ import { getGnosysHome } from "./paths.js";
8
10
  // ─── LLM Provider Schemas ───────────────────────────────────────────────
9
11
  const LLMProviderEnum = z.enum(["anthropic", "ollama", "groq", "openai", "lmstudio", "xai", "mistral", "custom"]);
10
12
  const AnthropicConfigSchema = z.object({
@@ -276,7 +278,6 @@ function resolveApiKey(configKey, gnosysEnvVar, legacyEnvVar) {
276
278
  // 3. macOS Keychain
277
279
  if (process.platform === "darwin") {
278
280
  try {
279
- const { execSync } = require("child_process");
280
281
  const result = execSync(`security find-generic-password -a "$USER" -s "${gnosysEnvVar}" -w 2>/dev/null`, { stdio: "pipe", encoding: "utf-8", timeout: 2000 }).trim();
281
282
  if (result)
282
283
  return result;
@@ -285,7 +286,18 @@ function resolveApiKey(configKey, gnosysEnvVar, legacyEnvVar) {
285
286
  // Not in keychain — fall through
286
287
  }
287
288
  }
288
- // 4. Legacy env var
289
+ // 4. Linux GNOME Keyring (secret-tool)
290
+ if (process.platform === "linux") {
291
+ try {
292
+ const result = execSync(`secret-tool lookup service gnosys account ${gnosysEnvVar} 2>/dev/null`, { stdio: "pipe", encoding: "utf-8", timeout: 2000 }).trim();
293
+ if (result)
294
+ return result;
295
+ }
296
+ catch {
297
+ // secret-tool not installed or no entry — fall through
298
+ }
299
+ }
300
+ // 5. Legacy env var
289
301
  if (legacyEnvVar && process.env[legacyEnvVar])
290
302
  return process.env[legacyEnvVar];
291
303
  return undefined;
@@ -379,22 +391,72 @@ function migrateConfig(raw) {
379
391
  * Returns defaults if no config file exists.
380
392
  * Throws on invalid config with descriptive error messages.
381
393
  */
382
- export async function loadConfig(storePath) {
383
- const configPath = path.join(storePath, "gnosys.json");
394
+ /**
395
+ * Read a raw gnosys.json file as a plain object. Returns null if the file
396
+ * doesn't exist. Throws on JSON syntax errors with a descriptive message.
397
+ * Does NOT apply schema validation or defaults — that happens at the merge step.
398
+ */
399
+ async function readRawConfig(configPath) {
384
400
  try {
385
401
  const raw = await fs.readFile(configPath, "utf-8");
386
- const parsed = JSON.parse(raw);
387
- const migrated = migrateConfig(parsed);
388
- return GnosysConfigSchema.parse(migrated);
402
+ return JSON.parse(raw);
389
403
  }
390
404
  catch (err) {
391
405
  if (err instanceof Error && "code" in err && err.code === "ENOENT") {
392
- // No config file — use defaults
393
- return DEFAULT_CONFIG;
406
+ return null;
394
407
  }
395
408
  if (err instanceof SyntaxError) {
396
409
  throw new Error(`Invalid JSON in ${configPath}: ${err.message}`);
397
410
  }
411
+ throw err;
412
+ }
413
+ }
414
+ /** Deep merge: `override` wins over `base` for any field both define. */
415
+ function deepMergeConfig(base, override) {
416
+ const result = { ...base };
417
+ for (const [key, value] of Object.entries(override)) {
418
+ const baseValue = base[key];
419
+ const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
420
+ if (isPlainObject(value) && isPlainObject(baseValue)) {
421
+ result[key] = deepMergeConfig(baseValue, value);
422
+ }
423
+ else {
424
+ result[key] = value;
425
+ }
426
+ }
427
+ return result;
428
+ }
429
+ export async function loadConfig(storePath) {
430
+ const configPath = path.join(storePath, "gnosys.json");
431
+ const globalPath = path.join(getGnosysHome(), "gnosys.json");
432
+ const isGlobalLoad = path.resolve(configPath) === path.resolve(globalPath);
433
+ try {
434
+ // v5.4.1: Project gnosys.json inherits from global gnosys.json. Project
435
+ // values override global values for keys both specify; missing keys fall
436
+ // through to global (and finally to schema defaults). Skip the inheritance
437
+ // step when we're already loading the global config (avoids double-load).
438
+ let raw;
439
+ if (isGlobalLoad) {
440
+ raw = await readRawConfig(configPath);
441
+ }
442
+ else {
443
+ const globalRaw = (await readRawConfig(globalPath)) ?? {};
444
+ const projectRaw = await readRawConfig(configPath);
445
+ if (projectRaw === null && Object.keys(globalRaw).length === 0) {
446
+ // Neither exists — schema defaults
447
+ raw = null;
448
+ }
449
+ else {
450
+ raw = deepMergeConfig(globalRaw, projectRaw ?? {});
451
+ }
452
+ }
453
+ if (raw === null) {
454
+ return DEFAULT_CONFIG;
455
+ }
456
+ const migrated = migrateConfig(raw);
457
+ return GnosysConfigSchema.parse(migrated);
458
+ }
459
+ catch (err) {
398
460
  if (err instanceof z.ZodError) {
399
461
  const issues = err.issues
400
462
  .map((i) => ` - ${i.path.join(".")}: ${i.message}`)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,20 @@ export interface DashboardData {
70
70
  archiveSearchMs: number;
71
71
  recallMs: number;
72
72
  } | null;
73
+ /** v5.4.2: Dream Mode health (designation + recent runs). */
74
+ dream: {
75
+ enabled: boolean;
76
+ designatedMachine: string | null;
77
+ isThisMachine: boolean;
78
+ localMachine: string | null;
79
+ lastRun: string | null;
80
+ lastSuccessfulRun: string | null;
81
+ consecutiveFailures: number;
82
+ recentTotal: number;
83
+ recentFailures: number;
84
+ provider: string;
85
+ model: string | null;
86
+ } | null;
73
87
  version: string;
74
88
  }
75
89
  export declare function collectDashboardData(resolver: GnosysResolver, config: GnosysConfig, version: string, gnosysDb?: GnosysDB): Promise<DashboardData>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/lib/dashboard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,YAAY,EAIZ,eAAe,EAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMnC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,GAAG,EAAE;QACH,eAAe,EAAE,eAAe,CAAC;QACjC,WAAW,EAAE;YAAE,QAAQ,EAAE,eAAe,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1D,SAAS,EAAE;YAAE,QAAQ,EAAE,eAAe,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACxD,cAAc,EAAE,KAAK,CAAC;YACpB,IAAI,EAAE,eAAe,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,aAAa,CAAC,CAqLxB;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAsI3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/lib/dashboard.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,26 @@ import { isProviderAvailable } from "./llm.js";
7
7
  import { GnosysEmbeddings } from "./embeddings.js";
8
8
  import fs from "fs/promises";
9
9
  import path from "path";
10
+ /**
11
+ * Probe a local LLM provider's HTTP endpoint with a short timeout.
12
+ * Returns true if the server responded within 500ms.
13
+ */
14
+ async function probeLocalProvider(provider, config) {
15
+ const probeUrl = provider === "ollama"
16
+ ? `${config.llm.ollama.baseUrl.replace(/\/$/, "")}/api/tags`
17
+ : `${config.llm.lmstudio.baseUrl.replace(/\/$/, "")}/v1/models`;
18
+ const controller = new AbortController();
19
+ const timeout = setTimeout(() => controller.abort(), 500);
20
+ try {
21
+ const res = await fetch(probeUrl, { signal: controller.signal });
22
+ clearTimeout(timeout);
23
+ return res.ok;
24
+ }
25
+ catch {
26
+ clearTimeout(timeout);
27
+ return false;
28
+ }
29
+ }
10
30
  // ─── Data Collection ────────────────────────────────────────────────────
11
31
  export async function collectDashboardData(resolver, config, version, gnosysDb) {
12
32
  const stores = resolver.getStores();
@@ -26,13 +46,33 @@ export async function collectDashboardData(resolver, config, version, gnosysDb)
26
46
  categories,
27
47
  };
28
48
  }
29
- // Memory counts
49
+ // Memory counts — v5.4.1: prefer central DB. The legacy resolver path
50
+ // returns 0 in DB-only mode (memories aren't on the filesystem anymore).
51
+ // Show per-project breakdown from the central DB when available.
30
52
  const storeData = [];
31
53
  let totalMemories = 0;
32
- for (const s of stores) {
33
- const memories = await s.store.getAllMemories();
34
- storeData.push({ label: s.label, path: s.path, memoryCount: memories.length });
35
- totalMemories += memories.length;
54
+ if (gnosysDb?.isAvailable() && gnosysDb?.isMigrated()) {
55
+ const projects = gnosysDb.getAllProjects();
56
+ for (const p of projects) {
57
+ const count = gnosysDb.getMemoriesByProject(p.id).length;
58
+ storeData.push({ label: p.name, path: p.working_directory, memoryCount: count });
59
+ totalMemories += count;
60
+ }
61
+ // Also count user/global-scoped memories that have no project_id
62
+ const orphanCount = gnosysDb
63
+ .getAllMemories()
64
+ .filter((m) => !m.project_id).length;
65
+ if (orphanCount > 0) {
66
+ storeData.push({ label: "user/global", path: "(no project)", memoryCount: orphanCount });
67
+ totalMemories += orphanCount;
68
+ }
69
+ }
70
+ else {
71
+ for (const s of stores) {
72
+ const memories = await s.store.getAllMemories();
73
+ storeData.push({ label: s.label, path: s.path, memoryCount: memories.length });
74
+ totalMemories += memories.length;
75
+ }
36
76
  }
37
77
  // Archive stats
38
78
  let archive = null;
@@ -114,11 +154,17 @@ export async function collectDashboardData(resolver, config, version, gnosysDb)
114
154
  const providerStatus = [];
115
155
  for (const p of ALL_PROVIDERS) {
116
156
  const status = isProviderAvailable(config, p);
117
- providerStatus.push({
118
- name: p,
119
- available: status.available,
120
- note: status.available ? "ready" : (status.error || "not configured"),
121
- });
157
+ let available = status.available;
158
+ let note = status.available ? "ready" : (status.error || "not configured");
159
+ // v5.4.1: For local providers, the sync isProviderAvailable check just
160
+ // confirms "no API key needed." Actually probe the local server with a
161
+ // short timeout so the dashboard reports truthful state.
162
+ if (status.available && (p === "ollama" || p === "lmstudio")) {
163
+ const reachable = await probeLocalProvider(p, config);
164
+ available = reachable;
165
+ note = reachable ? "ready" : "server not running";
166
+ }
167
+ providerStatus.push({ name: p, available, note });
122
168
  }
123
169
  // Performance benchmarks (quick probe of search/archive latency)
124
170
  let performance = null;
@@ -156,6 +202,38 @@ export async function collectDashboardData(resolver, config, version, gnosysDb)
156
202
  // Performance probe failed
157
203
  }
158
204
  }
205
+ // v5.4.2: Dream health
206
+ let dreamData = null;
207
+ if (gnosysDb?.isAvailable() && gnosysDb?.isMigrated()) {
208
+ try {
209
+ const designated = gnosysDb.getDreamMachineId();
210
+ const localMachine = gnosysDb.getMeta("machine_id");
211
+ const consecutiveFailures = gnosysDb.getDreamConsecutiveFailures();
212
+ const recentRuns = gnosysDb.getRecentDreamRuns(5);
213
+ const lastRun = recentRuns[0];
214
+ const lastSuccessful = gnosysDb.getLastSuccessfulDreamRun();
215
+ const recentFailures = recentRuns.filter((r) => {
216
+ const d = r.details;
217
+ return Number(d.errors || 0) > 0 || Boolean(d.providerUnreachable);
218
+ }).length;
219
+ dreamData = {
220
+ enabled: !!config.dream?.enabled,
221
+ designatedMachine: designated,
222
+ isThisMachine: !!designated && designated === localMachine,
223
+ localMachine,
224
+ lastRun: lastRun?.completed ?? null,
225
+ lastSuccessfulRun: lastSuccessful?.completed ?? null,
226
+ consecutiveFailures,
227
+ recentTotal: recentRuns.length,
228
+ recentFailures,
229
+ provider: config.dream?.provider ?? "ollama",
230
+ model: config.dream?.model ?? null,
231
+ };
232
+ }
233
+ catch {
234
+ // Dream stats unavailable — leave null
235
+ }
236
+ }
159
237
  return {
160
238
  stores: storeData,
161
239
  totalMemories,
@@ -176,133 +254,161 @@ export async function collectDashboardData(resolver, config, version, gnosysDb)
176
254
  minRelevance: config.recall?.minRelevance ?? 0.4,
177
255
  },
178
256
  performance,
257
+ dream: dreamData,
179
258
  version,
180
259
  };
181
260
  }
182
261
  // ─── Pretty Terminal Formatting ─────────────────────────────────────────
262
+ // Box dimensions. Inner width = chars between ║ and ║. Top/bottom borders
263
+ // use the same width so everything aligns. The +1 in `pad` ensures content
264
+ // always has at least 1 char of trailing margin before the right border.
265
+ const BOX_W = 54;
266
+ const BOX_TOP = "╔" + "═".repeat(BOX_W) + "╗";
267
+ const BOX_MID = "╠" + "═".repeat(BOX_W) + "╣";
268
+ const BOX_DIV = "╟" + "─".repeat(BOX_W) + "╢";
269
+ const BOX_BOT = "╚" + "═".repeat(BOX_W) + "╝";
270
+ /** Wrap a content line in box borders, truncating with ellipsis if needed. */
271
+ function row(content) {
272
+ const max = BOX_W - 1; // leave at least 1 char of trailing margin
273
+ const trimmed = content.length > max
274
+ ? content.substring(0, max - 1) + "…"
275
+ : content;
276
+ return `║${trimmed.padEnd(BOX_W)}║`;
277
+ }
278
+ /** Section header — a centred-ish title with trailing margin. */
279
+ function header(title) {
280
+ return row(` ${title}`);
281
+ }
183
282
  export function formatDashboard(data) {
184
283
  const lines = [];
185
- lines.push("╔══════════════════════════════════════════════════════╗");
186
- lines.push(`║ GNOSYS DASHBOARD v${data.version.padEnd(24)}║`);
187
- lines.push("╠══════════════════════════════════════════════════════╣");
188
- // v2.0 GnosysDB stats (show first when available)
284
+ lines.push(BOX_TOP);
285
+ lines.push(row(` GNOSYS DASHBOARD v${data.version}`));
286
+ lines.push(BOX_MID);
287
+ // v5.x: Central Database stats (was "v2.0 AGENT-NATIVE CORE")
189
288
  if (data.gnosysDb) {
190
- lines.push("║ GNOSYS DB (v2.0 AGENT-NATIVE CORE) ║");
191
- lines.push("╟──────────────────────────────────────────────────────╢");
192
- const schema = ` Schema v${data.gnosysDb.schemaVersion} — migrated ✓`.padEnd(53);
193
- lines.push(`║${schema}║`);
194
- const counts = ` Active: ${data.gnosysDb.activeCount} | Archived: ${data.gnosysDb.archivedCount} | Total: ${data.gnosysDb.totalCount}`.padEnd(53);
195
- lines.push(`║${counts}║`);
196
- const emb = ` Embeddings: ${data.gnosysDb.embeddingCount} inline vectors`.padEnd(53);
197
- lines.push(`║${emb}║`);
198
- const cats = ` Categories: ${data.gnosysDb.categories.join(", ")}`.substring(0, 53).padEnd(53);
199
- lines.push(`║${cats}║`);
200
- lines.push("╟──────────────────────────────────────────────────────╢");
289
+ lines.push(header("CENTRAL DATABASE"));
290
+ lines.push(BOX_DIV);
291
+ lines.push(row(` Schema v${data.gnosysDb.schemaVersion} — migrated ✓`));
292
+ lines.push(row(` Active: ${data.gnosysDb.activeCount} | Archived: ${data.gnosysDb.archivedCount} | Total: ${data.gnosysDb.totalCount}`));
293
+ lines.push(row(` Embeddings: ${data.gnosysDb.embeddingCount} inline vectors`));
294
+ lines.push(row(` Categories: ${data.gnosysDb.categories.join(", ")}`));
295
+ lines.push(BOX_DIV);
201
296
  }
202
- // Memory Stats
203
- lines.push("MEMORY STORES ║");
204
- lines.push("╟──────────────────────────────────────────────────────╢");
297
+ // Memory by project (was "MEMORY STORES" — populated from central DB in v5.4.1)
298
+ lines.push(header("MEMORY BY PROJECT"));
299
+ lines.push(BOX_DIV);
205
300
  for (const s of data.stores) {
206
- const label = ` ${s.label}: ${s.memoryCount} memories`.padEnd(53);
207
- lines.push(`║${label}║`);
301
+ lines.push(row(` ${s.label}: ${s.memoryCount} memories`));
208
302
  }
209
- const total = ` Total: ${data.totalMemories} active memories`.padEnd(53);
210
- lines.push(`║${total}║`);
211
- // Archive (Two-Tier Memory)
303
+ lines.push(row(` Total: ${data.totalMemories} active memories`));
304
+ // Archive (was "ARCHIVE (TWO-TIER MEMORY)" — two-tier was the pre-v5 model)
212
305
  if (data.archive) {
213
- lines.push("╟──────────────────────────────────────────────────────╢");
214
- lines.push("ARCHIVE (TWO-TIER MEMORY) ║");
215
- lines.push("╟──────────────────────────────────────────────────────╢");
216
- const archived = ` Archived: ${data.archive.totalArchived} memories (${data.archive.dbSizeMB.toFixed(1)} MB)`.padEnd(53);
217
- lines.push(`║${archived}║`);
218
- const eligible = ` Eligible for archiving: ${data.archive.archiveEligible}`.padEnd(53);
219
- lines.push(`║${eligible}║`);
306
+ lines.push(BOX_DIV);
307
+ lines.push(header("ARCHIVE"));
308
+ lines.push(BOX_DIV);
309
+ lines.push(row(` Archived: ${data.archive.totalArchived} memories (${data.archive.dbSizeMB.toFixed(1)} MB)`));
310
+ lines.push(row(` Eligible for archiving: ${data.archive.archiveEligible}`));
220
311
  }
221
312
  // Maintenance Health
222
313
  if (data.maintenance) {
223
- lines.push("╟──────────────────────────────────────────────────────╢");
224
- lines.push("MAINTENANCE HEALTH");
225
- lines.push("╟──────────────────────────────────────────────────────╢");
314
+ lines.push(BOX_DIV);
315
+ lines.push(header("MAINTENANCE HEALTH"));
316
+ lines.push(BOX_DIV);
226
317
  const m = data.maintenance;
227
- const conf = ` Confidence: ${m.avgConfidence.toFixed(3)} raw / ${m.avgDecayedConfidence.toFixed(3)} decayed`.padEnd(53);
228
- lines.push(`║${conf}║`);
229
- const stale = ` Stale: ${m.staleCount} | Never reinforced: ${m.neverReinforced}`.padEnd(53);
230
- lines.push(`║${stale}║`);
231
- const reinf = ` Total reinforcements: ${m.totalReinforcements}`.padEnd(53);
232
- lines.push(`║${reinf}║`);
318
+ lines.push(row(` Confidence: ${m.avgConfidence.toFixed(3)} raw / ${m.avgDecayedConfidence.toFixed(3)} decayed`));
319
+ lines.push(row(` Stale: ${m.staleCount} | Never reinforced: ${m.neverReinforced}`));
320
+ lines.push(row(` Total reinforcements: ${m.totalReinforcements}`));
233
321
  }
234
322
  // Embeddings
235
- lines.push("╟──────────────────────────────────────────────────────╢");
236
- lines.push("EMBEDDINGS");
237
- lines.push("╟──────────────────────────────────────────────────────╢");
323
+ lines.push(BOX_DIV);
324
+ lines.push(header("EMBEDDINGS"));
325
+ lines.push(BOX_DIV);
238
326
  if (data.embeddings) {
239
- const emb = ` ${data.embeddings.count} vectors (${data.embeddings.dbSizeMB.toFixed(1)} MB)`.padEnd(53);
240
- lines.push(`║${emb}║`);
327
+ lines.push(row(` ${data.embeddings.count} vectors (${data.embeddings.dbSizeMB.toFixed(1)} MB)`));
241
328
  }
242
329
  else {
243
- lines.push(" Not initialized (run gnosys reindex)");
330
+ lines.push(row(" Not initialized (run gnosys reindex)"));
244
331
  }
245
- // Graph
246
- lines.push("╟──────────────────────────────────────────────────────╢");
247
- lines.push("WIKILINK GRAPH");
248
- lines.push("╟──────────────────────────────────────────────────────╢");
332
+ // Wikilink Graph
333
+ lines.push(BOX_DIV);
334
+ lines.push(header("WIKILINK GRAPH"));
335
+ lines.push(BOX_DIV);
249
336
  if (data.graph) {
250
337
  const g = data.graph;
251
- const stats = ` ${g.nodes} nodes, ${g.edges} edges, ${g.orphans} orphans`.padEnd(53);
252
- lines.push(`║${stats}║`);
338
+ lines.push(row(` ${g.nodes} nodes, ${g.edges} edges, ${g.orphans} orphans`));
253
339
  if (g.mostConnected) {
254
- const mc = ` Most connected: ${g.mostConnected}`.substring(0, 53).padEnd(53);
255
- lines.push(`║${mc}║`);
340
+ lines.push(row(` Most connected: ${g.mostConnected}`));
256
341
  }
257
342
  }
258
343
  else {
259
- lines.push(" Not built (run gnosys reindex-graph)");
344
+ lines.push(row(" Not built (run gnosys reindex-graph)"));
260
345
  }
261
346
  // Recall
262
- lines.push("╟──────────────────────────────────────────────────────╢");
263
- lines.push("RECALL (AUTOMATIC MEMORY INJECTION)");
264
- lines.push("╟──────────────────────────────────────────────────────╢");
347
+ lines.push(BOX_DIV);
348
+ lines.push(header("RECALL (AUTOMATIC MEMORY INJECTION)"));
349
+ lines.push(BOX_DIV);
265
350
  const recallMode = data.recall.aggressive ? "aggressive" : "filtered";
266
- const recallLine = ` Mode: ${recallMode} | Max: ${data.recall.maxMemories} | Min relevance: ${data.recall.minRelevance}`.padEnd(53);
267
- lines.push(`║${recallLine}║`);
351
+ lines.push(row(` Mode: ${recallMode} | Max: ${data.recall.maxMemories} | Min relevance: ${data.recall.minRelevance}`));
268
352
  // SOC
269
- lines.push("╟──────────────────────────────────────────────────────╢");
270
- lines.push("SYSTEM OF COGNITION (SOC)");
271
- lines.push("╟──────────────────────────────────────────────────────╢");
272
- const defP = ` Default: ${data.soc.defaultProvider}`.padEnd(53);
273
- lines.push(`║${defP}║`);
274
- const strLine = ` Structuring → ${data.soc.structuring.provider}/${data.soc.structuring.model}`.substring(0, 53).padEnd(53);
275
- lines.push(`║${strLine}║`);
276
- const synLine = ` Synthesis → ${data.soc.synthesis.provider}/${data.soc.synthesis.model}`.substring(0, 53).padEnd(53);
277
- lines.push(`║${synLine}║`);
278
- lines.push("║ ║");
353
+ lines.push(BOX_DIV);
354
+ lines.push(header("SYSTEM OF COGNITION (SOC)"));
355
+ lines.push(BOX_DIV);
356
+ lines.push(row(` Default: ${data.soc.defaultProvider}`));
357
+ lines.push(row(` Structuring → ${data.soc.structuring.provider}/${data.soc.structuring.model}`));
358
+ lines.push(row(` Synthesis → ${data.soc.synthesis.provider}/${data.soc.synthesis.model}`));
359
+ lines.push(row(""));
279
360
  for (const p of data.soc.providerStatus) {
280
361
  const icon = p.available ? "✓" : "—";
281
- // Shorten common error messages to fit the box
282
362
  let note = p.note;
283
363
  if (note.includes("Add to environment or gnosys.json")) {
284
364
  note = "no API key";
285
365
  }
286
- const pLine = ` ${icon} ${p.name}: ${note}`.substring(0, 53).padEnd(53);
287
- lines.push(`║${pLine}║`);
366
+ lines.push(row(` ${icon} ${p.name}: ${note}`));
367
+ }
368
+ // v5.4.2: Dream Mode health
369
+ if (data.dream) {
370
+ lines.push(BOX_DIV);
371
+ lines.push(header("DREAM HEALTH"));
372
+ lines.push(BOX_DIV);
373
+ const d = data.dream;
374
+ if (!d.enabled) {
375
+ lines.push(row(` Status: disabled (run 'gnosys setup dream')`));
376
+ }
377
+ else if (!d.designatedMachine) {
378
+ lines.push(row(` Status: enabled, no machine designated`));
379
+ lines.push(row(` This machine: ${d.localMachine || "?"}`));
380
+ lines.push(row(` Action: run 'gnosys setup dream' on the machine that should host`));
381
+ }
382
+ else {
383
+ const ownership = d.isThisMachine ? " (this machine)" : " (other machine)";
384
+ lines.push(row(` Designated: ${d.designatedMachine}${ownership}`));
385
+ lines.push(row(` Provider: ${d.provider}${d.model ? "/" + d.model : ""}`));
386
+ lines.push(row(` Last run: ${d.lastRun || "never"}`));
387
+ lines.push(row(` Last success: ${d.lastSuccessfulRun || "never (no LLM work)"}`));
388
+ const failureCount = d.recentFailures;
389
+ const totalRecent = d.recentTotal;
390
+ if (totalRecent > 0) {
391
+ lines.push(row(` Recent runs: ${failureCount} failure(s) of last ${totalRecent}`));
392
+ }
393
+ if (d.consecutiveFailures > 0) {
394
+ lines.push(row(` ⚠ ${d.consecutiveFailures} consecutive provider failure(s)`));
395
+ }
396
+ }
288
397
  }
289
- // Performance
398
+ // Performance (was "PERFORMANCE (ENTERPRISE)")
290
399
  if (data.performance) {
291
- lines.push("╟──────────────────────────────────────────────────────╢");
292
- lines.push("PERFORMANCE (ENTERPRISE) ║");
293
- lines.push("╟──────────────────────────────────────────────────────╢");
400
+ lines.push(BOX_DIV);
401
+ lines.push(header("PERFORMANCE"));
402
+ lines.push(BOX_DIV);
294
403
  const perf = data.performance;
295
- const recallLine = ` Recall: ${perf.recallMs}ms${perf.recallMs > 50 ? " ⚠ SLOW" : " ✓"}`.padEnd(53);
296
- lines.push(`║${recallLine}║`);
297
- const activeLine = ` Active search: ${perf.activeSearchMs}ms`.padEnd(53);
298
- lines.push(`║${activeLine}║`);
299
- const archiveLine = ` Archive search: ${perf.archiveSearchMs}ms`.padEnd(53);
300
- lines.push(`║${archiveLine}║`);
404
+ lines.push(row(` Recall: ${perf.recallMs}ms${perf.recallMs > 50 ? " ⚠ SLOW" : " ✓"}`));
405
+ lines.push(row(` Active search: ${perf.activeSearchMs}ms`));
406
+ lines.push(row(` Archive search: ${perf.archiveSearchMs}ms`));
301
407
  if (perf.recallMs > 50) {
302
- lines.push(" ⚠ Recall exceeds 50ms target for enterprise use ║");
408
+ lines.push(row(" ⚠ Recall exceeds 50ms target"));
303
409
  }
304
410
  }
305
- lines.push("╚══════════════════════════════════════════════════════╝");
411
+ lines.push(BOX_BOT);
306
412
  return lines.join("\n");
307
413
  }
308
414
  /**