@monoes/monomindcli 2.7.13 → 2.7.14

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 (140) hide show
  1. package/.claude/commands/mastermind/createorg.md +2 -0
  2. package/.claude/commands/mastermind/okf-import.md +6 -1
  3. package/.claude/helpers/handlers/route-handler.cjs +40 -7
  4. package/.claude/helpers/handlers/session-restore-handler.cjs +24 -6
  5. package/.claude/skills/mastermind-createorg/SKILL.md +11 -4
  6. package/README.md +12 -6
  7. package/dist/src/capabilities/index.d.ts.map +1 -1
  8. package/dist/src/capabilities/index.js +17 -0
  9. package/dist/src/capabilities/index.js.map +1 -1
  10. package/dist/src/capabilities/types.d.ts +0 -11
  11. package/dist/src/capabilities/types.d.ts.map +1 -1
  12. package/dist/src/commands/doc.d.ts.map +1 -1
  13. package/dist/src/commands/doc.js +251 -8
  14. package/dist/src/commands/doc.js.map +1 -1
  15. package/dist/src/commands/doctor-project-checks.d.ts +25 -3
  16. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  17. package/dist/src/commands/doctor-project-checks.js +111 -8
  18. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  19. package/dist/src/commands/doctor.d.ts.map +1 -1
  20. package/dist/src/commands/doctor.js +18 -2
  21. package/dist/src/commands/doctor.js.map +1 -1
  22. package/dist/src/commands/init.d.ts.map +1 -1
  23. package/dist/src/commands/init.js +32 -3
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/monograph.d.ts.map +1 -1
  26. package/dist/src/commands/monograph.js +26 -3
  27. package/dist/src/commands/monograph.js.map +1 -1
  28. package/dist/src/commands/org.d.ts +15 -0
  29. package/dist/src/commands/org.d.ts.map +1 -1
  30. package/dist/src/commands/org.js +251 -6
  31. package/dist/src/commands/org.js.map +1 -1
  32. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  33. package/dist/src/init/claudemd-generator.js +4 -1
  34. package/dist/src/init/claudemd-generator.js.map +1 -1
  35. package/dist/src/knowledge/document-pipeline.d.ts +77 -4
  36. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  37. package/dist/src/knowledge/document-pipeline.js +261 -15
  38. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  39. package/dist/src/knowledge/eval/corpus.d.ts +56 -0
  40. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -0
  41. package/dist/src/knowledge/eval/corpus.js +126 -0
  42. package/dist/src/knowledge/eval/corpus.js.map +1 -0
  43. package/dist/src/knowledge/eval/golden-set.d.ts +62 -0
  44. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -0
  45. package/dist/src/knowledge/eval/golden-set.js +331 -0
  46. package/dist/src/knowledge/eval/golden-set.js.map +1 -0
  47. package/dist/src/knowledge/eval/harness.d.ts +221 -0
  48. package/dist/src/knowledge/eval/harness.d.ts.map +1 -0
  49. package/dist/src/knowledge/eval/harness.js +610 -0
  50. package/dist/src/knowledge/eval/harness.js.map +1 -0
  51. package/dist/src/knowledge/eval/metrics.d.ts +120 -0
  52. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -0
  53. package/dist/src/knowledge/eval/metrics.js +243 -0
  54. package/dist/src/knowledge/eval/metrics.js.map +1 -0
  55. package/dist/src/knowledge/eval/model-presence.d.ts +48 -0
  56. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -0
  57. package/dist/src/knowledge/eval/model-presence.js +128 -0
  58. package/dist/src/knowledge/eval/model-presence.js.map +1 -0
  59. package/dist/src/knowledge/eval/network-guard.d.ts +46 -0
  60. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -0
  61. package/dist/src/knowledge/eval/network-guard.js +112 -0
  62. package/dist/src/knowledge/eval/network-guard.js.map +1 -0
  63. package/dist/src/knowledge/eval/retrievers.d.ts +65 -0
  64. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -0
  65. package/dist/src/knowledge/eval/retrievers.js +180 -0
  66. package/dist/src/knowledge/eval/retrievers.js.map +1 -0
  67. package/dist/src/knowledge/eval/signals.d.ts +111 -0
  68. package/dist/src/knowledge/eval/signals.d.ts.map +1 -0
  69. package/dist/src/knowledge/eval/signals.js +232 -0
  70. package/dist/src/knowledge/eval/signals.js.map +1 -0
  71. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  72. package/dist/src/mcp-tools/agent-tools.js +7 -34
  73. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  74. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  75. package/dist/src/mcp-tools/knowledge-tools.js +88 -6
  76. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  77. package/dist/src/mcp-tools/task-tools.d.ts +1 -0
  78. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  79. package/dist/src/mcp-tools/task-tools.js +76 -111
  80. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  81. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  82. package/dist/src/mcp-tools/terminal-tools.js +3 -28
  83. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  84. package/dist/src/memory/bm25-index.d.ts +137 -0
  85. package/dist/src/memory/bm25-index.d.ts.map +1 -0
  86. package/dist/src/memory/bm25-index.js +219 -0
  87. package/dist/src/memory/bm25-index.js.map +1 -0
  88. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  89. package/dist/src/memory/embedding-operations.js +8 -7
  90. package/dist/src/memory/embedding-operations.js.map +1 -1
  91. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  92. package/dist/src/memory/ewc-consolidation.js +2 -1
  93. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  94. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  95. package/dist/src/memory/hnsw-operations.js +4 -3
  96. package/dist/src/memory/hnsw-operations.js.map +1 -1
  97. package/dist/src/memory/intelligence.d.ts.map +1 -1
  98. package/dist/src/memory/intelligence.js +2 -1
  99. package/dist/src/memory/intelligence.js.map +1 -1
  100. package/dist/src/memory/memory-bridge.d.ts +34 -0
  101. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  102. package/dist/src/memory/memory-bridge.js +184 -26
  103. package/dist/src/memory/memory-bridge.js.map +1 -1
  104. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  105. package/dist/src/memory/memory-initializer.js +4 -3
  106. package/dist/src/memory/memory-initializer.js.map +1 -1
  107. package/dist/src/memory/memory-schema.d.ts +1 -1
  108. package/dist/src/memory/memory-schema.js +1 -1
  109. package/dist/src/memory/text-tokens.d.ts +10 -0
  110. package/dist/src/memory/text-tokens.d.ts.map +1 -0
  111. package/dist/src/memory/text-tokens.js +37 -0
  112. package/dist/src/memory/text-tokens.js.map +1 -0
  113. package/dist/src/orgrt/daemon.d.ts +16 -1
  114. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  115. package/dist/src/orgrt/daemon.js +65 -9
  116. package/dist/src/orgrt/daemon.js.map +1 -1
  117. package/dist/src/orgrt/scheduler.d.ts +14 -1
  118. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  119. package/dist/src/orgrt/scheduler.js +51 -5
  120. package/dist/src/orgrt/scheduler.js.map +1 -1
  121. package/dist/src/orgrt/session.js +12 -0
  122. package/dist/src/orgrt/session.js.map +1 -1
  123. package/dist/src/orgrt/types.d.ts +3 -0
  124. package/dist/src/orgrt/types.d.ts.map +1 -1
  125. package/dist/src/orgrt/types.js +7 -1
  126. package/dist/src/orgrt/types.js.map +1 -1
  127. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  128. package/dist/src/services/crash-reporter.js +7 -0
  129. package/dist/src/services/crash-reporter.js.map +1 -1
  130. package/dist/src/ui/dashboard.html +13 -10
  131. package/dist/src/ui/orgs.html +30 -13
  132. package/dist/src/ui/routes-monograph.mjs +929 -0
  133. package/dist/src/ui/routes-org.mjs +2513 -0
  134. package/dist/src/ui/server.mjs +726 -4117
  135. package/dist/src/utils/json-file.d.ts +11 -0
  136. package/dist/src/utils/json-file.d.ts.map +1 -1
  137. package/dist/src/utils/json-file.js +27 -0
  138. package/dist/src/utils/json-file.js.map +1 -1
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +4 -4
@@ -3,10 +3,11 @@
3
3
  *
