@monoes/monomindcli 2.9.23 → 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 (857) hide show
  1. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  2. package/dist/src/agents/registry-builder.js +8 -9
  3. package/dist/src/agents/registry-builder.js.map +1 -1
  4. package/dist/src/autopilot-state.js +6 -6
  5. package/dist/src/autopilot-state.js.map +1 -1
  6. package/dist/src/browser/action-builder/analyzer.d.ts.map +1 -1
  7. package/dist/src/browser/action-builder/analyzer.js +6 -6
  8. package/dist/src/browser/action-builder/analyzer.js.map +1 -1
  9. package/dist/src/browser/action-builder/types.d.ts.map +1 -1
  10. package/dist/src/browser/adapters/gemini.d.ts.map +1 -1
  11. package/dist/src/browser/adapters/index.d.ts.map +1 -1
  12. package/dist/src/browser/adapters/index.js +2 -2
  13. package/dist/src/browser/adapters/index.js.map +1 -1
  14. package/dist/src/browser/adapters/instagram.d.ts.map +1 -1
  15. package/dist/src/browser/adapters/linkedin.d.ts.map +1 -1
  16. package/dist/src/browser/adapters/linkedin.js +9 -1
  17. package/dist/src/browser/adapters/linkedin.js.map +1 -1
  18. package/dist/src/browser/adapters/x.d.ts.map +1 -1
  19. package/dist/src/browser/adapters/x.js +14 -2
  20. package/dist/src/browser/adapters/x.js.map +1 -1
  21. package/dist/src/browser/dashboard/server.d.ts.map +1 -1
  22. package/dist/src/browser/dashboard/server.js +22 -12
  23. package/dist/src/browser/dashboard/server.js.map +1 -1
  24. package/dist/src/browser/dashboard/ui.html +3 -3
  25. package/dist/src/browser/workflow/engine.d.ts +1 -1
  26. package/dist/src/browser/workflow/engine.d.ts.map +1 -1
  27. package/dist/src/browser/workflow/engine.js +74 -25
  28. package/dist/src/browser/workflow/engine.js.map +1 -1
  29. package/dist/src/browser/workflow/store.d.ts +1 -1
  30. package/dist/src/browser/workflow/store.d.ts.map +1 -1
  31. package/dist/src/browser/workflow/store.js +54 -26
  32. package/dist/src/browser/workflow/store.js.map +1 -1
  33. package/dist/src/browser/workflow/types.d.ts.map +1 -1
  34. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  35. package/dist/src/capabilities/cap-code.js.map +1 -1
  36. package/dist/src/capabilities/cap-data.d.ts.map +1 -1
  37. package/dist/src/capabilities/cap-data.js +28 -8
  38. package/dist/src/capabilities/cap-data.js.map +1 -1
  39. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  40. package/dist/src/capabilities/cap-documents.js +93 -22
  41. package/dist/src/capabilities/cap-documents.js.map +1 -1
  42. package/dist/src/capabilities/cap-graph.d.ts.map +1 -1
  43. package/dist/src/capabilities/cap-graph.js +3 -3
  44. package/dist/src/capabilities/cap-graph.js.map +1 -1
  45. package/dist/src/capabilities/cap-media.d.ts.map +1 -1
  46. package/dist/src/capabilities/cap-media.js +1 -1
  47. package/dist/src/capabilities/cap-media.js.map +1 -1
  48. package/dist/src/capabilities/cap-timeline.d.ts.map +1 -1
  49. package/dist/src/capabilities/cap-timeline.js +33 -7
  50. package/dist/src/capabilities/cap-timeline.js.map +1 -1
  51. package/dist/src/capabilities/index.d.ts +5 -5
  52. package/dist/src/capabilities/index.d.ts.map +1 -1
  53. package/dist/src/capabilities/index.js +5 -5
  54. package/dist/src/capabilities/index.js.map +1 -1
  55. package/dist/src/capabilities/manager.d.ts.map +1 -1
  56. package/dist/src/capabilities/manager.js +6 -6
  57. package/dist/src/capabilities/manager.js.map +1 -1
  58. package/dist/src/capabilities/scanner.d.ts.map +1 -1
  59. package/dist/src/capabilities/scanner.js +103 -14
  60. package/dist/src/capabilities/scanner.js.map +1 -1
  61. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  62. package/dist/src/commands/agent-lifecycle.js +116 -32
  63. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  64. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  65. package/dist/src/commands/agent-ops.js +72 -19
  66. package/dist/src/commands/agent-ops.js.map +1 -1
  67. package/dist/src/commands/agent.d.ts.map +1 -1
  68. package/dist/src/commands/agent.js +11 -3
  69. package/dist/src/commands/agent.js.map +1 -1
  70. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  71. package/dist/src/commands/analyze-ast.js +41 -16
  72. package/dist/src/commands/analyze-ast.js.map +1 -1
  73. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  74. package/dist/src/commands/analyze-diff.js +147 -35
  75. package/dist/src/commands/analyze-diff.js.map +1 -1
  76. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  77. package/dist/src/commands/analyze-imports.js +59 -16
  78. package/dist/src/commands/analyze-imports.js.map +1 -1
  79. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  80. package/dist/src/commands/analyze-symbols.js +48 -20
  81. package/dist/src/commands/analyze-symbols.js.map +1 -1
  82. package/dist/src/commands/analyze.d.ts.map +1 -1
  83. package/dist/src/commands/analyze.js +30 -14
  84. package/dist/src/commands/analyze.js.map +1 -1
  85. package/dist/src/commands/autopilot.d.ts.map +1 -1
  86. package/dist/src/commands/autopilot.js +2 -2
  87. package/dist/src/commands/autopilot.js.map +1 -1
  88. package/dist/src/commands/browse-action.d.ts.map +1 -1
  89. package/dist/src/commands/browse-action.js +65 -17
  90. package/dist/src/commands/browse-action.js.map +1 -1
  91. package/dist/src/commands/browse-platform.d.ts.map +1 -1
  92. package/dist/src/commands/browse-platform.js +13 -10
  93. package/dist/src/commands/browse-platform.js.map +1 -1
  94. package/dist/src/commands/browse-workflow.d.ts.map +1 -1
  95. package/dist/src/commands/browse-workflow.js +54 -20
  96. package/dist/src/commands/browse-workflow.js.map +1 -1
  97. package/dist/src/commands/browse.js +2 -2
  98. package/dist/src/commands/browse.js.map +1 -1
  99. package/dist/src/commands/cleanup.d.ts.map +1 -1
  100. package/dist/src/commands/cleanup.js +111 -47
  101. package/dist/src/commands/cleanup.js.map +1 -1
  102. package/dist/src/commands/completions.d.ts.map +1 -1
  103. package/dist/src/commands/completions.js +34 -20
  104. package/dist/src/commands/completions.js.map +1 -1
  105. package/dist/src/commands/config.d.ts.map +1 -1
  106. package/dist/src/commands/config.js +90 -49
  107. package/dist/src/commands/config.js.map +1 -1
  108. package/dist/src/commands/crash-reporting.d.ts.map +1 -1
  109. package/dist/src/commands/crash-reporting.js +10 -4
  110. package/dist/src/commands/crash-reporting.js.map +1 -1
  111. package/dist/src/commands/design-detect.d.ts.map +1 -1
  112. package/dist/src/commands/design-detect.js +33 -12
  113. package/dist/src/commands/design-detect.js.map +1 -1
  114. package/dist/src/commands/design-palette.d.ts.map +1 -1
  115. package/dist/src/commands/design-palette.js +770 -380
  116. package/dist/src/commands/design-palette.js.map +1 -1
  117. package/dist/src/commands/doc.d.ts.map +1 -1
  118. package/dist/src/commands/doc.js +272 -60
  119. package/dist/src/commands/doc.js.map +1 -1
  120. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  121. package/dist/src/commands/doctor-env-checks.js +130 -31
  122. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  123. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  124. package/dist/src/commands/doctor-monoes-checks.js +20 -7
  125. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  126. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  127. package/dist/src/commands/doctor-project-checks.js +442 -112
  128. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  129. package/dist/src/commands/doctor.d.ts.map +1 -1
  130. package/dist/src/commands/doctor.js +132 -59
  131. package/dist/src/commands/doctor.js.map +1 -1
  132. package/dist/src/commands/download-embeddings.d.ts.map +1 -1
  133. package/dist/src/commands/download-embeddings.js +1 -1
  134. package/dist/src/commands/download-embeddings.js.map +1 -1
  135. package/dist/src/commands/events.d.ts.map +1 -1
  136. package/dist/src/commands/events.js +5 -2
  137. package/dist/src/commands/events.js.map +1 -1
  138. package/dist/src/commands/guidance.d.ts.map +1 -1
  139. package/dist/src/commands/guidance.js +38 -14
  140. package/dist/src/commands/guidance.js.map +1 -1
  141. package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
  142. package/dist/src/commands/hooks-core-commands.js +71 -44
  143. package/dist/src/commands/hooks-core-commands.js.map +1 -1
  144. package/dist/src/commands/hooks-coverage-commands.d.ts +1 -2
  145. package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
  146. package/dist/src/commands/hooks-coverage-commands.js +140 -58
  147. package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
  148. package/dist/src/commands/hooks-coverage-gaps.d.ts.map +1 -1
  149. package/dist/src/commands/hooks-coverage-gaps.js +74 -36
  150. package/dist/src/commands/hooks-coverage-gaps.js.map +1 -1
  151. package/dist/src/commands/hooks-coverage-routing.d.ts.map +1 -1
  152. package/dist/src/commands/hooks-coverage-routing.js +139 -66
  153. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  154. package/dist/src/commands/hooks-coverage-utils.d.ts.map +1 -1
  155. package/dist/src/commands/hooks-coverage-utils.js +27 -8
  156. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  157. package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
  158. package/dist/src/commands/hooks-extended-commands.js +86 -21
  159. package/dist/src/commands/hooks-extended-commands.js.map +1 -1
  160. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  161. package/dist/src/commands/hooks-routing-commands.js +174 -82
  162. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  163. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  164. package/dist/src/commands/hooks-workers.js +96 -61
  165. package/dist/src/commands/hooks-workers.js.map +1 -1
  166. package/dist/src/commands/hooks.d.ts.map +1 -1
  167. package/dist/src/commands/hooks.js +6 -6
  168. package/dist/src/commands/hooks.js.map +1 -1
  169. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  170. package/dist/src/commands/init-subcommands.js +12 -5
  171. package/dist/src/commands/init-subcommands.js.map +1 -1
  172. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  173. package/dist/src/commands/init-upgrade.js +46 -23
  174. package/dist/src/commands/init-upgrade.js.map +1 -1
  175. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  176. package/dist/src/commands/init-wizard.js +161 -36
  177. package/dist/src/commands/init-wizard.js.map +1 -1
  178. package/dist/src/commands/init.d.ts.map +1 -1
  179. package/dist/src/commands/init.js +132 -47
  180. package/dist/src/commands/init.js.map +1 -1
  181. package/dist/src/commands/mcp.d.ts.map +1 -1
  182. package/dist/src/commands/mcp.js +128 -84
  183. package/dist/src/commands/mcp.js.map +1 -1
  184. package/dist/src/commands/memory-admin.d.ts.map +1 -1
  185. package/dist/src/commands/memory-admin.js +67 -48
  186. package/dist/src/commands/memory-admin.js.map +1 -1
  187. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  188. package/dist/src/commands/memory-crud.js +65 -41
  189. package/dist/src/commands/memory-crud.js.map +1 -1
  190. package/dist/src/commands/memory-list.d.ts.map +1 -1
  191. package/dist/src/commands/memory-list.js +6 -6
  192. package/dist/src/commands/memory-list.js.map +1 -1
  193. package/dist/src/commands/memory-transfer.d.ts.map +1 -1
  194. package/dist/src/commands/memory-transfer.js +46 -23
  195. package/dist/src/commands/memory-transfer.js.map +1 -1
  196. package/dist/src/commands/memory.d.ts.map +1 -1
  197. package/dist/src/commands/memory.js +63 -35
  198. package/dist/src/commands/memory.js.map +1 -1
  199. package/dist/src/commands/monograph.d.ts.map +1 -1
  200. package/dist/src/commands/monograph.js +170 -57
  201. package/dist/src/commands/monograph.js.map +1 -1
  202. package/dist/src/commands/monoswarm.d.ts.map +1 -1
  203. package/dist/src/commands/monoswarm.js +11 -19
  204. package/dist/src/commands/monoswarm.js.map +1 -1
  205. package/dist/src/commands/neural-core.d.ts.map +1 -1
  206. package/dist/src/commands/neural-core.js +114 -31
  207. package/dist/src/commands/neural-core.js.map +1 -1
  208. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  209. package/dist/src/commands/neural-optimize.js +67 -22
  210. package/dist/src/commands/neural-optimize.js.map +1 -1
  211. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  212. package/dist/src/commands/neural-registry.js +50 -14
  213. package/dist/src/commands/neural-registry.js.map +1 -1
  214. package/dist/src/commands/org-observe.d.ts.map +1 -1
  215. package/dist/src/commands/org-observe.js +180 -92
  216. package/dist/src/commands/org-observe.js.map +1 -1
  217. package/dist/src/commands/org-visualize.d.ts.map +1 -1
  218. package/dist/src/commands/org-visualize.js +10 -5
  219. package/dist/src/commands/org-visualize.js.map +1 -1
  220. package/dist/src/commands/org.d.ts +1 -1
  221. package/dist/src/commands/org.d.ts.map +1 -1
  222. package/dist/src/commands/org.js +580 -188
  223. package/dist/src/commands/org.js.map +1 -1
  224. package/dist/src/commands/performance.d.ts.map +1 -1
  225. package/dist/src/commands/performance.js +200 -54
  226. package/dist/src/commands/performance.js.map +1 -1
  227. package/dist/src/commands/platforms.d.ts +1 -1
  228. package/dist/src/commands/platforms.d.ts.map +1 -1
  229. package/dist/src/commands/platforms.js +89 -49
  230. package/dist/src/commands/platforms.js.map +1 -1
  231. package/dist/src/commands/providers.d.ts.map +1 -1
  232. package/dist/src/commands/providers.js +31 -18
  233. package/dist/src/commands/providers.js.map +1 -1
  234. package/dist/src/commands/report-crash.d.ts.map +1 -1
  235. package/dist/src/commands/report-crash.js +17 -5
  236. package/dist/src/commands/report-crash.js.map +1 -1
  237. package/dist/src/commands/route.d.ts.map +1 -1
  238. package/dist/src/commands/route.js +123 -41
  239. package/dist/src/commands/route.js.map +1 -1
  240. package/dist/src/commands/search-universal.d.ts +1 -1
  241. package/dist/src/commands/search-universal.d.ts.map +1 -1
  242. package/dist/src/commands/search-universal.js +29 -14
  243. package/dist/src/commands/search-universal.js.map +1 -1
  244. package/dist/src/commands/security-cve.d.ts.map +1 -1
  245. package/dist/src/commands/security-cve.js +75 -34
  246. package/dist/src/commands/security-cve.js.map +1 -1
  247. package/dist/src/commands/security-misc.d.ts.map +1 -1
  248. package/dist/src/commands/security-misc.js +173 -43
  249. package/dist/src/commands/security-misc.js.map +1 -1
  250. package/dist/src/commands/security-scan.d.ts +1 -1
  251. package/dist/src/commands/security-scan.d.ts.map +1 -1
  252. package/dist/src/commands/security-scan.js +135 -39
  253. package/dist/src/commands/security-scan.js.map +1 -1
  254. package/dist/src/commands/security.d.ts.map +1 -1
  255. package/dist/src/commands/security.js +9 -2
  256. package/dist/src/commands/security.js.map +1 -1
  257. package/dist/src/commands/session.d.ts.map +1 -1
  258. package/dist/src/commands/session.js +81 -75
  259. package/dist/src/commands/session.js.map +1 -1
  260. package/dist/src/commands/start.d.ts.map +1 -1
  261. package/dist/src/commands/start.js +43 -34
  262. package/dist/src/commands/start.js.map +1 -1
  263. package/dist/src/commands/status.d.ts.map +1 -1
  264. package/dist/src/commands/status.js +88 -75
  265. package/dist/src/commands/status.js.map +1 -1
  266. package/dist/src/commands/task.d.ts.map +1 -1
  267. package/dist/src/commands/task.js +115 -84
  268. package/dist/src/commands/task.js.map +1 -1
  269. package/dist/src/commands/tokens.d.ts.map +1 -1
  270. package/dist/src/commands/tokens.js +64 -28
  271. package/dist/src/commands/tokens.js.map +1 -1
  272. package/dist/src/commands/update.d.ts.map +1 -1
  273. package/dist/src/commands/update.js +3 -5
  274. package/dist/src/commands/update.js.map +1 -1
  275. package/dist/src/consensus/audit-writer.d.ts +5 -0
  276. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  277. package/dist/src/consensus/audit-writer.js +18 -10
  278. package/dist/src/consensus/audit-writer.js.map +1 -1
  279. package/dist/src/consensus/tally.d.ts.map +1 -1
  280. package/dist/src/consensus/tally.js +2 -2
  281. package/dist/src/consensus/tally.js.map +1 -1
  282. package/dist/src/index.d.ts +6 -6
  283. package/dist/src/index.d.ts.map +1 -1
  284. package/dist/src/index.js +41 -35
  285. package/dist/src/index.js.map +1 -1
  286. package/dist/src/init/claudemd-generator.d.ts +1 -1
  287. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  288. package/dist/src/init/claudemd-generator.js +22 -7
  289. package/dist/src/init/claudemd-generator.js.map +1 -1
  290. package/dist/src/init/codex-generator.d.ts +7 -1
  291. package/dist/src/init/codex-generator.d.ts.map +1 -1
  292. package/dist/src/init/codex-generator.js +114 -1
  293. package/dist/src/init/codex-generator.js.map +1 -1
  294. package/dist/src/init/copy-assets.d.ts.map +1 -1
  295. package/dist/src/init/copy-assets.js +13 -12
  296. package/dist/src/init/copy-assets.js.map +1 -1
  297. package/dist/src/init/executor.d.ts +1 -1
  298. package/dist/src/init/executor.d.ts.map +1 -1
  299. package/dist/src/init/executor.js +49 -29
  300. package/dist/src/init/executor.js.map +1 -1
  301. package/dist/src/init/geminimd-generator.d.ts +1 -1
  302. package/dist/src/init/geminimd-generator.d.ts.map +1 -1
  303. package/dist/src/init/geminimd-generator.js +2 -2
  304. package/dist/src/init/geminimd-generator.js.map +1 -1
  305. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  306. package/dist/src/init/helpers-generator.js +6 -6
  307. package/dist/src/init/helpers-generator.js.map +1 -1
  308. package/dist/src/init/index.d.ts +8 -8
  309. package/dist/src/init/index.d.ts.map +1 -1
  310. package/dist/src/init/index.js +9 -9
  311. package/dist/src/init/index.js.map +1 -1
  312. package/dist/src/init/kimi-generator.d.ts +1 -1
  313. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  314. package/dist/src/init/kimi-generator.js +34 -28
  315. package/dist/src/init/kimi-generator.js.map +1 -1
  316. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  317. package/dist/src/init/mcp-generator.js +3 -11
  318. package/dist/src/init/mcp-generator.js.map +1 -1
  319. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  320. package/dist/src/init/opencode-generator.js +33 -20
  321. package/dist/src/init/opencode-generator.js.map +1 -1
  322. package/dist/src/init/settings-generator.d.ts.map +1 -1
  323. package/dist/src/init/settings-generator.js +2 -5
  324. package/dist/src/init/settings-generator.js.map +1 -1
  325. package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
  326. package/dist/src/init/shared-instructions-generator.js +124 -76
  327. package/dist/src/init/shared-instructions-generator.js.map +1 -1
  328. package/dist/src/init/shared.d.ts.map +1 -1
  329. package/dist/src/init/shared.js +23 -18
  330. package/dist/src/init/shared.js.map +1 -1
  331. package/dist/src/init/types.js +2 -2
  332. package/dist/src/init/types.js.map +1 -1
  333. package/dist/src/init/upgrade.d.ts.map +1 -1
  334. package/dist/src/init/upgrade.js +19 -17
  335. package/dist/src/init/upgrade.js.map +1 -1
  336. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  337. package/dist/src/init/write-antigravity.js +15 -7
  338. package/dist/src/init/write-antigravity.js.map +1 -1
  339. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  340. package/dist/src/init/write-capabilities.js +3 -3
  341. package/dist/src/init/write-capabilities.js.map +1 -1
  342. package/dist/src/init/write-claude.d.ts.map +1 -1
  343. package/dist/src/init/write-claude.js +18 -14
  344. package/dist/src/init/write-claude.js.map +1 -1
  345. package/dist/src/init/write-codex.d.ts.map +1 -1
  346. package/dist/src/init/write-codex.js +72 -7
  347. package/dist/src/init/write-codex.js.map +1 -1
  348. package/dist/src/init/write-kimicode.d.ts.map +1 -1
  349. package/dist/src/init/write-kimicode.js +10 -6
  350. package/dist/src/init/write-kimicode.js.map +1 -1
  351. package/dist/src/init/write-opencode.d.ts.map +1 -1
  352. package/dist/src/init/write-opencode.js +4 -4
  353. package/dist/src/init/write-opencode.js.map +1 -1
  354. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  355. package/dist/src/init/write-runtime-config.js +20 -19
  356. package/dist/src/init/write-runtime-config.js.map +1 -1
  357. package/dist/src/init/write-sample-org.js +1 -1
  358. package/dist/src/init/write-sample-org.js.map +1 -1
  359. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  360. package/dist/src/knowledge/document-pipeline.js +144 -48
  361. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  362. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -1
  363. package/dist/src/knowledge/eval/corpus.js +18 -9
  364. package/dist/src/knowledge/eval/corpus.js.map +1 -1
  365. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
  366. package/dist/src/knowledge/eval/golden-set.js +4286 -136
  367. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  368. package/dist/src/knowledge/eval/harness.d.ts +2 -2
  369. package/dist/src/knowledge/eval/harness.d.ts.map +1 -1
  370. package/dist/src/knowledge/eval/harness.js +163 -70
  371. package/dist/src/knowledge/eval/harness.js.map +1 -1
  372. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -1
  373. package/dist/src/knowledge/eval/metrics.js +25 -18
  374. package/dist/src/knowledge/eval/metrics.js.map +1 -1
  375. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  376. package/dist/src/knowledge/eval/model-presence.js +40 -14
  377. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  378. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -1
  379. package/dist/src/knowledge/eval/network-guard.js +22 -10
  380. package/dist/src/knowledge/eval/network-guard.js.map +1 -1
  381. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -1
  382. package/dist/src/knowledge/eval/retrievers.js +14 -10
  383. package/dist/src/knowledge/eval/retrievers.js.map +1 -1
  384. package/dist/src/knowledge/eval/signals.d.ts.map +1 -1
  385. package/dist/src/knowledge/eval/signals.js +54 -18
  386. package/dist/src/knowledge/eval/signals.js.map +1 -1
  387. package/dist/src/mcp-client.d.ts.map +1 -1
  388. package/dist/src/mcp-client.js +69 -33
  389. package/dist/src/mcp-client.js.map +1 -1
  390. package/dist/src/mcp-server.d.ts +1 -9
  391. package/dist/src/mcp-server.d.ts.map +1 -1
  392. package/dist/src/mcp-server.js +19 -42
  393. package/dist/src/mcp-server.js.map +1 -1
  394. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  395. package/dist/src/mcp-tools/agent-tools.js +84 -49
  396. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  397. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
  398. package/dist/src/mcp-tools/analyze-tools.js +34 -17
  399. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  400. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
  401. package/dist/src/mcp-tools/auto-install.js +3 -3
  402. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  403. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  404. package/dist/src/mcp-tools/autopilot-tools.js +29 -9
  405. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  406. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
  407. package/dist/src/mcp-tools/browser-tools.js +119 -37
  408. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  409. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
  410. package/dist/src/mcp-tools/claims-tools.js +100 -44
  411. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  412. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  413. package/dist/src/mcp-tools/config-tools.js +36 -15
  414. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  415. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  416. package/dist/src/mcp-tools/embeddings-tools.js +34 -23
  417. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  418. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  419. package/dist/src/mcp-tools/github-tools.js +200 -43
  420. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  421. package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
  422. package/dist/src/mcp-tools/graphify-tools.js +2 -2
  423. package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
  424. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  425. package/dist/src/mcp-tools/guidance-tools.js +449 -93
  426. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  427. package/dist/src/mcp-tools/hooks-embedding.d.ts +0 -6
  428. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  429. package/dist/src/mcp-tools/hooks-embedding.js +170 -59
  430. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  431. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -8
  432. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  433. package/dist/src/mcp-tools/hooks-intelligence.js +9 -17
  434. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  435. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  436. package/dist/src/mcp-tools/hooks-routing.js +16 -15
  437. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  438. package/dist/src/mcp-tools/hooks-tools.d.ts +1 -1
  439. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  440. package/dist/src/mcp-tools/hooks-tools.js +2 -2
  441. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  442. package/dist/src/mcp-tools/index.d.ts +18 -18
  443. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  444. package/dist/src/mcp-tools/index.js +18 -18
  445. package/dist/src/mcp-tools/index.js.map +1 -1
  446. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  447. package/dist/src/mcp-tools/knowledge-tools.js +88 -28
  448. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  449. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  450. package/dist/src/mcp-tools/memory-tools.js +156 -39
  451. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  452. package/dist/src/mcp-tools/monodesign-tools.d.ts.map +1 -1
  453. package/dist/src/mcp-tools/monodesign-tools.js +63 -22
  454. package/dist/src/mcp-tools/monodesign-tools.js.map +1 -1
  455. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts.map +1 -1
  456. package/dist/src/mcp-tools/monograph/agent-history-tools.js +22 -9
  457. package/dist/src/mcp-tools/monograph/agent-history-tools.js.map +1 -1
  458. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  459. package/dist/src/mcp-tools/monograph/build-tools.js +37 -16
  460. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  461. package/dist/src/mcp-tools/monograph/group-tools.d.ts.map +1 -1
  462. package/dist/src/mcp-tools/monograph/group-tools.js +57 -20
  463. package/dist/src/mcp-tools/monograph/group-tools.js.map +1 -1
  464. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  465. package/dist/src/mcp-tools/monograph/health-tools.js +13 -7
  466. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  467. package/dist/src/mcp-tools/monograph/impact-tools.js +6 -6
  468. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  469. package/dist/src/mcp-tools/monograph/index.d.ts.map +1 -1
  470. package/dist/src/mcp-tools/monograph/index.js +8 -8
  471. package/dist/src/mcp-tools/monograph/index.js.map +1 -1
  472. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  473. package/dist/src/mcp-tools/monograph/query-tools.js +131 -56
  474. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  475. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  476. package/dist/src/mcp-tools/monograph/shared.js +42 -22
  477. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  478. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts.map +1 -1
  479. package/dist/src/mcp-tools/monograph/visualize-tools.js +87 -36
  480. package/dist/src/mcp-tools/monograph/visualize-tools.js.map +1 -1
  481. package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
  482. package/dist/src/mcp-tools/monograph-compat.js +25 -14
  483. package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
  484. package/dist/src/mcp-tools/monograph-tools.d.ts +1 -1
  485. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  486. package/dist/src/mcp-tools/monograph-tools.js +1 -1
  487. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  488. package/dist/src/mcp-tools/monomind-tools.d.ts.map +1 -1
  489. package/dist/src/mcp-tools/monomind-tools.js +1 -1
  490. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  491. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -1
  492. package/dist/src/mcp-tools/monoswarm-tools.js +217 -81
  493. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -1
  494. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  495. package/dist/src/mcp-tools/performance-tools.js +280 -83
  496. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  497. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -1
  498. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +9 -4
  499. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js.map +1 -1
  500. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +1 -1
  501. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
  502. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +36 -14
  503. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -1
  504. package/dist/src/mcp-tools/quality-tools.d.ts.map +1 -1
  505. package/dist/src/mcp-tools/quality-tools.js.map +1 -1
  506. package/dist/src/mcp-tools/request-tracker.d.ts.map +1 -1
  507. package/dist/src/mcp-tools/request-tracker.js +2 -1
  508. package/dist/src/mcp-tools/request-tracker.js.map +1 -1
  509. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  510. package/dist/src/mcp-tools/security-tools.js +117 -53
  511. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  512. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  513. package/dist/src/mcp-tools/session-tools.js +22 -13
  514. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  515. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  516. package/dist/src/mcp-tools/system-tools.js +7 -7
  517. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  518. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  519. package/dist/src/mcp-tools/task-tools.js +59 -22
  520. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  521. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  522. package/dist/src/mcp-tools/terminal-tools.js +43 -16
  523. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  524. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  525. package/dist/src/mcp-tools/transfer-tools.js +2 -1
  526. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  527. package/dist/src/mcp-tools/types.d.ts +1 -1
  528. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  529. package/dist/src/mcp-tools/types.js +1 -1
  530. package/dist/src/mcp-tools/types.js.map +1 -1
  531. package/dist/src/memory/bm25-index.d.ts.map +1 -1
  532. package/dist/src/memory/bm25-index.js.map +1 -1
  533. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  534. package/dist/src/memory/embedding-operations.js +23 -19
  535. package/dist/src/memory/embedding-operations.js.map +1 -1
  536. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  537. package/dist/src/memory/ewc-consolidation.js +31 -27
  538. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  539. package/dist/src/memory/hnsw-operations.d.ts +1 -1
  540. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  541. package/dist/src/memory/hnsw-operations.js +5 -6
  542. package/dist/src/memory/hnsw-operations.js.map +1 -1
  543. package/dist/src/memory/intelligence.d.ts.map +1 -1
  544. package/dist/src/memory/intelligence.js +122 -84
  545. package/dist/src/memory/intelligence.js.map +1 -1
  546. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  547. package/dist/src/memory/memory-bridge.js +7 -7
  548. package/dist/src/memory/memory-bridge.js.map +1 -1
  549. package/dist/src/memory/memory-crud.d.ts +1 -1
  550. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  551. package/dist/src/memory/memory-crud.js +82 -47
  552. package/dist/src/memory/memory-crud.js.map +1 -1
  553. package/dist/src/memory/memory-initializer.d.ts +7 -7
  554. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  555. package/dist/src/memory/memory-initializer.js +38 -34
  556. package/dist/src/memory/memory-initializer.js.map +1 -1
  557. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  558. package/dist/src/memory/memory-kg.js +173 -41
  559. package/dist/src/memory/memory-kg.js.map +1 -1
  560. package/dist/src/memory/memory-migrations.d.ts.map +1 -1
  561. package/dist/src/memory/memory-migrations.js +11 -7
  562. package/dist/src/memory/memory-migrations.js.map +1 -1
  563. package/dist/src/memory/memory-read.d.ts.map +1 -1
  564. package/dist/src/memory/memory-read.js +45 -21
  565. package/dist/src/memory/memory-read.js.map +1 -1
  566. package/dist/src/memory/query-router.d.ts.map +1 -1
  567. package/dist/src/memory/query-router.js +29 -12
  568. package/dist/src/memory/query-router.js.map +1 -1
  569. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  570. package/dist/src/memory/sona-optimizer.js +163 -41
  571. package/dist/src/memory/sona-optimizer.js.map +1 -1
  572. package/dist/src/memory/text-tokens.d.ts.map +1 -1
  573. package/dist/src/memory/text-tokens.js +78 -8
  574. package/dist/src/memory/text-tokens.js.map +1 -1
  575. package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
  576. package/dist/src/monovector/command-outcomes.js +23 -8
  577. package/dist/src/monovector/command-outcomes.js.map +1 -1
  578. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  579. package/dist/src/monovector/coverage-router.js +29 -14
  580. package/dist/src/monovector/coverage-router.js.map +1 -1
  581. package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
  582. package/dist/src/monovector/coverage-tools.js +21 -6
  583. package/dist/src/monovector/coverage-tools.js.map +1 -1
  584. package/dist/src/monovector/diff-classifier.d.ts +1 -1
  585. package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
  586. package/dist/src/monovector/diff-classifier.js +100 -45
  587. package/dist/src/monovector/diff-classifier.js.map +1 -1
  588. package/dist/src/monovector/index.d.ts +3 -4
  589. package/dist/src/monovector/index.d.ts.map +1 -1
  590. package/dist/src/monovector/index.js +18 -6
  591. package/dist/src/monovector/index.js.map +1 -1
  592. package/dist/src/monovector/init-state.d.ts.map +1 -1
  593. package/dist/src/monovector/init-state.js +15 -5
  594. package/dist/src/monovector/init-state.js.map +1 -1
  595. package/dist/src/monovector/model-outcomes.js +2 -2
  596. package/dist/src/monovector/model-outcomes.js.map +1 -1
  597. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  598. package/dist/src/monovector/route-outcomes.js +40 -21
  599. package/dist/src/monovector/route-outcomes.js.map +1 -1
  600. package/dist/src/observability/replay-reader.d.ts.map +1 -1
  601. package/dist/src/observability/replay-reader.js +6 -8
  602. package/dist/src/observability/replay-reader.js.map +1 -1
  603. package/dist/src/orgrt/agent-runner.d.ts +1 -1
  604. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  605. package/dist/src/orgrt/agent-runner.js +1 -1
  606. package/dist/src/orgrt/agent-runner.js.map +1 -1
  607. package/dist/src/orgrt/antigravity-runner.d.ts +1 -1
  608. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  609. package/dist/src/orgrt/antigravity-runner.js +46 -17
  610. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  611. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  612. package/dist/src/orgrt/approvals.js +24 -8
  613. package/dist/src/orgrt/approvals.js.map +1 -1
  614. package/dist/src/orgrt/broker.d.ts.map +1 -1
  615. package/dist/src/orgrt/broker.js +11 -4
  616. package/dist/src/orgrt/broker.js.map +1 -1
  617. package/dist/src/orgrt/bus.d.ts.map +1 -1
  618. package/dist/src/orgrt/bus.js +28 -15
  619. package/dist/src/orgrt/bus.js.map +1 -1
  620. package/dist/src/orgrt/checkpoint-ops.d.ts +1 -1
  621. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  622. package/dist/src/orgrt/checkpoint-ops.js +36 -19
  623. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  624. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  625. package/dist/src/orgrt/checkpoint.js +3 -1
  626. package/dist/src/orgrt/checkpoint.js.map +1 -1
  627. package/dist/src/orgrt/codex-runner.d.ts +1 -1
  628. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  629. package/dist/src/orgrt/codex-runner.js +45 -18
  630. package/dist/src/orgrt/codex-runner.js.map +1 -1
  631. package/dist/src/orgrt/copilot-runner.d.ts +1 -1
  632. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  633. package/dist/src/orgrt/copilot-runner.js +48 -16
  634. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  635. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  636. package/dist/src/orgrt/cross-org.js +213 -41
  637. package/dist/src/orgrt/cross-org.js.map +1 -1
  638. package/dist/src/orgrt/crush-runner.d.ts +1 -1
  639. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  640. package/dist/src/orgrt/crush-runner.js +51 -17
  641. package/dist/src/orgrt/crush-runner.js.map +1 -1
  642. package/dist/src/orgrt/daemon.d.ts +5 -6
  643. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  644. package/dist/src/orgrt/daemon.js +55 -47
  645. package/dist/src/orgrt/daemon.js.map +1 -1
  646. package/dist/src/orgrt/decisions.d.ts +2 -2
  647. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  648. package/dist/src/orgrt/decisions.js +83 -34
  649. package/dist/src/orgrt/decisions.js.map +1 -1
  650. package/dist/src/orgrt/fence.d.ts +2 -2
  651. package/dist/src/orgrt/fence.d.ts.map +1 -1
  652. package/dist/src/orgrt/fence.js +13 -5
  653. package/dist/src/orgrt/fence.js.map +1 -1
  654. package/dist/src/orgrt/forwarder.js +1 -1
  655. package/dist/src/orgrt/forwarder.js.map +1 -1
  656. package/dist/src/orgrt/grok-runner.d.ts +1 -1
  657. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  658. package/dist/src/orgrt/grok-runner.js +36 -16
  659. package/dist/src/orgrt/grok-runner.js.map +1 -1
  660. package/dist/src/orgrt/inbox.d.ts.map +1 -1
  661. package/dist/src/orgrt/inbox.js +5 -3
  662. package/dist/src/orgrt/inbox.js.map +1 -1
  663. package/dist/src/orgrt/kimicode-runner.d.ts +1 -1
  664. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  665. package/dist/src/orgrt/kimicode-runner.js +40 -15
  666. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  667. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  668. package/dist/src/orgrt/mailbox.js +15 -5
  669. package/dist/src/orgrt/mailbox.js.map +1 -1
  670. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  671. package/dist/src/orgrt/migrate.js +38 -25
  672. package/dist/src/orgrt/migrate.js.map +1 -1
  673. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  674. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  675. package/dist/src/orgrt/opencode-runner.js +16 -5
  676. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  677. package/dist/src/orgrt/org-memory.d.ts +2 -2
  678. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  679. package/dist/src/orgrt/org-memory.js +66 -26
  680. package/dist/src/orgrt/org-memory.js.map +1 -1
  681. package/dist/src/orgrt/pi-rpc-runner.d.ts +1 -1
  682. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  683. package/dist/src/orgrt/pi-rpc-runner.js +60 -25
  684. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  685. package/dist/src/orgrt/pi-runner.d.ts +1 -1
  686. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  687. package/dist/src/orgrt/pi-runner.js +35 -16
  688. package/dist/src/orgrt/pi-runner.js.map +1 -1
  689. package/dist/src/orgrt/policy.d.ts.map +1 -1
  690. package/dist/src/orgrt/policy.js +65 -20
  691. package/dist/src/orgrt/policy.js.map +1 -1
  692. package/dist/src/orgrt/prechecks.d.ts.map +1 -1
  693. package/dist/src/orgrt/prechecks.js +9 -4
  694. package/dist/src/orgrt/prechecks.js.map +1 -1
  695. package/dist/src/orgrt/provider.d.ts +1 -1
  696. package/dist/src/orgrt/provider.d.ts.map +1 -1
  697. package/dist/src/orgrt/provider.js.map +1 -1
  698. package/dist/src/orgrt/questions.d.ts.map +1 -1
  699. package/dist/src/orgrt/questions.js +34 -10
  700. package/dist/src/orgrt/questions.js.map +1 -1
  701. package/dist/src/orgrt/qwen-rpc-runner.d.ts +1 -1
  702. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
  703. package/dist/src/orgrt/qwen-rpc-runner.js +61 -26
  704. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
  705. package/dist/src/orgrt/qwen-runner.d.ts +1 -1
  706. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  707. package/dist/src/orgrt/qwen-runner.js +31 -15
  708. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  709. package/dist/src/orgrt/remote.js +1 -1
  710. package/dist/src/orgrt/remote.js.map +1 -1
  711. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  712. package/dist/src/orgrt/reporting.js +61 -27
  713. package/dist/src/orgrt/reporting.js.map +1 -1
  714. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  715. package/dist/src/orgrt/scheduler-integration.js +57 -20
  716. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  717. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  718. package/dist/src/orgrt/scheduler.js +7 -3
  719. package/dist/src/orgrt/scheduler.js.map +1 -1
  720. package/dist/src/orgrt/server.js +1 -1
  721. package/dist/src/orgrt/server.js.map +1 -1
  722. package/dist/src/orgrt/session.d.ts +3 -3
  723. package/dist/src/orgrt/session.d.ts.map +1 -1
  724. package/dist/src/orgrt/session.js +165 -66
  725. package/dist/src/orgrt/session.js.map +1 -1
  726. package/dist/src/orgrt/state-detector.d.ts.map +1 -1
  727. package/dist/src/orgrt/state-detector.js +6 -2
  728. package/dist/src/orgrt/state-detector.js.map +1 -1
  729. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  730. package/dist/src/orgrt/task-dag.js +22 -12
  731. package/dist/src/orgrt/task-dag.js.map +1 -1
  732. package/dist/src/orgrt/templates.d.ts.map +1 -1
  733. package/dist/src/orgrt/templates.js +198 -36
  734. package/dist/src/orgrt/templates.js.map +1 -1
  735. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  736. package/dist/src/orgrt/test-loop.js +61 -34
  737. package/dist/src/orgrt/test-loop.js.map +1 -1
  738. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  739. package/dist/src/orgrt/tool-fence.js +6 -3
  740. package/dist/src/orgrt/tool-fence.js.map +1 -1
  741. package/dist/src/orgrt/types.d.ts.map +1 -1
  742. package/dist/src/orgrt/types.js +148 -38
  743. package/dist/src/orgrt/types.js.map +1 -1
  744. package/dist/src/orgrt/usage-proxy.d.ts +20 -0
  745. package/dist/src/orgrt/usage-proxy.d.ts.map +1 -1
  746. package/dist/src/orgrt/usage-proxy.js +25 -15
  747. package/dist/src/orgrt/usage-proxy.js.map +1 -1
  748. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  749. package/dist/src/orgrt/vercel-providers.js +11 -1
  750. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  751. package/dist/src/orgrt/vercel-runner.d.ts +1 -1
  752. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  753. package/dist/src/orgrt/vercel-runner.js +3 -5
  754. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  755. package/dist/src/orgrt/vercel-session-store.d.ts +14 -0
  756. package/dist/src/orgrt/vercel-session-store.d.ts.map +1 -1
  757. package/dist/src/orgrt/vercel-session-store.js +3 -3
  758. package/dist/src/orgrt/vercel-session-store.js.map +1 -1
  759. package/dist/src/orgrt/visualization.js +3 -4
  760. package/dist/src/orgrt/visualization.js.map +1 -1
  761. package/dist/src/output.d.ts +1 -1
  762. package/dist/src/output.d.ts.map +1 -1
  763. package/dist/src/output.js +68 -39
  764. package/dist/src/output.js.map +1 -1
  765. package/dist/src/parser.d.ts.map +1 -1
  766. package/dist/src/parser.js +35 -24
  767. package/dist/src/parser.js.map +1 -1
  768. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  769. package/dist/src/pricing/model-pricing.js +3 -3
  770. package/dist/src/pricing/model-pricing.js.map +1 -1
  771. package/dist/src/prompt.d.ts +2 -2
  772. package/dist/src/prompt.d.ts.map +1 -1
  773. package/dist/src/prompt.js +49 -41
  774. package/dist/src/prompt.js.map +1 -1
  775. package/dist/src/routing/embedder.d.ts.map +1 -1
  776. package/dist/src/routing/embedder.js +0 -0
  777. package/dist/src/routing/embedder.js.map +1 -1
  778. package/dist/src/routing/llm-caller.d.ts.map +1 -1
  779. package/dist/src/routing/llm-caller.js +27 -8
  780. package/dist/src/routing/llm-caller.js.map +1 -1
  781. package/dist/src/routing/model-download.d.ts.map +1 -1
  782. package/dist/src/routing/model-download.js +3 -3
  783. package/dist/src/routing/model-download.js.map +1 -1
  784. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  785. package/dist/src/routing/route-layer-factory.js +22 -14
  786. package/dist/src/routing/route-layer-factory.js.map +1 -1
  787. package/dist/src/security/audit-log.d.ts.map +1 -1
  788. package/dist/src/security/audit-log.js +9 -5
  789. package/dist/src/security/audit-log.js.map +1 -1
  790. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  791. package/dist/src/services/config-file-manager.js +40 -15
  792. package/dist/src/services/config-file-manager.js.map +1 -1
  793. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  794. package/dist/src/services/crash-reporter.js +44 -16
  795. package/dist/src/services/crash-reporter.js.map +1 -1
  796. package/dist/src/suggest.d.ts +1 -1
  797. package/dist/src/suggest.d.ts.map +1 -1
  798. package/dist/src/suggest.js +57 -56
  799. package/dist/src/suggest.js.map +1 -1
  800. package/dist/src/sync/checker.d.ts.map +1 -1
  801. package/dist/src/sync/checker.js +7 -8
  802. package/dist/src/sync/checker.js.map +1 -1
  803. package/dist/src/transfer/anonymization/index.js +2 -2
  804. package/dist/src/transfer/anonymization/index.js.map +1 -1
  805. package/dist/src/types.d.ts +1 -1
  806. package/dist/src/types.d.ts.map +1 -1
  807. package/dist/src/ui/collector.mjs +270 -150
  808. package/dist/src/ui/dashboard.html +731 -732
  809. package/dist/src/ui/data/agent-avatars.html +3 -3
  810. package/dist/src/ui/data/agent-avatars.json +1 -1
  811. package/dist/src/ui/markdown.js +243 -62
  812. package/dist/src/ui/mastermind-diagram-fallback.html +29 -29
  813. package/dist/src/ui/orgs-files.js +99 -46
  814. package/dist/src/ui/orgs.html +54 -54
  815. package/dist/src/ui/routes-monograph.mjs +918 -246
  816. package/dist/src/ui/routes-org.mjs +4237 -2415
  817. package/dist/src/ui/server.mjs +103 -94
  818. package/dist/src/update/checker.d.ts.map +1 -1
  819. package/dist/src/update/checker.js +17 -12
  820. package/dist/src/update/checker.js.map +1 -1
  821. package/dist/src/update/executor.d.ts +2 -2
  822. package/dist/src/update/executor.d.ts.map +1 -1
  823. package/dist/src/update/executor.js +21 -11
  824. package/dist/src/update/executor.js.map +1 -1
  825. package/dist/src/update/index.d.ts +6 -6
  826. package/dist/src/update/index.d.ts.map +1 -1
  827. package/dist/src/update/index.js +9 -9
  828. package/dist/src/update/index.js.map +1 -1
  829. package/dist/src/update/rate-limiter.d.ts.map +1 -1
  830. package/dist/src/update/rate-limiter.js +11 -7
  831. package/dist/src/update/rate-limiter.js.map +1 -1
  832. package/dist/src/update/validator.d.ts.map +1 -1
  833. package/dist/src/update/validator.js +8 -12
  834. package/dist/src/update/validator.js.map +1 -1
  835. package/dist/src/utils/cosine-similarity.d.ts.map +1 -1
  836. package/dist/src/utils/cosine-similarity.js.map +1 -1
  837. package/dist/src/utils/input-guards.d.ts +1 -1
  838. package/dist/src/utils/input-guards.d.ts.map +1 -1
  839. package/dist/src/utils/input-guards.js +24 -9
  840. package/dist/src/utils/input-guards.js.map +1 -1
  841. package/dist/src/utils/json-file.d.ts.map +1 -1
  842. package/dist/src/utils/json-file.js +3 -3
  843. package/dist/src/utils/json-file.js.map +1 -1
  844. package/dist/src/utils/parse-jsonl.d.ts.map +1 -1
  845. package/dist/src/utils/parse-jsonl.js +1 -3
  846. package/dist/src/utils/parse-jsonl.js.map +1 -1
  847. package/dist/src/utils/paths.d.ts.map +1 -1
  848. package/dist/src/utils/paths.js +2 -2
  849. package/dist/src/utils/paths.js.map +1 -1
  850. package/dist/src/utils/redaction.d.ts.map +1 -1
  851. package/dist/src/utils/redaction.js +1 -1
  852. package/dist/src/utils/redaction.js.map +1 -1
  853. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  854. package/dist/src/utils/resource-governor.js +38 -14
  855. package/dist/src/utils/resource-governor.js.map +1 -1
  856. package/dist/tsconfig.tsbuildinfo +1 -1
  857. package/package.json +5 -5
