@monoes/monomindcli 2.9.22 → 2.9.24

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 (1006) hide show
  1. package/.claude/agents/consensus/quorum-manager.md +35 -54
  2. package/.claude/agents/core/coordinator.md +14 -18
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/github/issue-tracker.md +3 -3
  5. package/.claude/agents/github/{code-review-swarm.md → monoswarm-code-review.md} +1 -1
  6. package/.claude/agents/github/{swarm-issue.md → monoswarm-issue.md} +1 -1
  7. package/.claude/agents/github/{multi-repo-swarm.md → monoswarm-multi-repo.md} +1 -1
  8. package/.claude/agents/github/{swarm-pr.md → monoswarm-pr.md} +1 -1
  9. package/.claude/agents/github/pr-manager.md +1 -1
  10. package/.claude/agents/github/release-manager.md +1 -1
  11. package/.claude/agents/github/repo-architect.md +1 -1
  12. package/.claude/agents/github/sync-coordinator.md +4 -4
  13. package/.claude/agents/{hive-mind → monoswarm}/collective-intelligence-coordinator.md +9 -16
  14. package/.claude/agents/{swarm → monoswarm}/mesh-coordinator.md +19 -24
  15. package/.claude/agents/{hive-mind/swarm-memory-manager.md → monoswarm/monoswarm-memory-manager.md} +1 -1
  16. package/.claude/agents/templates/{coordinator-swarm-init.md → coordinator-monoswarm-init.md} +1 -1
  17. package/.claude/agents/testing/{tdd-london-swarm.md → tdd-london-monoswarm.md} +2 -2
  18. package/.claude/commands/agents/agent-coordination.md +3 -3
  19. package/.claude/commands/agents/agent-types.md +1 -1
  20. package/.claude/commands/automation/self-healing.md +1 -1
  21. package/.claude/commands/automation/smart-spawn.md +1 -1
  22. package/.claude/commands/coordination/README.md +1 -1
  23. package/.claude/commands/coordination/{swarm-init.md → monoswarm-init.md} +2 -2
  24. package/.claude/commands/coordination/task-orchestrate.md +4 -4
  25. package/.claude/commands/github/README.md +1 -1
  26. package/.claude/commands/github/issue-tracker.md +2 -2
  27. package/.claude/commands/github/pr-manager.md +1 -1
  28. package/.claude/commands/github/release-manager.md +1 -1
  29. package/.claude/commands/github/repo-architect.md +1 -1
  30. package/.claude/commands/github/sync-coordinator.md +2 -2
  31. package/.claude/commands/hooks/README.md +1 -2
  32. package/.claude/commands/hooks/overview.md +1 -2
  33. package/.claude/commands/hooks/setup.md +0 -3
  34. package/.claude/commands/mastermind/createtask.md +2 -2
  35. package/.claude/commands/mastermind/do.md +3 -3
  36. package/.claude/commands/mastermind/help.md +2 -2
  37. package/.claude/commands/mastermind/ideate.md +1 -1
  38. package/.claude/commands/mastermind/improve.md +1 -1
  39. package/.claude/commands/mastermind/memory.md +2 -2
  40. package/.claude/commands/mastermind/{swarm.md → monoswarm.md} +13 -26
  41. package/.claude/commands/mastermind/topology.md +1 -1
  42. package/.claude/commands/memory/README.md +2 -2
  43. package/.claude/commands/memory/memory-search.md +1 -1
  44. package/.claude/commands/monoswarm/README.md +59 -0
  45. package/.claude/commands/monoswarm/consensus.md +61 -0
  46. package/.claude/commands/monoswarm/init.md +68 -0
  47. package/.claude/commands/monoswarm/memory.md +55 -0
  48. package/.claude/commands/monoswarm/monoswarm.md +139 -0
  49. package/.claude/commands/{swarm → monoswarm}/research.md +2 -2
  50. package/.claude/commands/monoswarm/spawn.md +49 -0
  51. package/.claude/commands/monoswarm/status.md +48 -0
  52. package/.claude/commands/monoswarm/stop.md +46 -0
  53. package/.claude/commands/optimization/auto-topology.md +9 -9
  54. package/.claude/commands/stream-chain/run.md +1 -1
  55. package/.claude/commands/workflows/development.md +1 -1
  56. package/.claude/commands/workflows/research.md +2 -2
  57. package/.claude/helpers/audit-log-writer.cjs +72 -0
  58. package/.claude/helpers/control-start.cjs +84 -26
  59. package/.claude/helpers/handlers/agent-start-handler.cjs +5 -5
  60. package/.claude/helpers/handlers/gates-handler.cjs +31 -10
  61. package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
  62. package/.claude/helpers/handlers/task-handler.cjs +4 -4
  63. package/.claude/helpers/skill-registry.json +4718 -3669
  64. package/.claude/helpers/statusline.cjs +21 -21
  65. package/.claude/helpers/token-tracker.cjs +0 -6
  66. package/.claude/settings.json +2 -3
  67. package/.claude/skills/hooks-automation/SKILL.md +5 -5
  68. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  69. package/.claude/skills/memory-toolkit/SKILL.md +2 -2
  70. package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
  71. package/.claude/skills/specialagent/SKILL.md +1 -1
  72. package/README.md +31 -12
  73. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  74. package/dist/src/agents/registry-builder.js +8 -9
  75. package/dist/src/agents/registry-builder.js.map +1 -1
  76. package/dist/src/autopilot-state.d.ts +0 -16
  77. package/dist/src/autopilot-state.d.ts.map +1 -1
  78. package/dist/src/autopilot-state.js +6 -21
  79. package/dist/src/autopilot-state.js.map +1 -1
  80. package/dist/src/browser/action-builder/analyzer.d.ts.map +1 -1
  81. package/dist/src/browser/action-builder/analyzer.js +6 -6
  82. package/dist/src/browser/action-builder/analyzer.js.map +1 -1
  83. package/dist/src/browser/action-builder/types.d.ts.map +1 -1
  84. package/dist/src/browser/adapters/gemini.d.ts.map +1 -1
  85. package/dist/src/browser/adapters/index.d.ts.map +1 -1
  86. package/dist/src/browser/adapters/index.js +2 -2
  87. package/dist/src/browser/adapters/index.js.map +1 -1
  88. package/dist/src/browser/adapters/instagram.d.ts.map +1 -1
  89. package/dist/src/browser/adapters/linkedin.d.ts.map +1 -1
  90. package/dist/src/browser/adapters/linkedin.js +9 -1
  91. package/dist/src/browser/adapters/linkedin.js.map +1 -1
  92. package/dist/src/browser/adapters/x.d.ts.map +1 -1
  93. package/dist/src/browser/adapters/x.js +14 -2
  94. package/dist/src/browser/adapters/x.js.map +1 -1
  95. package/dist/src/browser/dashboard/server.d.ts.map +1 -1
  96. package/dist/src/browser/dashboard/server.js +23 -13
  97. package/dist/src/browser/dashboard/server.js.map +1 -1
  98. package/dist/src/browser/dashboard/ui.html +5 -5
  99. package/dist/src/browser/workflow/engine.d.ts +1 -1
  100. package/dist/src/browser/workflow/engine.d.ts.map +1 -1
  101. package/dist/src/browser/workflow/engine.js +74 -25
  102. package/dist/src/browser/workflow/engine.js.map +1 -1
  103. package/dist/src/browser/workflow/store.d.ts +1 -1
  104. package/dist/src/browser/workflow/store.d.ts.map +1 -1
  105. package/dist/src/browser/workflow/store.js +54 -26
  106. package/dist/src/browser/workflow/store.js.map +1 -1
  107. package/dist/src/browser/workflow/types.d.ts.map +1 -1
  108. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  109. package/dist/src/capabilities/cap-code.js.map +1 -1
  110. package/dist/src/capabilities/cap-data.d.ts.map +1 -1
  111. package/dist/src/capabilities/cap-data.js +28 -8
  112. package/dist/src/capabilities/cap-data.js.map +1 -1
  113. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  114. package/dist/src/capabilities/cap-documents.js +136 -54
  115. package/dist/src/capabilities/cap-documents.js.map +1 -1
  116. package/dist/src/capabilities/cap-graph.d.ts.map +1 -1
  117. package/dist/src/capabilities/cap-graph.js +3 -3
  118. package/dist/src/capabilities/cap-graph.js.map +1 -1
  119. package/dist/src/capabilities/cap-media.d.ts.map +1 -1
  120. package/dist/src/capabilities/cap-media.js +1 -1
  121. package/dist/src/capabilities/cap-media.js.map +1 -1
  122. package/dist/src/capabilities/cap-timeline.d.ts.map +1 -1
  123. package/dist/src/capabilities/cap-timeline.js +33 -7
  124. package/dist/src/capabilities/cap-timeline.js.map +1 -1
  125. package/dist/src/capabilities/index.d.ts +5 -5
  126. package/dist/src/capabilities/index.d.ts.map +1 -1
  127. package/dist/src/capabilities/index.js +5 -5
  128. package/dist/src/capabilities/index.js.map +1 -1
  129. package/dist/src/capabilities/manager.d.ts.map +1 -1
  130. package/dist/src/capabilities/manager.js +6 -6
  131. package/dist/src/capabilities/manager.js.map +1 -1
  132. package/dist/src/capabilities/scanner.d.ts.map +1 -1
  133. package/dist/src/capabilities/scanner.js +103 -14
  134. package/dist/src/capabilities/scanner.js.map +1 -1
  135. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  136. package/dist/src/commands/agent-lifecycle.js +120 -41
  137. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  138. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  139. package/dist/src/commands/agent-ops.js +107 -41
  140. package/dist/src/commands/agent-ops.js.map +1 -1
  141. package/dist/src/commands/agent.d.ts.map +1 -1
  142. package/dist/src/commands/agent.js +11 -3
  143. package/dist/src/commands/agent.js.map +1 -1
  144. package/dist/src/commands/analyze-ast.d.ts +1 -1
  145. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  146. package/dist/src/commands/analyze-ast.js +47 -41
  147. package/dist/src/commands/analyze-ast.js.map +1 -1
  148. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  149. package/dist/src/commands/analyze-diff.js +147 -35
  150. package/dist/src/commands/analyze-diff.js.map +1 -1
  151. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  152. package/dist/src/commands/analyze-imports.js +74 -30
  153. package/dist/src/commands/analyze-imports.js.map +1 -1
  154. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  155. package/dist/src/commands/analyze-symbols.js +55 -41
  156. package/dist/src/commands/analyze-symbols.js.map +1 -1
  157. package/dist/src/commands/analyze.d.ts +19 -6
  158. package/dist/src/commands/analyze.d.ts.map +1 -1
  159. package/dist/src/commands/analyze.js +90 -28
  160. package/dist/src/commands/analyze.js.map +1 -1
  161. package/dist/src/commands/autopilot.d.ts.map +1 -1
  162. package/dist/src/commands/autopilot.js +5 -90
  163. package/dist/src/commands/autopilot.js.map +1 -1
  164. package/dist/src/commands/browse-action.d.ts.map +1 -1
  165. package/dist/src/commands/browse-action.js +65 -17
  166. package/dist/src/commands/browse-action.js.map +1 -1
  167. package/dist/src/commands/browse-platform.d.ts.map +1 -1
  168. package/dist/src/commands/browse-platform.js +13 -10
  169. package/dist/src/commands/browse-platform.js.map +1 -1
  170. package/dist/src/commands/browse-workflow.d.ts.map +1 -1
  171. package/dist/src/commands/browse-workflow.js +54 -20
  172. package/dist/src/commands/browse-workflow.js.map +1 -1
  173. package/dist/src/commands/browse.d.ts +1 -1
  174. package/dist/src/commands/browse.js +2 -2
  175. package/dist/src/commands/browse.js.map +1 -1
  176. package/dist/src/commands/cleanup.d.ts.map +1 -1
  177. package/dist/src/commands/cleanup.js +115 -49
  178. package/dist/src/commands/cleanup.js.map +1 -1
  179. package/dist/src/commands/completions.d.ts.map +1 -1
  180. package/dist/src/commands/completions.js +34 -21
  181. package/dist/src/commands/completions.js.map +1 -1
  182. package/dist/src/commands/config.d.ts.map +1 -1
  183. package/dist/src/commands/config.js +95 -54
  184. package/dist/src/commands/config.js.map +1 -1
  185. package/dist/src/commands/crash-reporting.d.ts.map +1 -1
  186. package/dist/src/commands/crash-reporting.js +10 -4
  187. package/dist/src/commands/crash-reporting.js.map +1 -1
  188. package/dist/src/commands/design-detect.d.ts.map +1 -1
  189. package/dist/src/commands/design-detect.js +33 -12
  190. package/dist/src/commands/design-detect.js.map +1 -1
  191. package/dist/src/commands/design-palette.d.ts.map +1 -1
  192. package/dist/src/commands/design-palette.js +770 -380
  193. package/dist/src/commands/design-palette.js.map +1 -1
  194. package/dist/src/commands/doc.d.ts.map +1 -1
  195. package/dist/src/commands/doc.js +272 -60
  196. package/dist/src/commands/doc.js.map +1 -1
  197. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  198. package/dist/src/commands/doctor-env-checks.js +130 -31
  199. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  200. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  201. package/dist/src/commands/doctor-monoes-checks.js +20 -7
  202. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  203. package/dist/src/commands/doctor-project-checks.d.ts +7 -0
  204. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  205. package/dist/src/commands/doctor-project-checks.js +476 -114
  206. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  207. package/dist/src/commands/doctor.d.ts.map +1 -1
  208. package/dist/src/commands/doctor.js +139 -60
  209. package/dist/src/commands/doctor.js.map +1 -1
  210. package/dist/src/commands/download-embeddings.d.ts.map +1 -1
  211. package/dist/src/commands/download-embeddings.js +1 -1
  212. package/dist/src/commands/download-embeddings.js.map +1 -1
  213. package/dist/src/commands/events.d.ts.map +1 -1
  214. package/dist/src/commands/events.js +5 -2
  215. package/dist/src/commands/events.js.map +1 -1
  216. package/dist/src/commands/guidance.d.ts.map +1 -1
  217. package/dist/src/commands/guidance.js +38 -14
  218. package/dist/src/commands/guidance.js.map +1 -1
  219. package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
  220. package/dist/src/commands/hooks-core-commands.js +71 -44
  221. package/dist/src/commands/hooks-core-commands.js.map +1 -1
  222. package/dist/src/commands/hooks-coverage-commands.d.ts +1 -2
  223. package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
  224. package/dist/src/commands/hooks-coverage-commands.js +140 -58
  225. package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
  226. package/dist/src/commands/hooks-coverage-gaps.d.ts.map +1 -1
  227. package/dist/src/commands/hooks-coverage-gaps.js +74 -36
  228. package/dist/src/commands/hooks-coverage-gaps.js.map +1 -1
  229. package/dist/src/commands/hooks-coverage-routing.d.ts.map +1 -1
  230. package/dist/src/commands/hooks-coverage-routing.js +139 -66
  231. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  232. package/dist/src/commands/hooks-coverage-utils.d.ts.map +1 -1
  233. package/dist/src/commands/hooks-coverage-utils.js +27 -8
  234. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  235. package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
  236. package/dist/src/commands/hooks-extended-commands.js +86 -21
  237. package/dist/src/commands/hooks-extended-commands.js.map +1 -1
  238. package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
  239. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  240. package/dist/src/commands/hooks-routing-commands.js +175 -183
  241. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  242. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  243. package/dist/src/commands/hooks-workers.js +111 -128
  244. package/dist/src/commands/hooks-workers.js.map +1 -1
  245. package/dist/src/commands/hooks.d.ts +1 -1
  246. package/dist/src/commands/hooks.d.ts.map +1 -1
  247. package/dist/src/commands/hooks.js +9 -12
  248. package/dist/src/commands/hooks.js.map +1 -1
  249. package/dist/src/commands/index.d.ts +1 -1
  250. package/dist/src/commands/index.d.ts.map +1 -1
  251. package/dist/src/commands/index.js +2 -2
  252. package/dist/src/commands/index.js.map +1 -1
  253. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  254. package/dist/src/commands/init-subcommands.js +16 -5
  255. package/dist/src/commands/init-subcommands.js.map +1 -1
  256. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  257. package/dist/src/commands/init-upgrade.js +46 -23
  258. package/dist/src/commands/init-upgrade.js.map +1 -1
  259. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  260. package/dist/src/commands/init-wizard.js +161 -44
  261. package/dist/src/commands/init-wizard.js.map +1 -1
  262. package/dist/src/commands/init.d.ts.map +1 -1
  263. package/dist/src/commands/init.js +179 -64
  264. package/dist/src/commands/init.js.map +1 -1
  265. package/dist/src/commands/mcp.d.ts +1 -0
  266. package/dist/src/commands/mcp.d.ts.map +1 -1
  267. package/dist/src/commands/mcp.js +229 -134
  268. package/dist/src/commands/mcp.js.map +1 -1
  269. package/dist/src/commands/memory-admin.d.ts.map +1 -1
  270. package/dist/src/commands/memory-admin.js +67 -48
  271. package/dist/src/commands/memory-admin.js.map +1 -1
  272. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  273. package/dist/src/commands/memory-crud.js +97 -60
  274. package/dist/src/commands/memory-crud.js.map +1 -1
  275. package/dist/src/commands/memory-list.d.ts.map +1 -1
  276. package/dist/src/commands/memory-list.js +6 -6
  277. package/dist/src/commands/memory-list.js.map +1 -1
  278. package/dist/src/commands/memory-transfer.d.ts.map +1 -1
  279. package/dist/src/commands/memory-transfer.js +46 -23
  280. package/dist/src/commands/memory-transfer.js.map +1 -1
  281. package/dist/src/commands/memory.d.ts.map +1 -1
  282. package/dist/src/commands/memory.js +63 -35
  283. package/dist/src/commands/memory.js.map +1 -1
  284. package/dist/src/commands/monograph.d.ts.map +1 -1
  285. package/dist/src/commands/monograph.js +170 -57
  286. package/dist/src/commands/monograph.js.map +1 -1
  287. package/dist/src/commands/monoswarm.d.ts +8 -0
  288. package/dist/src/commands/monoswarm.d.ts.map +1 -0
  289. package/dist/src/commands/{swarm.js → monoswarm.js} +93 -315
  290. package/dist/src/commands/monoswarm.js.map +1 -0
  291. package/dist/src/commands/neural-core.d.ts.map +1 -1
  292. package/dist/src/commands/neural-core.js +123 -32
  293. package/dist/src/commands/neural-core.js.map +1 -1
  294. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  295. package/dist/src/commands/neural-optimize.js +95 -130
  296. package/dist/src/commands/neural-optimize.js.map +1 -1
  297. package/dist/src/commands/neural-registry.d.ts +1 -2
  298. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  299. package/dist/src/commands/neural-registry.js +70 -181
  300. package/dist/src/commands/neural-registry.js.map +1 -1
  301. package/dist/src/commands/org-observe.d.ts +13 -3
  302. package/dist/src/commands/org-observe.d.ts.map +1 -1
  303. package/dist/src/commands/org-observe.js +308 -131
  304. package/dist/src/commands/org-observe.js.map +1 -1
  305. package/dist/src/commands/org-visualize.d.ts.map +1 -1
  306. package/dist/src/commands/org-visualize.js +10 -5
  307. package/dist/src/commands/org-visualize.js.map +1 -1
  308. package/dist/src/commands/org.d.ts +15 -1
  309. package/dist/src/commands/org.d.ts.map +1 -1
  310. package/dist/src/commands/org.js +663 -193
  311. package/dist/src/commands/org.js.map +1 -1
  312. package/dist/src/commands/performance.d.ts.map +1 -1
  313. package/dist/src/commands/performance.js +232 -79
  314. package/dist/src/commands/performance.js.map +1 -1
  315. package/dist/src/commands/platforms.d.ts +1 -1
  316. package/dist/src/commands/platforms.d.ts.map +1 -1
  317. package/dist/src/commands/platforms.js +89 -49
  318. package/dist/src/commands/platforms.js.map +1 -1
  319. package/dist/src/commands/providers.d.ts.map +1 -1
  320. package/dist/src/commands/providers.js +31 -18
  321. package/dist/src/commands/providers.js.map +1 -1
  322. package/dist/src/commands/report-crash.d.ts.map +1 -1
  323. package/dist/src/commands/report-crash.js +17 -5
  324. package/dist/src/commands/report-crash.js.map +1 -1
  325. package/dist/src/commands/route.d.ts.map +1 -1
  326. package/dist/src/commands/route.js +123 -41
  327. package/dist/src/commands/route.js.map +1 -1
  328. package/dist/src/commands/search-universal.d.ts +1 -1
  329. package/dist/src/commands/search-universal.d.ts.map +1 -1
  330. package/dist/src/commands/search-universal.js +29 -14
  331. package/dist/src/commands/search-universal.js.map +1 -1
  332. package/dist/src/commands/security-cve.d.ts.map +1 -1
  333. package/dist/src/commands/security-cve.js +75 -34
  334. package/dist/src/commands/security-cve.js.map +1 -1
  335. package/dist/src/commands/security-misc.d.ts.map +1 -1
  336. package/dist/src/commands/security-misc.js +362 -102
  337. package/dist/src/commands/security-misc.js.map +1 -1
  338. package/dist/src/commands/security-scan.d.ts +13 -0
  339. package/dist/src/commands/security-scan.d.ts.map +1 -1
  340. package/dist/src/commands/security-scan.js +222 -57
  341. package/dist/src/commands/security-scan.js.map +1 -1
  342. package/dist/src/commands/security.d.ts.map +1 -1
  343. package/dist/src/commands/security.js +10 -3
  344. package/dist/src/commands/security.js.map +1 -1
  345. package/dist/src/commands/session.d.ts.map +1 -1
  346. package/dist/src/commands/session.js +81 -75
  347. package/dist/src/commands/session.js.map +1 -1
  348. package/dist/src/commands/start.d.ts.map +1 -1
  349. package/dist/src/commands/start.js +59 -129
  350. package/dist/src/commands/start.js.map +1 -1
  351. package/dist/src/commands/status.d.ts.map +1 -1
  352. package/dist/src/commands/status.js +151 -130
  353. package/dist/src/commands/status.js.map +1 -1
  354. package/dist/src/commands/task.d.ts.map +1 -1
  355. package/dist/src/commands/task.js +115 -84
  356. package/dist/src/commands/task.js.map +1 -1
  357. package/dist/src/commands/tokens.d.ts.map +1 -1
  358. package/dist/src/commands/tokens.js +67 -32
  359. package/dist/src/commands/tokens.js.map +1 -1
  360. package/dist/src/commands/update.d.ts.map +1 -1
  361. package/dist/src/commands/update.js +3 -5
  362. package/dist/src/commands/update.js.map +1 -1
  363. package/dist/src/consensus/audit-writer.d.ts +7 -2
  364. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  365. package/dist/src/consensus/audit-writer.js +19 -11
  366. package/dist/src/consensus/audit-writer.js.map +1 -1
  367. package/dist/src/consensus/tally.d.ts.map +1 -1
  368. package/dist/src/consensus/tally.js +2 -2
  369. package/dist/src/consensus/tally.js.map +1 -1
  370. package/dist/src/index.d.ts +7 -7
  371. package/dist/src/index.d.ts.map +1 -1
  372. package/dist/src/index.js +51 -43
  373. package/dist/src/index.js.map +1 -1
  374. package/dist/src/init/claudemd-generator.d.ts +1 -1
  375. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  376. package/dist/src/init/claudemd-generator.js +52 -36
  377. package/dist/src/init/claudemd-generator.js.map +1 -1
  378. package/dist/src/init/codex-generator.d.ts +16 -0
  379. package/dist/src/init/codex-generator.d.ts.map +1 -0
  380. package/dist/src/init/codex-generator.js +180 -0
  381. package/dist/src/init/codex-generator.js.map +1 -0
  382. package/dist/src/init/copy-assets.d.ts.map +1 -1
  383. package/dist/src/init/copy-assets.js +17 -20
  384. package/dist/src/init/copy-assets.js.map +1 -1
  385. package/dist/src/init/executor.d.ts +1 -1
  386. package/dist/src/init/executor.d.ts.map +1 -1
  387. package/dist/src/init/executor.js +56 -29
  388. package/dist/src/init/executor.js.map +1 -1
  389. package/dist/src/init/geminimd-generator.d.ts +1 -1
  390. package/dist/src/init/geminimd-generator.d.ts.map +1 -1
  391. package/dist/src/init/geminimd-generator.js +2 -2
  392. package/dist/src/init/geminimd-generator.js.map +1 -1
  393. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  394. package/dist/src/init/helpers-generator.js +7 -7
  395. package/dist/src/init/helpers-generator.js.map +1 -1
  396. package/dist/src/init/index.d.ts +8 -7
  397. package/dist/src/init/index.d.ts.map +1 -1
  398. package/dist/src/init/index.js +9 -8
  399. package/dist/src/init/index.js.map +1 -1
  400. package/dist/src/init/kimi-generator.d.ts +1 -1
  401. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  402. package/dist/src/init/kimi-generator.js +34 -28
  403. package/dist/src/init/kimi-generator.js.map +1 -1
  404. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  405. package/dist/src/init/mcp-generator.js +3 -11
  406. package/dist/src/init/mcp-generator.js.map +1 -1
  407. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  408. package/dist/src/init/opencode-generator.js +35 -22
  409. package/dist/src/init/opencode-generator.js.map +1 -1
  410. package/dist/src/init/settings-generator.d.ts.map +1 -1
  411. package/dist/src/init/settings-generator.js +3 -7
  412. package/dist/src/init/settings-generator.js.map +1 -1
  413. package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
  414. package/dist/src/init/shared-instructions-generator.js +124 -76
  415. package/dist/src/init/shared-instructions-generator.js.map +1 -1
  416. package/dist/src/init/shared.d.ts.map +1 -1
  417. package/dist/src/init/shared.js +26 -25
  418. package/dist/src/init/shared.js.map +1 -1
  419. package/dist/src/init/statusline-generator.js +19 -19
  420. package/dist/src/init/types.d.ts +9 -10
  421. package/dist/src/init/types.d.ts.map +1 -1
  422. package/dist/src/init/types.js +10 -8
  423. package/dist/src/init/types.js.map +1 -1
  424. package/dist/src/init/upgrade.d.ts.map +1 -1
  425. package/dist/src/init/upgrade.js +24 -22
  426. package/dist/src/init/upgrade.js.map +1 -1
  427. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  428. package/dist/src/init/write-antigravity.js +15 -7
  429. package/dist/src/init/write-antigravity.js.map +1 -1
  430. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  431. package/dist/src/init/write-capabilities.js +39 -52
  432. package/dist/src/init/write-capabilities.js.map +1 -1
  433. package/dist/src/init/write-claude.d.ts.map +1 -1
  434. package/dist/src/init/write-claude.js +19 -15
  435. package/dist/src/init/write-claude.js.map +1 -1
  436. package/dist/src/init/write-codex.d.ts +4 -0
  437. package/dist/src/init/write-codex.d.ts.map +1 -0
  438. package/dist/src/init/write-codex.js +122 -0
  439. package/dist/src/init/write-codex.js.map +1 -0
  440. package/dist/src/init/write-kimicode.d.ts.map +1 -1
  441. package/dist/src/init/write-kimicode.js +10 -6
  442. package/dist/src/init/write-kimicode.js.map +1 -1
  443. package/dist/src/init/write-opencode.d.ts.map +1 -1
  444. package/dist/src/init/write-opencode.js +4 -4
  445. package/dist/src/init/write-opencode.js.map +1 -1
  446. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  447. package/dist/src/init/write-runtime-config.js +24 -24
  448. package/dist/src/init/write-runtime-config.js.map +1 -1
  449. package/dist/src/init/write-sample-org.js +1 -1
  450. package/dist/src/init/write-sample-org.js.map +1 -1
  451. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  452. package/dist/src/knowledge/document-pipeline.js +144 -48
  453. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  454. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -1
  455. package/dist/src/knowledge/eval/corpus.js +18 -9
  456. package/dist/src/knowledge/eval/corpus.js.map +1 -1
  457. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
  458. package/dist/src/knowledge/eval/golden-set.js +4286 -136
  459. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  460. package/dist/src/knowledge/eval/harness.d.ts +2 -2
  461. package/dist/src/knowledge/eval/harness.d.ts.map +1 -1
  462. package/dist/src/knowledge/eval/harness.js +163 -70
  463. package/dist/src/knowledge/eval/harness.js.map +1 -1
  464. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -1
  465. package/dist/src/knowledge/eval/metrics.js +25 -18
  466. package/dist/src/knowledge/eval/metrics.js.map +1 -1
  467. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  468. package/dist/src/knowledge/eval/model-presence.js +40 -14
  469. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  470. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -1
  471. package/dist/src/knowledge/eval/network-guard.js +22 -10
  472. package/dist/src/knowledge/eval/network-guard.js.map +1 -1
  473. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -1
  474. package/dist/src/knowledge/eval/retrievers.js +14 -10
  475. package/dist/src/knowledge/eval/retrievers.js.map +1 -1
  476. package/dist/src/knowledge/eval/signals.d.ts.map +1 -1
  477. package/dist/src/knowledge/eval/signals.js +54 -18
  478. package/dist/src/knowledge/eval/signals.js.map +1 -1
  479. package/dist/src/mcp-client.d.ts.map +1 -1
  480. package/dist/src/mcp-client.js +70 -35
  481. package/dist/src/mcp-client.js.map +1 -1
  482. package/dist/src/mcp-server.d.ts +1 -9
  483. package/dist/src/mcp-server.d.ts.map +1 -1
  484. package/dist/src/mcp-server.js +20 -43
  485. package/dist/src/mcp-server.js.map +1 -1
  486. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  487. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  488. package/dist/src/mcp-tools/agent-tools.js +87 -52
  489. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  490. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
  491. package/dist/src/mcp-tools/analyze-tools.js +34 -17
  492. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  493. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
  494. package/dist/src/mcp-tools/auto-install.js +3 -3
  495. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  496. package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
  497. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  498. package/dist/src/mcp-tools/autopilot-tools.js +32 -70
  499. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  500. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
  501. package/dist/src/mcp-tools/browser-tools.js +119 -37
  502. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  503. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
  504. package/dist/src/mcp-tools/claims-tools.js +100 -44
  505. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  506. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  507. package/dist/src/mcp-tools/config-tools.js +36 -15
  508. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  509. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  510. package/dist/src/mcp-tools/embeddings-tools.js +34 -23
  511. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  512. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  513. package/dist/src/mcp-tools/github-tools.js +200 -43
  514. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  515. package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
  516. package/dist/src/mcp-tools/graphify-tools.js +2 -2
  517. package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
  518. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  519. package/dist/src/mcp-tools/guidance-tools.js +461 -115
  520. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  521. package/dist/src/mcp-tools/hooks-embedding.d.ts +0 -6
  522. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  523. package/dist/src/mcp-tools/hooks-embedding.js +170 -59
  524. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  525. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -9
  526. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  527. package/dist/src/mcp-tools/hooks-intelligence.js +64 -119
  528. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  529. package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
  530. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  531. package/dist/src/mcp-tools/hooks-routing.js +92 -165
  532. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  533. package/dist/src/mcp-tools/hooks-tools.d.ts +1 -1
  534. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  535. package/dist/src/mcp-tools/hooks-tools.js +2 -4
  536. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  537. package/dist/src/mcp-tools/index.d.ts +18 -19
  538. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  539. package/dist/src/mcp-tools/index.js +18 -19
  540. package/dist/src/mcp-tools/index.js.map +1 -1
  541. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  542. package/dist/src/mcp-tools/knowledge-tools.js +88 -28
  543. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  544. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  545. package/dist/src/mcp-tools/memory-tools.js +157 -40
  546. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  547. package/dist/src/mcp-tools/monodesign-tools.d.ts.map +1 -1
  548. package/dist/src/mcp-tools/monodesign-tools.js +63 -22
  549. package/dist/src/mcp-tools/monodesign-tools.js.map +1 -1
  550. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts.map +1 -1
  551. package/dist/src/mcp-tools/monograph/agent-history-tools.js +22 -9
  552. package/dist/src/mcp-tools/monograph/agent-history-tools.js.map +1 -1
  553. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  554. package/dist/src/mcp-tools/monograph/build-tools.js +37 -16
  555. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  556. package/dist/src/mcp-tools/monograph/group-tools.d.ts.map +1 -1
  557. package/dist/src/mcp-tools/monograph/group-tools.js +57 -20
  558. package/dist/src/mcp-tools/monograph/group-tools.js.map +1 -1
  559. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  560. package/dist/src/mcp-tools/monograph/health-tools.js +13 -7
  561. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  562. package/dist/src/mcp-tools/monograph/impact-tools.js +6 -6
  563. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  564. package/dist/src/mcp-tools/monograph/index.d.ts.map +1 -1
  565. package/dist/src/mcp-tools/monograph/index.js +8 -8
  566. package/dist/src/mcp-tools/monograph/index.js.map +1 -1
  567. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  568. package/dist/src/mcp-tools/monograph/query-tools.js +140 -65
  569. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  570. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  571. package/dist/src/mcp-tools/monograph/shared.js +42 -22
  572. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  573. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts.map +1 -1
  574. package/dist/src/mcp-tools/monograph/visualize-tools.js +87 -36
  575. package/dist/src/mcp-tools/monograph/visualize-tools.js.map +1 -1
  576. package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
  577. package/dist/src/mcp-tools/monograph-compat.js +25 -14
  578. package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
  579. package/dist/src/mcp-tools/monograph-tools.d.ts +1 -1
  580. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  581. package/dist/src/mcp-tools/monograph-tools.js +1 -1
  582. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  583. package/dist/src/mcp-tools/monomind-tools.d.ts.map +1 -1
  584. package/dist/src/mcp-tools/monomind-tools.js +1 -1
  585. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  586. package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
  587. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
  588. package/dist/src/mcp-tools/monoswarm-tools.js +1289 -0
  589. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
  590. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  591. package/dist/src/mcp-tools/performance-tools.js +305 -101
  592. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  593. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -1
  594. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +9 -4
  595. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js.map +1 -1
  596. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +1 -1
  597. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
  598. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +36 -14
  599. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -1
  600. package/dist/src/mcp-tools/quality-tools.d.ts.map +1 -1
  601. package/dist/src/mcp-tools/quality-tools.js.map +1 -1
  602. package/dist/src/mcp-tools/request-tracker.d.ts.map +1 -1
  603. package/dist/src/mcp-tools/request-tracker.js +2 -1
  604. package/dist/src/mcp-tools/request-tracker.js.map +1 -1
  605. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  606. package/dist/src/mcp-tools/security-tools.js +117 -53
  607. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  608. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  609. package/dist/src/mcp-tools/session-tools.js +22 -13
  610. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  611. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  612. package/dist/src/mcp-tools/system-tools.js +37 -20
  613. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  614. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  615. package/dist/src/mcp-tools/task-tools.js +59 -22
  616. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  617. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  618. package/dist/src/mcp-tools/terminal-tools.js +43 -16
  619. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  620. package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
  621. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  622. package/dist/src/mcp-tools/transfer-tools.js +11 -14
  623. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  624. package/dist/src/mcp-tools/types.d.ts +1 -1
  625. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  626. package/dist/src/mcp-tools/types.js +1 -1
  627. package/dist/src/mcp-tools/types.js.map +1 -1
  628. package/dist/src/memory/bm25-index.d.ts.map +1 -1
  629. package/dist/src/memory/bm25-index.js.map +1 -1
  630. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  631. package/dist/src/memory/embedding-operations.js +23 -56
  632. package/dist/src/memory/embedding-operations.js.map +1 -1
  633. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  634. package/dist/src/memory/ewc-consolidation.js +31 -27
  635. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  636. package/dist/src/memory/hnsw-operations.d.ts +15 -75
  637. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  638. package/dist/src/memory/hnsw-operations.js +27 -268
  639. package/dist/src/memory/hnsw-operations.js.map +1 -1
  640. package/dist/src/memory/intelligence.d.ts +2 -2
  641. package/dist/src/memory/intelligence.d.ts.map +1 -1
  642. package/dist/src/memory/intelligence.js +130 -91
  643. package/dist/src/memory/intelligence.js.map +1 -1
  644. package/dist/src/memory/memory-bridge.d.ts +24 -24
  645. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  646. package/dist/src/memory/memory-bridge.js +40 -41
  647. package/dist/src/memory/memory-bridge.js.map +1 -1
  648. package/dist/src/memory/memory-crud.d.ts +1 -1
  649. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  650. package/dist/src/memory/memory-crud.js +82 -67
  651. package/dist/src/memory/memory-crud.js.map +1 -1
  652. package/dist/src/memory/memory-initializer.d.ts +7 -8
  653. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  654. package/dist/src/memory/memory-initializer.js +38 -35
  655. package/dist/src/memory/memory-initializer.js.map +1 -1
  656. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  657. package/dist/src/memory/memory-kg.js +173 -41
  658. package/dist/src/memory/memory-kg.js.map +1 -1
  659. package/dist/src/memory/memory-migrations.d.ts.map +1 -1
  660. package/dist/src/memory/memory-migrations.js +11 -7
  661. package/dist/src/memory/memory-migrations.js.map +1 -1
  662. package/dist/src/memory/memory-read.d.ts.map +1 -1
  663. package/dist/src/memory/memory-read.js +50 -35
  664. package/dist/src/memory/memory-read.js.map +1 -1
  665. package/dist/src/memory/query-router.d.ts.map +1 -1
  666. package/dist/src/memory/query-router.js +29 -12
  667. package/dist/src/memory/query-router.js.map +1 -1
  668. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  669. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  670. package/dist/src/memory/sona-optimizer.js +164 -42
  671. package/dist/src/memory/sona-optimizer.js.map +1 -1
  672. package/dist/src/memory/text-tokens.d.ts.map +1 -1
  673. package/dist/src/memory/text-tokens.js +78 -8
  674. package/dist/src/memory/text-tokens.js.map +1 -1
  675. package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
  676. package/dist/src/monovector/command-outcomes.js +23 -8
  677. package/dist/src/monovector/command-outcomes.js.map +1 -1
  678. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  679. package/dist/src/monovector/coverage-router.js +29 -14
  680. package/dist/src/monovector/coverage-router.js.map +1 -1
  681. package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
  682. package/dist/src/monovector/coverage-tools.js +21 -6
  683. package/dist/src/monovector/coverage-tools.js.map +1 -1
  684. package/dist/src/monovector/diff-classifier.d.ts +1 -1
  685. package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
  686. package/dist/src/monovector/diff-classifier.js +100 -45
  687. package/dist/src/monovector/diff-classifier.js.map +1 -1
  688. package/dist/src/monovector/index.d.ts +3 -4
  689. package/dist/src/monovector/index.d.ts.map +1 -1
  690. package/dist/src/monovector/index.js +18 -6
  691. package/dist/src/monovector/index.js.map +1 -1
  692. package/dist/src/monovector/init-state.d.ts.map +1 -1
  693. package/dist/src/monovector/init-state.js +15 -5
  694. package/dist/src/monovector/init-state.js.map +1 -1
  695. package/dist/src/monovector/model-outcomes.d.ts +25 -0
  696. package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
  697. package/dist/src/monovector/model-outcomes.js +113 -0
  698. package/dist/src/monovector/model-outcomes.js.map +1 -0
  699. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  700. package/dist/src/monovector/route-outcomes.js +40 -21
  701. package/dist/src/monovector/route-outcomes.js.map +1 -1
  702. package/dist/src/observability/replay-reader.d.ts.map +1 -1
  703. package/dist/src/observability/replay-reader.js +6 -8
  704. package/dist/src/observability/replay-reader.js.map +1 -1
  705. package/dist/src/orgrt/agent-runner.d.ts +9 -3
  706. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  707. package/dist/src/orgrt/agent-runner.js +1 -1
  708. package/dist/src/orgrt/agent-runner.js.map +1 -1
  709. package/dist/src/orgrt/antigravity-runner.d.ts +26 -3
  710. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  711. package/dist/src/orgrt/antigravity-runner.js +295 -125
  712. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  713. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  714. package/dist/src/orgrt/approvals.js +32 -8
  715. package/dist/src/orgrt/approvals.js.map +1 -1
  716. package/dist/src/orgrt/broker.d.ts.map +1 -1
  717. package/dist/src/orgrt/broker.js +11 -4
  718. package/dist/src/orgrt/broker.js.map +1 -1
  719. package/dist/src/orgrt/bus.d.ts.map +1 -1
  720. package/dist/src/orgrt/bus.js +28 -15
  721. package/dist/src/orgrt/bus.js.map +1 -1
  722. package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
  723. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  724. package/dist/src/orgrt/checkpoint-ops.js +47 -36
  725. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  726. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  727. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  728. package/dist/src/orgrt/checkpoint.js +22 -4
  729. package/dist/src/orgrt/checkpoint.js.map +1 -1
  730. package/dist/src/orgrt/codex-runner.d.ts +27 -3
  731. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  732. package/dist/src/orgrt/codex-runner.js +387 -129
  733. package/dist/src/orgrt/codex-runner.js.map +1 -1
  734. package/dist/src/orgrt/copilot-runner.d.ts +1 -1
  735. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  736. package/dist/src/orgrt/copilot-runner.js +60 -18
  737. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  738. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  739. package/dist/src/orgrt/cross-org.js +224 -41
  740. package/dist/src/orgrt/cross-org.js.map +1 -1
  741. package/dist/src/orgrt/crush-runner.d.ts +5 -2
  742. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  743. package/dist/src/orgrt/crush-runner.js +93 -47
  744. package/dist/src/orgrt/crush-runner.js.map +1 -1
  745. package/dist/src/orgrt/daemon.d.ts +42 -30
  746. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  747. package/dist/src/orgrt/daemon.js +199 -69
  748. package/dist/src/orgrt/daemon.js.map +1 -1
  749. package/dist/src/orgrt/decisions.d.ts +3 -2
  750. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  751. package/dist/src/orgrt/decisions.js +101 -32
  752. package/dist/src/orgrt/decisions.js.map +1 -1
  753. package/dist/src/orgrt/fence.d.ts +2 -2
  754. package/dist/src/orgrt/fence.d.ts.map +1 -1
  755. package/dist/src/orgrt/fence.js +13 -5
  756. package/dist/src/orgrt/fence.js.map +1 -1
  757. package/dist/src/orgrt/forwarder.js +1 -1
  758. package/dist/src/orgrt/forwarder.js.map +1 -1
  759. package/dist/src/orgrt/grok-runner.d.ts +1 -1
  760. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  761. package/dist/src/orgrt/grok-runner.js +75 -30
  762. package/dist/src/orgrt/grok-runner.js.map +1 -1
  763. package/dist/src/orgrt/inbox.d.ts.map +1 -1
  764. package/dist/src/orgrt/inbox.js +5 -3
  765. package/dist/src/orgrt/inbox.js.map +1 -1
  766. package/dist/src/orgrt/kimicode-runner.d.ts +54 -8
  767. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  768. package/dist/src/orgrt/kimicode-runner.js +278 -151
  769. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  770. package/dist/src/orgrt/mailbox.d.ts +26 -1
  771. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  772. package/dist/src/orgrt/mailbox.js +88 -6
  773. package/dist/src/orgrt/mailbox.js.map +1 -1
  774. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  775. package/dist/src/orgrt/migrate.js +38 -25
  776. package/dist/src/orgrt/migrate.js.map +1 -1
  777. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  778. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  779. package/dist/src/orgrt/opencode-runner.js +16 -5
  780. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  781. package/dist/src/orgrt/org-memory.d.ts +2 -2
  782. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  783. package/dist/src/orgrt/org-memory.js +66 -26
  784. package/dist/src/orgrt/org-memory.js.map +1 -1
  785. package/dist/src/orgrt/pi-rpc-runner.d.ts +1 -1
  786. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  787. package/dist/src/orgrt/pi-rpc-runner.js +134 -114
  788. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  789. package/dist/src/orgrt/pi-runner.d.ts +1 -1
  790. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  791. package/dist/src/orgrt/pi-runner.js +35 -16
  792. package/dist/src/orgrt/pi-runner.js.map +1 -1
  793. package/dist/src/orgrt/policy.d.ts +11 -0
  794. package/dist/src/orgrt/policy.d.ts.map +1 -1
  795. package/dist/src/orgrt/policy.js +86 -18
  796. package/dist/src/orgrt/policy.js.map +1 -1
  797. package/dist/src/orgrt/prechecks.d.ts.map +1 -1
  798. package/dist/src/orgrt/prechecks.js +9 -4
  799. package/dist/src/orgrt/prechecks.js.map +1 -1
  800. package/dist/src/orgrt/provider.d.ts +29 -1
  801. package/dist/src/orgrt/provider.d.ts.map +1 -1
  802. package/dist/src/orgrt/provider.js +62 -2
  803. package/dist/src/orgrt/provider.js.map +1 -1
  804. package/dist/src/orgrt/questions.d.ts.map +1 -1
  805. package/dist/src/orgrt/questions.js +34 -10
  806. package/dist/src/orgrt/questions.js.map +1 -1
  807. package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
  808. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
  809. package/dist/src/orgrt/qwen-rpc-runner.js +381 -0
  810. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
  811. package/dist/src/orgrt/qwen-runner.d.ts +1 -1
  812. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  813. package/dist/src/orgrt/qwen-runner.js +42 -23
  814. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  815. package/dist/src/orgrt/remote.js +1 -1
  816. package/dist/src/orgrt/remote.js.map +1 -1
  817. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  818. package/dist/src/orgrt/reporting.js +61 -27
  819. package/dist/src/orgrt/reporting.js.map +1 -1
  820. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  821. package/dist/src/orgrt/scheduler-integration.js +63 -19
  822. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  823. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  824. package/dist/src/orgrt/scheduler.js +7 -3
  825. package/dist/src/orgrt/scheduler.js.map +1 -1
  826. package/dist/src/orgrt/server.js +1 -1
  827. package/dist/src/orgrt/server.js.map +1 -1
  828. package/dist/src/orgrt/session.d.ts +32 -4
  829. package/dist/src/orgrt/session.d.ts.map +1 -1
  830. package/dist/src/orgrt/session.js +242 -74
  831. package/dist/src/orgrt/session.js.map +1 -1
  832. package/dist/src/orgrt/state-detector.d.ts.map +1 -1
  833. package/dist/src/orgrt/state-detector.js +6 -2
  834. package/dist/src/orgrt/state-detector.js.map +1 -1
  835. package/dist/src/orgrt/task-dag.d.ts +29 -1
  836. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  837. package/dist/src/orgrt/task-dag.js +76 -12
  838. package/dist/src/orgrt/task-dag.js.map +1 -1
  839. package/dist/src/orgrt/templates.d.ts.map +1 -1
  840. package/dist/src/orgrt/templates.js +198 -36
  841. package/dist/src/orgrt/templates.js.map +1 -1
  842. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  843. package/dist/src/orgrt/test-loop.js +139 -35
  844. package/dist/src/orgrt/test-loop.js.map +1 -1
  845. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  846. package/dist/src/orgrt/tool-fence.js +21 -3
  847. package/dist/src/orgrt/tool-fence.js.map +1 -1
  848. package/dist/src/orgrt/types.d.ts +32 -1
  849. package/dist/src/orgrt/types.d.ts.map +1 -1
  850. package/dist/src/orgrt/types.js +192 -39
  851. package/dist/src/orgrt/types.js.map +1 -1
  852. package/dist/src/orgrt/usage-proxy.d.ts +20 -0
  853. package/dist/src/orgrt/usage-proxy.d.ts.map +1 -1
  854. package/dist/src/orgrt/usage-proxy.js +25 -15
  855. package/dist/src/orgrt/usage-proxy.js.map +1 -1
  856. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  857. package/dist/src/orgrt/vercel-providers.js +11 -1
  858. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  859. package/dist/src/orgrt/vercel-runner.d.ts +1 -1
  860. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  861. package/dist/src/orgrt/vercel-runner.js +3 -5
  862. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  863. package/dist/src/orgrt/vercel-session-store.d.ts +14 -0
  864. package/dist/src/orgrt/vercel-session-store.d.ts.map +1 -1
  865. package/dist/src/orgrt/vercel-session-store.js +3 -3
  866. package/dist/src/orgrt/vercel-session-store.js.map +1 -1
  867. package/dist/src/orgrt/visualization.js +3 -4
  868. package/dist/src/orgrt/visualization.js.map +1 -1
  869. package/dist/src/output.d.ts +1 -1
  870. package/dist/src/output.d.ts.map +1 -1
  871. package/dist/src/output.js +68 -39
  872. package/dist/src/output.js.map +1 -1
  873. package/dist/src/parser.d.ts.map +1 -1
  874. package/dist/src/parser.js +35 -24
  875. package/dist/src/parser.js.map +1 -1
  876. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  877. package/dist/src/pricing/model-pricing.js +3 -7
  878. package/dist/src/pricing/model-pricing.js.map +1 -1
  879. package/dist/src/prompt.d.ts +2 -2
  880. package/dist/src/prompt.d.ts.map +1 -1
  881. package/dist/src/prompt.js +49 -41
  882. package/dist/src/prompt.js.map +1 -1
  883. package/dist/src/routing/embedder.d.ts.map +1 -1
  884. package/dist/src/routing/embedder.js +0 -0
  885. package/dist/src/routing/embedder.js.map +1 -1
  886. package/dist/src/routing/llm-caller.d.ts.map +1 -1
  887. package/dist/src/routing/llm-caller.js +27 -8
  888. package/dist/src/routing/llm-caller.js.map +1 -1
  889. package/dist/src/routing/model-download.d.ts.map +1 -1
  890. package/dist/src/routing/model-download.js +3 -3
  891. package/dist/src/routing/model-download.js.map +1 -1
  892. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  893. package/dist/src/routing/route-layer-factory.js +22 -14
  894. package/dist/src/routing/route-layer-factory.js.map +1 -1
  895. package/dist/src/security/audit-log.d.ts +47 -0
  896. package/dist/src/security/audit-log.d.ts.map +1 -0
  897. package/dist/src/security/audit-log.js +88 -0
  898. package/dist/src/security/audit-log.js.map +1 -0
  899. package/dist/src/services/config-file-manager.d.ts +2 -2
  900. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  901. package/dist/src/services/config-file-manager.js +44 -20
  902. package/dist/src/services/config-file-manager.js.map +1 -1
  903. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  904. package/dist/src/services/crash-reporter.js +44 -16
  905. package/dist/src/services/crash-reporter.js.map +1 -1
  906. package/dist/src/suggest.d.ts +1 -1
  907. package/dist/src/suggest.d.ts.map +1 -1
  908. package/dist/src/suggest.js +57 -57
  909. package/dist/src/suggest.js.map +1 -1
  910. package/dist/src/sync/checker.d.ts.map +1 -1
  911. package/dist/src/sync/checker.js +7 -8
  912. package/dist/src/sync/checker.js.map +1 -1
  913. package/dist/src/transfer/anonymization/index.d.ts +1 -1
  914. package/dist/src/transfer/anonymization/index.js +3 -3
  915. package/dist/src/transfer/anonymization/index.js.map +1 -1
  916. package/dist/src/types.d.ts +4 -4
  917. package/dist/src/types.d.ts.map +1 -1
  918. package/dist/src/ui/collector.mjs +275 -159
  919. package/dist/src/ui/dashboard.html +761 -742
  920. package/dist/src/ui/data/agent-avatars.html +3 -15
  921. package/dist/src/ui/data/agent-avatars.json +11 -27
  922. package/dist/src/ui/markdown.js +243 -62
  923. package/dist/src/ui/mastermind-diagram-fallback.html +29 -29
  924. package/dist/src/ui/orgs-files.js +99 -46
  925. package/dist/src/ui/orgs.html +54 -54
  926. package/dist/src/ui/routes-monograph.mjs +918 -246
  927. package/dist/src/ui/routes-org.mjs +4234 -2369
  928. package/dist/src/ui/server.mjs +142 -106
  929. package/dist/src/update/checker.d.ts.map +1 -1
  930. package/dist/src/update/checker.js +17 -12
  931. package/dist/src/update/checker.js.map +1 -1
  932. package/dist/src/update/executor.d.ts +2 -2
  933. package/dist/src/update/executor.d.ts.map +1 -1
  934. package/dist/src/update/executor.js +21 -11
  935. package/dist/src/update/executor.js.map +1 -1
  936. package/dist/src/update/index.d.ts +6 -6
  937. package/dist/src/update/index.d.ts.map +1 -1
  938. package/dist/src/update/index.js +9 -9
  939. package/dist/src/update/index.js.map +1 -1
  940. package/dist/src/update/rate-limiter.d.ts.map +1 -1
  941. package/dist/src/update/rate-limiter.js +11 -7
  942. package/dist/src/update/rate-limiter.js.map +1 -1
  943. package/dist/src/update/validator.d.ts.map +1 -1
  944. package/dist/src/update/validator.js +8 -12
  945. package/dist/src/update/validator.js.map +1 -1
  946. package/dist/src/utils/cosine-similarity.d.ts.map +1 -1
  947. package/dist/src/utils/cosine-similarity.js.map +1 -1
  948. package/dist/src/utils/input-guards.d.ts +1 -1
  949. package/dist/src/utils/input-guards.d.ts.map +1 -1
  950. package/dist/src/utils/input-guards.js +24 -9
  951. package/dist/src/utils/input-guards.js.map +1 -1
  952. package/dist/src/utils/json-file.d.ts +12 -0
  953. package/dist/src/utils/json-file.d.ts.map +1 -1
  954. package/dist/src/utils/json-file.js +14 -3
  955. package/dist/src/utils/json-file.js.map +1 -1
  956. package/dist/src/utils/parse-jsonl.d.ts.map +1 -1
  957. package/dist/src/utils/parse-jsonl.js +1 -3
  958. package/dist/src/utils/parse-jsonl.js.map +1 -1
  959. package/dist/src/utils/paths.d.ts.map +1 -1
  960. package/dist/src/utils/paths.js +2 -2
  961. package/dist/src/utils/paths.js.map +1 -1
  962. package/dist/src/utils/redaction.d.ts.map +1 -1
  963. package/dist/src/utils/redaction.js +1 -1
  964. package/dist/src/utils/redaction.js.map +1 -1
  965. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  966. package/dist/src/utils/resource-governor.js +38 -14
  967. package/dist/src/utils/resource-governor.js.map +1 -1
  968. package/dist/tsconfig.tsbuildinfo +1 -1
  969. package/package.json +7 -7
  970. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  971. package/.claude/commands/hive-mind/README.md +0 -42
  972. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  973. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  974. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  975. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  976. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  977. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  978. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  979. package/.claude/commands/swarm/README.md +0 -40
  980. package/.claude/commands/swarm/swarm.md +0 -79
  981. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
  982. package/.claude/skills/swarm-advanced/SKILL.md +0 -936
  983. package/dist/src/commands/swarm.d.ts +0 -8
  984. package/dist/src/commands/swarm.d.ts.map +0 -1
  985. package/dist/src/commands/swarm.js.map +0 -1
  986. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
  987. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  988. package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
  989. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  990. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  991. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  992. package/dist/src/mcp-tools/swarm-tools.js +0 -411
  993. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  994. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
  995. package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
  996. package/scripts/deploy-ipfs-node.sh +0 -153
  997. package/scripts/setup-ipfs-registry.md +0 -365
  998. /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
  999. /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
  1000. /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
  1001. /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
  1002. /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
  1003. /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
  1004. /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
  1005. /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
  1006. /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