4
4
  * Tool definitions for task management with file persistence.
5
5
  */
6
- import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, statSync } from 'node:fs';
6
+ import { existsSync, mkdirSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import { randomBytes } from 'node:crypto';
9
9
  import { getMonomindDataRoot } from './types.js';
10
+ import { readJsonStoreOrNull, writeJsonFileAtomic } from '../utils/json-file.js';
10
11
  // Storage paths — relative to the git-safe data root
11
12
  const TASK_DIR = 'tasks';
12
13
  const TASK_FILE = 'store.json';
@@ -22,34 +23,15 @@ function ensureTaskDir() {
22
23
  mkdirSync(dir, { recursive: true });
23
24
  }
24
25
  }
25
- const MAX_TASK_STORE_BYTES = 50 * 1024 * 1024;
26
+ export function loadTaskStoreOrNull() {
27
+ return readJsonStoreOrNull(getTaskPath(), { tasks: {}, version: '3.0.0' }, 'loadTaskStore');
28
+ }
26
29
  export function loadTaskStore() {
27
- try {
28
- const path = getTaskPath();
29
- if (existsSync(path)) {
30
- if (statSync(path).size > MAX_TASK_STORE_BYTES)
31
- return { tasks: {}, version: '3.0.0' };
32
- const data = readFileSync(path, 'utf-8');
33
- const parsed = JSON.parse(data);
34
- if (parsed && typeof parsed === 'object' && Object.prototype.hasOwnProperty.call(parsed, '__proto__'))
35
- return { tasks: {}, version: '3.0.0' };
36
- return parsed;
37
- }
38
- }
39
- catch (e) {
40
- if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
41
- console.error('[loadTaskStore] failed to read/parse task store:', e);
42
- }
43
- return { tasks: {}, version: '3.0.0' };
30
+ return loadTaskStoreOrNull() ?? { tasks: {}, version: '3.0.0' };
44
31
  }
