@monoes/monomindcli 2.0.3 → 2.1.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.
Files changed (179) hide show
  1. package/.claude/helpers/control-start.cjs +13 -20
  2. package/.claude/helpers/event-logger.cjs +109 -6
  3. package/.claude/helpers/graphify-freshen.cjs +19 -17
  4. package/.claude/helpers/handlers/agent-start-handler.cjs +60 -28
  5. package/.claude/helpers/handlers/capture-handler.cjs +75 -18
  6. package/.claude/helpers/handlers/edit-handler.cjs +27 -9
  7. package/.claude/helpers/handlers/gates-handler.cjs +16 -7
  8. package/.claude/helpers/handlers/loops-status-handler.cjs +1 -1
  9. package/.claude/helpers/handlers/route-handler.cjs +4 -4
  10. package/.claude/helpers/handlers/session-handler.cjs +40 -22
  11. package/.claude/helpers/handlers/session-restore-handler.cjs +0 -12
  12. package/.claude/helpers/handlers/task-handler.cjs +53 -22
  13. package/.claude/helpers/hook-handler.cjs +54 -4
  14. package/.claude/helpers/intelligence.cjs +94 -15
  15. package/.claude/helpers/session.cjs +6 -1
  16. package/.claude/helpers/statusline.cjs +10 -10
  17. package/.claude/helpers/token-tracker.cjs +3 -3
  18. package/.claude/helpers/utils/agent-registrations.cjs +41 -0
  19. package/.claude/helpers/utils/fs-helpers.cjs +183 -0
  20. package/.claude/helpers/utils/micro-agents.cjs +10 -6
  21. package/.claude/helpers/utils/telemetry.cjs +35 -19
  22. package/bin/cli.js +10 -1
  23. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  24. package/dist/src/commands/agent-ops.js +9 -15
  25. package/dist/src/commands/agent-ops.js.map +1 -1
  26. package/dist/src/commands/cleanup.d.ts.map +1 -1
  27. package/dist/src/commands/cleanup.js +20 -4
  28. package/dist/src/commands/cleanup.js.map +1 -1
  29. package/dist/src/commands/completions.d.ts.map +1 -1
  30. package/dist/src/commands/completions.js +66 -261
  31. package/dist/src/commands/completions.js.map +1 -1
  32. package/dist/src/commands/doctor.d.ts.map +1 -1
  33. package/dist/src/commands/doctor.js +7 -2
  34. package/dist/src/commands/doctor.js.map +1 -1
  35. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  36. package/dist/src/commands/hooks-workers.js +7 -0
  37. package/dist/src/commands/hooks-workers.js.map +1 -1
  38. package/dist/src/commands/index.d.ts.map +1 -1
  39. package/dist/src/commands/index.js +3 -0
  40. package/dist/src/commands/index.js.map +1 -1
  41. package/dist/src/commands/mcp.d.ts.map +1 -1
  42. package/dist/src/commands/mcp.js +11 -6
  43. package/dist/src/commands/mcp.js.map +1 -1
  44. package/dist/src/commands/memory-admin.d.ts.map +1 -1
  45. package/dist/src/commands/memory-admin.js +12 -6
  46. package/dist/src/commands/memory-admin.js.map +1 -1
  47. package/dist/src/commands/memory-transfer.d.ts.map +1 -1
  48. package/dist/src/commands/memory-transfer.js +6 -13
  49. package/dist/src/commands/memory-transfer.js.map +1 -1
  50. package/dist/src/commands/monograph.js +3 -3
  51. package/dist/src/commands/monograph.js.map +1 -1
  52. package/dist/src/commands/org.d.ts +3 -1
  53. package/dist/src/commands/org.d.ts.map +1 -1
  54. package/dist/src/commands/org.js +306 -129
  55. package/dist/src/commands/org.js.map +1 -1
  56. package/dist/src/commands/start.d.ts.map +1 -1
  57. package/dist/src/commands/start.js +142 -37
  58. package/dist/src/commands/start.js.map +1 -1
  59. package/dist/src/commands/tokens.d.ts.map +1 -1
  60. package/dist/src/commands/tokens.js +21 -3
  61. package/dist/src/commands/tokens.js.map +1 -1
  62. package/dist/src/config-adapter.d.ts.map +1 -1
  63. package/dist/src/config-adapter.js +37 -17
  64. package/dist/src/config-adapter.js.map +1 -1
  65. package/dist/src/index.d.ts.map +1 -1
  66. package/dist/src/index.js +64 -28
  67. package/dist/src/index.js.map +1 -1
  68. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  69. package/dist/src/init/claudemd-generator.js +44 -11
  70. package/dist/src/init/claudemd-generator.js.map +1 -1
  71. package/dist/src/init/executor.d.ts.map +1 -1
  72. package/dist/src/init/executor.js +63 -49
  73. package/dist/src/init/executor.js.map +1 -1
  74. package/dist/src/mcp-client.d.ts +8 -3
  75. package/dist/src/mcp-client.d.ts.map +1 -1
  76. package/dist/src/mcp-client.js +37 -3
  77. package/dist/src/mcp-client.js.map +1 -1
  78. package/dist/src/mcp-server.d.ts.map +1 -1
  79. package/dist/src/mcp-server.js +8 -2
  80. package/dist/src/mcp-server.js.map +1 -1
  81. package/dist/src/mcp-tools/agent-tools.d.ts +20 -0
  82. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  83. package/dist/src/mcp-tools/agent-tools.js +10 -5
  84. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  85. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  86. package/dist/src/mcp-tools/github-tools.js +30 -8
  87. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  88. package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
  89. package/dist/src/mcp-tools/graphify-tools.js +11 -2
  90. package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
  91. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  92. package/dist/src/mcp-tools/hive-mind-tools.js +51 -34
  93. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  94. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  95. package/dist/src/mcp-tools/knowledge-tools.js +9 -1
  96. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  97. package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
  98. package/dist/src/mcp-tools/monograph-compat.js +56 -14
  99. package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
  100. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  101. package/dist/src/mcp-tools/monograph-tools.js +65 -43
  102. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  103. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  104. package/dist/src/mcp-tools/swarm-tools.js +6 -4
  105. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  106. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  107. package/dist/src/mcp-tools/system-tools.js +4 -4
  108. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  109. package/dist/src/mcp-tools/types.d.ts +20 -0
  110. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  111. package/dist/src/mcp-tools/types.js +36 -1
  112. package/dist/src/mcp-tools/types.js.map +1 -1
  113. package/dist/src/memory/hnsw-operations.d.ts +13 -1
  114. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  115. package/dist/src/memory/hnsw-operations.js +66 -14
  116. package/dist/src/memory/hnsw-operations.js.map +1 -1
  117. package/dist/src/memory/intelligence.d.ts.map +1 -1
  118. package/dist/src/memory/intelligence.js +99 -3
  119. package/dist/src/memory/intelligence.js.map +1 -1
  120. package/dist/src/memory/memory-bridge.d.ts +7 -0
  121. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  122. package/dist/src/memory/memory-bridge.js +20 -0
  123. package/dist/src/memory/memory-bridge.js.map +1 -1
  124. package/dist/src/orgrt/broker.d.ts +24 -0
  125. package/dist/src/orgrt/broker.d.ts.map +1 -0
  126. package/dist/src/orgrt/broker.js +68 -0
  127. package/dist/src/orgrt/broker.js.map +1 -0
  128. package/dist/src/orgrt/daemon.d.ts +30 -0
  129. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  130. package/dist/src/orgrt/daemon.js +96 -7
  131. package/dist/src/orgrt/daemon.js.map +1 -1
  132. package/dist/src/orgrt/forwarder.d.ts +10 -5
  133. package/dist/src/orgrt/forwarder.d.ts.map +1 -1
  134. package/dist/src/orgrt/forwarder.js +105 -8
  135. package/dist/src/orgrt/forwarder.js.map +1 -1
  136. package/dist/src/orgrt/live.html +56 -0
  137. package/dist/src/orgrt/provider.d.ts.map +1 -1
  138. package/dist/src/orgrt/provider.js +1 -0
  139. package/dist/src/orgrt/provider.js.map +1 -1
  140. package/dist/src/orgrt/scheduler.d.ts +13 -0
  141. package/dist/src/orgrt/scheduler.d.ts.map +1 -0
  142. package/dist/src/orgrt/scheduler.js +48 -0
  143. package/dist/src/orgrt/scheduler.js.map +1 -0
  144. package/dist/src/orgrt/server.d.ts +8 -0
  145. package/dist/src/orgrt/server.d.ts.map +1 -0
  146. package/dist/src/orgrt/server.js +72 -0
  147. package/dist/src/orgrt/server.js.map +1 -0
  148. package/dist/src/orgrt/test-loop.d.ts +12 -0
  149. package/dist/src/orgrt/test-loop.d.ts.map +1 -0
  150. package/dist/src/orgrt/test-loop.js +108 -0
  151. package/dist/src/orgrt/test-loop.js.map +1 -0
  152. package/dist/src/output.d.ts.map +1 -1
  153. package/dist/src/output.js +12 -5
  154. package/dist/src/output.js.map +1 -1
  155. package/dist/src/parser.d.ts +32 -0
  156. package/dist/src/parser.d.ts.map +1 -1
  157. package/dist/src/parser.js +130 -5
  158. package/dist/src/parser.js.map +1 -1
  159. package/dist/src/routing/embed-worker.js +13 -1
  160. package/dist/src/routing/embed-worker.js.map +1 -1
  161. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  162. package/dist/src/routing/route-layer-factory.js +31 -0
  163. package/dist/src/routing/route-layer-factory.js.map +1 -1
  164. package/dist/src/services/config-file-manager.d.ts +21 -0
  165. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  166. package/dist/src/services/config-file-manager.js +60 -7
  167. package/dist/src/services/config-file-manager.js.map +1 -1
  168. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  169. package/dist/src/services/crash-reporter.js +2 -1
  170. package/dist/src/services/crash-reporter.js.map +1 -1
  171. package/dist/src/ui/dashboard.html +40 -40
  172. package/dist/src/ui/orgs.html +110 -11
  173. package/dist/src/ui/server.mjs +304 -133
  174. package/dist/src/utils/input-guards.d.ts +9 -0
  175. package/dist/src/utils/input-guards.d.ts.map +1 -1
  176. package/dist/src/utils/input-guards.js +39 -5
  177. package/dist/src/utils/input-guards.js.map +1 -1
  178. package/dist/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +6 -2