@@ -2,13 +2,13 @@
2
2
  * Doctor — project/monomind health checks
3
3
  * Config, memory, API keys, MCP, monograph, helpers, routing, gates, gitignore, worker metrics
4
4
  */
5
- import { existsSync, readFileSync, readdirSync, statSync, mkdirSync, copyFileSync, writeFileSync, appendFileSync, rmSync } from 'fs';
6
- import { join, dirname } from 'path';
7
- import { fileURLToPath } from 'url';
8
- import { execSync } from 'child_process';
9
- import { homedir } from 'os';
10
- import { MAX_DOCTOR_PKG_BYTES, MAX_DOCTOR_CONFIG_BYTES, MAX_DOCTOR_GITIGNORE_BYTES, MAX_DOCTOR_HELPER_BYTES, } from './doctor-env-checks.js';
5
+ import { execSync } from 'node:child_process';
6
+ import { appendFileSync, copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync, } from 'node:fs';
7
+ import { homedir } from 'node:os';
8
+ import { dirname, join } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
11
10
  import { DOCTOR_TRACKED_HELPERS } from '../init/helpers-generator.js';
11
+ import { MAX_DOCTOR_CONFIG_BYTES, MAX_DOCTOR_GITIGNORE_BYTES, MAX_DOCTOR_HELPER_BYTES, MAX_DOCTOR_PKG_BYTES, } from './doctor-env-checks.js';
12
12
  export async function checkConfigFile() {
13
13
  const jsonPaths = ['.monomind/config.json', 'monomind.config.json', '.monomind.json'];
14
14
  for (const configPath of jsonPaths) {
@@ -18,7 +18,12 @@ export async function checkConfigFile() {
18
18
  return { name: 'Config File', status: 'pass', message: `Found: ${configPath}` };
19
19
  }
20
20
  catch {
21
- return { name: 'Config File', status: 'fail', message: `Invalid JSON: ${configPath}`, fix: 'Fix JSON syntax in config file' };
21
+ return {
22
+ name: 'Config File',
23
+ status: 'fail',
24
+ message: `Invalid JSON: ${configPath}`,
25
+ fix: 'Fix JSON syntax in config file',
26
+ };
22
27
  }
23
28
  }
24
29
  }