@@ -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 = [
@@ -507,7 +714,10 @@ const REQUIRED_GITIGNORE_PATTERNS = [
507
714
  * `.monomind/` and `.monomind` all compare equal. A gitignore pattern with no
508
715
  * leading slash already matches at every depth, so `**​/` is redundant. */
509
716
  function normalizeGitignorePattern(p) {
510
- return p.replace(/^\/+/, '').replace(/^\*\*\//, '').replace(/\/+$/, '');
717
+ return p
718
+ .replace(/^\/+/, '')
719
+ .replace(/^\*\*\//, '')
720
+ .replace(/\/+$/, '');
511
721
  }
512
722
  /** True when ignoring `line` already protects everything `required` covers.
513
723
  * Beyond exact matches this understands directory containment: a repo with a
@@ -532,17 +742,34 @@ export async function checkGitignoreCoverage() {
532
742
  // writes a literal backslash-n (sh/bash echo does not interpret escapes
533
743
  // without -e) — one junk line matching nothing. `--fix` now writes the file
534
744
  // directly, so point at that rather than at a command to copy-paste.
535
- 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
+ };
536
751
  }
537
752
  if (statSync(gitignorePath).size > MAX_DOCTOR_GITIGNORE_BYTES) {
538
753
  return { name: 'Gitignore Coverage', status: 'warn', message: '.gitignore too large to parse' };
539
754
  }
540
- const lines = readFileSync(gitignorePath, 'utf-8').split('\n').map(l => l.trim()).filter(l => l && !l.startsWith('#'));
541
- 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)));
542
760
  if (missing.length === 0)
543
- return { name: 'Gitignore Coverage', status: 'pass', message: 'All monomind runtime paths are gitignored' };
544
- const missingList = missing.map(m => m.pattern).join(', ');
545
- 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
+ };
546
773
  }
547
774
  /** Patterns written by `doctor --fix` when there is no .gitignore at all.
548
775
  * Covers monomind runtime state plus the standard secrets files, since a repo
@@ -574,16 +801,17 @@ export async function fixGitignoreCoverage() {
574
801
  const gitignorePath = join(process.cwd(), '.gitignore');
575
802
  try {
576
803
  if (!existsSync(gitignorePath)) {
577
- writeFileSync(gitignorePath, GITIGNORE_FIX_PATTERNS.join('\n') + '\n', 'utf-8');
804
+ writeFileSync(gitignorePath, `${GITIGNORE_FIX_PATTERNS.join('\n')}\n`, 'utf-8');
578
805
  return true;
579
806
  }
580
807
  if (statSync(gitignorePath).size > MAX_DOCTOR_GITIGNORE_BYTES)
581
808
  return false;
582
809
  const existing = readFileSync(gitignorePath, 'utf-8');
583
- const lines = existing.split('\n').map(l => l.trim()).filter(l => l && !l.startsWith('#'));
584
- const missing = REQUIRED_GITIGNORE_PATTERNS
585
- .map(m => m.pattern)
586
- .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)));
587
815
  if (missing.length === 0)
588
816
  return false;
589
817
  const prefix = existing.endsWith('\n') || existing === '' ? '' : '\n';
@@ -607,7 +835,12 @@ export async function checkAgentRegistry() {
607
835
  const registry = buildUnifiedRegistry(roots, join(outDir, 'registry.json'));
608
836
  const entries = registry.agents;
609
837
  if (entries.length === 0) {
610
- 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
+ };
611
844
  }
612
845
  let missingSlug = 0, missingName = 0, missingDescription = 0;
613
846
  for (const agent of entries) {
@@ -620,13 +853,19 @@ export async function checkAgentRegistry() {
620
853
  }
621
854
  const total = missingSlug + missingName + missingDescription;
622
855
  if (total === 0) {
623
- 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
+ };
624
861
  }
625
862
  const parts = [
626
863
  missingSlug > 0 ? `${missingSlug} missing slug` : null,
627
864
  missingName > 0 ? `${missingName} missing name` : null,
628
865
  missingDescription > 0 ? `${missingDescription} missing description` : null,
629
- ].filter(Boolean).join(', ');
866
+ ]
867
+ .filter(Boolean)
868
+ .join(', ');
630
869
  return {
631
870
  name: 'Agent Registry',
632
871
  status: 'warn',
@@ -635,21 +874,39 @@ export async function checkAgentRegistry() {
635
874
  };
636
875
  }
637
876
  catch {
638
- 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
+ };
639
882
  }
640
883
  }
641
884
  export async function checkGuidanceGates() {
642
885
  const settingsPath = join(process.cwd(), '.claude', 'settings.json');
643
886
  const gatesHandlerPath = join(process.cwd(), '.claude', 'helpers', 'handlers', 'gates-handler.cjs');
644
887
  if (!existsSync(gatesHandlerPath)) {
645
- 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
+ };
646
894
  }
647
895
  if (!existsSync(settingsPath)) {
648
- 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
+ };
649
902
  }
650
903
  try {
651
904
  if (statSync(settingsPath).size > MAX_DOCTOR_CONFIG_BYTES) {
652
- 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
+ };
653
910
  }
654
911
  const settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
655
912
  const preToolUse = settings?.hooks?.PreToolUse ?? [];
@@ -660,18 +917,42 @@ export async function checkGuidanceGates() {
660
917
  // INACTIVE the moment it did, telling users their secrets gate was off
661
918
  // while it was demonstrably blocking secrets, and sending them to
662
919
  // `guidance setup`, which would then add a duplicate entry.
663
- const hasPreWrite = preToolUse.some(e => /\bWrite\b/.test(e.matcher ?? '') && e.hooks.some(h => h.command?.includes('pre-write')));
664
- 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')));
665
922
  if (!hasPreWrite && !hasPreBash)
666
- 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
+ };
667
929
  if (!hasPreWrite)
668
- 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
+ };
669
936
  if (!hasPreBash)
670
- return { name: 'Guidance Gates', status: 'warn', message: 'pre-bash hook not registered — destructive-ops gate inactive', fix: 'monomind guidance setup' };
671
- 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
+ };
672
948
  }
673
949
  catch {
674
- 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
+ };
675
956
  }
676
957
  }
677
958
  // Workers refresh at session start when output is >6h old — allow a grace
@@ -700,11 +981,19 @@ function readMetricsJSON(name) {
700
981
  export async function checkMetricsFreshness() {
701
982
  const metricsDir = join(process.cwd(), '.monomind', 'metrics');
702
983
  const knownOutputs = [
703
- 'codebase-map.json', 'security-audit.json', 'performance.json',
704
- 'consolidation.json', 'ddd-progress.json',
984
+ 'codebase-map.json',
985
+ 'security-audit.json',
986
+ 'performance.json',
987
+ 'consolidation.json',
988
+ 'ddd-progress.json',
705
989
  ];
706
990
  if (!existsSync(metricsDir)) {
707
- 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
+ };
708
997
  }
709
998
  const now = Date.now();
710
999
  const fresh = [];
@@ -720,13 +1009,24 @@ export async function checkMetricsFreshness() {
720
1009
  else
721
1010
  stale.push(name);
722
1011
  }
723
- catch { /* skip unreadable */ }
1012
+ catch {
1013
+ /* skip unreadable */
1014
+ }
724
1015
  }
725
1016
  if (fresh.length === 0 && stale.length === 0) {
726
- 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
+ };
727
1023
  }
728
1024
  if (stale.length === 0) {
729
- 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
+ };
730
1030
  }