@@ -5,5 +5,25 @@
5
5
  * Includes model routing integration for intelligent model selection.
6
6
  */
7
7
  import { type MCPTool } from './types.js';
8
+ type ClaudeModel = 'haiku' | 'sonnet' | 'opus' | 'inherit';
9
+ interface AgentRecord {
10
+ agentId: string;
11
+ agentType: string;
12
+ status: 'idle' | 'busy' | 'terminated';
13
+ health: number;
14
+ taskCount: number;
15
+ config: Record<string, unknown>;
16
+ createdAt: string;
17
+ domain?: string;
18
+ model?: ClaudeModel;
19
+ modelRoutedBy?: 'explicit' | 'router' | 'agent-booster' | 'default';
20
+ lastResult?: Record<string, unknown>;
21
+ }
22
+ interface AgentStore {
23
+ agents: Record<string, AgentRecord>;
24
+ version: string;
25
+ }
26
+ export declare function loadAgentStore(): AgentStore;
8
27
  export declare const agentTools: MCPTool[];
28
+ export {};
9
29
  //# sourceMappingURL=agent-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAsIzD,eAAO,MAAM,UAAU,EAAE,OAAO,EA6d/B,CAAC"}
1
+ {"version":3,"file":"agent-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,YAAY,CAAC;AASvF,KAAK,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3D,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAsBD,wBAAgB,cAAc,IAAI,UAAU,CAe3C;AA0ED,eAAO,MAAM,UAAU,EAAE,OAAO,EA6d/B,CAAC"}
@@ -7,13 +7,14 @@
7
7
  import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, statSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