@@ -27,7 +32,12 @@ export async function checkConfigFile() {
27
32
  if (existsSync(configPath))
28
33
  return { name: 'Config File', status: 'pass', message: `Found: ${configPath}` };
29
34
  }
30
- return { name: 'Config File', status: 'warn', message: 'No config file (using defaults)', fix: 'monomind config init' };
35
+ return {
36
+ name: 'Config File',
37
+ status: 'warn',
38
+ message: 'No config file (using defaults)',
39
+ fix: 'monomind config init',
40
+ };
31
41
  }
32
42
  export async function checkMemoryDatabase() {
33
43
  const dbPaths = ['.monomind/memory.db', '.swarm/memory.db', 'data/memory.db'];
@@ -42,7 +52,12 @@ export async function checkMemoryDatabase() {
42
52
  }
43
53
  }
44
54
  }
45
- return { name: 'Memory Database', status: 'warn', message: 'Not initialized', fix: 'monomind memory configure --backend hybrid' };
55
+ return {
56
+ name: 'Memory Database',
57
+ status: 'warn',
58
+ message: 'Not initialized',
59
+ fix: 'monomind memory configure --backend hybrid',
60
+ };
46
61
  }
47
62
  /** Memory knowledge graph (cognee port): entities/relations/rules distilled
48
63
  * from sessions and org runs. Informational — an empty graph on a fresh
@@ -55,16 +70,31 @@ export async function checkMemoryKnowledgeGraph() {
55
70
  const project = await kg.kgStats();
56
71
  const orgDb = join(process.cwd(), '.monomind', 'org-memory');
57
72
  const org = existsSync(orgDb) ? await kg.kgStats({ dbPath: orgDb }) : null;
58
- await bridge.shutdownBridge().catch(() => { });
73
+ await bridge.shutdownBridge().catch(() => {
74
+ /* best effort */
75
+ });
59
76
  const total = project.nodes + (org?.nodes ?? 0);