731
1031
  return {
732
1032
  name: 'Worker Metrics',
@@ -741,12 +1041,18 @@ export async function checkMetricsFreshness() {
741
1041
  export async function checkSecurityAuditFindings() {
742
1042
  const audit = readMetricsJSON('security-audit.json');
743
1043
  if (!audit) {
744
- 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
+ };
745
1050
  }
746
1051
  const riskLevel = (audit.riskLevel || 'low').toLowerCase();
747
1052
  const recommendations = audit.recommendations || [];
748
1053
  const priorityTargets = audit.priorityScanTargets || [];
749
- const criticalCount = recommendations.length + (riskLevel === 'high' || riskLevel === 'critical' ? priorityTargets.length : 0);
1054
+ const criticalCount = recommendations.length +
1055
+ (riskLevel === 'high' || riskLevel === 'critical' ? priorityTargets.length : 0);
750
1056
  if (riskLevel === 'critical' || riskLevel === 'high') {
751
1057
  return {
752
1058
  name: 'Security Audit',
@@ -756,7 +1062,11 @@ export async function checkSecurityAuditFindings() {
756
1062
  };
757
1063
  }
758
1064
  if (recommendations.length > 0) {
759
- 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
+ };
760
1070
  }
761
1071
  return { name: 'Security Audit', status: 'pass', message: `risk=${riskLevel}, no open findings` };
762
1072
  }
@@ -784,7 +1094,11 @@ export async function checkMemoryProficiency() {
784
1094
  return { name: 'Memory Proficiency', status: 'pass', message: msg };
785
1095
  }
786
1096
  catch {
787
- 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
+ };
788
1102
  }