9
  import { randomBytes } from 'node:crypto';
10
- import { getProjectCwd } from './types.js';
11
- // Storage paths
12
- const STORAGE_DIR = '.monomind';
10
+ import { getMonomindDataRoot, migrateLegacyStoreFile } from './types.js';
11
+ // Storage paths — relative to the git-safe data root (see getMonomindDataRoot()).
12
+ // Canonical location matches task-tools.ts/session-tools.ts/hive-mind-tools.ts/
13
+ // swarm-tools.ts so the agent store is a single physical file across all tools.
13
14
  const AGENT_DIR = 'agents';
14
15
  const AGENT_FILE = 'store.json';
15
16
  function getAgentDir() {
16
- return join(getProjectCwd(), STORAGE_DIR, AGENT_DIR);
17
+ return join(getMonomindDataRoot(), AGENT_DIR);
17
18
  }
18
19
  function getAgentPath() {
19
20
  return join(getAgentDir(), AGENT_FILE);
@@ -25,9 +26,13 @@ function ensureAgentDir() {
25
26
  }
26
27
  }
27
28
  const MAX_AGENT_STORE_BYTES = 50 * 1024 * 1024;
28
- function loadAgentStore() {
29
+ // Exported so other tool modules reading the same physical store file
30
+ // (e.g. hive-mind-tools.ts) can reuse this hardened loader instead of
31
+ // maintaining their own weaker copy (missing the size cap / __proto__ guard).
32
+ export function loadAgentStore() {
29
33
  try {
30
34
  const path = getAgentPath();
35
+ migrateLegacyStoreFile(path, join(AGENT_DIR, AGENT_FILE));
31
36
  if (existsSync(path)) {
32
37
  if (statSync(path).size > MAX_AGENT_STORE_BYTES)
33
38
  return { agents: {}, version: '3.0.0' };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/agent-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAuGzD,eAAO,MAAM,WAAW,EAAE,OAAO,EA+bhC,CAAC"}
1
+ {"version":3,"file":"github-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAsHzD,eAAO,MAAM,WAAW,EAAE,OAAO,EAychC,CAAC"}
@@ -60,6 +60,18 @@ function runSafe(cmd, args, cwd) {
60
60
  return null;
61
61
  }
62
62
  }
63
+ /** Run a `gh` command and preserve the real failure reason instead of collapsing to null. */
64
+ function runSafeResult(cmd, args, cwd) {
65
+ try {
66
+ const stdout = execFileSync(cmd, args, { encoding: 'utf-8', timeout: 15000, cwd: cwd || getProjectCwd(), stdio: ['pipe', 'pipe', 'pipe'] }).trim();
67
+ return { ok: true, stdout };
68
+ }
69
+ catch (err) {
70
+ const e = err;
71
+ const stderr = e.stderr ? String(e.stderr).trim() : '';
72
+ return { ok: false, error: stderr || e.message || 'gh command failed' };
73
+ }
74
+ }
63
75
  /** Check if gh CLI is available */
64
76
  function hasGhCli() {
65
77
  return run('gh --version') !== null;
@@ -216,7 +228,11 @@ export const githubTools = [
216
228
  }
217
229
  // Fallback: local store
218
230
  const prId = `pr-${Date.now()}`;
219
- const pr = { id: prId, title, status: 'open', branch: headBranch, baseBranch, createdAt: new Date().toISOString() };
231
+ // Locally-assigned PR number, independent of the timestamp-based key
232
+ // monotonic within this store so lookups by number are unambiguous.
233
+ const existingNumbers = Object.values(store.prs).map(p => p.number || 0);
234
+ const nextNumber = existingNumbers.length > 0 ? Math.max(...existingNumbers) + 1 : 1;
235
+ const pr = { id: prId, number: nextNumber, title, status: 'open', branch: headBranch, baseBranch, createdAt: new Date().toISOString() };
220
236
  store.prs[prId] = pr;
221
237
  saveGitHubStore(store);
222
238
  return { success: true, source: 'local-store', action: 'created', pullRequest: pr };
@@ -241,13 +257,17 @@ export const githubTools = [
241
257
  if (!prNumber)
242
258
  return { success: false, error: 'prNumber is required and must be a positive integer for merge.' };
243
259
  if (gh) {
244
- const result = runSafe('gh', ['pr', 'merge', String(prNumber), '--merge']);
245
- if (result !== null) {
260
+ // gh CLI is actually installed trust its real exit status. A genuine
261
+ // failure (branch protection, conflicts, auth) must be reported as a
262
+ // failure, not silently swallowed into the local-store simulation.
263
+ const result = runSafeResult('gh', ['pr', 'merge', String(prNumber), '--merge']);
264
+ if (result.ok) {
246
265
  return { success: true, _real: true, action: 'merged', prNumber, mergedAt: new Date().toISOString() };
247
266
  }
267
+ return { success: false, error: result.error };
248
268
  }
249
- // Fallback: local store
250
- const prKey = Object.keys(store.prs).find(k => k.includes(String(prNumber)));
269
+ // Fallback: local store (only reached when gh CLI is not installed at all)
270
+ const prKey = Object.keys(store.prs).find(k => store.prs[k].number === prNumber);
251
271
  if (prKey && store.prs[prKey]) {
252
272
  store.prs[prKey].status = 'merged';
253
273
  saveGitHubStore(store);
@@ -259,12 +279,14 @@ export const githubTools = [
259
279
  if (!prNumber)
260
280
  return { success: false, error: 'prNumber is required and must be a positive integer for close.' };
261
281
  if (gh) {
262
- const result = runSafe('gh', ['pr', 'close', String(prNumber)]);
263
- if (result !== null) {
282
+ const result = runSafeResult('gh', ['pr', 'close', String(prNumber)]);
283
+ if (result.ok) {
264
284
  return { success: true, _real: true, action: 'closed', prNumber, closedAt: new Date().toISOString() };
265
285
  }
286
+ return { success: false, error: result.error };
266
287
  }
267
- const prKey = Object.keys(store.prs).find(k => k.includes(String(prNumber)));
288
+ // Fallback: local store (only reached when gh CLI is not installed at all)
289
+ const prKey = Object.keys(store.prs).find(k => store.prs[k].number === prNumber);
268
290
  if (prKey && store.prs[prKey]) {
269
291
  store.prs[prKey].status = 'closed';
270
292
  saveGitHubStore(store);
@@ -1 +1 @@
1
- {"version":3,"file":"github-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/github-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphify-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/graphify-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAuB1C,eAAO,MAAM,aAAa,EAAE,OAAO,EAoBlC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"graphify-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/graphify-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgC1C,eAAO,MAAM,aAAa,EAAE,OAAO,EAoBM,CAAC;AAE1C,eAAe,aAAa,CAAC"}
@@ -4,7 +4,14 @@
4
4
  * All graphify_* tools are deprecated. They proxy to monograph_* tools.
5
5
  * Will be removed in next major release.
6
6
  */
7
- import { allMonographTools } from './monograph-tools.js';
7
+ import { allMonographTools, monographTools } from './monograph-tools.js';
8
+ // Advanced monograph tools are gated behind MONOGRAPH_MCP_ADVANCED=1 (see
9
+ // monograph-tools.ts). Shims that target an advanced-tier tool must be gated
10
+ // the same way, otherwise they re-expose advanced tools under a different
11
+ // name regardless of the flag. `monographTools` is the already-gated export
12
+ // (core-only unless MONOGRAPH_MCP_ADVANCED=1); a target is "advanced" if it's
13
+ // present in allMonographTools but absent from monographTools.
14
+ const exposedMonographNames = new Set(monographTools.map(t => t.name));
8
15
  function findMonographTool(name) {
9
16
  const tool = allMonographTools.find(t => t.name === name);
10
17
  if (!tool)
@@ -12,6 +19,8 @@ function findMonographTool(name) {
12
19
  return tool;
13
20
  }
14
21
  function shimTool(graphifyName, monographName, paramMap) {
22
+ if (!exposedMonographNames.has(monographName))
23
+ return null;
15
24
  const target = findMonographTool(monographName);
16
25
  return {
17
26
  name: graphifyName,
@@ -44,6 +53,6 @@ export const graphifyTools = [
44
53
  shimTool('graphify_report', 'monograph_report'),
45
54
  // Bug fix: graphify_health previously referenced `files.length` (ReferenceError) — now delegates cleanly
46
55
  shimTool('graphify_health', 'monograph_health'),
47
- ];
56
+ ].filter((t) => t !== null);
48
57
  export default graphifyTools;
49
58
  //# sourceMappingURL=graphify-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphify-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/graphify-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,YAAY,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,YAAoB,EAAE,aAAqB,EAAE,QAAsE;IACnI,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oBAAoB,aAAa,KAAK,MAAM,CAAC,WAAW,EAAE;QACvE,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,eAAe,YAAY,uBAAuB,aAAa,EAAE,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IACnD,QAAQ,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,kGAAkG;IAClG,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAC/C,yGAAyG;IACzG,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CAChD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"graphify-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/graphify-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvE,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,YAAY,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,YAAoB,EAAE,aAAqB,EAAE,QAAsE;IACnI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oBAAoB,aAAa,KAAK,MAAM,CAAC,WAAW,EAAE;QACvE,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,eAAe,YAAY,uBAAuB,aAAa,EAAE,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IACnD,QAAQ,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,kGAAkG;IAClG,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IACH,QAAQ,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;IACvD,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAC/C,yGAAyG;IACzG,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CAChD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAE1C,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hive-mind-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/hive-mind-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAwRzD,eAAO,MAAM,aAAa,EAAE,OAAO,EAgjClC,CAAC"}
1
+ {"version":3,"file":"hive-mind-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/hive-mind-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,KAAK,OAAO,EAA8D,MAAM,YAAY,CAAC;AAkRtG,eAAO,MAAM,aAAa,EAAE,OAAO,EAskClC,CAAC"}
@@ -13,8 +13,12 @@
13
13
  import { existsSync, readFileSync, statSync, writeFileSync, renameSync, mkdirSync } from 'node:fs';
14
14
  import { randomBytes } from 'node:crypto';
15
15
  import { join } from 'node:path';
16
- import { getProjectCwd } from './types.js';
16
+ import { getProjectCwd, getMonomindDataRoot, migrateLegacyStoreFile } from './types.js';
17
17
  import { weightedTally } from '../consensus/tally.js';
18
+ // Reuse agent-tools.ts's hardened store loader (50MB size cap + __proto__
19
+ // rejection) instead of maintaining a second, weaker copy that reads the
20
+ // same physical file — see loadAgentStore export note there.
21
+ import { loadAgentStore } from './agent-tools.js';
18
22
  // Storage paths
19
23
  const STORAGE_DIR = '.monomind';
20
24
  const HIVE_DIR = 'hive-mind';
@@ -92,7 +96,7 @@ function tryResolveProposal(proposal, totalNodes) {
92
96
  return null;
93
97
  }
94
98
  function getHiveDir() {
95
- return join(getProjectCwd(), STORAGE_DIR, HIVE_DIR);
99
+ return join(getMonomindDataRoot(), HIVE_DIR);
96
100
  }
97
101
  function getHivePath() {
98
102
  return join(getHiveDir(), HIVE_FILE);
@@ -107,6 +111,7 @@ const MAX_HIVE_STATE_BYTES = 10 * 1024 * 1024; // 10 MB
107
111
  function loadHiveState() {
108
112
  try {
109
113
  const path = getHivePath();
114
+ migrateLegacyStoreFile(path, join(HIVE_DIR, HIVE_FILE));
110
115
  if (existsSync(path) && statSync(path).size <= MAX_HIVE_STATE_BYTES) {
111
116
  const data = readFileSync(path, 'utf-8');
112
117
  return JSON.parse(data);
@@ -176,21 +181,10 @@ function getOrCreateSessionSecret() {
176
181
  }
177
182
  }
178
183
  // Import agent store helpers for spawn functionality
179
- import { existsSync as agentStoreExists, readFileSync as readAgentStore, writeFileSync as writeAgentStore, mkdirSync as mkdirAgentStore } from 'node:fs';
180
- // Canonical agent store path matches agent-tools.ts: .monomind/agents/store.json
181
- function loadAgentStore() {
182
- const storePath = join(getProjectCwd(), '.monomind', 'agents', 'store.json');
183
- try {
184
- if (agentStoreExists(storePath)) {
185
- return JSON.parse(readAgentStore(storePath, 'utf-8'));
186
- }
187
- }
188
- catch { /* ignore */ }
189
- return { agents: {} };
190
- }
184
+ import { existsSync as agentStoreExists, writeFileSync as writeAgentStore, mkdirSync as mkdirAgentStore } from 'node:fs';
191
185
  const HIVE_RESERVED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
192
186
  function saveAgentStore(store) {
193
- const storeDir = join(getProjectCwd(), '.monomind', 'agents');
187
+ const storeDir = join(getMonomindDataRoot(), 'agents');
194
188
  if (!agentStoreExists(storeDir)) {
195
189
  mkdirAgentStore(storeDir, { recursive: true });
196
190
  }
@@ -284,6 +278,10 @@ export const hiveMindTools = [
284
278
  properties: {
285
279
  topology: { type: 'string', enum: ['mesh', 'hierarchical', 'ring', 'star'], description: 'Network topology' },
286
280
  queenId: { type: 'string', description: 'Initial queen agent ID' },
281
+ consensus: { type: 'string', enum: ['byzantine', 'bft', 'raft', 'quorum'], description: 'Consensus strategy to govern hive-mind_consensus propose/vote (gossip/crdt are planned but not implemented and fall back to byzantine). Default: byzantine.' },
282
+ maxAgents: { type: 'number', description: 'Maximum number of agents in the hive. Default: 15.' },
283
+ persist: { type: 'boolean', description: 'Whether to persist hive state to disk. Default: true.' },
284
+ memoryBackend: { type: 'string', description: 'Shared memory backend for the hive. Default: hybrid.' },
287
285
  },
288
286
  },
289
287
  handler: async (input) => {
@@ -294,32 +292,34 @@ export const hiveMindTools = [
294
292
  const queenId = typeof rawQueenId === 'string' && rawQueenId.length > MAX_QUEEN_ID_LEN
295
293
  ? rawQueenId.slice(0, MAX_QUEEN_ID_LEN) : rawQueenId;
296
294
  const now = new Date().toISOString();
295
+ // Validate consensus strategy: gossip and crdt are planned but not implemented
296
+ const SUPPORTED_CONSENSUS = ['byzantine', 'bft', 'raft', 'quorum'];
297
+ const PLANNED_CONSENSUS = ['gossip', 'crdt'];
298
+ const requestedConsensus = input.consensus || 'byzantine';
299
+ const consensusWarning = PLANNED_CONSENSUS.includes(requestedConsensus)
300
+ ? `Strategy "${requestedConsensus}" is planned but not yet implemented; defaulting to "byzantine".`
301
+ : undefined;
302
+ const effectiveConsensus = PLANNED_CONSENSUS.includes(requestedConsensus)
303
+ ? 'byzantine'
304
+ : (SUPPORTED_CONSENSUS.includes(requestedConsensus) ? requestedConsensus : 'byzantine');
297
305
  const state = {
298
306
  initialized: true,
299
307
  hiveId,
300
308
  topology: input.topology || 'mesh',
301
309
  queen: { agentId: queenId, electedAt: now, term: 1 },
302
310
  workers: [],
311
+ // Persist the chosen strategy on the hive state so hive-mind_consensus
312
+ // propose/vote default to it instead of silently using 'raft'.
313
+ // 'byzantine' is the CLI-facing name; the internal ConsensusStrategy type uses 'bft'.
314
+ consensusStrategy: (effectiveConsensus === 'byzantine' ? 'bft' : effectiveConsensus),
303
315
  consensus: { pending: [], history: [] },
304
316
  sharedMemory: {},
305
317
  createdAt: now,
306
318
  updatedAt: now,
307
319
  };
308
- saveHiveState(state);
309
- // Validate consensus strategy: gossip and crdt are planned but not implemented
310
- const SUPPORTED_CONSENSUS = ['byzantine', 'bft', 'raft', 'quorum'];
311
- const PLANNED_CONSENSUS = ['gossip', 'crdt'];
312
- const requestedConsensus = input.consensus || 'byzantine';
313
- const consensusWarning = PLANNED_CONSENSUS.includes(requestedConsensus)
314
- ? `Strategy "${requestedConsensus}" is planned but not yet implemented; defaulting to "byzantine".`
315
- : undefined;
316
- const effectiveConsensus = PLANNED_CONSENSUS.includes(requestedConsensus)
317
- ? 'byzantine'
318
- : (SUPPORTED_CONSENSUS.includes(requestedConsensus) ? requestedConsensus : 'byzantine');
319
- // Persist the chosen strategy on the hive state so hive-mind_consensus
320
- // propose/vote default to it instead of silently using 'raft'.
321
- // 'byzantine' is the CLI-facing name; the internal ConsensusStrategy type uses 'bft'.
322
- state.consensusStrategy = (effectiveConsensus === 'byzantine' ? 'bft' : effectiveConsensus);
320
+ // Single write — a prior version of this handler saved state twice
321
+ // (once before setting consensusStrategy, once after), which was
322
+ // redundant.
323
323
  saveHiveState(state);
324
324
  return {
325
325
  success: true,
@@ -357,7 +357,8 @@ export const hiveMindTools = [
357
357
  // Load agent store once for all workers
358
358
  const agentStore = loadAgentStore();
359
359
  // Compute real task metrics from task store
360
- const taskStorePath = join(getProjectCwd(), '.monomind', 'tasks', 'store.json');
360
+ const taskStorePath = join(getMonomindDataRoot(), 'tasks', 'store.json');
361
+ migrateLegacyStoreFile(taskStorePath, join('tasks', 'store.json'));
361
362
  let pendingTaskCount = 0;
362
363
  let activeTaskCount = 0;
363
364
  let completedTaskCount = 0;
@@ -382,7 +383,14 @@ export const hiveMindTools = [
382
383
  hiveId: state.hiveId ?? `hive-${state.createdAt ? new Date(state.createdAt).getTime() : Date.now()}`,
383
384
  status: state.initialized ? 'active' : 'offline',
384
385
  topology: state.topology,
385
- consensus: 'byzantine', // Default consensus type
386
+ // Reflect the strategy actually chosen at hive-mind_init (persisted
387
+ // as state.consensusStrategy so it "actually governs voting" — see
388
+ // the field's doc comment) instead of hardcoding a default that
389
+ // ignored what was configured. 'bft' is the internal name for the
390
+ // CLI-facing 'byzantine' strategy.
391
+ consensus: state.consensusStrategy
392
+ ? (state.consensusStrategy === 'bft' ? 'byzantine' : state.consensusStrategy)
393
+ : 'byzantine',
386
394
  queen: state.queen ? {
387
395
  id: state.queen.agentId,
388
396
  agentId: state.queen.agentId,
@@ -729,9 +737,18 @@ export const hiveMindTools = [
729
737
  confidence: 1.0, // uniform until confidence-probe is wired
730
738
  }));
731
739
  const cpwbftTally = weightedTally(weightedVotes);
732
- // O-Information gate: defer resolution if we haven't seen enough divergent rounds
740
+ // O-Information gate: defer resolution if we haven't seen enough divergent rounds.
741
+ // BUT: if every expected voter has already cast a vote (electorate
742
+ // exhausted), no more votes can ever arrive to produce a divergent
743
+ // round — a unanimous first-round vote would otherwise deadlock the
744
+ // proposal permanently since divergenceRoundsSeen only increments on
745
+ // disagreement. Treat electorate exhaustion as a terminal condition
746
+ // that opens the gate regardless of divergence.
747
+ const totalVotesCast = Object.keys(proposal.votes).length;
748
+ const electorateExhausted = totalNodes > 0 && totalVotesCast >= totalNodes;
733
749
  const divergenceGateOpen = !proposal.minDivergenceRounds
734
- || (proposal.divergenceRoundsSeen ?? 0) >= proposal.minDivergenceRounds;
750
+ || (proposal.divergenceRoundsSeen ?? 0) >= proposal.minDivergenceRounds
751
+ || electorateExhausted;
735
752
  // Try to resolve
736
753
  const resolution = divergenceGateOpen ? tryResolveProposal(proposal, totalNodes) : null;
737
754
  let resolved = false;