60
77
  const fmt = (s) => `${s.nodes}n/${s.edges}e/${s.rules}r`;
61
78
  if (total === 0) {
62
- return { name, status: 'warn', message: 'Empty — sessions/org runs have not distilled knowledge yet', fix: 'org runs call org_learn automatically; sessions use memory_kg_ingest' };
79
+ return {
80
+ name,
81
+ status: 'warn',
82
+ message: 'Empty — sessions/org runs have not distilled knowledge yet',
83
+ fix: 'org runs call org_learn automatically; sessions use memory_kg_ingest',
84
+ };
63
85
  }
64
- return { name, status: 'pass', message: `project ${fmt(project)}${org ? ` · org ${fmt(org)}` : ''}` };
86
+ return {
87
+ name,
88
+ status: 'pass',
89
+ message: `project ${fmt(project)}${org ? ` · org ${fmt(org)}` : ''}`,
90
+ };
65
91
  }
66
92
  catch (err) {
67
- return { name, status: 'warn', message: `Check failed: ${err instanceof Error ? err.message : String(err)}` };
93
+ return {
94
+ name,
95
+ status: 'warn',
96
+ message: `Check failed: ${err instanceof Error ? err.message : String(err)}`,
97
+ };
68
98
  }
69
99
  }
70
100
  /** Count live (non-tombstoned) ingested documents under a brain root, without
@@ -102,7 +132,9 @@ export async function checkSecondBrainModel() {
102
132
  projectDocs ? `${projectDocs} project doc${projectDocs === 1 ? '' : 's'}` : null,
103
133
  globalDocs ? `${globalDocs} global doc${globalDocs === 1 ? '' : 's'}` : null,
104
134
  !projectDocs && !globalDocs ? 'monograph god-nodes' : null,
105
- ].filter(Boolean).join(' · ');
135
+ ]
136
+ .filter(Boolean)
137
+ .join(' · ');
106
138
  let entryPath = null;
107
139
  try {
108
140
  // exports map blocks package.json — resolve the entry file, then walk UP
@@ -113,14 +145,21 @@ export async function checkSecondBrainModel() {
113
145
  if (viaEsm)
114
146
  entryPath = fileURLToPath(await viaEsm);
115
147
  }
116
- catch { /* try CJS below */ }
148
+ catch {
149
+ /* try CJS below */
150
+ }
117
151
  if (!entryPath) {
118
152
  try {
119
153
  const { createRequire } = await import('node:module');
120
154
  entryPath = createRequire(import.meta.url).resolve('@huggingface/transformers');
121
155
  }
122
156
  catch {
123
- return { name, status: 'warn', message: '@huggingface/transformers not installed — semantic search degraded to keyword matching', fix: 'reinstall monomind (the model dependency is optional and may have failed to build)' };
157
+ return {
158
+ name,
159
+ status: 'warn',
160
+ message: '@huggingface/transformers not installed — semantic search degraded to keyword matching',
161
+ fix: 'reinstall monomind (the model dependency is optional and may have failed to build)',
162
+ };
124
163
  }
125
164
  }