789
1103
  }
790
1104
  /** AppleDouble sidecars (`._name`) under `.claude/`.
@@ -806,7 +1120,10 @@ export async function checkAppleDoubleSidecars() {
806
1120
  const found = findAppleDoubleSidecars(process.cwd());
807
1121
  if (found.length === 0)
808
1122
  return { name, status: 'pass', message: 'None under .claude/' };
809
- 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(', ');
810
1127
  return {
811
1128
  name,
812
1129
  status: 'warn',
@@ -858,7 +1175,9 @@ export function fixAppleDoubleSidecars(cwd) {
858
1175
  rmSync(f, { force: true });
859
1176
  removed++;
860
1177
  }
861
- catch { /* best effort */ }
1178
+ catch {
1179
+ /* best effort */
1180
+ }
862
1181
  }
863
1182
  return removed;
864
1183
  }
@@ -889,11 +1208,22 @@ export async function checkDocumentExtractors() {
889
1208
  return [];
890
1209
  try {
891
1210
  const { documentsCapability } = await import('../capabilities/cap-documents.js');
892
- const checks = await documentsCapability.healthChecks?.() ?? [];
893
- return checks.map(c => ({ name: c.name, status: c.status, message: c.message, fix: c.hint ?? c.fix }));
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
+ }));
894
1218
  }
895
1219
  catch (err) {
896
- return [{ name: 'Document Extractors', status: 'warn', message: `Check failed: ${err instanceof Error ? err.message : String(err)}` }];
1220
+ return [
1221
+ {
1222
+ name: 'Document Extractors',
1223
+ status: 'warn',
1224
+ message: `Check failed: ${err instanceof Error ? err.message : String(err)}`,
1225
+ },
1226
+ ];
897
1227
  }
898
1228
  }
899
1229
  //# sourceMappingURL=doctor-project-checks.js.map