@monoes/monomindcli 2.8.4 → 2.9.1

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 (363) hide show
  1. package/.claude/helpers/auto-memory-hook.mjs +0 -0
  2. package/.claude/helpers/handlers/route-handler.cjs +12 -0
  3. package/.claude/helpers/handlers/session-restore-handler.cjs +28 -7
  4. package/.claude/helpers/hook-handler.cjs +0 -0
  5. package/.claude/helpers/utils/micro-agents.cjs +22 -0
  6. package/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +11 -6
  7. package/.claude/skills/monodesign/scripts/live-inject.mjs +20 -7
  8. package/.claude/skills/monodesign/scripts/live-server.mjs +38 -2
  9. package/LICENSE +191 -0
  10. package/README.md +8 -6
  11. package/dist/src/browser/dashboard/server.d.ts +5 -0
  12. package/dist/src/browser/dashboard/server.d.ts.map +1 -1
  13. package/dist/src/browser/dashboard/server.js +59 -4
  14. package/dist/src/browser/dashboard/server.js.map +1 -1
  15. package/dist/src/browser/dashboard/ui.html +18 -8
  16. package/dist/src/browser/workflow/store.d.ts.map +1 -1
  17. package/dist/src/browser/workflow/store.js +3 -2
  18. package/dist/src/browser/workflow/store.js.map +1 -1
  19. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  20. package/dist/src/capabilities/cap-documents.js +14 -9
  21. package/dist/src/capabilities/cap-documents.js.map +1 -1
  22. package/dist/src/commands/doctor.d.ts.map +1 -1
  23. package/dist/src/commands/doctor.js +22 -18
  24. package/dist/src/commands/doctor.js.map +1 -1
  25. package/dist/src/commands/download-embeddings.d.ts +8 -0
  26. package/dist/src/commands/download-embeddings.d.ts.map +1 -0
  27. package/dist/src/commands/download-embeddings.js +34 -0
  28. package/dist/src/commands/download-embeddings.js.map +1 -0
  29. package/dist/src/commands/hooks.d.ts.map +1 -1
  30. package/dist/src/commands/hooks.js +14 -0
  31. package/dist/src/commands/hooks.js.map +1 -1
  32. package/dist/src/commands/index.d.ts.map +1 -1
  33. package/dist/src/commands/index.js +4 -0
  34. package/dist/src/commands/index.js.map +1 -1
  35. package/dist/src/commands/init-wizard.js +1 -1
  36. package/dist/src/commands/init-wizard.js.map +1 -1
  37. package/dist/src/commands/init.d.ts.map +1 -1
  38. package/dist/src/commands/init.js +48 -1
  39. package/dist/src/commands/init.js.map +1 -1
  40. package/dist/src/commands/monograph.d.ts.map +1 -1
  41. package/dist/src/commands/monograph.js +35 -1
  42. package/dist/src/commands/monograph.js.map +1 -1
  43. package/dist/src/commands/org-observe.d.ts +10 -0
  44. package/dist/src/commands/org-observe.d.ts.map +1 -1
  45. package/dist/src/commands/org-observe.js +195 -31
  46. package/dist/src/commands/org-observe.js.map +1 -1
  47. package/dist/src/commands/org.d.ts +1 -0
  48. package/dist/src/commands/org.d.ts.map +1 -1
  49. package/dist/src/commands/org.js +139 -3
  50. package/dist/src/commands/org.js.map +1 -1
  51. package/dist/src/commands/route.d.ts +1 -9
  52. package/dist/src/commands/route.d.ts.map +1 -1
  53. package/dist/src/commands/route.js +42 -65
  54. package/dist/src/commands/route.js.map +1 -1
  55. package/dist/src/commands/security-cve.d.ts.map +1 -1
  56. package/dist/src/commands/security-cve.js +2 -1
  57. package/dist/src/commands/security-cve.js.map +1 -1
  58. package/dist/src/index.d.ts +0 -10
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +4 -15
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/init/copy-assets.d.ts +17 -0
  63. package/dist/src/init/copy-assets.d.ts.map +1 -0
  64. package/dist/src/init/copy-assets.js +271 -0
  65. package/dist/src/init/copy-assets.js.map +1 -0
  66. package/dist/src/init/executor.d.ts +2 -30
  67. package/dist/src/init/executor.d.ts.map +1 -1
  68. package/dist/src/init/executor.js +56 -2493
  69. package/dist/src/init/executor.js.map +1 -1
  70. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  71. package/dist/src/init/helpers-generator.js +9 -0
  72. package/dist/src/init/helpers-generator.js.map +1 -1
  73. package/dist/src/init/settings-generator.d.ts.map +1 -1
  74. package/dist/src/init/settings-generator.js +0 -4
  75. package/dist/src/init/settings-generator.js.map +1 -1
  76. package/dist/src/init/shared.d.ts +112 -0
  77. package/dist/src/init/shared.d.ts.map +1 -0
  78. package/dist/src/init/shared.js +475 -0
  79. package/dist/src/init/shared.js.map +1 -0
  80. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  81. package/dist/src/init/statusline-generator.js +37 -0
  82. package/dist/src/init/statusline-generator.js.map +1 -1
  83. package/dist/src/init/types.d.ts +1 -1
  84. package/dist/src/init/types.d.ts.map +1 -1
  85. package/dist/src/init/upgrade.d.ts +34 -0
  86. package/dist/src/init/upgrade.d.ts.map +1 -0
  87. package/dist/src/init/upgrade.js +477 -0
  88. package/dist/src/init/upgrade.js.map +1 -0
  89. package/dist/src/init/write-antigravity.d.ts +13 -0
  90. package/dist/src/init/write-antigravity.d.ts.map +1 -0
  91. package/dist/src/init/write-antigravity.js +117 -0
  92. package/dist/src/init/write-antigravity.js.map +1 -0
  93. package/dist/src/init/write-capabilities.d.ts +9 -0
  94. package/dist/src/init/write-capabilities.d.ts.map +1 -0
  95. package/dist/src/init/write-capabilities.js +392 -0
  96. package/dist/src/init/write-capabilities.js.map +1 -0
  97. package/dist/src/init/write-claude.d.ts +25 -0
  98. package/dist/src/init/write-claude.d.ts.map +1 -0
  99. package/dist/src/init/write-claude.js +279 -0
  100. package/dist/src/init/write-claude.js.map +1 -0
  101. package/dist/src/init/write-kimicode.d.ts +19 -0
  102. package/dist/src/init/write-kimicode.d.ts.map +1 -0
  103. package/dist/src/init/write-kimicode.js +223 -0
  104. package/dist/src/init/write-kimicode.js.map +1 -0
  105. package/dist/src/init/write-opencode.d.ts +14 -0
  106. package/dist/src/init/write-opencode.d.ts.map +1 -0
  107. package/dist/src/init/write-opencode.js +130 -0
  108. package/dist/src/init/write-opencode.js.map +1 -0
  109. package/dist/src/init/write-runtime-config.d.ts +14 -0
  110. package/dist/src/init/write-runtime-config.d.ts.map +1 -0
  111. package/dist/src/init/write-runtime-config.js +214 -0
  112. package/dist/src/init/write-runtime-config.js.map +1 -0
  113. package/dist/src/init/write-sample-org.d.ts +9 -0
  114. package/dist/src/init/write-sample-org.d.ts.map +1 -0
  115. package/dist/src/init/write-sample-org.js +39 -0
  116. package/dist/src/init/write-sample-org.js.map +1 -0
  117. package/dist/src/knowledge/eval/golden-set.js +1 -1
  118. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  119. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
  120. package/dist/src/mcp-tools/analyze-tools.js +2 -25
  121. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  122. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
  123. package/dist/src/mcp-tools/auto-install.js +2 -1
  124. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  125. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  126. package/dist/src/mcp-tools/hooks-routing.js +26 -0
  127. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  128. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  129. package/dist/src/mcp-tools/memory-tools.js +2 -37
  130. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  131. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts +5 -0
  132. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts.map +1 -0
  133. package/dist/src/mcp-tools/monograph/agent-history-tools.js +177 -0
  134. package/dist/src/mcp-tools/monograph/agent-history-tools.js.map +1 -0
  135. package/dist/src/mcp-tools/monograph/build-tools.d.ts +9 -0
  136. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -0
  137. package/dist/src/mcp-tools/monograph/build-tools.js +299 -0
  138. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -0
  139. package/dist/src/mcp-tools/monograph/group-tools.d.ts +10 -0
  140. package/dist/src/mcp-tools/monograph/group-tools.d.ts.map +1 -0
  141. package/dist/src/mcp-tools/monograph/group-tools.js +225 -0
  142. package/dist/src/mcp-tools/monograph/group-tools.js.map +1 -0
  143. package/dist/src/mcp-tools/monograph/health-tools.d.ts +6 -0
  144. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -0
  145. package/dist/src/mcp-tools/monograph/health-tools.js +113 -0
  146. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -0
  147. package/dist/src/mcp-tools/monograph/impact-tools.d.ts +9 -0
  148. package/dist/src/mcp-tools/monograph/impact-tools.d.ts.map +1 -0
  149. package/dist/src/mcp-tools/monograph/impact-tools.js +532 -0
  150. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -0
  151. package/dist/src/mcp-tools/monograph/index.d.ts +10 -0
  152. package/dist/src/mcp-tools/monograph/index.d.ts.map +1 -0
  153. package/dist/src/mcp-tools/monograph/index.js +73 -0
  154. package/dist/src/mcp-tools/monograph/index.js.map +1 -0
  155. package/dist/src/mcp-tools/monograph/query-tools.d.ts +11 -0
  156. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -0
  157. package/dist/src/mcp-tools/monograph/query-tools.js +500 -0
  158. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -0
  159. package/dist/src/mcp-tools/monograph/shared.d.ts +64 -0
  160. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -0
  161. package/dist/src/mcp-tools/monograph/shared.js +215 -0
  162. package/dist/src/mcp-tools/monograph/shared.js.map +1 -0
  163. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts +10 -0
  164. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts.map +1 -0
  165. package/dist/src/mcp-tools/monograph/visualize-tools.js +382 -0
  166. package/dist/src/mcp-tools/monograph/visualize-tools.js.map +1 -0
  167. package/dist/src/mcp-tools/monograph-tools.d.ts +4 -23
  168. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  169. package/dist/src/mcp-tools/monograph-tools.js +4 -2439
  170. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  171. package/dist/src/mcp-tools/monomind-tools.d.ts +8 -0
  172. package/dist/src/mcp-tools/monomind-tools.d.ts.map +1 -1
  173. package/dist/src/mcp-tools/monomind-tools.js +13 -1
  174. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  175. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
  176. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +31 -2
  177. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -1
  178. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  179. package/dist/src/mcp-tools/terminal-tools.js +31 -1
  180. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/types.d.ts +8 -27
  182. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  183. package/dist/src/mcp-tools/types.js +9 -91
  184. package/dist/src/mcp-tools/types.js.map +1 -1
  185. package/dist/src/memory/file-permissions.d.ts +15 -0
  186. package/dist/src/memory/file-permissions.d.ts.map +1 -0
  187. package/dist/src/memory/file-permissions.js +25 -0
  188. package/dist/src/memory/file-permissions.js.map +1 -0
  189. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  190. package/dist/src/memory/memory-bridge.js +94 -34
  191. package/dist/src/memory/memory-bridge.js.map +1 -1
  192. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  193. package/dist/src/memory/memory-crud.js +298 -275
  194. package/dist/src/memory/memory-crud.js.map +1 -1
  195. package/dist/src/memory/memory-initializer.d.ts +2 -4
  196. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  197. package/dist/src/memory/memory-initializer.js +53 -76
  198. package/dist/src/memory/memory-initializer.js.map +1 -1
  199. package/dist/src/memory/memory-migrations.d.ts +1 -14
  200. package/dist/src/memory/memory-migrations.d.ts.map +1 -1
  201. package/dist/src/memory/memory-migrations.js +52 -105
  202. package/dist/src/memory/memory-migrations.js.map +1 -1
  203. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  204. package/dist/src/memory/sona-optimizer.js +1 -1
  205. package/dist/src/monovector/index.d.ts +16 -19
  206. package/dist/src/monovector/index.d.ts.map +1 -1
  207. package/dist/src/monovector/index.js +50 -8
  208. package/dist/src/monovector/index.js.map +1 -1
  209. package/dist/src/orgrt/approvals.d.ts +16 -0
  210. package/dist/src/orgrt/approvals.d.ts.map +1 -0
  211. package/dist/src/orgrt/approvals.js +72 -0
  212. package/dist/src/orgrt/approvals.js.map +1 -0
  213. package/dist/src/orgrt/bus.d.ts.map +1 -1
  214. package/dist/src/orgrt/bus.js +21 -0
  215. package/dist/src/orgrt/bus.js.map +1 -1
  216. package/dist/src/orgrt/checkpoint-ops.d.ts +19 -0
  217. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -0
  218. package/dist/src/orgrt/checkpoint-ops.js +219 -0
  219. package/dist/src/orgrt/checkpoint-ops.js.map +1 -0
  220. package/dist/src/orgrt/checkpoint.d.ts +33 -1
  221. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  222. package/dist/src/orgrt/checkpoint.js +50 -6
  223. package/dist/src/orgrt/checkpoint.js.map +1 -1
  224. package/dist/src/orgrt/cross-org.d.ts +32 -0
  225. package/dist/src/orgrt/cross-org.d.ts.map +1 -0
  226. package/dist/src/orgrt/cross-org.js +256 -0
  227. package/dist/src/orgrt/cross-org.js.map +1 -0
  228. package/dist/src/orgrt/daemon.d.ts +131 -157
  229. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  230. package/dist/src/orgrt/daemon.js +356 -966
  231. package/dist/src/orgrt/daemon.js.map +1 -1
  232. package/dist/src/orgrt/decisions.d.ts +33 -0
  233. package/dist/src/orgrt/decisions.d.ts.map +1 -0
  234. package/dist/src/orgrt/decisions.js +169 -0
  235. package/dist/src/orgrt/decisions.js.map +1 -0
  236. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  237. package/dist/src/orgrt/kimicode-runner.js +5 -1
  238. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  239. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  240. package/dist/src/orgrt/opencode-runner.js +10 -2
  241. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  242. package/dist/src/orgrt/org-memory.d.ts +45 -0
  243. package/dist/src/orgrt/org-memory.d.ts.map +1 -0
  244. package/dist/src/orgrt/org-memory.js +220 -0
  245. package/dist/src/orgrt/org-memory.js.map +1 -0
  246. package/dist/src/orgrt/policy.d.ts +4 -0
  247. package/dist/src/orgrt/policy.d.ts.map +1 -1
  248. package/dist/src/orgrt/policy.js +13 -1
  249. package/dist/src/orgrt/policy.js.map +1 -1
  250. package/dist/src/orgrt/prechecks.d.ts +15 -0
  251. package/dist/src/orgrt/prechecks.d.ts.map +1 -0
  252. package/dist/src/orgrt/prechecks.js +21 -0
  253. package/dist/src/orgrt/prechecks.js.map +1 -0
  254. package/dist/src/orgrt/questions.d.ts +39 -0
  255. package/dist/src/orgrt/questions.d.ts.map +1 -0
  256. package/dist/src/orgrt/questions.js +135 -0
  257. package/dist/src/orgrt/questions.js.map +1 -0
  258. package/dist/src/orgrt/remote.d.ts +25 -0
  259. package/dist/src/orgrt/remote.d.ts.map +1 -0
  260. package/dist/src/orgrt/remote.js +73 -0
  261. package/dist/src/orgrt/remote.js.map +1 -0
  262. package/dist/src/orgrt/scheduler-integration.d.ts +19 -0
  263. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -0
  264. package/dist/src/orgrt/scheduler-integration.js +90 -0
  265. package/dist/src/orgrt/scheduler-integration.js.map +1 -0
  266. package/dist/src/orgrt/server.d.ts.map +1 -1
  267. package/dist/src/orgrt/server.js +70 -2
  268. package/dist/src/orgrt/server.js.map +1 -1
  269. package/dist/src/orgrt/session.d.ts +30 -1
  270. package/dist/src/orgrt/session.d.ts.map +1 -1
  271. package/dist/src/orgrt/session.js +184 -53
  272. package/dist/src/orgrt/session.js.map +1 -1
  273. package/dist/src/orgrt/state-detector.d.ts +19 -0
  274. package/dist/src/orgrt/state-detector.d.ts.map +1 -0
  275. package/dist/src/orgrt/state-detector.js +59 -0
  276. package/dist/src/orgrt/state-detector.js.map +1 -0
  277. package/dist/src/orgrt/task-dag.d.ts +27 -0
  278. package/dist/src/orgrt/task-dag.d.ts.map +1 -0
  279. package/dist/src/orgrt/task-dag.js +100 -0
  280. package/dist/src/orgrt/task-dag.js.map +1 -0
  281. package/dist/src/orgrt/tool-fence.d.ts +7 -4
  282. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  283. package/dist/src/orgrt/tool-fence.js +47 -6
  284. package/dist/src/orgrt/tool-fence.js.map +1 -1
  285. package/dist/src/orgrt/types.d.ts +57 -2
  286. package/dist/src/orgrt/types.d.ts.map +1 -1
  287. package/dist/src/orgrt/types.js +34 -3
  288. package/dist/src/orgrt/types.js.map +1 -1
  289. package/dist/src/routing/model-download.d.ts +49 -0
  290. package/dist/src/routing/model-download.d.ts.map +1 -0
  291. package/dist/src/routing/model-download.js +106 -0
  292. package/dist/src/routing/model-download.js.map +1 -0
  293. package/dist/src/services/crash-reporter.d.ts +5 -0
  294. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  295. package/dist/src/services/crash-reporter.js +49 -0
  296. package/dist/src/services/crash-reporter.js.map +1 -1
  297. package/dist/src/transfer/anonymization/index.d.ts +18 -15
  298. package/dist/src/transfer/anonymization/index.d.ts.map +1 -1
  299. package/dist/src/transfer/anonymization/index.js +7 -119
  300. package/dist/src/transfer/anonymization/index.js.map +1 -1
  301. package/dist/src/ui/dashboard.html +606 -7
  302. package/dist/src/ui/orgs.html +7 -1
  303. package/dist/src/ui/routes-monograph.mjs +6 -0
  304. package/dist/src/ui/server.mjs +327 -7
  305. package/dist/src/update/checker.d.ts.map +1 -1
  306. package/dist/src/update/checker.js +2 -1
  307. package/dist/src/update/checker.js.map +1 -1
  308. package/dist/src/update/executor.d.ts.map +1 -1
  309. package/dist/src/update/executor.js +7 -3
  310. package/dist/src/update/executor.js.map +1 -1
  311. package/dist/src/update/index.d.ts +0 -1
  312. package/dist/src/update/index.d.ts.map +1 -1
  313. package/dist/src/update/index.js +5 -24
  314. package/dist/src/update/index.js.map +1 -1
  315. package/dist/src/utils/db-mutex.d.ts +11 -0
  316. package/dist/src/utils/db-mutex.d.ts.map +1 -0
  317. package/dist/src/utils/db-mutex.js +23 -0
  318. package/dist/src/utils/db-mutex.js.map +1 -0
  319. package/dist/src/utils/input-guards.d.ts +23 -0
  320. package/dist/src/utils/input-guards.d.ts.map +1 -1
  321. package/dist/src/utils/input-guards.js +72 -0
  322. package/dist/src/utils/input-guards.js.map +1 -1
  323. package/dist/src/utils/npm-command.d.ts +10 -0
  324. package/dist/src/utils/npm-command.d.ts.map +1 -0
  325. package/dist/src/utils/npm-command.js +12 -0
  326. package/dist/src/utils/npm-command.js.map +1 -0
  327. package/dist/src/utils/paths.d.ts +28 -0
  328. package/dist/src/utils/paths.d.ts.map +1 -0
  329. package/dist/src/utils/paths.js +108 -0
  330. package/dist/src/utils/paths.js.map +1 -0
  331. package/dist/tsconfig.tsbuildinfo +1 -1
  332. package/package.json +17 -17
  333. package/scripts/download-embedding-model.mjs +97 -0
  334. package/scripts/publish.sh +0 -0
  335. package/scripts/sync-claude-assets.sh +0 -0
  336. package/dist/src/production/circuit-breaker.d.ts +0 -121
  337. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  338. package/dist/src/production/circuit-breaker.js +0 -262
  339. package/dist/src/production/circuit-breaker.js.map +0 -1
  340. package/dist/src/production/error-handler.d.ts +0 -119
  341. package/dist/src/production/error-handler.d.ts.map +0 -1
  342. package/dist/src/production/error-handler.js +0 -324
  343. package/dist/src/production/error-handler.js.map +0 -1
  344. package/dist/src/production/index.d.ts +0 -6
  345. package/dist/src/production/index.d.ts.map +0 -1
  346. package/dist/src/production/index.js +0 -6
  347. package/dist/src/production/index.js.map +0 -1
  348. package/dist/src/production/monitoring.d.ts +0 -181
  349. package/dist/src/production/monitoring.d.ts.map +0 -1
  350. package/dist/src/production/monitoring.js +0 -375
  351. package/dist/src/production/monitoring.js.map +0 -1
  352. package/dist/src/production/rate-limiter.d.ts +0 -125
  353. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  354. package/dist/src/production/rate-limiter.js +0 -218
  355. package/dist/src/production/rate-limiter.js.map +0 -1
  356. package/dist/src/production/retry.d.ts +0 -48
  357. package/dist/src/production/retry.d.ts.map +0 -1
  358. package/dist/src/production/retry.js +0 -189
  359. package/dist/src/production/retry.js.map +0 -1
  360. package/dist/src/transfer/types.d.ts +0 -245
  361. package/dist/src/transfer/types.d.ts.map +0 -1
  362. package/dist/src/transfer/types.js +0 -6
  363. package/dist/src/transfer/types.js.map +0 -1