45
32
  function saveTaskStore(store) {
46
33
  ensureTaskDir();
47
- const taskPath = getTaskPath();
48
- // Unique tmp filename — concurrent task_assign/complete calls would
49
- // otherwise race on the same .tmp file.
50
- const tmpPath = `${taskPath}.${process.pid}.${Date.now()}.tmp`;
51
- writeFileSync(tmpPath, JSON.stringify(store, null, 2), 'utf-8');
52
- renameSync(tmpPath, taskPath);
34
+ writeJsonFileAtomic(getTaskPath(), store);
53
35
  }
54
36
  const FORBIDDEN_TASK_IDS = new Set(['__proto__', 'constructor', 'prototype']);
55
37
  export const taskTools = [
@@ -69,7 +51,9 @@ export const taskTools = [
69
51
  required: ['type', 'description'],
70
52
  },
71
53
  handler: async (input) => {
72
- const store = loadTaskStore();
54
+ const store = loadTaskStoreOrNull();
55
+ if (!store)
56
+ return { success: false, error: 'Task store is corrupt or unreadable — refusing to overwrite' };
73
57
  const taskId = `task-${Date.now()}-${randomBytes(4).toString('hex')}`;
74
58
  // Cap all string fields: they are persisted verbatim to the task JSON store.
75
59
  const MAX_TASK_TYPE_LEN = 128;
@@ -240,7 +224,9 @@ export const taskTools = [
240
224
  required: ['taskId'],
241
225
  },
242
226
  handler: async (input) => {
243
- const store = loadTaskStore();
227
+ const store = loadTaskStoreOrNull();
228
+ if (!store)
229
+ return { success: false, error: 'Task store is corrupt or unreadable — refusing to overwrite' };
244
230
  const taskId = input.taskId;
245
231
  if (FORBIDDEN_TASK_IDS.has(taskId))
246
232
  return { taskId, status: 'not_found', error: 'Task not found' };
@@ -255,29 +241,20 @@ export const taskTools = [
255
241
  if (task.assignedTo.length > 0) {
256
242
  const agentStorePath = join(getMonomindDataRoot(), 'agents', 'store.json');
257
243
  try {
258
- let agentStore = { agents: {} };
259
- if (existsSync(agentStorePath) && statSync(agentStorePath).size <= MAX_TASK_STORE_BYTES) {
260
- const agentRaw = JSON.parse(readFileSync(agentStorePath, 'utf-8'));
261
- if (agentRaw && typeof agentRaw === 'object' && !Object.prototype.hasOwnProperty.call(agentRaw, '__proto__')) {
262
- agentStore = agentRaw;
263
- }
264
- }
265
- for (const agentId of task.assignedTo) {
244
+ const agentStore = readJsonStoreOrNull(agentStorePath, { agents: {} }, 'task_complete/agent-sync');
245
+ if (agentStore) {
266
246
  const FORBIDDEN_AGENT_IDS_TC = new Set(['__proto__', 'constructor', 'prototype']);
267
- if (typeof agentId === 'string' && agentId.length > 0 && agentId.length <= 128 &&
268
- !FORBIDDEN_AGENT_IDS_TC.has(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
269
- agentStore.agents[agentId].status = 'idle';
270
- agentStore.agents[agentId].currentTask = null;
271
- agentStore.agents[agentId].taskCount =
272
- (agentStore.agents[agentId].taskCount || 0) + 1;
247
+ for (const agentId of task.assignedTo) {
248
+ if (typeof agentId === 'string' && agentId.length > 0 && agentId.length <= 128 &&
249
+ !FORBIDDEN_AGENT_IDS_TC.has(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
250
+ agentStore.agents[agentId].status = 'idle';
251
+ agentStore.agents[agentId].currentTask = null;
252
+ agentStore.agents[agentId].taskCount =
253
+ (agentStore.agents[agentId].taskCount || 0) + 1;
254
+ }
273
255
  }
256
+ writeJsonFileAtomic(agentStorePath, agentStore);
274
257
  }
275
- const agentDir = join(getMonomindDataRoot(), 'agents');
276
- if (!existsSync(agentDir))
277
- mkdirSync(agentDir, { recursive: true });
278
- const tmpAgent1 = `${agentStorePath}.${process.pid}.${Date.now()}.tmp`;
279
- writeFileSync(tmpAgent1, JSON.stringify(agentStore, null, 2), 'utf-8');
280
- renameSync(tmpAgent1, agentStorePath);
281
258
  }
282
259
  catch (e) {
283
260
  if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
@@ -313,7 +290,9 @@ export const taskTools = [
313
290
  required: ['taskId'],
314
291
  },
315
292
  handler: async (input) => {
316
- const store = loadTaskStore();
293
+ const store = loadTaskStoreOrNull();
294
+ if (!store)
295
+ return { success: false, error: 'Task store is corrupt or unreadable — refusing to overwrite' };
317
296
  const taskId = input.taskId;
318
297
  if (FORBIDDEN_TASK_IDS.has(taskId))
319
298
  return { success: false, taskId, error: 'Task not found' };
@@ -370,7 +349,9 @@ export const taskTools = [
370
349
  required: ['taskId'],
371
350
  },
372
351
  handler: async (input) => {
373
- const store = loadTaskStore();
352
+ const store = loadTaskStoreOrNull();
353
+ if (!store)
354
+ return { success: false, error: 'Task store is corrupt or unreadable — refusing to overwrite' };
374
355
  const taskId = input.taskId;
375
356
  if (FORBIDDEN_TASK_IDS.has(taskId))
376
357
  return { taskId, error: 'Task not found' };
@@ -381,80 +362,62 @@ export const taskTools = [
381
362
  const previouslyAssigned = [...task.assignedTo];
382
363
  // Load agent store to sync worker state. Distinguish "file doesn't
383
364
  // exist yet" (safe to proceed with an empty store) from "file exists
384
- // but failed to read/parse" (a real store that's momentarily corrupt
385
- // or oversized) — the latter must NOT fall through to the unconditional
386
- // write-back below, or a transient read failure silently wipes out
387
- // every agent's real on-disk state.
388
365
  const agentStorePath = join(getMonomindDataRoot(), 'agents', 'store.json');
389
- let agentStore = { agents: {} };
390
- let agentStoreReadFailed = false;
391
- try {
392
- if (existsSync(agentStorePath)) {
393
- if (statSync(agentStorePath).size <= MAX_TASK_STORE_BYTES) {
394
- agentStore = JSON.parse(readFileSync(agentStorePath, 'utf-8'));
395
- }
396
- else {
397
- agentStoreReadFailed = true;
398
- }
399
- }
400
- }
401
- catch (e) {
402
- agentStoreReadFailed = true;
403
- if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
404
- console.error('[task_assign] failed to read agent store — skipping agent-store sync to avoid overwriting it with an empty one:', e);
405
- }
406
- // Reject IDs that would mutate Object.prototype when used as a key in
407
- // the JSON-loaded plain object `agentStore.agents`.
366
+ const agentStore = readJsonStoreOrNull(agentStorePath, { agents: {} }, 'task_assign/agent-sync');
367
+ const agentStoreReadFailed = agentStore === null;
408
368
  const FORBIDDEN_AGENT_IDS = new Set(['__proto__', 'constructor', 'prototype']);
409
369
  const isValidAgentId = (id) => typeof id === 'string' && id.length > 0 && id.length <= 128 && !FORBIDDEN_AGENT_IDS.has(id);
410
- if (input.unassign) {
411
- // Revert previously assigned agents to idle
412
- for (const agentId of previouslyAssigned) {
413
- if (isValidAgentId(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
414
- agentStore.agents[agentId].status = 'idle';
415
- agentStore.agents[agentId].currentTask = null;
370
+ if (!agentStoreReadFailed) {
371
+ if (input.unassign) {
372
+ for (const agentId of previouslyAssigned) {
373
+ if (isValidAgentId(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
374
+ agentStore.agents[agentId].status = 'idle';
375
+ agentStore.agents[agentId].currentTask = null;
376
+ }
416
377
  }
378
+ task.assignedTo = [];
417
379
  }
418
- task.assignedTo = [];
419
- }
420
- else {
421
- const rawIds = input.agentIds || [];
422
- const agentIds = rawIds.filter(isValidAgentId);
423
- // Revert old agents to idle
424
- for (const agentId of previouslyAssigned) {
425
- if (isValidAgentId(agentId) && !agentIds.includes(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
426
- agentStore.agents[agentId].status = 'idle';
427
- agentStore.agents[agentId].currentTask = null;
380
+ else {
381
+ const rawIds = input.agentIds || [];
382
+ const agentIds = rawIds.filter(isValidAgentId);
383
+ for (const agentId of previouslyAssigned) {
384
+ if (isValidAgentId(agentId) && !agentIds.includes(agentId) && Object.hasOwn(agentStore.agents, agentId)) {
385
+ agentStore.agents[agentId].status = 'idle';
386
+ agentStore.agents[agentId].currentTask = null;
387
+ }
428
388
  }
429
- }
430
- // Set new agents to active
431
- for (const agentId of agentIds) {
432
- if (Object.hasOwn(agentStore.agents, agentId)) {
433
- agentStore.agents[agentId].status = 'busy';
434
- agentStore.agents[agentId].currentTask = taskId;
389
+ for (const agentId of agentIds) {
390
+ if (Object.hasOwn(agentStore.agents, agentId)) {
391
+ agentStore.agents[agentId].status = 'busy';
392
+ agentStore.agents[agentId].currentTask = taskId;
393
+ }
394
+ }
395
+ task.assignedTo = agentIds;
396
+ if (task.status === 'pending' && agentIds.length > 0) {
397
+ task.status = 'in_progress';
398
+ if (!task.startedAt) {
399
+ task.startedAt = new Date().toISOString();
400
+ }
435
401
  }
436
402
  }
437
- task.assignedTo = agentIds;
438
- // Auto-transition task to in_progress if pending
439
- if (task.status === 'pending' && agentIds.length > 0) {
440
- task.status = 'in_progress';
441
- if (!task.startedAt) {
442
- task.startedAt = new Date().toISOString();
403
+ }
404
+ else {
405
+ // Agent store corrupt — still update task assignments from input
406
+ if (input.unassign) {
407
+ task.assignedTo = [];
408
+ }
409
+ else {
410
+ task.assignedTo = (input.agentIds || []).filter(isValidAgentId);
411
+ if (task.status === 'pending' && task.assignedTo.length > 0) {
412
+ task.status = 'in_progress';
413
+ if (!task.startedAt)
414
+ task.startedAt = new Date().toISOString();
443
415
  }
444
416
  }
445
417
  }
446
418
  saveTaskStore(store);
447
- // Save agent store — skipped when the read above failed, so a
448
- // transient corrupt/oversized store.json is left alone instead of
449
- // being overwritten with an empty one.
450
419
  if (!agentStoreReadFailed) {
451
- const agentDir = join(getMonomindDataRoot(), 'agents');
452
- if (!existsSync(agentDir)) {
453
- mkdirSync(agentDir, { recursive: true });
454
- }
455
- const tmpAgent2 = `${agentStorePath}.${process.pid}.${Date.now()}.tmp`;
456
- writeFileSync(tmpAgent2, JSON.stringify(agentStore, null, 2), 'utf-8');
457
- renameSync(tmpAgent2, agentStorePath);
420
+ writeJsonFileAtomic(agentStorePath, agentStore);
458
421
  }
459
422
  return {
460
423
  taskId: task.taskId,
@@ -478,7 +441,9 @@ export const taskTools = [
478
441
  required: ['taskId'],
479
442
  },
480
443
  handler: async (input) => {
481
- const store = loadTaskStore();
444
+ const store = loadTaskStoreOrNull();
445
+ if (!store)
446
+ return { success: false, error: 'Task store is corrupt or unreadable — refusing to overwrite' };
482
447
  const taskId = input.taskId;
483
448
  if (FORBIDDEN_TASK_IDS.has(taskId))
484
449
  return { success: false, taskId, error: 'Task not found' };
@@ -1 +1 @@
1
- {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/task-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/task-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/terminal-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA+D1C,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlF;AA2CD,eAAO,MAAM,aAAa,EAAE,OAAO,EA+TlC,CAAC"}
1
+ {"version":3,"file":"terminal-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/terminal-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA+D1C,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlF;AAsBD,eAAO,MAAM,aAAa,EAAE,OAAO,EA+TlC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { getProjectCwd } from './types.js';
2
- import { existsSync, readFileSync, statSync } from 'node:fs';
2
+ import { existsSync, statSync } from 'node:fs';
3
3
  import { join, resolve } from 'node:path';
4
4
  import { homedir } from 'node:os';
5
5
  import { execSync } from 'node:child_process';
6
6
  import { randomBytes } from 'node:crypto';
7
- import { writeJsonFileAtomic } from '../utils/json-file.js';
7
+ import { readJsonStoreOrNull, writeJsonFileAtomic } from '../utils/json-file.js';
8
8
  // Storage paths
9
9
  const STORAGE_DIR = '.monomind';
10
10
  const TERMINAL_DIR = 'terminals';
@@ -42,33 +42,8 @@ function getTerminalDir() {
42
42
  function getTerminalPath() {
43
43
  return join(getTerminalDir(), TERMINAL_FILE);
44
44
  }
45
- const MAX_TERMINAL_STORE_BYTES = 10 * 1024 * 1024; // 10 MB
46
- // Same hardened-loader convention as agent-tools.ts's loadAgentStoreOrNull:
47
- // handlers that mutate and save must use the null-aware variant, since
48
- // treating a corrupt/oversized store as empty and then saving that back
49
- // would silently wipe every real session. Also guards against a __proto__
50
- // key in the parsed JSON (agent-tools.ts's loader does the same). Can't
51
- // delegate to utils/json-file.ts's readJsonFileSync here — it collapses
52
- // "file absent" and "file corrupt" into the same fallback value, but this
53
- // loader must tell them apart (absent → empty default is safe to build on
54
- // and save; corrupt → null, refuse to save over it).
55
45
  function loadTerminalStoreOrNull() {
56
- try {
57
- const path = getTerminalPath();
58
- if (!existsSync(path))
59
- return { sessions: {}, version: '3.0.0' };
60
- if (statSync(path).size > MAX_TERMINAL_STORE_BYTES)
61
- return null;
62
- const parsed = JSON.parse(readFileSync(path, 'utf-8'));
63
- if (parsed && typeof parsed === 'object' && Object.prototype.hasOwnProperty.call(parsed, '__proto__'))
64
- return null;
65
- return parsed;
66
- }
67
- catch (e) {
68
- if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
69
- console.error('[loadTerminalStore] terminal store unreadable/corrupt:', e);
70
- return null;
71
- }
46
+ return readJsonStoreOrNull(getTerminalPath(), { sessions: {}, version: '3.0.0' }, 'loadTerminalStore', 10 * 1024 * 1024);
72
47
  }
73
48
  function loadTerminalStore() {
74
49
  return loadTerminalStoreOrNull() ?? { sessions: {}, version: '3.0.0' };
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/terminal-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/terminal-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * In-process Okapi BM25 over live document chunks — the lexical arm of the
3
+ * hybrid retrieval stack (Second Brain plan item 1).
4
+ *
5
+ * WHY THIS IS NOT FTS5
6
+ * --------------------
7
+ * The plan specified "add FTS5 over `memory_entries.content`". It was changed
8
+ * on measured grounds. The Recall@5 0.697 that promoted item 1 — beating the
9
+ * shipping dense stack's 0.591 on every headline metric — was produced by an
10
+ * in-process Okapi BM25 with k1=1.2, b=0.75, in `knowledge/eval/retrievers.ts`.
11
+ * That file carries the warning:
12
+ *
13
+ * "It is NOT the SQLite FTS5 implementation that item 1 will add — the two
14
+ * will differ, and scoreboard rows must not treat them as interchangeable."
15
+ *
16
+ * FTS5 has a different tokenizer, different stemming and different defaults, so
17
+ * shipping it would ship a scorer whose 0.697 we had never measured. This file
18
+ * therefore mirrors the eval scorer's parameters and tokenisation exactly, so
19
+ * the baseline number transfers to production rather than being re-earned.
20
+ *
21
+ * It also removes, rather than solves, an entire workstream: no FTS5
22
+ * capability-detection, no graceful degradation, and no two-tier retrieval
23
+ * quality between `better-sqlite3` and the `sql.js` WASM fallback (which has no
24
+ * FTS5 module compiled in at all — verified by execution, not inspection). It
25
+ * needs no change to `@monoes/memory`, so it carries no npm publish gate.
26
+ *
27
+ * DEFERRED SCALING — EXPLICIT TRIGGER
28
+ * -----------------------------------
29
+ * Measured on the real store 2026-07-28:
30
+ *
31
+ * live chunks only 673 rows 113 ms build ~15 MB
32
+ * whole store 12,522 rows 1,729 ms build ~314 MB
33
+ *
34
+ * A per-process build is free at 10^3-10^4 chunks and stops being free around
35
+ * 10^6. `SCALING_REVIEW_CHUNKS` below is that trigger: cross it and persistence
36
+ * (FTS5, or sqlite-vec for the dense side) has to be reconsidered. Note that by
37
+ * then plan item 4's SQL superseded-predicate will have made the live set the
38
+ * only thing scanned anyway, so the trigger may never fire.
39
+ *
40
+ * THE LIVE-ONLY REQUIREMENT IS ENFORCED HERE, NOT BY CALLERS
41
+ * ----------------------------------------------------------
42
+ * Building over live rows only is a hard requirement: the difference is 113 ms
43
+ * against 1,729 ms and 15 MB against 314 MB. So this module does the superseded
44
+ * filtering ITSELF rather than accepting pre-filtered input. A caller cannot
45
+ * forget, and a caller added later cannot forget either.
46
+ *
47
+ * That is the same lesson as item 4b-i's ingest guard: two `._` resource forks
48
+ * reached the live index despite a correct guard in the directory walk, because
49
+ * the guard sat at one call site instead of at the boundary every caller passes
50
+ * through. Guards belong where they cannot be bypassed.
51
+ *
52
+ * @module v1/cli/memory/bm25-index
53
+ */
54
+ import { contentTokens } from './text-tokens.js';
55
+ /** Chunk-count at which the per-process build stops being obviously free. */
56
+ export declare const SCALING_REVIEW_CHUNKS = 1000000;
57
+ /**
58
+ * Above this, something is wrong with the live filter — the whole store is
59
+ * being indexed. Loud rather than silent: a 314 MB allocation that still
60
+ * *works* is exactly the kind of regression no scoreboard row would ever show.
61
+ */
62
+ export declare const LIVE_CHUNK_WARN_THRESHOLD = 50000;
63
+ /** Okapi parameters — identical to `knowledge/eval/retrievers.ts`. */
64
+ export declare const BM25_K1 = 1.2;
65
+ export declare const BM25_B = 0.75;
66
+ export interface Bm25Chunk {
67
+ /** Store key, `doc:<contentHash>:<chunkIndex>`. */
68
+ key: string;
69
+ text: string;
70
+ }
71
+ export interface Bm25Hit {
72
+ key: string;
73
+ /** Raw Okapi BM25 score. NOT a similarity and never comparable to a cosine. */
74
+ score: number;
75
+ }
76
+ export interface Bm25Stats {
77
+ indexed: number;
78
+ supersededSkipped: number;
79
+ vocabulary: number;
80
+ buildMs: number;
81
+ }
82
+ /**
83
+ * Tokeniser — literally `contentTokens` from `text-tokens.ts`, the neutral
84
+ * module both production retrieval and the eval harness import.
85
+ *
86
+ * A mirrored implementation drifted on first contact: the harness filters a
87
+ * ~100-word stopword list and the reimplementation did not, so "fall back to
88
+ * keyword" tokenised differently and the production scorer was already a
89
+ * different scorer than the one that measured 0.697. A single source of truth
90
+ * makes drift impossible rather than merely detectable.
91
+ */
92
+ export declare const bm25Tokens: typeof contentTokens;
93
+ export declare class Bm25Index {
94
+ private docs;
95
+ private tfs;
96
+ private keys;
97
+ private df;
98
+ private avgdl;
99
+ private idfCache;
100
+ readonly stats: Bm25Stats;
101
+ private constructor();
102
+ /**
103
+ * Build over live chunks only.
104
+ *
105
+ * `isSuperseded` is applied HERE rather than by the caller — see the module
106
+ * note. Pass the predicate from `knowledge/document-pipeline.ts` so the
107
+ * definition of "live" stays in one place.
108
+ */
109
+ static build(chunks: Bm25Chunk[], isSuperseded: (key: string) => boolean): Bm25Index;
110
+ private idf;
111
+ /** Okapi BM25, best-first. Scores are raw BM25, never rescaled. */
112
+ search(query: string, limit: number): Bm25Hit[];
113
+ /**
114
+ * Share of a query's total IDF mass that finds ANY support in this index,
115
+ * in [0,1].
116
+ *
117
+ * This is the query-adaptive fusion signal for item 1 (plan Part B). It is a
118
+ * WITHIN-RETRIEVER measurement — it never compares a BM25 score to a cosine,
119
+ * so it introduces no cross-retriever calibration.
120
+ *
121
+ * Rationale: the low-overlap tercile is defined by low IDF-weighted overlap
122
+ * between query and gold document. That is unobservable at query time, but
123
+ * "how much of this query's rare, information-bearing vocabulary exists in
124
+ * the corpus at all" is observable, and it is precisely the condition under
125
+ * which BM25 has nothing to work with and must score near-randomly. On the
126
+ * measured baseline BM25 gets 0.182 Recall@5 in the low-overlap tercile
127
+ * against dense's 0.500.
128
+ *
129
+ * UNVALIDATED: that this correlates with the overlap terciles is a
130
+ * hypothesis, to be checked against the DEV split before any fusion is built
131
+ * on it. Do not treat it as established.
132
+ */
133
+ lexicalSupport(query: string): number;
134
+ /** Number of live chunks indexed. */
135
+ get size(): number;
136
+ }
137
+ //# sourceMappingURL=bm25-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bm25-index.d.ts","sourceRoot":"","sources":["../../../src/memory/bm25-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,sEAAsE;AACtE,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,MAAM,OAAO,CAAC;AAE3B,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,sBAAgB,CAAC;AAExC,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,EAAE,CAA6B;IACvC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAA6B;IAE7C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAE1B,OAAO,eAEN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,SAAS,EAAE,EACnB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACrC,SAAS,CA8CX;IAED,OAAO,CAAC,GAAG;IAWX,mEAAmE;IACnE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAsB9C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpC;IAED,qCAAqC;IACrC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}