126
165
  // Walk up from the entry file to the package root (the dir named 'transformers').
@@ -129,31 +168,62 @@ export async function checkSecondBrainModel() {
129
168
  pkgDir = dirname(pkgDir);
130
169
  const modelCache = join(pkgDir, '.cache', 'Xenova');
131
170
  if (pkgDir.endsWith('transformers') && existsSync(modelCache)) {
132
- return { name, status: 'pass', message: `Local embedding model cached — semantic search active (${indexed})` };
171
+ return {
172
+ name,
173
+ status: 'pass',
174
+ message: `Local embedding model cached — semantic search active (${indexed})`,
175
+ };
133
176
  }
134
- return { name, status: 'warn', message: 'Embedding model not downloaded yet — searches use keyword matching until it is', fix: 'run once while online: monomind doc search -q "warmup" (downloads ~90MB locally, one time)' };
177
+ return {
178
+ name,
179
+ status: 'warn',
180
+ message: 'Embedding model not downloaded yet — searches use keyword matching until it is',
181
+ fix: 'run once while online: monomind doc search -q "warmup" (downloads ~90MB locally, one time)',
182
+ };
135
183
  }
136
184
  export async function checkApiKeys() {
137
185
  const keys = ['ANTHROPIC_API_KEY', 'CLAUDE_API_KEY', 'OPENAI_API_KEY'];
138
- const found = keys.filter(k => process.env[k]);
139
- const inClaudeCode = !!(process.env.CLAUDE_CODE || process.env.CLAUDE_PROJECT_DIR || process.env.MCP_SESSION_ID);
186
+ const found = keys.filter((k) => process.env[k]);
187
+ const inClaudeCode = !!(process.env.CLAUDE_CODE ||
188
+ process.env.CLAUDE_PROJECT_DIR ||
189
+ process.env.MCP_SESSION_ID);
140
190
  let claudeCliAvailable = false;
141
191
  try {
142
- execSync('claude --version', { encoding: 'utf-8', stdio: 'pipe', timeout: 5000, windowsHide: true });
192
+ execSync('claude --version', {
193
+ encoding: 'utf-8',
194
+ stdio: 'pipe',
195
+ timeout: 5000,
196
+ windowsHide: true,
197
+ });
143
198
  claudeCliAvailable = true;
144
199
  }
145
- catch { /* not on PATH */ }
200
+ catch {
201
+ /* not on PATH */
202
+ }
146
203
  if (found.includes('ANTHROPIC_API_KEY') || found.includes('CLAUDE_API_KEY')) {
147
204
  return { name: 'API Keys', status: 'pass', message: `Found: ${found.join(', ')}` };
148
205
  }
149
206
  else if (inClaudeCode) {
150
- return { name: 'API Keys', status: 'pass', message: 'Claude Code manages auth (no direct API key needed)' };
207
+ return {
208
+ name: 'API Keys',
209
+ status: 'pass',
210
+ message: 'Claude Code manages auth (no direct API key needed)',
211
+ };
151
212
  }
152
213
  else if (claudeCliAvailable) {
153
- return { name: 'API Keys', status: 'pass', message: 'Using Claude Code CLI auth (no direct API key needed)' };
214
+ return {
215
+ name: 'API Keys',
216
+ status: 'pass',
217
+ message: 'Using Claude Code CLI auth (no direct API key needed)',
218
+ };
154
219
  }
155
220
  else if (found.length > 0) {
156
- return { name: 'API Keys', status: 'warn', message: `Found: ${found.join(', ')} (no Claude key)`, fix: 'export ANTHROPIC_API_KEY=your_key' };
221
+ return {
222
+ name: 'API Keys',
223
+ status: 'warn',
224
+ message: `Found: ${found.join(', ')} (no Claude key)`,
225
+ fix: 'export ANTHROPIC_API_KEY=your_key',
226
+ };
157
227
  }
158
228
  return {
159
229
  name: 'API Keys',
@@ -179,13 +249,29 @@ export async function checkMcpServers() {
179
249
  const count = Object.keys(servers).length;
180
250
  const hasMonomind = 'monomind' in servers || 'monomind_alpha' in servers;
181
251
  if (hasMonomind)
182
- return { name: 'MCP Servers', status: 'pass', message: `${count} servers (monomind configured)` };
183
- return { name: 'MCP Servers', status: 'warn', message: `${count} servers (monomind not found)`, fix: 'claude mcp add monomind -- npx -y monomind@latest mcp start' };
252
+ return {
253
+ name: 'MCP Servers',
254
+ status: 'pass',
255
+ message: `${count} servers (monomind configured)`,
256
+ };
257
+ return {
258
+ name: 'MCP Servers',
259
+ status: 'warn',
260
+ message: `${count} servers (monomind not found)`,
261
+ fix: 'claude mcp add monomind -- npx -y monomind@latest mcp start',
262
+ };
263
+ }
264
+ catch {
265
+ /* try next */
184
266
  }
185
- catch { /* try next */ }
186
267
  }
187
268
  }