@@ -0,0 +1,225 @@
1
+ import { join } from 'path';
2
+ import { getProjectCwd } from '../types.js';
3
+ import { getDbPath, text } from './shared.js';
4
+ // ── monograph_community ───────────────────────────────────────────────────────
5
+ export const monographCommunityTool = {
6
+ name: 'monograph_community',
7
+ description: 'Get all nodes belonging to a community (by numeric community ID).',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ id: { type: 'number', description: 'Community ID' },
12
+ },
13
+ required: ['id'],
14
+ },
15
+ handler: async (input) => {
16
+ // Validate community ID — must be a finite integer. parseInt(NaN) or a float
17
+ // would silently become 0 in SQLite (NaN → NULL → 0 coercion), which would
18
+ // return all nodes in community 0 instead of an error.
19
+ const rawId = typeof input.id === 'number' ? input.id : parseInt(String(input.id), 10);
20
+ if (!Number.isFinite(rawId) || rawId !== Math.floor(rawId)) {
21
+ return text(`Invalid community ID: ${input.id} (must be an integer)`);
22
+ }
23
+ const communityId = rawId;
24
+ const { openDb, closeDb } = await import('@monoes/monograph');
25
+ const db = openDb(getDbPath());
26
+ try {
27
+ const rows = db.prepare('SELECT id, label, name, file_path, start_line FROM nodes WHERE community_id = ?').all(communityId);
28
+ if (rows.length === 0)
29
+ return text(`No nodes in community ${communityId}`);
30
+ return text(rows.map(r => {
31
+ const loc = r.file_path ? (r.start_line != null ? `${r.file_path}:${r.start_line}` : r.file_path) : '';
32
+ return `[${r.label}] ${r.name} ${loc}`;
33
+ }).join('\n'));
34
+ }
35
+ finally {
36
+ closeDb(db);
37
+ }
38
+ },
39
+ };
40
+ // ── monograph_surprises ───────────────────────────────────────────────────────
41
+ export const monographSurprisesTool = {
42
+ name: 'monograph_surprises',
43
+ description: 'Show unexpected cross-community or low-confidence edges ranked by surprise score.',
44
+ inputSchema: {
45
+ type: 'object',
46
+ properties: { limit: { type: 'number', description: 'Max results (default 20)' } },
47
+ },
48
+ handler: async (input) => {
49
+ const { openDb, closeDb } = await import('@monoes/monograph');
50
+ const db = openDb(getDbPath());
51
+ try {
52
+ // Cap limit: passed directly to the SQL LIMIT clause.
53
+ const MAX_SURPRISES_LIMIT = 1_000;
54
+ const rawSurprisesLimit = input.limit ?? 20;
55
+ const limit = Number.isFinite(rawSurprisesLimit) && rawSurprisesLimit > 0
56
+ ? Math.min(Math.floor(rawSurprisesLimit), MAX_SURPRISES_LIMIT)
57
+ : 20;
58
+ const rows = db.prepare(`
59
+ SELECT e.confidence, e.confidence_score, e.relation,
60
+ n1.name as src_name, n1.file_path as src_file, n1.start_line as src_line,
61
+ n2.name as tgt_name, n2.file_path as tgt_file, n2.start_line as tgt_line
62
+ FROM edges e
63
+ JOIN nodes n1 ON n1.id = e.source_id
64
+ JOIN nodes n2 ON n2.id = e.target_id
65
+ WHERE e.confidence != 'EXTRACTED'
66
+ ORDER BY e.confidence_score ASC LIMIT ?
67
+ `).all(limit);
68
+ if (rows.length === 0)
69
+ return text('No surprising connections found.');
70
+ return text(rows.map(r => {
71
+ const srcLoc = r.src_file ? (r.src_line != null ? `${r.src_file}:${r.src_line}` : r.src_file) : '';
72
+ const tgtLoc = r.tgt_file ? (r.tgt_line != null ? `${r.tgt_file}:${r.tgt_line}` : r.tgt_file) : '';
73
+ const locHint = srcLoc || tgtLoc ? ` [${srcLoc}${tgtLoc ? ` → ${tgtLoc}` : ''}]` : '';
74
+ return `[${r.confidence}] ${r.src_name} --${r.relation}--> ${r.tgt_name} (score: ${r.confidence_score})${locHint}`;
75
+ }).join('\n'));
76
+ }
77
+ finally {
78
+ closeDb(db);
79
+ }
80
+ },
81
+ };
82
+ // ── monograph_group_list ──────────────────────────────────────────────────────
83
+ export const monographGroupListTool = {
84
+ name: 'monograph_group_list',
85
+ description: 'List repos in a group.yaml with index metadata (node count and indexed_at timestamp). Useful for checking which repos have been indexed.',
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ configPath: { type: 'string', description: 'Path to group.yaml (defaults to group.yaml in project cwd)' },
90
+ },
91
+ },
92
+ handler: async (input) => {
93
+ const { getGroupList } = await import('@monoes/monograph');
94
+ const configPath = input.configPath ?? join(getProjectCwd(), 'group.yaml');
95
+ const result = await getGroupList(configPath);
96
+ const firstGroup = result.groups?.[0];
97
+ const allRepos = result.groups?.flatMap((g) => g.repos ?? []) ?? [];
98
+ if (!allRepos.length) {
99
+ return text(`Group: ${firstGroup?.name ?? 'unknown'}\nNo repos configured. Check ${configPath}`);
100
+ }
101
+ const lines = [`Group: ${firstGroup?.name ?? 'unknown'} (${allRepos.length} repos)`];
102
+ for (const r of allRepos) {
103
+ const indexed = r.indexedAt ? r.indexedAt.slice(0, 10) : 'never';
104
+ lines.push(` ${r.name} nodes=${r.nodeCount} indexed=${indexed} ${r.path}`);
105
+ }
106
+ return text(lines.join('\n'));
107
+ },
108
+ };
109
+ // ── monograph_group_query ─────────────────────────────────────────────────────
110
+ export const monographGroupQueryTool = {
111
+ name: 'monograph_group_query',
112
+ description: 'BM25 keyword search merged across all repos in a group.yaml using Reciprocal Rank Fusion (RRF). Returns results tagged with which repo they came from.',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ query: { type: 'string', description: 'Search terms' },
117
+ configPath: { type: 'string', description: 'Path to group.yaml (defaults to group.yaml in project cwd)' },
118
+ limit: { type: 'number', description: 'Max results (default 20)' },
119
+ },
120
+ required: ['query'],
121
+ },
122
+ handler: async (input) => {
123
+ const { runGroupQuery } = await import('@monoes/monograph');
124
+ const configPath = input.configPath ?? join(getProjectCwd(), 'group.yaml');
125
+ // Cap query and limit forwarded to runGroupQuery.
126
+ const MAX_GROUP_QUERY_LEN = 16 * 1024;
127
+ const MAX_GROUP_LIMIT = 1_000;
128
+ const rawGroupQuery = input.query;
129
+ const groupQuery = typeof rawGroupQuery === 'string' && rawGroupQuery.length > MAX_GROUP_QUERY_LEN
130
+ ? rawGroupQuery.slice(0, MAX_GROUP_QUERY_LEN)
131
+ : rawGroupQuery;
132
+ const rawGroupLimit = input.limit;
133
+ const groupLimit = Number.isFinite(rawGroupLimit) && (rawGroupLimit ?? 0) > 0
134
+ ? Math.min(Math.floor(rawGroupLimit), MAX_GROUP_LIMIT)
135
+ : rawGroupLimit;
136
+ const results = await runGroupQuery(configPath, groupQuery, groupLimit);
137
+ if (results.length === 0)
138
+ return text('No results found.');
139
+ const lines = results.map(r => `[${r.label}] ${r.name} ${r.filePath ?? ''} repo:${r.repo} (score: ${r.score.toFixed(4)})`);
140
+ return text(lines.join('\n'));
141
+ },
142
+ };
143
+ // ── monograph_group_sync ──────────────────────────────────────────────────────
144
+ export const monographGroupSyncTool = {
145
+ name: 'monograph_group_sync',
146
+ description: 'Scan all repos in a group.yaml for Route nodes, detect shared HTTP contracts across repos, and persist the Contract Registry to disk.',
147
+ inputSchema: {
148
+ type: 'object',
149
+ properties: {
150
+ configPath: { type: 'string', description: 'Path to group.yaml (defaults to group.yaml in project cwd)' },
151
+ },
152
+ },
153
+ handler: async (input) => {
154
+ const { runGroupSync } = await import('@monoes/monograph');
155
+ const configPath = input.configPath ?? join(getProjectCwd(), 'group.yaml');
156
+ try {
157
+ const result = await runGroupSync(configPath);
158
+ return text(JSON.stringify(result, null, 2));
159
+ }
160
+ catch (err) {
161
+ const msg = err instanceof Error ? err.message : String(err);
162
+ return text(`Group sync failed: ${msg}`);
163
+ }
164
+ },
165
+ };
166
+ // ── monograph_group_contracts ─────────────────────────────────────────────────
167
+ export const monographGroupContractsTool = {
168
+ name: 'monograph_group_contracts',
169
+ description: 'List public API contracts (exported symbols, interfaces, and types) for all groups defined in group.yaml.',
170
+ inputSchema: {
171
+ type: 'object',
172
+ properties: {
173
+ configPath: { type: 'string', description: 'Path to group.yaml (defaults to group.yaml in project cwd)' },
174
+ },
175
+ },
176
+ handler: async (input) => {
177
+ const { getGroupContracts } = await import('../monograph-compat.js');
178
+ const configPath = input.configPath ?? join(getProjectCwd(), 'group.yaml');
179
+ const contracts = await getGroupContracts(configPath);
180
+ if (contracts.length === 0)
181
+ return text(`No contracts found. Ensure groups are defined in ${configPath}.`);
182
+ const lines = contracts.map(c => `[${c.groupName}] ${c.symbol} — ${c.filePath}:${c.line}`);
183
+ return text(lines.join('\n'));
184
+ },
185
+ };
186
+ // ── monograph_group_status ────────────────────────────────────────────────────
187
+ export const monographGroupStatusTool = {
188
+ name: 'monograph_group_status',
189
+ description: 'Show health status for all groups: whether each group is indexed, has contracts, and was recently synced.',
190
+ inputSchema: {
191
+ type: 'object',
192
+ properties: {
193
+ configPath: { type: 'string', description: 'Path to group.yaml (defaults to group.yaml in project cwd)' },
194
+ },
195
+ },
196
+ handler: async (input) => {
197
+ const { getGroupStatus } = await import('../monograph-compat.js');
198
+ const configPath = input.configPath ?? join(getProjectCwd(), 'group.yaml');
199
+ const status = await getGroupStatus(configPath);
200
+ const lines = [`Groups: ${status.totalGroups} (${status.indexedGroups} indexed, ${status.stalledGroups} stalled)`];
201
+ for (const g of status.groups) {
202
+ const icon = g.indexed ? (g.stale ? '⚠️' : '✅') : '❌';
203
+ lines.push(`${icon} ${g.name} — ${g.contractCount} contracts${g.lastSync ? ` (synced ${g.lastSync.slice(0, 10)})` : ''}`);
204
+ }
205
+ return text(lines.join('\n'));
206
+ },
207
+ };
208
+ // ── monograph_list_repos ──────────────────────────────────────────────────────
209
+ export const monographListReposTool = {
210
+ name: 'monograph_list_repos',
211
+ description: 'List all repositories tracked in the global monograph registry (~/.monograph/registry.json).',
212
+ inputSchema: {
213
+ type: 'object',
214
+ properties: {},
215
+ },
216
+ handler: async (_input) => {
217
+ const { listRepos } = await import('@monoes/monograph');
218
+ const repos = listRepos();
219
+ if (repos.length === 0)
220
+ return text('No repositories registered. Run monograph build in a repo to register it.');
221
+ const lines = repos.map(r => `${r.name} — ${r.path}${r.lastIndexed ? ` (indexed ${r.lastIndexed.slice(0, 10)})` : ''}${r.nodeCount != null ? ` [${r.nodeCount} nodes, ${r.edgeCount ?? 0} edges]` : ''}`);
222
+ return text(lines.join('\n'));
223
+ },
224
+ };
225
+ //# sourceMappingURL=group-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-tools.js","sourceRoot":"","sources":["../../../../src/mcp-tools/monograph/group-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { MCPTool } from '../types.js';
2
+ export declare const monographStatsTool: MCPTool;
3
+ export declare const monographHealthTool: MCPTool;
4
+ export declare const monographStalenessTool: MCPTool;
5
+ export declare const monographDoctorTool: MCPTool;
6
+ //# sourceMappingURL=health-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp-tools/monograph/health-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,kBAAkB,EAAE,OAiBhC,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,OA+CjC,CAAC;AAIF,eAAO,MAAM,sBAAsB,EAAE,OAwBpC,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,OAejC,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { getProjectCwd } from '../types.js';
2
+ import { getDbPath, _isValidDb, text, computeCommitsBehind, triggerBackgroundBuildIfNeeded, STALENESS_THRESHOLD } from './shared.js';
3
+ // ── monograph_stats ─────────────────────────────────────────────────────────
4
+ export const monographStatsTool = {
5
+ name: 'monograph_stats',
6
+ description: 'Show node/edge/community counts and index freshness.',
7
+ inputSchema: { type: 'object', properties: {} },
8
+ handler: async () => {
9
+ const dbPath = getDbPath();
10
+ if (!_isValidDb(dbPath))
11
+ return text('Monograph index not built yet. Run monograph_build first.');
12
+ const { openDb, closeDb, countNodes, countEdges } = await import('@monoes/monograph');
13
+ const db = openDb(dbPath);
14
+ try {
15
+ const nodes = countNodes(db);
16
+ const edges = countEdges(db);
17
+ const meta = db.prepare('SELECT key, value FROM index_meta').all();
18
+ const metaStr = meta.map(m => ` ${m.key}: ${m.value}`).join('\n');
19
+ return text(`Monograph index stats:\n nodes: ${nodes}\n edges: ${edges}\n${metaStr}`);
20
+ }
21
+ finally {
22
+ closeDb(db);
23
+ }
24
+ },
25
+ };
26
+ // ── monograph_health ────────────────────────────────────────────────────────
27
+ export const monographHealthTool = {
28
+ name: 'monograph_health',
29
+ description: 'Check index staleness: compares last indexed git commit vs current HEAD.',
30
+ inputSchema: { type: 'object', properties: {} },
31
+ handler: async () => {
32
+ const { openDb, closeDb } = await import('@monoes/monograph');
33
+ const { execSync } = await import('child_process');
34
+ const db = openDb(getDbPath());
35
+ try {
36
+ // The orchestrator writes the key as 'last_commit_hash' (orchestrator.ts:68).
37
+ // Fall back to legacy 'lastCommit' for indexes built with older versions.
38
+ const meta = db.prepare("SELECT value FROM index_meta WHERE key = 'last_commit_hash'").get() ?? db.prepare("SELECT value FROM index_meta WHERE key = 'lastCommit'").get();
39
+ const lastCommit = meta?.value ?? null;
40
+ if (!lastCommit) {
41
+ // last_commit_hash can be missing even when the index is populated
42
+ // (e.g. git rev-parse failed during build). Check actual data before
43
+ // claiming "never built".
44
+ const nodeCount = db.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
45
+ if (nodeCount > 0) {
46
+ const indexedAt = db.prepare("SELECT value FROM index_meta WHERE key = 'indexed_at'").get()?.value;
47
+ return text(`Index is built (${nodeCount} nodes${indexedAt ? `, indexed at ${indexedAt}` : ''}) but no commit hash was recorded — staleness tracking unavailable.\n` +
48
+ 'Run monograph_build to fix commit tracking.');
49
+ }
50
+ return text('Index has never been built. Run monograph_build first.');
51
+ }
52
+ if (!/^[0-9a-f]{7,40}$/i.test(lastCommit)) {
53
+ return text('Index metadata is corrupt: invalid commit SHA. Run monograph_build to re-index.');
54
+ }
55
+ let commitsBehind = 0;
56
+ try {
57
+ const out = execSync(`git rev-list --count ${lastCommit}..HEAD`, {
58
+ cwd: getProjectCwd(), encoding: 'utf-8'
59
+ }).trim();
60
+ commitsBehind = parseInt(out, 10);
61
+ }
62
+ catch {
63
+ return text('Cannot check staleness: git error');
64
+ }
65
+ const status = commitsBehind === 0 ? 'FRESH' : `STALE (${commitsBehind} commits behind)`;
66
+ return text(`Index status: ${status}\nLast indexed commit: ${lastCommit}`);
67
+ }
68
+ finally {
69
+ closeDb(db);
70
+ }
71
+ },
72
+ };
73
+ // ── monograph_staleness ─────────────────────────────────────────────────────
74
+ export const monographStalenessTool = {
75
+ name: 'monograph_staleness',
76
+ description: 'Git staleness detection: compares the commit hash at last index build against current HEAD. When the index is more than 3 commits behind HEAD it automatically triggers a background rebuild. Returns { commitsBehind, status, triggered }.',
77
+ inputSchema: {
78
+ type: 'object',
79
+ properties: {
80
+ path: { type: 'string', description: 'Absolute path to the repo (defaults to project cwd)' },
81
+ },
82
+ },
83
+ handler: async (input) => {
84
+ const repoPath = input.path ?? getProjectCwd();
85
+ const result = await computeCommitsBehind(repoPath);
86
+ if (!result) {
87
+ return text(JSON.stringify({ commitsBehind: 0, status: 'unknown', triggered: false }));
88
+ }
89
+ const { commitsBehind } = result;
90
+ const triggered = triggerBackgroundBuildIfNeeded(repoPath, commitsBehind, STALENESS_THRESHOLD + 1);
91
+ const status = triggered ? 'building' : commitsBehind === 0 ? 'fresh' : 'stale';
92
+ return text(JSON.stringify({ commitsBehind, status, triggered }));
93
+ },
94
+ };
95
+ // ── monograph_doctor ────────────────────────────────────────────────────────
96
+ export const monographDoctorTool = {
97
+ name: 'monograph_doctor',
98
+ description: 'Run platform diagnostics — checks Node version, SQLite DB health, node count, disk space.',
99
+ inputSchema: {
100
+ type: 'object',
101
+ properties: {},
102
+ },
103
+ handler: async (_input) => {
104
+ const { runDoctor } = await import('@monoes/monograph');
105
+ const repoPath = getProjectCwd();
106
+ const result = await runDoctor(repoPath);
107
+ const lines = result.checks.map(c => `${c.status === 'ok' ? '✅' : c.status === 'warn' ? '⚠️' : '❌'} ${c.name}: ${c.message}`);
108
+ if (!result.healthy)
109
+ lines.push('\nSome checks failed. Run monograph build to fix.');
110
+ return text(lines.join('\n'));
111
+ },
112
+ };
113
+ //# sourceMappingURL=health-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-tools.js","sourceRoot":"","sources":["../../../../src/mcp-tools/monograph/health-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { MCPTool } from '../types.js';
2
+ export declare const monographImpactTool: MCPTool;
3
+ export declare const monographApiImpactTool: MCPTool;
4
+ export declare const monographDeadCodeTool: MCPTool;
5
+ export declare const monographRouteMapTool: MCPTool;
6
+ export declare const monographShapeCheckTool: MCPTool;
7
+ export declare const monographRenameTool: MCPTool;
8
+ export declare const monographToolMapTool: MCPTool;
9
+ //# sourceMappingURL=impact-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impact-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp-tools/monograph/impact-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,mBAAmB,EAAE,OAwEjC,CAAC;AAIF,eAAO,MAAM,sBAAsB,EAAE,OA+CpC,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,OAwHnC,CAAC;AAmGF,eAAO,MAAM,qBAAqB,EAAE,OAiCnC,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,OAsDrC,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,OA4CjC,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,OAyBlC,CAAC"}