188
- return { name: 'MCP Servers', status: 'warn', message: 'No MCP config found', fix: 'claude mcp add monomind -- npx -y monomind@latest mcp start' };
269
+ return {
270
+ name: 'MCP Servers',
271
+ status: 'warn',
272
+ message: 'No MCP config found',
273
+ fix: 'claude mcp add monomind -- npx -y monomind@latest mcp start',
274
+ };
189
275
  }
190
276
  export async function checkMonograph() {
191
277
  try {
@@ -195,31 +281,49 @@ export async function checkMonograph() {
195
281
  try {
196
282
  _globalRoot = execSync('npm root -g', { encoding: 'utf8', timeout: 3000 }).trim();
197
283
  }
198
- catch { /* no npm */ }
284
+ catch {
285
+ /* no npm */
286
+ }
199
287
  const candidates = [
200
288
  join(_base, '..', '..', 'node_modules', '@monomind', 'monograph', 'package.json'),
201
289
  join(_base, '..', '..', '..', '..', 'node_modules', '@monomind', 'monograph', 'package.json'),
202
290
  join(_base, '..', '..', 'node_modules', '@monoes', 'monograph', 'package.json'),
203
291
  join(_base, '..', '..', '..', '..', 'node_modules', '@monoes', 'monograph', 'package.json'),
204
- ...(_globalRoot ? [
205
- join(_globalRoot, '@monomind', 'monograph', 'package.json'),
206
- join(_globalRoot, '@monoes', 'monograph', 'package.json'),
207
- ] : []),
292
+ ...(_globalRoot
293
+ ? [
294
+ join(_globalRoot, '@monomind', 'monograph', 'package.json'),
295
+ join(_globalRoot, '@monoes', 'monograph', 'package.json'),
296
+ ]
297
+ : []),
208
298
  ];
209
- const found = candidates.find(p => existsSync(p) && statSync(p).size <= MAX_DOCTOR_PKG_BYTES);
299
+ const found = candidates.find((p) => existsSync(p) && statSync(p).size <= MAX_DOCTOR_PKG_BYTES);
210
300
  if (found) {
211
301
  try {
212
302
  const pkg = JSON.parse(readFileSync(found, 'utf-8'));
213
- return { name: 'Monograph', status: 'pass', message: `v${pkg.version || '?'} available (knowledge graph engine)` };
303
+ return {
304
+ name: 'Monograph',
305
+ status: 'pass',
306
+ message: `v${pkg.version || '?'} available (knowledge graph engine)`,
307
+ };
214
308
  }
215
309
  catch {
216
310
  return { name: 'Monograph', status: 'pass', message: 'available (knowledge graph engine)' };
217
311
  }
218
312
  }
219
- return { name: 'Monograph', status: 'warn', message: 'Package not found (knowledge graph disabled)', fix: 'npm install -g monomind@latest' };
313
+ return {
314
+ name: 'Monograph',
315
+ status: 'warn',
316
+ message: 'Package not found (knowledge graph disabled)',
317
+ fix: 'npm install -g monomind@latest',
318
+ };
220
319
  }
221
320
  catch {
222
- return { name: 'Monograph', status: 'warn', message: 'Package check failed', fix: 'npm install -g monomind@latest' };
321
+ return {
322
+ name: 'Monograph',
323
+ status: 'warn',
324
+ message: 'Package check failed',
325
+ fix: 'npm install -g monomind@latest',
326
+ };
223
327
  }
224
328
  }
225
329
  export async function checkMonographFreshness() {
@@ -230,39 +334,74 @@ export async function checkMonographFreshness() {
230
334
  const statsPath = join(cwd, '.monomind', 'graph', 'stats.json');
231
335
  const hasDb = existsSync(dbPath);
232
336
  if (!hasDb && !existsSync(statsPath)) {
233
- return { name: 'Graph freshness', status: 'warn', message: 'No monograph graph built yet', fix: 'mcp__monomind__monograph_build codeOnly:true' };
337
+ return {
338
+ name: 'Graph freshness',
339
+ status: 'warn',
340
+ message: 'No monograph graph built yet',
341
+ fix: 'mcp__monomind__monograph_build codeOnly:true',
342
+ };
234
343
  }
235
344
  let buildMs = 0;
236
345
  if (hasDb) {
237
346
  try {
238
347
  buildMs = Math.max(buildMs, statSync(dbPath).mtimeMs);
239
348
  }
240
- catch { /* ignore */ }
349
+ catch {
350
+ /* ignore */
351
+ }
241
352
  }
242
353
  try {
243
354
  buildMs = Math.max(buildMs, statSync(lockPath).mtimeMs);
244
355
  }
245
- catch { /* ignore */ }
356
+ catch {
357
+ /* ignore */
358
+ }
246
359
  try {
247
360
  buildMs = Math.max(buildMs, statSync(statsPath).mtimeMs);
248
361
  }
249
- catch { /* ignore */ }
362
+ catch {
363
+ /* ignore */
364
+ }
250
365
  if (buildMs === 0)
251
- return { name: 'Graph freshness', status: 'warn', message: 'Graph exists but build time unknown' };
366
+ return {
367
+ name: 'Graph freshness',
368
+ status: 'warn',
369
+ message: 'Graph exists but build time unknown',
370
+ };
252
371
  const buildIso = new Date(buildMs).toISOString();
253
372
  let commitsBehind = 0;
254
373
  try {
255
- const out = execSync(`git rev-list --count --since='${buildIso}' HEAD 2>/dev/null`, { encoding: 'utf8', timeout: 2000, cwd }).trim();
374
+ const out = execSync(`git rev-list --count --since='${buildIso}' HEAD 2>/dev/null`, {
375
+ encoding: 'utf8',
376
+ timeout: 2000,
377
+ cwd,
378
+ }).trim();
256
379
  commitsBehind = parseInt(out, 10) || 0;
257
380
  }
258
- catch { /* git unavailable */ }
381
+ catch {
382
+ /* git unavailable */
383
+ }
259
384
  const ageMinutes = Math.floor((Date.now() - buildMs) / 60000);
260
385
  const ageStr = ageMinutes < 60 ? `${ageMinutes}m ago` : `${Math.floor(ageMinutes / 60)}h ago`;
261
386
  if (commitsBehind === 0)
262
- return { name: 'Graph freshness', status: 'pass', message: `FRESH — built ${ageStr}, 0 commits behind` };
387
+ return {
388
+ name: 'Graph freshness',
389
+ status: 'pass',
390
+ message: `FRESH — built ${ageStr}, 0 commits behind`,
391
+ };
263
392
  if (commitsBehind <= 5)
264
- return { name: 'Graph freshness', status: 'warn', message: `${commitsBehind} commit(s) behind — built ${ageStr}`, fix: 'mcp__monomind__monograph_build codeOnly:true' };
265
- return { name: 'Graph freshness', status: 'fail', message: `STALE — ${commitsBehind} commits behind (built ${ageStr})`, fix: 'mcp__monomind__monograph_build codeOnly:true' };
393
+ return {
394
+ name: 'Graph freshness',
395
+ status: 'warn',
396
+ message: `${commitsBehind} commit(s) behind — built ${ageStr}`,
397
+ fix: 'mcp__monomind__monograph_build codeOnly:true',
398
+ };
399
+ return {
400
+ name: 'Graph freshness',
401
+ status: 'fail',
402
+ message: `STALE — ${commitsBehind} commits behind (built ${ageStr})`,
403
+ fix: 'mcp__monomind__monograph_build codeOnly:true',
404
+ };
266
405
  }
267
406
  catch {
268
407
  return { name: 'Graph freshness', status: 'warn', message: 'Could not check graph freshness' };
@@ -276,23 +415,38 @@ export async function checkMonoesMemory() {
276
415
  try {
277
416
  _globalRoot = execSync('npm root -g', { encoding: 'utf8', timeout: 3000 }).trim();
278
417
  }
279
- catch { /* no npm */ }
418
+ catch {
419
+ /* no npm */
420
+ }
280
421
  const candidates = [
281
422
  join(_base, '..', '..', 'node_modules', '@monoes', 'memory', 'package.json'),
282
423
  join(_base, '..', '..', '..', '..', 'node_modules', '@monoes', 'memory', 'package.json'),
283
424
  ...(_globalRoot ? [join(_globalRoot, '@monoes', 'memory', 'package.json')] : []),
284
425
  ];
285
- const found = candidates.find(p => existsSync(p) && statSync(p).size <= MAX_DOCTOR_PKG_BYTES);
426
+ const found = candidates.find((p) => existsSync(p) && statSync(p).size <= MAX_DOCTOR_PKG_BYTES);
286
427
  if (found) {
287
428
  try {
288
429
  const pkg = JSON.parse(readFileSync(found, 'utf-8'));
289
- return { name: 'Vector Memory', status: 'pass', message: `@monoes/memory v${pkg.version || '?'} (HNSW search enabled)` };
430
+ return {
431
+ name: 'Vector Memory',
432
+ status: 'pass',
433
+ message: `@monoes/memory v${pkg.version || '?'} (HNSW search enabled)`,
434
+ };
290
435
  }
291
436
  catch {
292
- return { name: 'Vector Memory', status: 'pass', message: '@monoes/memory available (HNSW search enabled)' };
437
+ return {
438
+ name: 'Vector Memory',
439
+ status: 'pass',
440
+ message: '@monoes/memory available (HNSW search enabled)',
441
+ };
293
442
  }
294
443
  }
295
- return { name: 'Vector Memory', status: 'warn', message: '@monoes/memory not installed (vector search disabled)', fix: 'npm install @monoes/memory' };
444
+ return {
445
+ name: 'Vector Memory',
446
+ status: 'warn',
447
+ message: '@monoes/memory not installed (vector search disabled)',
448
+ fix: 'npm install @monoes/memory',
449
+ };
296
450
  }
297
451
  catch {
298
452
  return { name: 'Vector Memory', status: 'warn', message: 'Vector memory check failed' };
@@ -307,12 +461,16 @@ function _resolveBundledHelper(relativePath) {
307
461
  if (existsSync(candidate) && statSync(candidate).size <= MAX_DOCTOR_PKG_BYTES) {
308
462
  try {
309
463
  const pkg = JSON.parse(readFileSync(candidate, 'utf8'));
310
- if (pkg.name === '@monomind/cli' || pkg.name === 'monomind' || pkg.name === '@monoes/monomindcli') {
464
+ if (pkg.name === '@monomind/cli' ||
465
+ pkg.name === 'monomind' ||
466
+ pkg.name === '@monoes/monomindcli') {
311
467
  const helperPath = join(dir, relativePath);
312
468
  return existsSync(helperPath) ? helperPath : null;
313
469
  }
314
470
  }
315
- catch { /* keep walking */ }
471
+ catch {
472
+ /* keep walking */
473
+ }
316
474
  }
317
475
  const parent = dirname(dir);
318
476
  if (parent === dir)
@@ -344,7 +502,9 @@ function _allTrackedHelperNames() {
344
502
  names.push(join(sub, f));
345
503
  }
346
504
  }
347
- catch { /* skip */ }
505
+ catch {
506
+ /* skip */
507
+ }
348
508
  }
349
509
  return names;
350
510
  }
@@ -375,7 +535,9 @@ async function _detectStaleHelpers() {
375
535
  if (hashLocal !== hashBundled)
376
536
  stale.push(name);
377
537
  }
378
- catch { /* skip */ }
538
+ catch {
539
+ /* skip */
540
+ }
379
541
  }
380
542
  return { stale, missing };
381
543
  }
@@ -403,15 +565,33 @@ export async function checkHelpersFresh() {
403
565
  try {
404
566
  const { stale, missing } = await _detectStaleHelpers();
405
567
  if (stale.length === 0 && missing.length === 0) {
406
- return { name: 'Helper Files', status: 'pass', message: 'Project helpers match bundled version' };
568
+ return {
569
+ name: 'Helper Files',
570
+ status: 'pass',
571
+ message: 'Project helpers match bundled version',
572
+ };
407
573
  }
408
574
  if (stale.length > 0) {
409
- return { name: 'Helper Files', status: 'warn', message: `${stale.length} stale helper(s): ${stale.join(', ')}`, fix: 'monomind init upgrade' };
575
+ return {
576
+ name: 'Helper Files',
577
+ status: 'warn',
578
+ message: `${stale.length} stale helper(s): ${stale.join(', ')}`,
579
+ fix: 'monomind init upgrade',
580
+ };
410
581
  }
411
- return { name: 'Helper Files', status: 'warn', message: `Could not locate bundled copies of: ${missing.join(', ')}`, fix: 'Reinstall monomind or run `monomind init upgrade`' };
582
+ return {
583
+ name: 'Helper Files',
584
+ status: 'warn',
585
+ message: `Could not locate bundled copies of: ${missing.join(', ')}`,
586
+ fix: 'Reinstall monomind or run `monomind init upgrade`',
587
+ };
412
588
  }
413
589
  catch (e) {
414
- return { name: 'Helper Files', status: 'warn', message: `check failed: ${e instanceof Error ? e.message : 'unknown'}` };
590
+ return {
591
+ name: 'Helper Files',
592
+ status: 'warn',
593
+ message: `check failed: ${e instanceof Error ? e.message : 'unknown'}`,
594
+ };
415
595
  }
416
596
  }
417
597
  function fmtPct(v) {
@@ -426,7 +606,9 @@ async function routingAccuracyLine() {
426
606
  const adhStr = ` | adherence ${fmtPct(adh.adherence)} (n=${adh.sample})`;
427
607
  if (acc.accuracy === null)
428
608
  return `routing accuracy (last 100): no outcome data yet${adhStr}`;
429
- const trend = acc.recentVsPrior === null ? '' : ` trend ${acc.recentVsPrior >= 0 ? '+' : ''}${Math.round(acc.recentVsPrior * 100)}%`;
609
+ const trend = acc.recentVsPrior === null
610
+ ? ''
611
+ : ` trend ${acc.recentVsPrior >= 0 ? '+' : ''}${Math.round(acc.recentVsPrior * 100)}%`;
430
612
  return `routing accuracy (last ${acc.window}): ${fmtPct(acc.accuracy)} [native ${fmtPct(acc.byMode.native)} / js ${fmtPct(acc.byMode.js)}]${trend}${adhStr}`;
431
613
  }
432
614
  catch (e) {
@@ -441,32 +623,49 @@ function routingFeedbackFallback() {
441
623
  const p = join(process.cwd(), '.monomind', 'routing-feedback.jsonl');
442
624
  if (!existsSync(p) || statSync(p).size > 512 * 1024)
443
625
  return null;
444
- const records = readFileSync(p, 'utf-8').trim().split('\n').filter(Boolean).map(l => {
626
+ const records = readFileSync(p, 'utf-8')
627
+ .trim()
628
+ .split('\n')
629
+ .filter(Boolean)
630
+ .map((l) => {
445
631
  try {
446
632
  return JSON.parse(l);
447
633
  }
448
634
  catch {
449
635
  return null;
450
636
  }
451
- }).filter((r) => r !== null);
637
+ })
638
+ .filter((r) => r !== null);
452
639
  if (records.length === 0)
453
640
  return null;
454
- const sessions = new Set(records.map(r => r.sessionId).filter(Boolean));
641
+ const sessions = new Set(records.map((r) => r.sessionId).filter(Boolean));
455
642
  const byAgent = new Map();
456
643
  for (const r of records) {
457
644
  const a = typeof r.suggestedAgent === 'string' ? r.suggestedAgent : 'unknown';
458
645
  byAgent.set(a, (byAgent.get(a) ?? 0) + 1);
459
646
  }
460
- const top = [...byAgent.entries()].sort((a, b) => b[1] - a[1]).slice(0, 3).map(([a, n]) => `${a}=${n}`).join(', ');
461
- const flags = records.map(r => r.intelligenceFeedback).filter((v) => typeof v === 'boolean');
647
+ const top = [...byAgent.entries()]
648
+ .sort((a, b) => b[1] - a[1])
649
+ .slice(0, 3)
650
+ .map(([a, n]) => `${a}=${n}`)
651
+ .join(', ');
652
+ const flags = records
653
+ .map((r) => r.intelligenceFeedback)
654
+ .filter((v) => typeof v === 'boolean');
462
655
  const trueCount = flags.filter(Boolean).length;
463
656
  const base = `routing feedback (fallback): ${records.length} decisions across ${sessions.size} sessions; top agents: ${top}`;
464
657
  if (flags.length > 0 && trueCount === flags.length) {
465
- return { message: `${base}; success flag is degenerate (100% true — sessionSuccess heuristic never records failure)`, degenerate: true };
658
+ return {
659
+ message: `${base}; success flag is degenerate (100% true — sessionSuccess heuristic never records failure)`,
660
+ degenerate: true,
661
+ };
466
662
  }
467
663
  if (flags.length === 0)
468
664
  return { message: `${base}; no evidence-based success flags yet`, degenerate: true };
469
- return { message: `${base}; success rate ${Math.round((trueCount / flags.length) * 100)}% (n=${flags.length})`, degenerate: false };
665
+ return {
666
+ message: `${base}; success rate ${Math.round((trueCount / flags.length) * 100)}% (n=${flags.length})`,
667
+ degenerate: false,
668
+ };
470
669
  }
471
670
  catch (e) {
472
671
  if (process.env.DEBUG || process.env.MONOMIND_DEBUG)
@@ -480,12 +679,20 @@ export async function checkMonoesIntegration() {
480
679
  if (line.startsWith('routing accuracy (last 100): no outcome data yet')) {
481
680
  const fb = routingFeedbackFallback();
482
681
  if (fb)
483
- return { name: 'Routing Learning', status: fb.degenerate ? 'warn' : 'pass', message: fb.message };
682
+ return {
683
+ name: 'Routing Learning',
684
+ status: fb.degenerate ? 'warn' : 'pass',
685
+ message: fb.message,
686
+ };
484
687
  }
485
688
  return { name: 'Routing Learning', status: 'pass', message: line };
486
689
  }
487
690
  catch (err) {
488
- return { name: 'Routing Learning', status: 'warn', message: `Could not compute routing accuracy: ${err instanceof Error ? err.message : String(err)}` };
691
+ return {
692
+ name: 'Routing Learning',
693
+ status: 'warn',
694
+ message: `Could not compute routing accuracy: ${err instanceof Error ? err.message : String(err)}`,
695
+ };
489
696
  }
490
697
  }
491
698
  const REQUIRED_GITIGNORE_PATTERNS = [
@@ -501,14 +708,16 @@ const REQUIRED_GITIGNORE_PATTERNS = [
501
708
  { pattern: 'data/mastermind-*.json', reason: 'mastermind session data' },
502
709
  { pattern: 'data/mastermind-*.jsonl', reason: 'mastermind event logs' },
503
710
  { pattern: '**/.claude-flow/', reason: 'claude-flow runtime data with paths' },
504
- { pattern: '.hive-mind/', reason: 'hive-mind state with session info' },
505
- { pattern: '.swarm/', reason: 'swarm state files' },
711
+ { pattern: '.monomind/monoswarm/', reason: 'monoswarm state files' },
506
712
  ];
507
713
  /** Strip the parts that don't change what a pattern matches, so `**​/.monomind/`,
508
714
  * `.monomind/` and `.monomind` all compare equal. A gitignore pattern with no
509
715
  * leading slash already matches at every depth, so `**​/` is redundant. */
510
716
  function normalizeGitignorePattern(p) {
511
- return p.replace(/^\/+/, '').replace(/^\*\*\//, '').replace(/\/+$/, '');
717
+ return p
718
+ .replace(/^\/+/, '')
719
+ .replace(/^\*\*\//, '')
720
+ .replace(/\/+$/, '');
512
721
  }
513
722
  /** True when ignoring `line` already protects everything `required` covers.
514
723
  * Beyond exact matches this understands directory containment: a repo with a
@@ -533,17 +742,34 @@ export async function checkGitignoreCoverage() {
533
742
  // writes a literal backslash-n (sh/bash echo does not interpret escapes
534
743
  // without -e) — one junk line matching nothing. `--fix` now writes the file
535
744
  // directly, so point at that rather than at a command to copy-paste.
536
- return { name: 'Gitignore Coverage', status: 'warn', message: 'No .gitignore found — all monomind runtime paths are unprotected', fix: 'monomind doctor --fix (creates .gitignore covering .monomind/ and secrets)' };
745
+ return {
746
+ name: 'Gitignore Coverage',
747
+ status: 'warn',
748
+ message: 'No .gitignore found — all monomind runtime paths are unprotected',
749
+ fix: 'monomind doctor --fix (creates .gitignore covering .monomind/ and secrets)',
750
+ };
537
751
  }
538
752
  if (statSync(gitignorePath).size > MAX_DOCTOR_GITIGNORE_BYTES) {
539
753
  return { name: 'Gitignore Coverage', status: 'warn', message: '.gitignore too large to parse' };
540
754
  }
541
- const lines = readFileSync(gitignorePath, 'utf-8').split('\n').map(l => l.trim()).filter(l => l && !l.startsWith('#'));
542
- const missing = REQUIRED_GITIGNORE_PATTERNS.filter(({ pattern }) => !lines.some(l => gitignoreLineCovers(l, pattern)));
755
+ const lines = readFileSync(gitignorePath, 'utf-8')
756
+ .split('\n')
757
+ .map((l) => l.trim())
758
+ .filter((l) => l && !l.startsWith('#'));
759
+ const missing = REQUIRED_GITIGNORE_PATTERNS.filter(({ pattern }) => !lines.some((l) => gitignoreLineCovers(l, pattern)));
543
760
  if (missing.length === 0)
544
- return { name: 'Gitignore Coverage', status: 'pass', message: 'All monomind runtime paths are gitignored' };
545
- const missingList = missing.map(m => m.pattern).join(', ');
546
- return { name: 'Gitignore Coverage', status: 'warn', message: `${missing.length} runtime path(s) not in .gitignore: ${missingList}`, fix: 'monomind doctor --fix (appends the missing entries)' };
761
+ return {
762
+ name: 'Gitignore Coverage',
763
+ status: 'pass',
764
+ message: 'All monomind runtime paths are gitignored',
765
+ };
766
+ const missingList = missing.map((m) => m.pattern).join(', ');
767
+ return {
768
+ name: 'Gitignore Coverage',
769
+ status: 'warn',
770
+ message: `${missing.length} runtime path(s) not in .gitignore: ${missingList}`,
771
+ fix: 'monomind doctor --fix (appends the missing entries)',
772
+ };
547
773
  }
548
774
  /** Patterns written by `doctor --fix` when there is no .gitignore at all.
549
775
  * Covers monomind runtime state plus the standard secrets files, since a repo
@@ -552,8 +778,7 @@ const GITIGNORE_FIX_PATTERNS = [
552
778
  '# monomind runtime state',
553
779
  '.monomind/',
554
780
  '**/.monomind/',
555
- '.hive-mind/',
556
- '.swarm/',
781
+ '.monomind/monoswarm/',
557
782
  '**/.claude-flow/',
558
783
  'data/sessions/',
559
784
  'data/mastermind-*.json',
@@ -576,16 +801,17 @@ export async function fixGitignoreCoverage() {
576
801
  const gitignorePath = join(process.cwd(), '.gitignore');
577
802
  try {
578
803
  if (!existsSync(gitignorePath)) {
579
- writeFileSync(gitignorePath, GITIGNORE_FIX_PATTERNS.join('\n') + '\n', 'utf-8');
804
+ writeFileSync(gitignorePath, `${GITIGNORE_FIX_PATTERNS.join('\n')}\n`, 'utf-8');
580
805
  return true;
581
806
  }
582
807
  if (statSync(gitignorePath).size > MAX_DOCTOR_GITIGNORE_BYTES)
583
808
  return false;
584
809
  const existing = readFileSync(gitignorePath, 'utf-8');
585
- const lines = existing.split('\n').map(l => l.trim()).filter(l => l && !l.startsWith('#'));
586
- const missing = REQUIRED_GITIGNORE_PATTERNS
587
- .map(m => m.pattern)
588
- .filter(pattern => !lines.some(l => gitignoreLineCovers(l, pattern)));
810
+ const lines = existing
811
+ .split('\n')
812
+ .map((l) => l.trim())
813
+ .filter((l) => l && !l.startsWith('#'));
814
+ const missing = REQUIRED_GITIGNORE_PATTERNS.map((m) => m.pattern).filter((pattern) => !lines.some((l) => gitignoreLineCovers(l, pattern)));
589
815
  if (missing.length === 0)
590
816
  return false;
591
817
  const prefix = existing.endsWith('\n') || existing === '' ? '' : '\n';
@@ -609,7 +835,12 @@ export async function checkAgentRegistry() {
609
835
  const registry = buildUnifiedRegistry(roots, join(outDir, 'registry.json'));
610
836
  const entries = registry.agents;
611
837
  if (entries.length === 0) {
612
- return { name: 'Agent Registry', status: 'warn', message: 'No agents found under .claude/agents', fix: 'monomind init (installs agent definitions)' };
838
+ return {
839
+ name: 'Agent Registry',
840
+ status: 'warn',
841
+ message: 'No agents found under .claude/agents',
842
+ fix: 'monomind init (installs agent definitions)',
843
+ };
613
844
  }
614
845
  let missingSlug = 0, missingName = 0, missingDescription = 0;
615
846
  for (const agent of entries) {
@@ -622,13 +853,19 @@ export async function checkAgentRegistry() {
622
853
  }
623
854
  const total = missingSlug + missingName + missingDescription;
624
855
  if (total === 0) {
625
- return { name: 'Agent Registry', status: 'pass', message: `${entries.length} agent(s), all metadata complete` };
856
+ return {
857
+ name: 'Agent Registry',
858
+ status: 'pass',
859
+ message: `${entries.length} agent(s), all metadata complete`,
860
+ };
626
861
  }
627
862
  const parts = [
628
863
  missingSlug > 0 ? `${missingSlug} missing slug` : null,
629
864
  missingName > 0 ? `${missingName} missing name` : null,
630
865
  missingDescription > 0 ? `${missingDescription} missing description` : null,
631
- ].filter(Boolean).join(', ');
866
+ ]
867
+ .filter(Boolean)
868
+ .join(', ');
632
869
  return {
633
870
  name: 'Agent Registry',
634
871
  status: 'warn',
@@ -637,21 +874,39 @@ export async function checkAgentRegistry() {
637
874
  };
638
875
  }
639
876
  catch {
640
- return { name: 'Agent Registry', status: 'warn', message: 'Could not build/parse agent registry' };
877
+ return {
878
+ name: 'Agent Registry',
879
+ status: 'warn',
880
+ message: 'Could not build/parse agent registry',
881
+ };
641
882
  }
642
883
  }
643
884
  export async function checkGuidanceGates() {
644
885
  const settingsPath = join(process.cwd(), '.claude', 'settings.json');
645
886
  const gatesHandlerPath = join(process.cwd(), '.claude', 'helpers', 'handlers', 'gates-handler.cjs');
646
887
  if (!existsSync(gatesHandlerPath)) {
647
- return { name: 'Guidance Gates', status: 'warn', message: 'gates-handler.cjs not found — enforcement gates not installed', fix: 'monomind init (then monomind guidance setup)' };
888
+ return {
889
+ name: 'Guidance Gates',
890
+ status: 'warn',
891
+ message: 'gates-handler.cjs not found — enforcement gates not installed',
892
+ fix: 'monomind init (then monomind guidance setup)',
893
+ };
648
894
  }
649
895
  if (!existsSync(settingsPath)) {
650
- return { name: 'Guidance Gates', status: 'warn', message: 'gates-handler.cjs present but .claude/settings.json missing', fix: 'monomind guidance setup' };
896
+ return {
897
+ name: 'Guidance Gates',
898
+ status: 'warn',
899
+ message: 'gates-handler.cjs present but .claude/settings.json missing',
900
+ fix: 'monomind guidance setup',
901
+ };
651
902
  }
652
903
  try {
653
904
  if (statSync(settingsPath).size > MAX_DOCTOR_CONFIG_BYTES) {
654
- return { name: 'Guidance Gates', status: 'warn', message: 'settings.json too large to parse' };
905
+ return {
906
+ name: 'Guidance Gates',
907
+ status: 'warn',
908
+ message: 'settings.json too large to parse',
909
+ };
655
910
  }
656
911
  const settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
657
912
  const preToolUse = settings?.hooks?.PreToolUse ?? [];
@@ -662,18 +917,42 @@ export async function checkGuidanceGates() {
662
917
  // INACTIVE the moment it did, telling users their secrets gate was off
663
918
  // while it was demonstrably blocking secrets, and sending them to
664
919
  // `guidance setup`, which would then add a duplicate entry.
665
- const hasPreWrite = preToolUse.some(e => /\bWrite\b/.test(e.matcher ?? '') && e.hooks.some(h => h.command?.includes('pre-write')));
666
- const hasPreBash = preToolUse.some(e => e.matcher === 'Bash' && e.hooks.some(h => h.command?.includes('pre-bash')));
920
+ const hasPreWrite = preToolUse.some((e) => /\bWrite\b/.test(e.matcher ?? '') && e.hooks.some((h) => h.command?.includes('pre-write')));
921
+ const hasPreBash = preToolUse.some((e) => e.matcher === 'Bash' && e.hooks.some((h) => h.command?.includes('pre-bash')));
667
922
  if (!hasPreWrite && !hasPreBash)
668
- return { name: 'Guidance Gates', status: 'warn', message: 'gates-handler.cjs present but no gates registered', fix: 'monomind guidance setup' };
923
+ return {
924
+ name: 'Guidance Gates',
925
+ status: 'warn',
926
+ message: 'gates-handler.cjs present but no gates registered',
927
+ fix: 'monomind guidance setup',
928
+ };
669
929
  if (!hasPreWrite)
670
- return { name: 'Guidance Gates', status: 'warn', message: 'pre-write hook not registered — secrets gate inactive', fix: 'monomind guidance setup' };
930
+ return {
931
+ name: 'Guidance Gates',
932
+ status: 'warn',
933
+ message: 'pre-write hook not registered — secrets gate inactive',
934
+ fix: 'monomind guidance setup',
935
+ };
671
936
  if (!hasPreBash)
672
- return { name: 'Guidance Gates', status: 'warn', message: 'pre-bash hook not registered — destructive-ops gate inactive', fix: 'monomind guidance setup' };
673
- return { name: 'Guidance Gates', status: 'pass', message: 'destructive-ops (pre-bash) + secrets (pre-write) gates active' };
937
+ return {
938
+ name: 'Guidance Gates',
939
+ status: 'warn',
940
+ message: 'pre-bash hook not registered — destructive-ops gate inactive',
941
+ fix: 'monomind guidance setup',
942
+ };
943
+ return {
944
+ name: 'Guidance Gates',
945
+ status: 'pass',
946
+ message: 'destructive-ops (pre-bash) + secrets (pre-write) gates active',
947
+ };
674
948
  }
675
949
  catch {
676
- return { name: 'Guidance Gates', status: 'warn', message: 'Could not parse .claude/settings.json', fix: 'monomind guidance setup --force' };
950
+ return {
951
+ name: 'Guidance Gates',
952
+ status: 'warn',
953
+ message: 'Could not parse .claude/settings.json',
954
+ fix: 'monomind guidance setup --force',
955
+ };
677
956
  }
678
957
  }
679
958
  // Workers refresh at session start when output is >6h old — allow a grace
@@ -702,11 +981,19 @@ function readMetricsJSON(name) {
702
981
  export async function checkMetricsFreshness() {
703
982
  const metricsDir = join(process.cwd(), '.monomind', 'metrics');
704
983
  const knownOutputs = [
705
- 'codebase-map.json', 'security-audit.json', 'performance.json',
706
- 'consolidation.json', 'ddd-progress.json',
984
+ 'codebase-map.json',
985
+ 'security-audit.json',
986
+ 'performance.json',
987
+ 'consolidation.json',
988
+ 'ddd-progress.json',
707
989
  ];
708
990
  if (!existsSync(metricsDir)) {
709
- return { name: 'Worker Metrics', status: 'warn', message: 'No .monomind/metrics — workers have not run yet (they run at session start)', fix: 'monomind hooks worker run map' };
991
+ return {
992
+ name: 'Worker Metrics',
993
+ status: 'warn',
994
+ message: 'No .monomind/metrics — workers have not run yet (they run at session start)',
995
+ fix: 'monomind hooks worker run map',
996
+ };
710
997
  }
711
998
  const now = Date.now();
712
999
  const fresh = [];
@@ -722,19 +1009,30 @@ export async function checkMetricsFreshness() {
722
1009
  else
723
1010
  stale.push(name);
724
1011
  }
725
- catch { /* skip unreadable */ }
1012
+ catch {
1013
+ /* skip unreadable */
1014
+ }
726
1015
  }
727
1016
  if (fresh.length === 0 && stale.length === 0) {
728
- return { name: 'Worker Metrics', status: 'warn', message: 'No worker output files found yet (they run at session start)', fix: 'monomind hooks worker run map' };
1017
+ return {
1018
+ name: 'Worker Metrics',
1019
+ status: 'warn',
1020
+ message: 'No worker output files found yet (they run at session start)',
1021
+ fix: 'monomind hooks worker run map',
1022
+ };
729
1023
  }
730
1024
  if (stale.length === 0) {
731
- return { name: 'Worker Metrics', status: 'pass', message: `${fresh.length} metrics file(s) fresh (<12h)` };
1025
+ return {
1026
+ name: 'Worker Metrics',
1027
+ status: 'pass',
1028
+ message: `${fresh.length} metrics file(s) fresh (<12h)`,
1029
+ };
732
1030
  }
733
1031
  return {
734
1032
  name: 'Worker Metrics',
735
1033
  status: 'warn',
736
1034
  message: `${stale.length} stale (>12h): ${stale.join(', ')}${fresh.length > 0 ? ` — ${fresh.length} fresh` : ''}`,
737
- fix: 'monomind hooks worker run <name> # map, audit, optimize, consolidate, ddd',
1035
+ fix: 'monomind hooks worker run <name> # map, audit, consolidate, ddd',
738
1036
  };
739
1037
  }
740
1038
  /**
@@ -743,12 +1041,18 @@ export async function checkMetricsFreshness() {
743
1041
  export async function checkSecurityAuditFindings() {
744
1042
  const audit = readMetricsJSON('security-audit.json');
745
1043
  if (!audit) {
746
- return { name: 'Security Audit', status: 'warn', message: 'No security-audit.json yet', fix: 'monomind hooks worker run audit' };
1044
+ return {
1045
+ name: 'Security Audit',
1046
+ status: 'warn',
1047
+ message: 'No security-audit.json yet',
1048
+ fix: 'monomind hooks worker run audit',
1049
+ };
747
1050
  }
748
1051
  const riskLevel = (audit.riskLevel || 'low').toLowerCase();
749
1052
  const recommendations = audit.recommendations || [];
750
1053
  const priorityTargets = audit.priorityScanTargets || [];
751
- const criticalCount = recommendations.length + (riskLevel === 'high' || riskLevel === 'critical' ? priorityTargets.length : 0);
1054
+ const criticalCount = recommendations.length +
1055
+ (riskLevel === 'high' || riskLevel === 'critical' ? priorityTargets.length : 0);
752
1056
  if (riskLevel === 'critical' || riskLevel === 'high') {
753
1057
  return {
754
1058
  name: 'Security Audit',
@@ -758,7 +1062,11 @@ export async function checkSecurityAuditFindings() {
758
1062
  };
759
1063
  }
760
1064
  if (recommendations.length > 0) {
761
- return { name: 'Security Audit', status: 'warn', message: `risk=${riskLevel}, ${recommendations.length} recommendation(s)` };
1065
+ return {
1066
+ name: 'Security Audit',
1067
+ status: 'warn',
1068
+ message: `risk=${riskLevel}, ${recommendations.length} recommendation(s)`,
1069
+ };
762
1070
  }
763
1071
  return { name: 'Security Audit', status: 'pass', message: `risk=${riskLevel}, no open findings` };
764
1072
  }
@@ -786,7 +1094,11 @@ export async function checkMemoryProficiency() {
786
1094
  return { name: 'Memory Proficiency', status: 'pass', message: msg };
787
1095
  }
788
1096
  catch {
789
- return { name: 'Memory Proficiency', status: 'warn', message: 'Could not load intelligence module' };
1097
+ return {
1098
+ name: 'Memory Proficiency',
1099
+ status: 'warn',
1100
+ message: 'Could not load intelligence module',
1101
+ };
790
1102
  }
791
1103
  }
792
1104
  /** AppleDouble sidecars (`._name`) under `.claude/`.
@@ -808,7 +1120,10 @@ export async function checkAppleDoubleSidecars() {
808
1120
  const found = findAppleDoubleSidecars(process.cwd());
809
1121
  if (found.length === 0)
810
1122
  return { name, status: 'pass', message: 'None under .claude/' };
811
- const shown = found.slice(0, 3).map(p => p.replace(process.cwd() + '/', '')).join(', ');
1123
+ const shown = found
1124
+ .slice(0, 3)
1125
+ .map((p) => p.replace(`${process.cwd()}/`, ''))
1126
+ .join(', ');
812
1127
  return {
813
1128
  name,
814
1129
  status: 'warn',
@@ -860,8 +1175,55 @@ export function fixAppleDoubleSidecars(cwd) {
860
1175
  rmSync(f, { force: true });
861
1176
  removed++;
862
1177
  }
863
- catch { /* best effort */ }
1178
+ catch {
1179
+ /* best effort */
1180
+ }
864
1181
  }
865
1182
  return removed;
866
1183
  }
1184
+ /** Second Brain document ingestion: whether the "documents" capability is
1185
+ * active for this project. Read directly from capabilities.json rather than
1186
+ * re-running the directory scan — doctor should report on what's actually
1187
+ * activated, not re-detect. */
1188
+ function isDocumentsCapabilityActive(cwd) {
1189
+ try {
1190
+ const capsPath = join(cwd, '.monomind', 'capabilities.json');
1191
+ if (!existsSync(capsPath))
1192
+ return false;
1193
+ const parsed = JSON.parse(readFileSync(capsPath, 'utf8'));
1194
+ return Array.isArray(parsed.active) && parsed.active.includes('documents');
1195
+ }
1196
+ catch {
1197
+ return false;
1198
+ }
1199
+ }
1200
+ /** Per-extractor health for Second Brain document ingestion (MEM-8/MEM-9):
1201
+ * one check per format family (PDF, DOCX, XLSX/XLS/ODS, PPTX/ODT/ODP/EPUB,
1202
+ * legacy DOC/PPT/Pages) instead of a single blanket "documents" check, so
1203
+ * `doctor` can report exactly which formats are functional vs broken.
1204
+ * No-op (empty array) when the documents capability isn't active — nothing
1205
+ * to report if this project doesn't ingest documents. */
1206
+ export async function checkDocumentExtractors() {
1207
+ if (!isDocumentsCapabilityActive(process.cwd()))
1208
+ return [];
1209
+ try {
1210
+ const { documentsCapability } = await import('../capabilities/cap-documents.js');
1211
+ const checks = (await documentsCapability.healthChecks?.()) ?? [];
1212
+ return checks.map((c) => ({
1213
+ name: c.name,
1214
+ status: c.status,
1215
+ message: c.message,
1216
+ fix: c.hint ?? c.fix,
1217
+ }));
1218
+ }
1219
+ catch (err) {
1220
+ return [
1221
+ {
1222
+ name: 'Document Extractors',
1223
+ status: 'warn',
1224
+ message: `Check failed: ${err instanceof Error ? err.message : String(err)}`,
1225
+ },
1226
+ ];
1227
+ }
1228
+ }
867
1229
  //# sourceMappingURL=doctor-project-checks.js.map