@monoes/monomindcli 2.9.22 → 2.9.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1006) hide show
  1. package/.claude/agents/consensus/quorum-manager.md +35 -54
  2. package/.claude/agents/core/coordinator.md +14 -18
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/github/issue-tracker.md +3 -3
  5. package/.claude/agents/github/{code-review-swarm.md → monoswarm-code-review.md} +1 -1
  6. package/.claude/agents/github/{swarm-issue.md → monoswarm-issue.md} +1 -1
  7. package/.claude/agents/github/{multi-repo-swarm.md → monoswarm-multi-repo.md} +1 -1
  8. package/.claude/agents/github/{swarm-pr.md → monoswarm-pr.md} +1 -1
  9. package/.claude/agents/github/pr-manager.md +1 -1
  10. package/.claude/agents/github/release-manager.md +1 -1
  11. package/.claude/agents/github/repo-architect.md +1 -1
  12. package/.claude/agents/github/sync-coordinator.md +4 -4
  13. package/.claude/agents/{hive-mind → monoswarm}/collective-intelligence-coordinator.md +9 -16
  14. package/.claude/agents/{swarm → monoswarm}/mesh-coordinator.md +19 -24
  15. package/.claude/agents/{hive-mind/swarm-memory-manager.md → monoswarm/monoswarm-memory-manager.md} +1 -1
  16. package/.claude/agents/templates/{coordinator-swarm-init.md → coordinator-monoswarm-init.md} +1 -1
  17. package/.claude/agents/testing/{tdd-london-swarm.md → tdd-london-monoswarm.md} +2 -2
  18. package/.claude/commands/agents/agent-coordination.md +3 -3
  19. package/.claude/commands/agents/agent-types.md +1 -1
  20. package/.claude/commands/automation/self-healing.md +1 -1
  21. package/.claude/commands/automation/smart-spawn.md +1 -1
  22. package/.claude/commands/coordination/README.md +1 -1
  23. package/.claude/commands/coordination/{swarm-init.md → monoswarm-init.md} +2 -2
  24. package/.claude/commands/coordination/task-orchestrate.md +4 -4
  25. package/.claude/commands/github/README.md +1 -1
  26. package/.claude/commands/github/issue-tracker.md +2 -2
  27. package/.claude/commands/github/pr-manager.md +1 -1
  28. package/.claude/commands/github/release-manager.md +1 -1
  29. package/.claude/commands/github/repo-architect.md +1 -1
  30. package/.claude/commands/github/sync-coordinator.md +2 -2
  31. package/.claude/commands/hooks/README.md +1 -2
  32. package/.claude/commands/hooks/overview.md +1 -2
  33. package/.claude/commands/hooks/setup.md +0 -3
  34. package/.claude/commands/mastermind/createtask.md +2 -2
  35. package/.claude/commands/mastermind/do.md +3 -3
  36. package/.claude/commands/mastermind/help.md +2 -2
  37. package/.claude/commands/mastermind/ideate.md +1 -1
  38. package/.claude/commands/mastermind/improve.md +1 -1
  39. package/.claude/commands/mastermind/memory.md +2 -2
  40. package/.claude/commands/mastermind/{swarm.md → monoswarm.md} +13 -26
  41. package/.claude/commands/mastermind/topology.md +1 -1
  42. package/.claude/commands/memory/README.md +2 -2
  43. package/.claude/commands/memory/memory-search.md +1 -1
  44. package/.claude/commands/monoswarm/README.md +59 -0
  45. package/.claude/commands/monoswarm/consensus.md +61 -0
  46. package/.claude/commands/monoswarm/init.md +68 -0
  47. package/.claude/commands/monoswarm/memory.md +55 -0
  48. package/.claude/commands/monoswarm/monoswarm.md +139 -0
  49. package/.claude/commands/{swarm → monoswarm}/research.md +2 -2
  50. package/.claude/commands/monoswarm/spawn.md +49 -0
  51. package/.claude/commands/monoswarm/status.md +48 -0
  52. package/.claude/commands/monoswarm/stop.md +46 -0
  53. package/.claude/commands/optimization/auto-topology.md +9 -9
  54. package/.claude/commands/stream-chain/run.md +1 -1
  55. package/.claude/commands/workflows/development.md +1 -1
  56. package/.claude/commands/workflows/research.md +2 -2
  57. package/.claude/helpers/audit-log-writer.cjs +72 -0
  58. package/.claude/helpers/control-start.cjs +84 -26
  59. package/.claude/helpers/handlers/agent-start-handler.cjs +5 -5
  60. package/.claude/helpers/handlers/gates-handler.cjs +31 -10
  61. package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
  62. package/.claude/helpers/handlers/task-handler.cjs +4 -4
  63. package/.claude/helpers/skill-registry.json +4718 -3669
  64. package/.claude/helpers/statusline.cjs +21 -21
  65. package/.claude/helpers/token-tracker.cjs +0 -6
  66. package/.claude/settings.json +2 -3
  67. package/.claude/skills/hooks-automation/SKILL.md +5 -5
  68. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  69. package/.claude/skills/memory-toolkit/SKILL.md +2 -2
  70. package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
  71. package/.claude/skills/specialagent/SKILL.md +1 -1
  72. package/README.md +31 -12
  73. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  74. package/dist/src/agents/registry-builder.js +8 -9
  75. package/dist/src/agents/registry-builder.js.map +1 -1
  76. package/dist/src/autopilot-state.d.ts +0 -16
  77. package/dist/src/autopilot-state.d.ts.map +1 -1
  78. package/dist/src/autopilot-state.js +6 -21
  79. package/dist/src/autopilot-state.js.map +1 -1
  80. package/dist/src/browser/action-builder/analyzer.d.ts.map +1 -1
  81. package/dist/src/browser/action-builder/analyzer.js +6 -6
  82. package/dist/src/browser/action-builder/analyzer.js.map +1 -1
  83. package/dist/src/browser/action-builder/types.d.ts.map +1 -1
  84. package/dist/src/browser/adapters/gemini.d.ts.map +1 -1
  85. package/dist/src/browser/adapters/index.d.ts.map +1 -1
  86. package/dist/src/browser/adapters/index.js +2 -2
  87. package/dist/src/browser/adapters/index.js.map +1 -1
  88. package/dist/src/browser/adapters/instagram.d.ts.map +1 -1
  89. package/dist/src/browser/adapters/linkedin.d.ts.map +1 -1
  90. package/dist/src/browser/adapters/linkedin.js +9 -1
  91. package/dist/src/browser/adapters/linkedin.js.map +1 -1
  92. package/dist/src/browser/adapters/x.d.ts.map +1 -1
  93. package/dist/src/browser/adapters/x.js +14 -2
  94. package/dist/src/browser/adapters/x.js.map +1 -1
  95. package/dist/src/browser/dashboard/server.d.ts.map +1 -1
  96. package/dist/src/browser/dashboard/server.js +23 -13
  97. package/dist/src/browser/dashboard/server.js.map +1 -1
  98. package/dist/src/browser/dashboard/ui.html +5 -5
  99. package/dist/src/browser/workflow/engine.d.ts +1 -1
  100. package/dist/src/browser/workflow/engine.d.ts.map +1 -1
  101. package/dist/src/browser/workflow/engine.js +74 -25
  102. package/dist/src/browser/workflow/engine.js.map +1 -1
  103. package/dist/src/browser/workflow/store.d.ts +1 -1
  104. package/dist/src/browser/workflow/store.d.ts.map +1 -1
  105. package/dist/src/browser/workflow/store.js +54 -26
  106. package/dist/src/browser/workflow/store.js.map +1 -1
  107. package/dist/src/browser/workflow/types.d.ts.map +1 -1
  108. package/dist/src/capabilities/cap-code.d.ts.map +1 -1
  109. package/dist/src/capabilities/cap-code.js.map +1 -1
  110. package/dist/src/capabilities/cap-data.d.ts.map +1 -1
  111. package/dist/src/capabilities/cap-data.js +28 -8
  112. package/dist/src/capabilities/cap-data.js.map +1 -1
  113. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  114. package/dist/src/capabilities/cap-documents.js +136 -54
  115. package/dist/src/capabilities/cap-documents.js.map +1 -1
  116. package/dist/src/capabilities/cap-graph.d.ts.map +1 -1
  117. package/dist/src/capabilities/cap-graph.js +3 -3
  118. package/dist/src/capabilities/cap-graph.js.map +1 -1
  119. package/dist/src/capabilities/cap-media.d.ts.map +1 -1
  120. package/dist/src/capabilities/cap-media.js +1 -1
  121. package/dist/src/capabilities/cap-media.js.map +1 -1
  122. package/dist/src/capabilities/cap-timeline.d.ts.map +1 -1
  123. package/dist/src/capabilities/cap-timeline.js +33 -7
  124. package/dist/src/capabilities/cap-timeline.js.map +1 -1
  125. package/dist/src/capabilities/index.d.ts +5 -5
  126. package/dist/src/capabilities/index.d.ts.map +1 -1
  127. package/dist/src/capabilities/index.js +5 -5
  128. package/dist/src/capabilities/index.js.map +1 -1
  129. package/dist/src/capabilities/manager.d.ts.map +1 -1
  130. package/dist/src/capabilities/manager.js +6 -6
  131. package/dist/src/capabilities/manager.js.map +1 -1
  132. package/dist/src/capabilities/scanner.d.ts.map +1 -1
  133. package/dist/src/capabilities/scanner.js +103 -14
  134. package/dist/src/capabilities/scanner.js.map +1 -1
  135. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  136. package/dist/src/commands/agent-lifecycle.js +120 -41
  137. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  138. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  139. package/dist/src/commands/agent-ops.js +107 -41
  140. package/dist/src/commands/agent-ops.js.map +1 -1
  141. package/dist/src/commands/agent.d.ts.map +1 -1
  142. package/dist/src/commands/agent.js +11 -3
  143. package/dist/src/commands/agent.js.map +1 -1
  144. package/dist/src/commands/analyze-ast.d.ts +1 -1
  145. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  146. package/dist/src/commands/analyze-ast.js +47 -41
  147. package/dist/src/commands/analyze-ast.js.map +1 -1
  148. package/dist/src/commands/analyze-diff.d.ts.map +1 -1
  149. package/dist/src/commands/analyze-diff.js +147 -35
  150. package/dist/src/commands/analyze-diff.js.map +1 -1
  151. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  152. package/dist/src/commands/analyze-imports.js +74 -30
  153. package/dist/src/commands/analyze-imports.js.map +1 -1
  154. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  155. package/dist/src/commands/analyze-symbols.js +55 -41
  156. package/dist/src/commands/analyze-symbols.js.map +1 -1
  157. package/dist/src/commands/analyze.d.ts +19 -6
  158. package/dist/src/commands/analyze.d.ts.map +1 -1
  159. package/dist/src/commands/analyze.js +90 -28
  160. package/dist/src/commands/analyze.js.map +1 -1
  161. package/dist/src/commands/autopilot.d.ts.map +1 -1
  162. package/dist/src/commands/autopilot.js +5 -90
  163. package/dist/src/commands/autopilot.js.map +1 -1
  164. package/dist/src/commands/browse-action.d.ts.map +1 -1
  165. package/dist/src/commands/browse-action.js +65 -17
  166. package/dist/src/commands/browse-action.js.map +1 -1
  167. package/dist/src/commands/browse-platform.d.ts.map +1 -1
  168. package/dist/src/commands/browse-platform.js +13 -10
  169. package/dist/src/commands/browse-platform.js.map +1 -1
  170. package/dist/src/commands/browse-workflow.d.ts.map +1 -1
  171. package/dist/src/commands/browse-workflow.js +54 -20
  172. package/dist/src/commands/browse-workflow.js.map +1 -1
  173. package/dist/src/commands/browse.d.ts +1 -1
  174. package/dist/src/commands/browse.js +2 -2
  175. package/dist/src/commands/browse.js.map +1 -1
  176. package/dist/src/commands/cleanup.d.ts.map +1 -1
  177. package/dist/src/commands/cleanup.js +115 -49
  178. package/dist/src/commands/cleanup.js.map +1 -1
  179. package/dist/src/commands/completions.d.ts.map +1 -1
  180. package/dist/src/commands/completions.js +34 -21
  181. package/dist/src/commands/completions.js.map +1 -1
  182. package/dist/src/commands/config.d.ts.map +1 -1
  183. package/dist/src/commands/config.js +95 -54
  184. package/dist/src/commands/config.js.map +1 -1
  185. package/dist/src/commands/crash-reporting.d.ts.map +1 -1
  186. package/dist/src/commands/crash-reporting.js +10 -4
  187. package/dist/src/commands/crash-reporting.js.map +1 -1
  188. package/dist/src/commands/design-detect.d.ts.map +1 -1
  189. package/dist/src/commands/design-detect.js +33 -12
  190. package/dist/src/commands/design-detect.js.map +1 -1
  191. package/dist/src/commands/design-palette.d.ts.map +1 -1
  192. package/dist/src/commands/design-palette.js +770 -380
  193. package/dist/src/commands/design-palette.js.map +1 -1
  194. package/dist/src/commands/doc.d.ts.map +1 -1
  195. package/dist/src/commands/doc.js +272 -60
  196. package/dist/src/commands/doc.js.map +1 -1
  197. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  198. package/dist/src/commands/doctor-env-checks.js +130 -31
  199. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  200. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  201. package/dist/src/commands/doctor-monoes-checks.js +20 -7
  202. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  203. package/dist/src/commands/doctor-project-checks.d.ts +7 -0
  204. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  205. package/dist/src/commands/doctor-project-checks.js +476 -114
  206. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  207. package/dist/src/commands/doctor.d.ts.map +1 -1
  208. package/dist/src/commands/doctor.js +139 -60
  209. package/dist/src/commands/doctor.js.map +1 -1
  210. package/dist/src/commands/download-embeddings.d.ts.map +1 -1
  211. package/dist/src/commands/download-embeddings.js +1 -1
  212. package/dist/src/commands/download-embeddings.js.map +1 -1
  213. package/dist/src/commands/events.d.ts.map +1 -1
  214. package/dist/src/commands/events.js +5 -2
  215. package/dist/src/commands/events.js.map +1 -1
  216. package/dist/src/commands/guidance.d.ts.map +1 -1
  217. package/dist/src/commands/guidance.js +38 -14
  218. package/dist/src/commands/guidance.js.map +1 -1
  219. package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
  220. package/dist/src/commands/hooks-core-commands.js +71 -44
  221. package/dist/src/commands/hooks-core-commands.js.map +1 -1
  222. package/dist/src/commands/hooks-coverage-commands.d.ts +1 -2
  223. package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
  224. package/dist/src/commands/hooks-coverage-commands.js +140 -58
  225. package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
  226. package/dist/src/commands/hooks-coverage-gaps.d.ts.map +1 -1
  227. package/dist/src/commands/hooks-coverage-gaps.js +74 -36
  228. package/dist/src/commands/hooks-coverage-gaps.js.map +1 -1
  229. package/dist/src/commands/hooks-coverage-routing.d.ts.map +1 -1
  230. package/dist/src/commands/hooks-coverage-routing.js +139 -66
  231. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  232. package/dist/src/commands/hooks-coverage-utils.d.ts.map +1 -1
  233. package/dist/src/commands/hooks-coverage-utils.js +27 -8
  234. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  235. package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
  236. package/dist/src/commands/hooks-extended-commands.js +86 -21
  237. package/dist/src/commands/hooks-extended-commands.js.map +1 -1
  238. package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
  239. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  240. package/dist/src/commands/hooks-routing-commands.js +175 -183
  241. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  242. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  243. package/dist/src/commands/hooks-workers.js +111 -128
  244. package/dist/src/commands/hooks-workers.js.map +1 -1
  245. package/dist/src/commands/hooks.d.ts +1 -1
  246. package/dist/src/commands/hooks.d.ts.map +1 -1
  247. package/dist/src/commands/hooks.js +9 -12
  248. package/dist/src/commands/hooks.js.map +1 -1
  249. package/dist/src/commands/index.d.ts +1 -1
  250. package/dist/src/commands/index.d.ts.map +1 -1
  251. package/dist/src/commands/index.js +2 -2
  252. package/dist/src/commands/index.js.map +1 -1
  253. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  254. package/dist/src/commands/init-subcommands.js +16 -5
  255. package/dist/src/commands/init-subcommands.js.map +1 -1
  256. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  257. package/dist/src/commands/init-upgrade.js +46 -23
  258. package/dist/src/commands/init-upgrade.js.map +1 -1
  259. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  260. package/dist/src/commands/init-wizard.js +161 -44
  261. package/dist/src/commands/init-wizard.js.map +1 -1
  262. package/dist/src/commands/init.d.ts.map +1 -1
  263. package/dist/src/commands/init.js +179 -64
  264. package/dist/src/commands/init.js.map +1 -1
  265. package/dist/src/commands/mcp.d.ts +1 -0
  266. package/dist/src/commands/mcp.d.ts.map +1 -1
  267. package/dist/src/commands/mcp.js +229 -134
  268. package/dist/src/commands/mcp.js.map +1 -1
  269. package/dist/src/commands/memory-admin.d.ts.map +1 -1
  270. package/dist/src/commands/memory-admin.js +67 -48
  271. package/dist/src/commands/memory-admin.js.map +1 -1
  272. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  273. package/dist/src/commands/memory-crud.js +97 -60
  274. package/dist/src/commands/memory-crud.js.map +1 -1
  275. package/dist/src/commands/memory-list.d.ts.map +1 -1
  276. package/dist/src/commands/memory-list.js +6 -6
  277. package/dist/src/commands/memory-list.js.map +1 -1
  278. package/dist/src/commands/memory-transfer.d.ts.map +1 -1
  279. package/dist/src/commands/memory-transfer.js +46 -23
  280. package/dist/src/commands/memory-transfer.js.map +1 -1
  281. package/dist/src/commands/memory.d.ts.map +1 -1
  282. package/dist/src/commands/memory.js +63 -35
  283. package/dist/src/commands/memory.js.map +1 -1
  284. package/dist/src/commands/monograph.d.ts.map +1 -1
  285. package/dist/src/commands/monograph.js +170 -57
  286. package/dist/src/commands/monograph.js.map +1 -1
  287. package/dist/src/commands/monoswarm.d.ts +8 -0
  288. package/dist/src/commands/monoswarm.d.ts.map +1 -0
  289. package/dist/src/commands/{swarm.js → monoswarm.js} +93 -315
  290. package/dist/src/commands/monoswarm.js.map +1 -0
  291. package/dist/src/commands/neural-core.d.ts.map +1 -1
  292. package/dist/src/commands/neural-core.js +123 -32
  293. package/dist/src/commands/neural-core.js.map +1 -1
  294. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  295. package/dist/src/commands/neural-optimize.js +95 -130
  296. package/dist/src/commands/neural-optimize.js.map +1 -1
  297. package/dist/src/commands/neural-registry.d.ts +1 -2
  298. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  299. package/dist/src/commands/neural-registry.js +70 -181
  300. package/dist/src/commands/neural-registry.js.map +1 -1
  301. package/dist/src/commands/org-observe.d.ts +13 -3
  302. package/dist/src/commands/org-observe.d.ts.map +1 -1
  303. package/dist/src/commands/org-observe.js +308 -131
  304. package/dist/src/commands/org-observe.js.map +1 -1
  305. package/dist/src/commands/org-visualize.d.ts.map +1 -1
  306. package/dist/src/commands/org-visualize.js +10 -5
  307. package/dist/src/commands/org-visualize.js.map +1 -1
  308. package/dist/src/commands/org.d.ts +15 -1
  309. package/dist/src/commands/org.d.ts.map +1 -1
  310. package/dist/src/commands/org.js +663 -193
  311. package/dist/src/commands/org.js.map +1 -1
  312. package/dist/src/commands/performance.d.ts.map +1 -1
  313. package/dist/src/commands/performance.js +232 -79
  314. package/dist/src/commands/performance.js.map +1 -1
  315. package/dist/src/commands/platforms.d.ts +1 -1
  316. package/dist/src/commands/platforms.d.ts.map +1 -1
  317. package/dist/src/commands/platforms.js +89 -49
  318. package/dist/src/commands/platforms.js.map +1 -1
  319. package/dist/src/commands/providers.d.ts.map +1 -1
  320. package/dist/src/commands/providers.js +31 -18
  321. package/dist/src/commands/providers.js.map +1 -1
  322. package/dist/src/commands/report-crash.d.ts.map +1 -1
  323. package/dist/src/commands/report-crash.js +17 -5
  324. package/dist/src/commands/report-crash.js.map +1 -1
  325. package/dist/src/commands/route.d.ts.map +1 -1
  326. package/dist/src/commands/route.js +123 -41
  327. package/dist/src/commands/route.js.map +1 -1
  328. package/dist/src/commands/search-universal.d.ts +1 -1
  329. package/dist/src/commands/search-universal.d.ts.map +1 -1
  330. package/dist/src/commands/search-universal.js +29 -14
  331. package/dist/src/commands/search-universal.js.map +1 -1
  332. package/dist/src/commands/security-cve.d.ts.map +1 -1
  333. package/dist/src/commands/security-cve.js +75 -34
  334. package/dist/src/commands/security-cve.js.map +1 -1
  335. package/dist/src/commands/security-misc.d.ts.map +1 -1
  336. package/dist/src/commands/security-misc.js +362 -102
  337. package/dist/src/commands/security-misc.js.map +1 -1
  338. package/dist/src/commands/security-scan.d.ts +13 -0
  339. package/dist/src/commands/security-scan.d.ts.map +1 -1
  340. package/dist/src/commands/security-scan.js +222 -57
  341. package/dist/src/commands/security-scan.js.map +1 -1
  342. package/dist/src/commands/security.d.ts.map +1 -1
  343. package/dist/src/commands/security.js +10 -3
  344. package/dist/src/commands/security.js.map +1 -1
  345. package/dist/src/commands/session.d.ts.map +1 -1
  346. package/dist/src/commands/session.js +81 -75
  347. package/dist/src/commands/session.js.map +1 -1
  348. package/dist/src/commands/start.d.ts.map +1 -1
  349. package/dist/src/commands/start.js +59 -129
  350. package/dist/src/commands/start.js.map +1 -1
  351. package/dist/src/commands/status.d.ts.map +1 -1
  352. package/dist/src/commands/status.js +151 -130
  353. package/dist/src/commands/status.js.map +1 -1
  354. package/dist/src/commands/task.d.ts.map +1 -1
  355. package/dist/src/commands/task.js +115 -84
  356. package/dist/src/commands/task.js.map +1 -1
  357. package/dist/src/commands/tokens.d.ts.map +1 -1
  358. package/dist/src/commands/tokens.js +67 -32
  359. package/dist/src/commands/tokens.js.map +1 -1
  360. package/dist/src/commands/update.d.ts.map +1 -1
  361. package/dist/src/commands/update.js +3 -5
  362. package/dist/src/commands/update.js.map +1 -1
  363. package/dist/src/consensus/audit-writer.d.ts +7 -2
  364. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  365. package/dist/src/consensus/audit-writer.js +19 -11
  366. package/dist/src/consensus/audit-writer.js.map +1 -1
  367. package/dist/src/consensus/tally.d.ts.map +1 -1
  368. package/dist/src/consensus/tally.js +2 -2
  369. package/dist/src/consensus/tally.js.map +1 -1
  370. package/dist/src/index.d.ts +7 -7
  371. package/dist/src/index.d.ts.map +1 -1
  372. package/dist/src/index.js +51 -43
  373. package/dist/src/index.js.map +1 -1
  374. package/dist/src/init/claudemd-generator.d.ts +1 -1
  375. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  376. package/dist/src/init/claudemd-generator.js +52 -36
  377. package/dist/src/init/claudemd-generator.js.map +1 -1
  378. package/dist/src/init/codex-generator.d.ts +16 -0
  379. package/dist/src/init/codex-generator.d.ts.map +1 -0
  380. package/dist/src/init/codex-generator.js +180 -0
  381. package/dist/src/init/codex-generator.js.map +1 -0
  382. package/dist/src/init/copy-assets.d.ts.map +1 -1
  383. package/dist/src/init/copy-assets.js +17 -20
  384. package/dist/src/init/copy-assets.js.map +1 -1
  385. package/dist/src/init/executor.d.ts +1 -1
  386. package/dist/src/init/executor.d.ts.map +1 -1
  387. package/dist/src/init/executor.js +56 -29
  388. package/dist/src/init/executor.js.map +1 -1
  389. package/dist/src/init/geminimd-generator.d.ts +1 -1
  390. package/dist/src/init/geminimd-generator.d.ts.map +1 -1
  391. package/dist/src/init/geminimd-generator.js +2 -2
  392. package/dist/src/init/geminimd-generator.js.map +1 -1
  393. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  394. package/dist/src/init/helpers-generator.js +7 -7
  395. package/dist/src/init/helpers-generator.js.map +1 -1
  396. package/dist/src/init/index.d.ts +8 -7
  397. package/dist/src/init/index.d.ts.map +1 -1
  398. package/dist/src/init/index.js +9 -8
  399. package/dist/src/init/index.js.map +1 -1
  400. package/dist/src/init/kimi-generator.d.ts +1 -1
  401. package/dist/src/init/kimi-generator.d.ts.map +1 -1
  402. package/dist/src/init/kimi-generator.js +34 -28
  403. package/dist/src/init/kimi-generator.js.map +1 -1
  404. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  405. package/dist/src/init/mcp-generator.js +3 -11
  406. package/dist/src/init/mcp-generator.js.map +1 -1
  407. package/dist/src/init/opencode-generator.d.ts.map +1 -1
  408. package/dist/src/init/opencode-generator.js +35 -22
  409. package/dist/src/init/opencode-generator.js.map +1 -1
  410. package/dist/src/init/settings-generator.d.ts.map +1 -1
  411. package/dist/src/init/settings-generator.js +3 -7
  412. package/dist/src/init/settings-generator.js.map +1 -1
  413. package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
  414. package/dist/src/init/shared-instructions-generator.js +124 -76
  415. package/dist/src/init/shared-instructions-generator.js.map +1 -1
  416. package/dist/src/init/shared.d.ts.map +1 -1
  417. package/dist/src/init/shared.js +26 -25
  418. package/dist/src/init/shared.js.map +1 -1
  419. package/dist/src/init/statusline-generator.js +19 -19
  420. package/dist/src/init/types.d.ts +9 -10
  421. package/dist/src/init/types.d.ts.map +1 -1
  422. package/dist/src/init/types.js +10 -8
  423. package/dist/src/init/types.js.map +1 -1
  424. package/dist/src/init/upgrade.d.ts.map +1 -1
  425. package/dist/src/init/upgrade.js +24 -22
  426. package/dist/src/init/upgrade.js.map +1 -1
  427. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  428. package/dist/src/init/write-antigravity.js +15 -7
  429. package/dist/src/init/write-antigravity.js.map +1 -1
  430. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  431. package/dist/src/init/write-capabilities.js +39 -52
  432. package/dist/src/init/write-capabilities.js.map +1 -1
  433. package/dist/src/init/write-claude.d.ts.map +1 -1
  434. package/dist/src/init/write-claude.js +19 -15
  435. package/dist/src/init/write-claude.js.map +1 -1
  436. package/dist/src/init/write-codex.d.ts +4 -0
  437. package/dist/src/init/write-codex.d.ts.map +1 -0
  438. package/dist/src/init/write-codex.js +122 -0
  439. package/dist/src/init/write-codex.js.map +1 -0
  440. package/dist/src/init/write-kimicode.d.ts.map +1 -1
  441. package/dist/src/init/write-kimicode.js +10 -6
  442. package/dist/src/init/write-kimicode.js.map +1 -1
  443. package/dist/src/init/write-opencode.d.ts.map +1 -1
  444. package/dist/src/init/write-opencode.js +4 -4
  445. package/dist/src/init/write-opencode.js.map +1 -1
  446. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  447. package/dist/src/init/write-runtime-config.js +24 -24
  448. package/dist/src/init/write-runtime-config.js.map +1 -1
  449. package/dist/src/init/write-sample-org.js +1 -1
  450. package/dist/src/init/write-sample-org.js.map +1 -1
  451. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  452. package/dist/src/knowledge/document-pipeline.js +144 -48
  453. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  454. package/dist/src/knowledge/eval/corpus.d.ts.map +1 -1
  455. package/dist/src/knowledge/eval/corpus.js +18 -9
  456. package/dist/src/knowledge/eval/corpus.js.map +1 -1
  457. package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
  458. package/dist/src/knowledge/eval/golden-set.js +4286 -136
  459. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  460. package/dist/src/knowledge/eval/harness.d.ts +2 -2
  461. package/dist/src/knowledge/eval/harness.d.ts.map +1 -1
  462. package/dist/src/knowledge/eval/harness.js +163 -70
  463. package/dist/src/knowledge/eval/harness.js.map +1 -1
  464. package/dist/src/knowledge/eval/metrics.d.ts.map +1 -1
  465. package/dist/src/knowledge/eval/metrics.js +25 -18
  466. package/dist/src/knowledge/eval/metrics.js.map +1 -1
  467. package/dist/src/knowledge/eval/model-presence.d.ts.map +1 -1
  468. package/dist/src/knowledge/eval/model-presence.js +40 -14
  469. package/dist/src/knowledge/eval/model-presence.js.map +1 -1
  470. package/dist/src/knowledge/eval/network-guard.d.ts.map +1 -1
  471. package/dist/src/knowledge/eval/network-guard.js +22 -10
  472. package/dist/src/knowledge/eval/network-guard.js.map +1 -1
  473. package/dist/src/knowledge/eval/retrievers.d.ts.map +1 -1
  474. package/dist/src/knowledge/eval/retrievers.js +14 -10
  475. package/dist/src/knowledge/eval/retrievers.js.map +1 -1
  476. package/dist/src/knowledge/eval/signals.d.ts.map +1 -1
  477. package/dist/src/knowledge/eval/signals.js +54 -18
  478. package/dist/src/knowledge/eval/signals.js.map +1 -1
  479. package/dist/src/mcp-client.d.ts.map +1 -1
  480. package/dist/src/mcp-client.js +70 -35
  481. package/dist/src/mcp-client.js.map +1 -1
  482. package/dist/src/mcp-server.d.ts +1 -9
  483. package/dist/src/mcp-server.d.ts.map +1 -1
  484. package/dist/src/mcp-server.js +20 -43
  485. package/dist/src/mcp-server.js.map +1 -1
  486. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  487. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  488. package/dist/src/mcp-tools/agent-tools.js +87 -52
  489. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  490. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
  491. package/dist/src/mcp-tools/analyze-tools.js +34 -17
  492. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  493. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
  494. package/dist/src/mcp-tools/auto-install.js +3 -3
  495. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  496. package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
  497. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  498. package/dist/src/mcp-tools/autopilot-tools.js +32 -70
  499. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  500. package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
  501. package/dist/src/mcp-tools/browser-tools.js +119 -37
  502. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  503. package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
  504. package/dist/src/mcp-tools/claims-tools.js +100 -44
  505. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  506. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  507. package/dist/src/mcp-tools/config-tools.js +36 -15
  508. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  509. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  510. package/dist/src/mcp-tools/embeddings-tools.js +34 -23
  511. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  512. package/dist/src/mcp-tools/github-tools.d.ts.map +1 -1
  513. package/dist/src/mcp-tools/github-tools.js +200 -43
  514. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  515. package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
  516. package/dist/src/mcp-tools/graphify-tools.js +2 -2
  517. package/dist/src/mcp-tools/graphify-tools.js.map +1 -1
  518. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  519. package/dist/src/mcp-tools/guidance-tools.js +461 -115
  520. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  521. package/dist/src/mcp-tools/hooks-embedding.d.ts +0 -6
  522. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  523. package/dist/src/mcp-tools/hooks-embedding.js +170 -59
  524. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  525. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -9
  526. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  527. package/dist/src/mcp-tools/hooks-intelligence.js +64 -119
  528. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  529. package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
  530. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  531. package/dist/src/mcp-tools/hooks-routing.js +92 -165
  532. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  533. package/dist/src/mcp-tools/hooks-tools.d.ts +1 -1
  534. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  535. package/dist/src/mcp-tools/hooks-tools.js +2 -4
  536. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  537. package/dist/src/mcp-tools/index.d.ts +18 -19
  538. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  539. package/dist/src/mcp-tools/index.js +18 -19
  540. package/dist/src/mcp-tools/index.js.map +1 -1
  541. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  542. package/dist/src/mcp-tools/knowledge-tools.js +88 -28
  543. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  544. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  545. package/dist/src/mcp-tools/memory-tools.js +157 -40
  546. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  547. package/dist/src/mcp-tools/monodesign-tools.d.ts.map +1 -1
  548. package/dist/src/mcp-tools/monodesign-tools.js +63 -22
  549. package/dist/src/mcp-tools/monodesign-tools.js.map +1 -1
  550. package/dist/src/mcp-tools/monograph/agent-history-tools.d.ts.map +1 -1
  551. package/dist/src/mcp-tools/monograph/agent-history-tools.js +22 -9
  552. package/dist/src/mcp-tools/monograph/agent-history-tools.js.map +1 -1
  553. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  554. package/dist/src/mcp-tools/monograph/build-tools.js +37 -16
  555. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  556. package/dist/src/mcp-tools/monograph/group-tools.d.ts.map +1 -1
  557. package/dist/src/mcp-tools/monograph/group-tools.js +57 -20
  558. package/dist/src/mcp-tools/monograph/group-tools.js.map +1 -1
  559. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  560. package/dist/src/mcp-tools/monograph/health-tools.js +13 -7
  561. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  562. package/dist/src/mcp-tools/monograph/impact-tools.js +6 -6
  563. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  564. package/dist/src/mcp-tools/monograph/index.d.ts.map +1 -1
  565. package/dist/src/mcp-tools/monograph/index.js +8 -8
  566. package/dist/src/mcp-tools/monograph/index.js.map +1 -1
  567. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  568. package/dist/src/mcp-tools/monograph/query-tools.js +140 -65
  569. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  570. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  571. package/dist/src/mcp-tools/monograph/shared.js +42 -22
  572. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  573. package/dist/src/mcp-tools/monograph/visualize-tools.d.ts.map +1 -1
  574. package/dist/src/mcp-tools/monograph/visualize-tools.js +87 -36
  575. package/dist/src/mcp-tools/monograph/visualize-tools.js.map +1 -1
  576. package/dist/src/mcp-tools/monograph-compat.d.ts.map +1 -1
  577. package/dist/src/mcp-tools/monograph-compat.js +25 -14
  578. package/dist/src/mcp-tools/monograph-compat.js.map +1 -1
  579. package/dist/src/mcp-tools/monograph-tools.d.ts +1 -1
  580. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  581. package/dist/src/mcp-tools/monograph-tools.js +1 -1
  582. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  583. package/dist/src/mcp-tools/monomind-tools.d.ts.map +1 -1
  584. package/dist/src/mcp-tools/monomind-tools.js +1 -1
  585. package/dist/src/mcp-tools/monomind-tools.js.map +1 -1
  586. package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
  587. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
  588. package/dist/src/mcp-tools/monoswarm-tools.js +1289 -0
  589. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
  590. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  591. package/dist/src/mcp-tools/performance-tools.js +305 -101
  592. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  593. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -1
  594. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +9 -4
  595. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js.map +1 -1
  596. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +1 -1
  597. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
  598. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +36 -14
  599. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -1
  600. package/dist/src/mcp-tools/quality-tools.d.ts.map +1 -1
  601. package/dist/src/mcp-tools/quality-tools.js.map +1 -1
  602. package/dist/src/mcp-tools/request-tracker.d.ts.map +1 -1
  603. package/dist/src/mcp-tools/request-tracker.js +2 -1
  604. package/dist/src/mcp-tools/request-tracker.js.map +1 -1
  605. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  606. package/dist/src/mcp-tools/security-tools.js +117 -53
  607. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  608. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  609. package/dist/src/mcp-tools/session-tools.js +22 -13
  610. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  611. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  612. package/dist/src/mcp-tools/system-tools.js +37 -20
  613. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  614. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  615. package/dist/src/mcp-tools/task-tools.js +59 -22
  616. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  617. package/dist/src/mcp-tools/terminal-tools.d.ts.map +1 -1
  618. package/dist/src/mcp-tools/terminal-tools.js +43 -16
  619. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  620. package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
  621. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  622. package/dist/src/mcp-tools/transfer-tools.js +11 -14
  623. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  624. package/dist/src/mcp-tools/types.d.ts +1 -1
  625. package/dist/src/mcp-tools/types.d.ts.map +1 -1
  626. package/dist/src/mcp-tools/types.js +1 -1
  627. package/dist/src/mcp-tools/types.js.map +1 -1
  628. package/dist/src/memory/bm25-index.d.ts.map +1 -1
  629. package/dist/src/memory/bm25-index.js.map +1 -1
  630. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  631. package/dist/src/memory/embedding-operations.js +23 -56
  632. package/dist/src/memory/embedding-operations.js.map +1 -1
  633. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  634. package/dist/src/memory/ewc-consolidation.js +31 -27
  635. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  636. package/dist/src/memory/hnsw-operations.d.ts +15 -75
  637. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  638. package/dist/src/memory/hnsw-operations.js +27 -268
  639. package/dist/src/memory/hnsw-operations.js.map +1 -1
  640. package/dist/src/memory/intelligence.d.ts +2 -2
  641. package/dist/src/memory/intelligence.d.ts.map +1 -1
  642. package/dist/src/memory/intelligence.js +130 -91
  643. package/dist/src/memory/intelligence.js.map +1 -1
  644. package/dist/src/memory/memory-bridge.d.ts +24 -24
  645. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  646. package/dist/src/memory/memory-bridge.js +40 -41
  647. package/dist/src/memory/memory-bridge.js.map +1 -1
  648. package/dist/src/memory/memory-crud.d.ts +1 -1
  649. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  650. package/dist/src/memory/memory-crud.js +82 -67
  651. package/dist/src/memory/memory-crud.js.map +1 -1
  652. package/dist/src/memory/memory-initializer.d.ts +7 -8
  653. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  654. package/dist/src/memory/memory-initializer.js +38 -35
  655. package/dist/src/memory/memory-initializer.js.map +1 -1
  656. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  657. package/dist/src/memory/memory-kg.js +173 -41
  658. package/dist/src/memory/memory-kg.js.map +1 -1
  659. package/dist/src/memory/memory-migrations.d.ts.map +1 -1
  660. package/dist/src/memory/memory-migrations.js +11 -7
  661. package/dist/src/memory/memory-migrations.js.map +1 -1
  662. package/dist/src/memory/memory-read.d.ts.map +1 -1
  663. package/dist/src/memory/memory-read.js +50 -35
  664. package/dist/src/memory/memory-read.js.map +1 -1
  665. package/dist/src/memory/query-router.d.ts.map +1 -1
  666. package/dist/src/memory/query-router.js +29 -12
  667. package/dist/src/memory/query-router.js.map +1 -1
  668. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  669. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  670. package/dist/src/memory/sona-optimizer.js +164 -42
  671. package/dist/src/memory/sona-optimizer.js.map +1 -1
  672. package/dist/src/memory/text-tokens.d.ts.map +1 -1
  673. package/dist/src/memory/text-tokens.js +78 -8
  674. package/dist/src/memory/text-tokens.js.map +1 -1
  675. package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
  676. package/dist/src/monovector/command-outcomes.js +23 -8
  677. package/dist/src/monovector/command-outcomes.js.map +1 -1
  678. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  679. package/dist/src/monovector/coverage-router.js +29 -14
  680. package/dist/src/monovector/coverage-router.js.map +1 -1
  681. package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
  682. package/dist/src/monovector/coverage-tools.js +21 -6
  683. package/dist/src/monovector/coverage-tools.js.map +1 -1
  684. package/dist/src/monovector/diff-classifier.d.ts +1 -1
  685. package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
  686. package/dist/src/monovector/diff-classifier.js +100 -45
  687. package/dist/src/monovector/diff-classifier.js.map +1 -1
  688. package/dist/src/monovector/index.d.ts +3 -4
  689. package/dist/src/monovector/index.d.ts.map +1 -1
  690. package/dist/src/monovector/index.js +18 -6
  691. package/dist/src/monovector/index.js.map +1 -1
  692. package/dist/src/monovector/init-state.d.ts.map +1 -1
  693. package/dist/src/monovector/init-state.js +15 -5
  694. package/dist/src/monovector/init-state.js.map +1 -1
  695. package/dist/src/monovector/model-outcomes.d.ts +25 -0
  696. package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
  697. package/dist/src/monovector/model-outcomes.js +113 -0
  698. package/dist/src/monovector/model-outcomes.js.map +1 -0
  699. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  700. package/dist/src/monovector/route-outcomes.js +40 -21
  701. package/dist/src/monovector/route-outcomes.js.map +1 -1
  702. package/dist/src/observability/replay-reader.d.ts.map +1 -1
  703. package/dist/src/observability/replay-reader.js +6 -8
  704. package/dist/src/observability/replay-reader.js.map +1 -1
  705. package/dist/src/orgrt/agent-runner.d.ts +9 -3
  706. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  707. package/dist/src/orgrt/agent-runner.js +1 -1
  708. package/dist/src/orgrt/agent-runner.js.map +1 -1
  709. package/dist/src/orgrt/antigravity-runner.d.ts +26 -3
  710. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  711. package/dist/src/orgrt/antigravity-runner.js +295 -125
  712. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  713. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  714. package/dist/src/orgrt/approvals.js +32 -8
  715. package/dist/src/orgrt/approvals.js.map +1 -1
  716. package/dist/src/orgrt/broker.d.ts.map +1 -1
  717. package/dist/src/orgrt/broker.js +11 -4
  718. package/dist/src/orgrt/broker.js.map +1 -1
  719. package/dist/src/orgrt/bus.d.ts.map +1 -1
  720. package/dist/src/orgrt/bus.js +28 -15
  721. package/dist/src/orgrt/bus.js.map +1 -1
  722. package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
  723. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  724. package/dist/src/orgrt/checkpoint-ops.js +47 -36
  725. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  726. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  727. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  728. package/dist/src/orgrt/checkpoint.js +22 -4
  729. package/dist/src/orgrt/checkpoint.js.map +1 -1
  730. package/dist/src/orgrt/codex-runner.d.ts +27 -3
  731. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  732. package/dist/src/orgrt/codex-runner.js +387 -129
  733. package/dist/src/orgrt/codex-runner.js.map +1 -1
  734. package/dist/src/orgrt/copilot-runner.d.ts +1 -1
  735. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  736. package/dist/src/orgrt/copilot-runner.js +60 -18
  737. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  738. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  739. package/dist/src/orgrt/cross-org.js +224 -41
  740. package/dist/src/orgrt/cross-org.js.map +1 -1
  741. package/dist/src/orgrt/crush-runner.d.ts +5 -2
  742. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  743. package/dist/src/orgrt/crush-runner.js +93 -47
  744. package/dist/src/orgrt/crush-runner.js.map +1 -1
  745. package/dist/src/orgrt/daemon.d.ts +42 -30
  746. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  747. package/dist/src/orgrt/daemon.js +199 -69
  748. package/dist/src/orgrt/daemon.js.map +1 -1
  749. package/dist/src/orgrt/decisions.d.ts +3 -2
  750. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  751. package/dist/src/orgrt/decisions.js +101 -32
  752. package/dist/src/orgrt/decisions.js.map +1 -1
  753. package/dist/src/orgrt/fence.d.ts +2 -2
  754. package/dist/src/orgrt/fence.d.ts.map +1 -1
  755. package/dist/src/orgrt/fence.js +13 -5
  756. package/dist/src/orgrt/fence.js.map +1 -1
  757. package/dist/src/orgrt/forwarder.js +1 -1
  758. package/dist/src/orgrt/forwarder.js.map +1 -1
  759. package/dist/src/orgrt/grok-runner.d.ts +1 -1
  760. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  761. package/dist/src/orgrt/grok-runner.js +75 -30
  762. package/dist/src/orgrt/grok-runner.js.map +1 -1
  763. package/dist/src/orgrt/inbox.d.ts.map +1 -1
  764. package/dist/src/orgrt/inbox.js +5 -3
  765. package/dist/src/orgrt/inbox.js.map +1 -1
  766. package/dist/src/orgrt/kimicode-runner.d.ts +54 -8
  767. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  768. package/dist/src/orgrt/kimicode-runner.js +278 -151
  769. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  770. package/dist/src/orgrt/mailbox.d.ts +26 -1
  771. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  772. package/dist/src/orgrt/mailbox.js +88 -6
  773. package/dist/src/orgrt/mailbox.js.map +1 -1
  774. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  775. package/dist/src/orgrt/migrate.js +38 -25
  776. package/dist/src/orgrt/migrate.js.map +1 -1
  777. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  778. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  779. package/dist/src/orgrt/opencode-runner.js +16 -5
  780. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  781. package/dist/src/orgrt/org-memory.d.ts +2 -2
  782. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  783. package/dist/src/orgrt/org-memory.js +66 -26
  784. package/dist/src/orgrt/org-memory.js.map +1 -1
  785. package/dist/src/orgrt/pi-rpc-runner.d.ts +1 -1
  786. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  787. package/dist/src/orgrt/pi-rpc-runner.js +134 -114
  788. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  789. package/dist/src/orgrt/pi-runner.d.ts +1 -1
  790. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  791. package/dist/src/orgrt/pi-runner.js +35 -16
  792. package/dist/src/orgrt/pi-runner.js.map +1 -1
  793. package/dist/src/orgrt/policy.d.ts +11 -0
  794. package/dist/src/orgrt/policy.d.ts.map +1 -1
  795. package/dist/src/orgrt/policy.js +86 -18
  796. package/dist/src/orgrt/policy.js.map +1 -1
  797. package/dist/src/orgrt/prechecks.d.ts.map +1 -1
  798. package/dist/src/orgrt/prechecks.js +9 -4
  799. package/dist/src/orgrt/prechecks.js.map +1 -1
  800. package/dist/src/orgrt/provider.d.ts +29 -1
  801. package/dist/src/orgrt/provider.d.ts.map +1 -1
  802. package/dist/src/orgrt/provider.js +62 -2
  803. package/dist/src/orgrt/provider.js.map +1 -1
  804. package/dist/src/orgrt/questions.d.ts.map +1 -1
  805. package/dist/src/orgrt/questions.js +34 -10
  806. package/dist/src/orgrt/questions.js.map +1 -1
  807. package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
  808. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
  809. package/dist/src/orgrt/qwen-rpc-runner.js +381 -0
  810. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
  811. package/dist/src/orgrt/qwen-runner.d.ts +1 -1
  812. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  813. package/dist/src/orgrt/qwen-runner.js +42 -23
  814. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  815. package/dist/src/orgrt/remote.js +1 -1
  816. package/dist/src/orgrt/remote.js.map +1 -1
  817. package/dist/src/orgrt/reporting.d.ts.map +1 -1
  818. package/dist/src/orgrt/reporting.js +61 -27
  819. package/dist/src/orgrt/reporting.js.map +1 -1
  820. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  821. package/dist/src/orgrt/scheduler-integration.js +63 -19
  822. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  823. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  824. package/dist/src/orgrt/scheduler.js +7 -3
  825. package/dist/src/orgrt/scheduler.js.map +1 -1
  826. package/dist/src/orgrt/server.js +1 -1
  827. package/dist/src/orgrt/server.js.map +1 -1
  828. package/dist/src/orgrt/session.d.ts +32 -4
  829. package/dist/src/orgrt/session.d.ts.map +1 -1
  830. package/dist/src/orgrt/session.js +242 -74
  831. package/dist/src/orgrt/session.js.map +1 -1
  832. package/dist/src/orgrt/state-detector.d.ts.map +1 -1
  833. package/dist/src/orgrt/state-detector.js +6 -2
  834. package/dist/src/orgrt/state-detector.js.map +1 -1
  835. package/dist/src/orgrt/task-dag.d.ts +29 -1
  836. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  837. package/dist/src/orgrt/task-dag.js +76 -12
  838. package/dist/src/orgrt/task-dag.js.map +1 -1
  839. package/dist/src/orgrt/templates.d.ts.map +1 -1
  840. package/dist/src/orgrt/templates.js +198 -36
  841. package/dist/src/orgrt/templates.js.map +1 -1
  842. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  843. package/dist/src/orgrt/test-loop.js +139 -35
  844. package/dist/src/orgrt/test-loop.js.map +1 -1
  845. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  846. package/dist/src/orgrt/tool-fence.js +21 -3
  847. package/dist/src/orgrt/tool-fence.js.map +1 -1
  848. package/dist/src/orgrt/types.d.ts +32 -1
  849. package/dist/src/orgrt/types.d.ts.map +1 -1
  850. package/dist/src/orgrt/types.js +192 -39
  851. package/dist/src/orgrt/types.js.map +1 -1
  852. package/dist/src/orgrt/usage-proxy.d.ts +20 -0
  853. package/dist/src/orgrt/usage-proxy.d.ts.map +1 -1
  854. package/dist/src/orgrt/usage-proxy.js +25 -15
  855. package/dist/src/orgrt/usage-proxy.js.map +1 -1
  856. package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
  857. package/dist/src/orgrt/vercel-providers.js +11 -1
  858. package/dist/src/orgrt/vercel-providers.js.map +1 -1
  859. package/dist/src/orgrt/vercel-runner.d.ts +1 -1
  860. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  861. package/dist/src/orgrt/vercel-runner.js +3 -5
  862. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  863. package/dist/src/orgrt/vercel-session-store.d.ts +14 -0
  864. package/dist/src/orgrt/vercel-session-store.d.ts.map +1 -1
  865. package/dist/src/orgrt/vercel-session-store.js +3 -3
  866. package/dist/src/orgrt/vercel-session-store.js.map +1 -1
  867. package/dist/src/orgrt/visualization.js +3 -4
  868. package/dist/src/orgrt/visualization.js.map +1 -1
  869. package/dist/src/output.d.ts +1 -1
  870. package/dist/src/output.d.ts.map +1 -1
  871. package/dist/src/output.js +68 -39
  872. package/dist/src/output.js.map +1 -1
  873. package/dist/src/parser.d.ts.map +1 -1
  874. package/dist/src/parser.js +35 -24
  875. package/dist/src/parser.js.map +1 -1
  876. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  877. package/dist/src/pricing/model-pricing.js +3 -7
  878. package/dist/src/pricing/model-pricing.js.map +1 -1
  879. package/dist/src/prompt.d.ts +2 -2
  880. package/dist/src/prompt.d.ts.map +1 -1
  881. package/dist/src/prompt.js +49 -41
  882. package/dist/src/prompt.js.map +1 -1
  883. package/dist/src/routing/embedder.d.ts.map +1 -1
  884. package/dist/src/routing/embedder.js +0 -0
  885. package/dist/src/routing/embedder.js.map +1 -1
  886. package/dist/src/routing/llm-caller.d.ts.map +1 -1
  887. package/dist/src/routing/llm-caller.js +27 -8
  888. package/dist/src/routing/llm-caller.js.map +1 -1
  889. package/dist/src/routing/model-download.d.ts.map +1 -1
  890. package/dist/src/routing/model-download.js +3 -3
  891. package/dist/src/routing/model-download.js.map +1 -1
  892. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  893. package/dist/src/routing/route-layer-factory.js +22 -14
  894. package/dist/src/routing/route-layer-factory.js.map +1 -1
  895. package/dist/src/security/audit-log.d.ts +47 -0
  896. package/dist/src/security/audit-log.d.ts.map +1 -0
  897. package/dist/src/security/audit-log.js +88 -0
  898. package/dist/src/security/audit-log.js.map +1 -0
  899. package/dist/src/services/config-file-manager.d.ts +2 -2
  900. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  901. package/dist/src/services/config-file-manager.js +44 -20
  902. package/dist/src/services/config-file-manager.js.map +1 -1
  903. package/dist/src/services/crash-reporter.d.ts.map +1 -1
  904. package/dist/src/services/crash-reporter.js +44 -16
  905. package/dist/src/services/crash-reporter.js.map +1 -1
  906. package/dist/src/suggest.d.ts +1 -1
  907. package/dist/src/suggest.d.ts.map +1 -1
  908. package/dist/src/suggest.js +57 -57
  909. package/dist/src/suggest.js.map +1 -1
  910. package/dist/src/sync/checker.d.ts.map +1 -1
  911. package/dist/src/sync/checker.js +7 -8
  912. package/dist/src/sync/checker.js.map +1 -1
  913. package/dist/src/transfer/anonymization/index.d.ts +1 -1
  914. package/dist/src/transfer/anonymization/index.js +3 -3
  915. package/dist/src/transfer/anonymization/index.js.map +1 -1
  916. package/dist/src/types.d.ts +4 -4
  917. package/dist/src/types.d.ts.map +1 -1
  918. package/dist/src/ui/collector.mjs +275 -159
  919. package/dist/src/ui/dashboard.html +761 -742
  920. package/dist/src/ui/data/agent-avatars.html +3 -15
  921. package/dist/src/ui/data/agent-avatars.json +11 -27
  922. package/dist/src/ui/markdown.js +243 -62
  923. package/dist/src/ui/mastermind-diagram-fallback.html +29 -29
  924. package/dist/src/ui/orgs-files.js +99 -46
  925. package/dist/src/ui/orgs.html +54 -54
  926. package/dist/src/ui/routes-monograph.mjs +918 -246
  927. package/dist/src/ui/routes-org.mjs +4234 -2369
  928. package/dist/src/ui/server.mjs +142 -106
  929. package/dist/src/update/checker.d.ts.map +1 -1
  930. package/dist/src/update/checker.js +17 -12
  931. package/dist/src/update/checker.js.map +1 -1
  932. package/dist/src/update/executor.d.ts +2 -2
  933. package/dist/src/update/executor.d.ts.map +1 -1
  934. package/dist/src/update/executor.js +21 -11
  935. package/dist/src/update/executor.js.map +1 -1
  936. package/dist/src/update/index.d.ts +6 -6
  937. package/dist/src/update/index.d.ts.map +1 -1
  938. package/dist/src/update/index.js +9 -9
  939. package/dist/src/update/index.js.map +1 -1
  940. package/dist/src/update/rate-limiter.d.ts.map +1 -1
  941. package/dist/src/update/rate-limiter.js +11 -7
  942. package/dist/src/update/rate-limiter.js.map +1 -1
  943. package/dist/src/update/validator.d.ts.map +1 -1
  944. package/dist/src/update/validator.js +8 -12
  945. package/dist/src/update/validator.js.map +1 -1
  946. package/dist/src/utils/cosine-similarity.d.ts.map +1 -1
  947. package/dist/src/utils/cosine-similarity.js.map +1 -1
  948. package/dist/src/utils/input-guards.d.ts +1 -1
  949. package/dist/src/utils/input-guards.d.ts.map +1 -1
  950. package/dist/src/utils/input-guards.js +24 -9
  951. package/dist/src/utils/input-guards.js.map +1 -1
  952. package/dist/src/utils/json-file.d.ts +12 -0
  953. package/dist/src/utils/json-file.d.ts.map +1 -1
  954. package/dist/src/utils/json-file.js +14 -3
  955. package/dist/src/utils/json-file.js.map +1 -1
  956. package/dist/src/utils/parse-jsonl.d.ts.map +1 -1
  957. package/dist/src/utils/parse-jsonl.js +1 -3
  958. package/dist/src/utils/parse-jsonl.js.map +1 -1
  959. package/dist/src/utils/paths.d.ts.map +1 -1
  960. package/dist/src/utils/paths.js +2 -2
  961. package/dist/src/utils/paths.js.map +1 -1
  962. package/dist/src/utils/redaction.d.ts.map +1 -1
  963. package/dist/src/utils/redaction.js +1 -1
  964. package/dist/src/utils/redaction.js.map +1 -1
  965. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  966. package/dist/src/utils/resource-governor.js +38 -14
  967. package/dist/src/utils/resource-governor.js.map +1 -1
  968. package/dist/tsconfig.tsbuildinfo +1 -1
  969. package/package.json +7 -7
  970. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  971. package/.claude/commands/hive-mind/README.md +0 -42
  972. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  973. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  974. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  975. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  976. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  977. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  978. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  979. package/.claude/commands/swarm/README.md +0 -40
  980. package/.claude/commands/swarm/swarm.md +0 -79
  981. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
  982. package/.claude/skills/swarm-advanced/SKILL.md +0 -936
  983. package/dist/src/commands/swarm.d.ts +0 -8
  984. package/dist/src/commands/swarm.d.ts.map +0 -1
  985. package/dist/src/commands/swarm.js.map +0 -1
  986. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
  987. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  988. package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
  989. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  990. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  991. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  992. package/dist/src/mcp-tools/swarm-tools.js +0 -411
  993. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  994. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
  995. package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
  996. package/scripts/deploy-ipfs-node.sh +0 -153
  997. package/scripts/setup-ipfs-registry.md +0 -365
  998. /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
  999. /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
  1000. /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
  1001. /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
  1002. /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
  1003. /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
  1004. /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
  1005. /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
  1006. /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
@@ -1,15 +1,19 @@
1
1
  // packages/@monomind/cli/src/commands/org-observe.ts
2
2
  // Read-side org subcommands (logs / report) + template scaffolding (create).
3
3
  // Kept out of org.ts to respect the 500-line file ceiling.
4
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
4
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
- import { output } from '../output.js';
7
- import { ORG_DIR, OrgDefSchema } from '../orgrt/types.js';
8
- import { formatEvent, listRunDirs, readHistory, readRunEvents, summarizeRun } from '../orgrt/reporting.js';
9
- import { ORG_TEMPLATES, buildFromTemplate } from '../orgrt/templates.js';
6
+ import { branchCheckpoint } from '../orgrt/checkpoint-ops.js';
10
7
  import { checkOrgStructure } from '../orgrt/migrate.js';
8
+ import { formatEvent, listRunDirs, readHistory, readRunEvents, summarizeRun, } from '../orgrt/reporting.js';
9
+ import { resolveModel } from '../orgrt/session.js';
10
+ import { buildFromTemplate, ORG_TEMPLATES } from '../orgrt/templates.js';
11
+ import { ORG_DIR, OrgDefSchema } from '../orgrt/types.js';
12
+ import { output } from '../output.js';
11
13
  import { listOrgConfigFiles, validateOrgName } from './org.js';
12
- const log = (text) => { console.log(text); };
14
+ const log = (text) => {
15
+ console.log(text);
16
+ };
13
17
  /** Validate org config(s) against OrgDefSchema — the exact parse `org run`/`org serve`
14
18
  * perform — plus the structural invariants the runtime assumes but the schema can't
15
19
  * express (single root role, resolvable reports_to, unique ids, parseable schedule). */
@@ -24,7 +28,10 @@ export const validateAction = async (ctx) => {
24
28
  }
25
29
  else {
26
30
  if (!existsSync(orgsDir))
27
- return { success: false, message: 'no orgs directory — create an org first with /mastermind:createorg' };
31
+ return {
32
+ success: false,
33
+ message: 'no orgs directory — create an org first with /mastermind:createorg',
34
+ };
28
35
  files = listOrgConfigFiles(orgsDir);
29
36
  if (!files.length)
30
37
  return { success: false, message: 'no org configs found' };
@@ -75,11 +82,14 @@ const resolveRun = (cwd, name, runFlag) => {
75
82
  };
76
83
  /** `org logs <name> [--run id] [--role r] [--filter-tool t] [--filter-role r] [--tools-only] [--audit-filter allow|deny] [--follow]` — formatted bus.jsonl tail. */
77
84
  export const logsAction = async (ctx, name) => {
78
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
85
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
79
86
  if (!run)
80
- return { success: false, message: `no runs found for org ${name} — start one with: monomind org run ${name}` };
87
+ return {
88
+ success: false,
89
+ message: `no runs found for org ${name} — start one with: monomind org run ${name}`,
90
+ };
81
91
  const file = join(ctx.cwd, ORG_DIR, name, run, 'bus.jsonl');
82
- const roleFilter = typeof ctx.flags['role'] === 'string' ? ctx.flags['role'] : null;
92
+ const roleFilter = typeof ctx.flags.role === 'string' ? ctx.flags.role : null;
83
93
  const filterTool = typeof ctx.flags['filter-tool'] === 'string' ? ctx.flags['filter-tool'] : null;
84
94
  const filterRole = typeof ctx.flags['filter-role'] === 'string' ? ctx.flags['filter-role'] : null;
85
95
  const auditFilter = typeof ctx.flags['audit-filter'] === 'string' ? ctx.flags['audit-filter'] : null;
@@ -119,13 +129,19 @@ export const logsAction = async (ctx, name) => {
119
129
  }
120
130
  };
121
131
  drain();
122
- if (ctx.flags['follow'] !== true)
132
+ if (ctx.flags.follow !== true)
123
133
  return { success: true };
124
134
  log(output.info('following — Ctrl-C to stop'));
125
- await new Promise(resolve => {
135
+ await new Promise((resolve) => {
126
136
  const iv = setInterval(drain, 500);
127
- process.once('SIGINT', () => { clearInterval(iv); resolve(); });
128
- process.once('SIGTERM', () => { clearInterval(iv); resolve(); });
137
+ process.once('SIGINT', () => {
138
+ clearInterval(iv);
139
+ resolve();
140
+ });
141
+ process.once('SIGTERM', () => {
142
+ clearInterval(iv);
143
+ resolve();
144
+ });
129
145
  });
130
146
  return { success: true };
131
147
  };
@@ -153,19 +169,22 @@ export const watchAction = async (ctx, name) => {
153
169
  const role = ctx.args[1];
154
170
  if (!role)
155
171
  return { success: false, message: 'usage: monomind org watch <org> <role>' };
156
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
172
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
157
173
  if (!run)
158
- return { success: false, message: `no runs found for org ${name} — start one with: monomind org run ${name}` };
174
+ return {
175
+ success: false,
176
+ message: `no runs found for org ${name} — start one with: monomind org run ${name}`,
177
+ };
159
178
  const file = join(ctx.cwd, ORG_DIR, name, run, 'bus.jsonl');
160
- const verbose = ctx.flags['verbose'] === true;
161
- const stats = ctx.flags['stats'] === true;
179
+ const verbose = ctx.flags.verbose === true;
180
+ const stats = ctx.flags.stats === true;
162
181
  let totalTokens = 0;
163
182
  let totalCostUsd = 0;
164
183
  const show = (e) => {
165
184
  if (e.from !== role)
166
185
  return;
167
186
  if (e.type === 'chat') {
168
- log(`${output.info(role + ':')} ${e.msg ?? ''}`);
187
+ log(`${output.info(`${role}:`)} ${e.msg ?? ''}`);
169
188
  return;
170
189
  }
171
190
  if (verbose && e.type === 'status') {
@@ -199,30 +218,38 @@ export const watchAction = async (ctx, name) => {
199
218
  }
200
219
  };
201
220
  drain();
202
- if (ctx.flags['follow'] === false)
221
+ if (ctx.flags.follow === false)
203
222
  return { success: true }; // --follow=false opts out of the default live tail
204
- await new Promise(resolve => {
223
+ await new Promise((resolve) => {
205
224
  const iv = setInterval(drain, 500);
206
- process.once('SIGINT', () => { clearInterval(iv); resolve(); });
207
- process.once('SIGTERM', () => { clearInterval(iv); resolve(); });
225
+ process.once('SIGINT', () => {
226
+ clearInterval(iv);
227
+ resolve();
228
+ });
229
+ process.once('SIGTERM', () => {
230
+ clearInterval(iv);
231
+ resolve();
232
+ });
208
233
  });
209
234
  return { success: true };
210
235
  };
211
236
  /** `org report <name> [--run id] [--all] [--by-role] [--format mermaid]` — summarize a run (or list run history). */
212
237
  export const reportAction = async (ctx, name) => {
213
- if (ctx.flags['all'] === true) {
238
+ if (ctx.flags.all === true) {
214
239
  const history = readHistory(ctx.cwd, name);
215
240
  if (!history.length)
216
241
  return { success: false, message: `no run history for org ${name}` };
217
242
  log(output.info(`org ${name} — ${history.length} recorded run(s):`));
218
243
  for (const h of history) {
219
244
  const dur = h.durationMs != null ? `${Math.round(h.durationMs / 1000)}s` : '?';
220
- const outcome = h.outcome ? `${h.outcome.status}: ${h.outcome.summary.slice(0, 60)}` : 'no outcome recorded';
245
+ const outcome = h.outcome
246
+ ? `${h.outcome.status}: ${h.outcome.summary.slice(0, 60)}`
247
+ : 'no outcome recorded';
221
248
  log(output.info(` • ${h.run} ${dur} ${h.totalTokens} tokens ${h.messages} msgs — ${outcome}`));
222
249
  }
223
250
  return { success: true };
224
251
  }
225
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
252
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
226
253
  if (!run)
227
254
  return { success: false, message: `no runs found for org ${name}` };
228
255
  const events = readRunEvents(ctx.cwd, name, run);
@@ -230,9 +257,9 @@ export const reportAction = async (ctx, name) => {
230
257
  return { success: false, message: `run ${run} has no recorded events` };
231
258
  const s = summarizeRun(events);
232
259
  // Mermaid flowchart (--format mermaid flag)
233
- if (ctx.flags['format'] === 'mermaid') {
260
+ if (ctx.flags.format === 'mermaid') {
234
261
  // Extract message flow from events
235
- const messageEvents = events.filter(e => e.type === 'message' || e.type === 'xorg');
262
+ const messageEvents = events.filter((e) => e.type === 'message' || e.type === 'xorg');
236
263
  const roleSet = new Set();
237
264
  const edges = new Set();
238
265
  for (const e of messageEvents) {
@@ -267,15 +294,15 @@ export const reportAction = async (ctx, name) => {
267
294
  return { success: true, message: `Mermaid flowchart exported for ${name} / ${run}` };
268
295
  }
269
296
  // Tool audit filter (--audit flag) - show only tool decision events
270
- if (ctx.flags['audit'] === true) {
271
- let toolEvents = events.filter(e => e.type === 'tool');
297
+ if (ctx.flags.audit === true) {
298
+ let toolEvents = events.filter((e) => e.type === 'tool');
272
299
  // Optional --tool flag filters to a specific tool name
273
- if (typeof ctx.flags['tool'] === 'string' && ctx.flags['tool']) {
274
- const toolName = ctx.flags['tool'];
275
- toolEvents = toolEvents.filter(e => e.tool === toolName);
300
+ if (typeof ctx.flags.tool === 'string' && ctx.flags.tool) {
301
+ const toolName = ctx.flags.tool;
302
+ toolEvents = toolEvents.filter((e) => e.tool === toolName);
276
303
  }
277
304
  if (!toolEvents.length) {
278
- const toolFilter = typeof ctx.flags['tool'] === 'string' ? ` for tool "${ctx.flags['tool']}"` : '';
305
+ const toolFilter = typeof ctx.flags.tool === 'string' ? ` for tool "${ctx.flags.tool}"` : '';
279
306
  log(output.info(`No tool events found${toolFilter} in ${run}`));
280
307
  return { success: true };
281
308
  }
@@ -325,7 +352,9 @@ export const reportAction = async (ctx, name) => {
325
352
  roleCeiling.set(r.id, max ?? r.budget_tokens ?? perRoleBudget);
326
353
  }
327
354
  }
328
- catch { /* config gone or invalid — report without budget context */ }
355
+ catch {
356
+ /* config gone or invalid — report without budget context */
357
+ }
329
358
  const budgetNote = (id, tokens) => {
330
359
  const cap = roleCeiling.get(id);
331
360
  if (!cap)
@@ -394,9 +423,11 @@ export const questionsAction = async (ctx, name) => {
394
423
  log(output.error(`Cannot read questions for org ${name}: ${err instanceof Error ? err.message : String(err)}`));
395
424
  return { success: false, message: 'questions.json unreadable' };
396
425
  }
397
- const shown = ctx.flags['all'] === true ? all : all.filter(q => q.answer === null);
426
+ const shown = ctx.flags.all === true ? all : all.filter((q) => q.answer === null);
398
427
  if (!shown.length) {
399
- log(output.info(all.length ? `No pending questions for org ${name} (${all.length} answered — use --all).` : `No questions recorded for org ${name}.`));
428
+ log(output.info(all.length
429
+ ? `No pending questions for org ${name} (${all.length} answered — use --all).`
430
+ : `No questions recorded for org ${name}.`));
400
431
  return { success: true };
401
432
  }
402
433
  for (const q of shown) {
@@ -405,7 +436,7 @@ export const questionsAction = async (ctx, name) => {
405
436
  if (q.answer !== null)
406
437
  log(output.info(` ↳ ${q.answer}`));
407
438
  }
408
- if (shown.some(q => q.answer === null))
439
+ if (shown.some((q) => q.answer === null))
409
440
  log(output.info(`\nAnswer with: monomind org answer ${name} <question-id> "your answer"`));
410
441
  return { success: true };
411
442
  };
@@ -416,7 +447,10 @@ export const answerAction = async (ctx, name) => {
416
447
  const questionId = ctx.args[1];
417
448
  const answer = ctx.args.slice(2).join(' ').trim();
418
449
  if (!questionId || !answer)
419
- return { success: false, message: `usage: monomind org answer ${name} <question-id> "answer text"` };
450
+ return {
451
+ success: false,
452
+ message: `usage: monomind org answer ${name} <question-id> "answer text"`,
453
+ };
420
454
  let questions;
421
455
  try {
422
456
  questions = readQuestions(ctx.cwd, name);
@@ -425,7 +459,7 @@ export const answerAction = async (ctx, name) => {
425
459
  log(output.error(`Cannot read questions for org ${name}: ${err instanceof Error ? err.message : String(err)}`));
426
460
  return { success: false, message: 'questions.json unreadable — answer not recorded' };
427
461
  }
428
- const q = questions.find(x => x.questionId === questionId);
462
+ const q = questions.find((x) => x.questionId === questionId);
429
463
  if (!q) {
430
464
  log(output.error(`Question "${questionId}" not found for org ${name} — list with: monomind org questions ${name}`));
431
465
  return { success: false, message: 'question not found' };
@@ -439,11 +473,15 @@ export const answerAction = async (ctx, name) => {
439
473
  const cred = normalizeCredential(remote.credential);
440
474
  try {
441
475
  const res = await fetch(`${remote.url}/api/answer-question`, {
442
- method: 'POST', headers: { 'Content-Type': 'application/json', ...(cred ? { 'x-monomind-cred': cred } : {}) },
476
+ method: 'POST',
477
+ headers: {
478
+ 'Content-Type': 'application/json',
479
+ ...(cred ? { 'x-monomind-cred': cred } : {}),
480
+ },
443
481
  body: JSON.stringify({ org: name, role: q.role, questionId, answer }),
444
482
  signal: AbortSignal.timeout(10_000),
445
483
  });
446
- const data = await res.json().catch(() => ({}));
484
+ const data = (await res.json().catch(() => ({})));
447
485
  if (res.ok && data.ok) {
448
486
  log(output.success(`Answer delivered to ${name}:${q.role} (live).`));
449
487
  return { success: true };
@@ -470,9 +508,12 @@ export const answerAction = async (ctx, name) => {
470
508
  log(output.warning(`The answer was NOT recorded. Fix or restore ${join(ctx.cwd, ORG_DIR, name, 'questions.json')}, then retry.`));
471
509
  return { success: false, message: 'questions.json unreadable — answer not recorded' };
472
510
  }
473
- const freshQ = fresh.find(x => x.questionId === questionId);
511
+ const freshQ = fresh.find((x) => x.questionId === questionId);
474
512
  if (freshQ && freshQ.answer !== null) {
475
- return { success: false, message: `question "${questionId}" was answered while this command was running` };
513
+ return {
514
+ success: false,
515
+ message: `question "${questionId}" was answered while this command was running`,
516
+ };
476
517
  }
477
518
  // Queue BEFORE marking answered (same rule as daemon.answerQuestion): if the
478
519
  // append fails, the question must stay pending and answerable. Marking first meant
@@ -481,7 +522,8 @@ export const answerAction = async (ctx, name) => {
481
522
  const { queueMessage } = await import('../orgrt/inbox.js');
482
523
  try {
483
524
  queueMessage(ctx.cwd, name, {
484
- fromQualified: 'human', toRole: q.role,
525
+ fromQualified: 'human',
526
+ toRole: q.role,
485
527
  subject: `answer:${questionId}`,
486
528
  body: `question: ${q.question}\n\nanswer: ${answer}`,
487
529
  ts: Date.now(),
@@ -491,8 +533,8 @@ export const answerAction = async (ctx, name) => {
491
533
  log(output.error(`Could not queue the answer for ${name}:${q.role} (${err instanceof Error ? err.message : String(err)}) — answer NOT recorded, retry it.`));
492
534
  return { success: false, message: 'queueing failed — answer not recorded' };
493
535
  }
494
- const merged = fresh.some(x => x.questionId === questionId)
495
- ? fresh.map(x => x.questionId === questionId ? { ...x, answer, answeredAt: Date.now() } : x)
536
+ const merged = fresh.some((x) => x.questionId === questionId)
537
+ ? fresh.map((x) => (x.questionId === questionId ? { ...x, answer, answeredAt: Date.now() } : x))
496
538
  : [...fresh, { ...q, answer, answeredAt: Date.now() }];
497
539
  const dest = join(ctx.cwd, ORG_DIR, name, 'questions.json');
498
540
  const tmp = `${dest}.${process.pid}.tmp`;
@@ -511,7 +553,7 @@ export const answerAction = async (ctx, name) => {
511
553
  * semantics as a queued human answer. */
512
554
  export const inboxAction = async (ctx, name) => {
513
555
  let payload = {};
514
- const rawJson = ctx.flags['json'];
556
+ const rawJson = ctx.flags.json;
515
557
  if (typeof rawJson === 'string') {
516
558
  try {
517
559
  payload = JSON.parse(rawJson);
@@ -521,7 +563,7 @@ export const inboxAction = async (ctx, name) => {
521
563
  }
522
564
  }
523
565
  else {
524
- payload = { from: ctx.flags['from'], subject: ctx.flags['subject'], body: ctx.flags['body'] };
566
+ payload = { from: ctx.flags.from, subject: ctx.flags.subject, body: ctx.flags.body };
525
567
  }
526
568
  const from = typeof payload.from === 'string' ? payload.from.trim() : '';
527
569
  const subject = typeof payload.subject === 'string' ? payload.subject : '';
@@ -532,7 +574,7 @@ export const inboxAction = async (ctx, name) => {
532
574
  }
533
575
  // Target role: explicit --to, else the org's coordinator (reports_to == null),
534
576
  // else the first role — matching where a role-less cross-org message should land.
535
- let toRole = typeof ctx.flags['to'] === 'string' ? ctx.flags['to'] : '';
577
+ let toRole = typeof ctx.flags.to === 'string' ? ctx.flags.to : '';
536
578
  if (toRole && !/^[a-z0-9][a-z0-9_-]*$/i.test(toRole)) {
537
579
  log(output.error(`Invalid role id: ${toRole}`));
538
580
  return { success: false, message: 'invalid role id' };
@@ -546,7 +588,7 @@ export const inboxAction = async (ctx, name) => {
546
588
  try {
547
589
  const def = JSON.parse(readFileSync(defPath, 'utf8'));
548
590
  const roles = Array.isArray(def.roles) ? def.roles : [];
549
- toRole = roles.find(r => r.reports_to == null)?.id ?? roles[0]?.id ?? '';
591
+ toRole = roles.find((r) => r.reports_to == null)?.id ?? roles[0]?.id ?? '';
550
592
  }
551
593
  catch (err) {
552
594
  log(output.error(`Could not read org config for ${name}: ${err instanceof Error ? err.message : String(err)}`));
@@ -566,11 +608,14 @@ export const inboxAction = async (ctx, name) => {
566
608
  try {
567
609
  const res = await fetch(`${remote.url}/api/xdeliver`, {
568
610
  method: 'POST',
569
- headers: { 'Content-Type': 'application/json', ...(cred ? { 'x-monomind-cred': cred } : {}) },
611
+ headers: {
612
+ 'Content-Type': 'application/json',
613
+ ...(cred ? { 'x-monomind-cred': cred } : {}),
614
+ },
570
615
  body: JSON.stringify({ fromOrg, fromRole, toOrg: name, toRole, subject, body }),
571
616
  signal: AbortSignal.timeout(10_000),
572
617
  });
573
- const data = await res.json().catch(() => ({}));
618
+ const data = (await res.json().catch(() => ({})));
574
619
  if (res.ok && data.ok) {
575
620
  log(output.success(data.receipt ?? `delivered to ${name}:${toRole}`));
576
621
  return { success: true, message: data.receipt ?? 'delivered' };
@@ -583,7 +628,13 @@ export const inboxAction = async (ctx, name) => {
583
628
  }
584
629
  // Offline path: spool; drained into the role's mailbox when the org next starts.
585
630
  const { queueMessage } = await import('../orgrt/inbox.js');
586
- const queued = queueMessage(ctx.cwd, name, { fromQualified: from, toRole, subject, body, ts: Date.now() });
631
+ const queued = queueMessage(ctx.cwd, name, {
632
+ fromQualified: from,
633
+ toRole,
634
+ subject,
635
+ body,
636
+ ts: Date.now(),
637
+ });
587
638
  if (!queued) {
588
639
  log(output.error(`Could not queue the message for ${name}:${toRole} (disk full or permissions).`));
589
640
  return { success: false, message: 'queueing failed' };
@@ -594,37 +645,72 @@ export const inboxAction = async (ctx, name) => {
594
645
  };
595
646
  /** `org create <name> --template <t> [--goal g] [--schedule s]` — scaffold a config from a template. */
596
647
  export const createAction = async (ctx, name) => {
597
- const templateName = typeof ctx.flags['template'] === 'string' ? ctx.flags['template'] : '';
648
+ const templateName = typeof ctx.flags.template === 'string' ? ctx.flags.template : '';
598
649
  if (!templateName) {
599
650
  log(output.info(`Available templates: ${Object.keys(ORG_TEMPLATES).join(', ')}`));
600
- return { success: false, message: 'usage: monomind org create <name> --template <template> [--goal "..."] [--schedule 30m]' };
651
+ return {
652
+ success: false,
653
+ message: 'usage: monomind org create <name> --template <template> [--goal "..."] [--schedule 30m]',
654
+ };
601
655
  }
602
- const def = buildFromTemplate(templateName, name, typeof ctx.flags['goal'] === 'string' ? ctx.flags['goal'] : undefined);
656
+ const def = buildFromTemplate(templateName, name, typeof ctx.flags.goal === 'string' ? ctx.flags.goal : undefined);
603
657
  if (!def) {
604
658
  log(output.error(`Unknown template "${templateName}" — available: ${Object.keys(ORG_TEMPLATES).join(', ')}`));
605
659
  return { success: false, message: 'unknown template' };
606
660
  }
607
- if (typeof ctx.flags['schedule'] === 'string')
608
- def.schedule = ctx.flags['schedule'];
661
+ if (typeof ctx.flags.schedule === 'string')
662
+ def.schedule = ctx.flags.schedule;
609
663
  const file = join(ctx.cwd, ORG_DIR, `${name}.json`);
610
- if (existsSync(file) && ctx.flags['force'] !== true) {
664
+ if (existsSync(file) && ctx.flags.force !== true) {
611
665
  log(output.error(`Org "${name}" already exists — pass --force to overwrite.`));
612
666
  return { success: false, message: 'org exists' };
613
667
  }
614
668
  OrgDefSchema.parse(def); // templates must always produce a runnable config
669
+ // Per-role model — the single most consequential setting the template picked on
670
+ // the user's behalf. Mirror resolveModel() (same helper `org run`'s cost estimate
671
+ // uses) so a role relying on its runtime/vendor default isn't mislabeled here.
672
+ const modelRows = def.roles.map((r) => {
673
+ const explicit = r.adapter_config?.model;
674
+ return {
675
+ id: r.id,
676
+ model: String(explicit ?? resolveModel(r, r.runtime ?? def.runtime, r.provider?.vendor)),
677
+ explicit: !!explicit,
678
+ };
679
+ });
680
+ const printModels = () => {
681
+ log(output.bold(' Models:'));
682
+ for (const r of modelRows) {
683
+ log(` ${r.id.padEnd(20)} ${r.model}${r.explicit ? '' : ' (default)'}`);
684
+ }
685
+ };
686
+ if (ctx.interactive && ctx.flags.yes !== true) {
687
+ log(output.bold(`\nAbout to create org "${name}" from template "${templateName}" (${def.roles.length} roles):`));
688
+ printModels();
689
+ const { confirm } = await import('../prompt.js');
690
+ const proceed = await confirm({ message: 'Create this org?', default: true });
691
+ if (!proceed) {
692
+ log(output.info('Cancelled — no file written. Adjust --template/--goal, or edit the template, then retry (pass --yes to skip this prompt).'));
693
+ return { success: false, message: 'cancelled by user' };
694
+ }
695
+ }
615
696
  const { mkdirSync } = await import('node:fs');
616
697
  mkdirSync(join(ctx.cwd, ORG_DIR), { recursive: true });
617
- writeFileSync(file, JSON.stringify(def, null, 2) + '\n', 'utf8');
698
+ writeFileSync(file, `${JSON.stringify(def, null, 2)}\n`, 'utf8');
618
699
  log(output.success(`Org "${name}" created from template "${templateName}" (${def.roles.length} roles).`));
619
700
  log(output.info(` Budget: ${def.run_config.budget_tokens} tokens · Turn limit: ${def.run_config.max_turns_per_message} per message (effectively unlimited by default — set run_config.max_turns_per_message, or a role's own max_turns_per_message, to cap it).`));
701
+ if (!ctx.interactive || ctx.flags.yes === true)
702
+ printModels();
620
703
  log(output.info(` Edit the goal/roles in ${file}, then: monomind org run ${name}`));
621
704
  return { success: true };
622
705
  };
623
706
  /** `org costs <name> [--run id]` — show per-role cost tracking from runtime.json */
624
707
  export const costsAction = async (ctx, name) => {
625
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
708
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
626
709
  if (!run)
627
- return { success: false, message: `no runs found for org ${name} — start one with: monomind org run ${name}` };
710
+ return {
711
+ success: false,
712
+ message: `no runs found for org ${name} — start one with: monomind org run ${name}`,
713
+ };
628
714
  // Read runtime.json for the per-role metrics
629
715
  const rtPath = join(ctx.cwd, ORG_DIR, name, 'runtime.json');
630
716
  if (!existsSync(rtPath)) {
@@ -653,7 +739,7 @@ export const costsAction = async (ctx, name) => {
653
739
  roleData.set(roleId, {
654
740
  tokens: metrics.tokens,
655
741
  costUsd: metrics.costUsd,
656
- messages: 0
742
+ messages: 0,
657
743
  });
658
744
  }
659
745
  }
@@ -664,7 +750,7 @@ export const costsAction = async (ctx, name) => {
664
750
  roleData.set(roleId, {
665
751
  tokens: existing.tokens || roleStats.tokens,
666
752
  costUsd: existing.costUsd || roleStats.costUsd,
667
- messages: roleStats.messagesSent
753
+ messages: roleStats.messagesSent,
668
754
  });
669
755
  }
670
756
  }
@@ -691,14 +777,17 @@ export const costsAction = async (ctx, name) => {
691
777
  };
692
778
  /** `org flow <name> [--run id]` — export org flow as Mermaid diagram */
693
779
  export const flowAction = async (ctx, name) => {
694
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
780
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
695
781
  if (!run)
696
- return { success: false, message: `no runs found for org ${name} — start one with: monomind org run ${name}` };
782
+ return {
783
+ success: false,
784
+ message: `no runs found for org ${name} — start one with: monomind org run ${name}`,
785
+ };
697
786
  const events = readRunEvents(ctx.cwd, name, run);
698
787
  if (!events.length)
699
788
  return { success: false, message: `run ${run} has no recorded events` };
700
789
  // Extract message flow from events
701
- const messageEvents = events.filter(e => e.type === 'message' || e.type === 'xorg');
790
+ const messageEvents = events.filter((e) => e.type === 'message' || e.type === 'xorg');
702
791
  const roleSet = new Set();
703
792
  const edges = new Set();
704
793
  for (const e of messageEvents) {
@@ -745,13 +834,19 @@ async function resolveApproval(ctx, name, role, action, approved) {
745
834
  const cred = normalizeCredential(remote.credential);
746
835
  try {
747
836
  const res = await fetch(`${remote.url}/api/set-approval`, {
748
- method: 'POST', headers: { 'Content-Type': 'application/json', ...(cred ? { 'x-monomind-cred': cred } : {}) },
837
+ method: 'POST',
838
+ headers: {
839
+ 'Content-Type': 'application/json',
840
+ ...(cred ? { 'x-monomind-cred': cred } : {}),
841
+ },
749
842
  body: JSON.stringify({ org: name, role, action, approved }),
750
843
  signal: AbortSignal.timeout(10_000),
751
844
  });
752
- const data = await res.json().catch(() => ({}));
845
+ const data = (await res.json().catch(() => ({})));
753
846
  if (res.ok && data.ok) {
754
- log(approved ? output.success(`Approved: ${role} may execute ${action} (live).`) : output.info(`Denied: ${role} may NOT execute ${action} (live).`));
847
+ log(approved
848
+ ? output.success(`Approved: ${role} may execute ${action} (live).`)
849
+ : output.info(`Denied: ${role} may NOT execute ${action} (live).`));
755
850
  return { success: true, message: `${verb} ${action} for ${role}` };
756
851
  }
757
852
  log(output.warning(`Live delivery rejected (${data.error ?? res.status}) — falling back to offline queue.`));
@@ -769,12 +864,17 @@ async function resolveApproval(ctx, name, role, action, approved) {
769
864
  const pending = data.approvals ?? [];
770
865
  const item = pending.find((a) => a.roleId === role && a.action === action);
771
866
  if (!item) {
772
- return { success: false, message: `no pending approval found for role ${role} action ${action}` };
867
+ return {
868
+ success: false,
869
+ message: `no pending approval found for role ${role} action ${action}`,
870
+ };
773
871
  }
774
872
  item.approved = approved;
775
873
  item.ts = Date.now();
776
874
  writeFileSync(approvalsPath, JSON.stringify({ approvals: pending }, null, 2));
777
- log(approved ? output.success(`Approved: ${role} may execute ${action}`) : output.info(`Denied: ${role} may NOT execute ${action}`));
875
+ log(approved
876
+ ? output.success(`Approved: ${role} may execute ${action}`)
877
+ : output.info(`Denied: ${role} may NOT execute ${action}`));
778
878
  return { success: true, message: `${verb} ${action} for ${role}` };
779
879
  }
780
880
  /** `org approve <org> <role> <action>` — approve a pending tool/action approval */
@@ -795,7 +895,10 @@ export const denyAction = async (ctx, name) => {
795
895
  }
796
896
  return resolveApproval(ctx, name, role, action, false);
797
897
  };
798
- /** `org replay <org> <run-id>` — time-travel debugging: resume from checkpoint */
898
+ /** `org replay <org> <run-id>` — time-travel debugging: re-emit a past run's bus
899
+ * events into a fresh replay run for inspection. This is event-log replay only —
900
+ * it does not restart agent execution or restore live sessions. To actually
901
+ * resume an org's execution from where it left off, use `org run --resume`. */
799
902
  export const replayAction = async (ctx, name) => {
800
903
  const run = ctx.args[1];
801
904
  if (!run) {
@@ -809,65 +912,62 @@ export const replayAction = async (ctx, name) => {
809
912
  if (!existsSync(busFile)) {
810
913
  return { success: false, message: `no bus events found for run ${run}` };
811
914
  }
812
- log(output.info(`Resuming org ${name} from checkpoint ${run}...`));
813
- // Create daemon and resume from checkpoint
915
+ log(output.info(`Replaying org ${name} events from checkpoint ${run}...`));
916
+ // Create daemon and replay the bus events for debugging/inspection
814
917
  const { OrgDaemon } = await import('../orgrt/daemon.js');
815
918
  const daemon = new OrgDaemon(ctx.cwd, { forward: false });
816
919
  const resumed = await daemon.replayFrom(name, run);
817
920
  if (!resumed) {
818
- return { success: false, message: `replay failed - check bus.jsonl and org config for ${name} are valid` };
921
+ return {
922
+ success: false,
923
+ message: `replay failed - check bus.jsonl and org config for ${name} are valid`,
924
+ };
819
925
  }
820
- log(output.success(`Org ${name} resumed from ${run} - ${resumed.agents.size} role(s) restored`));
926
+ log(output.success(`Org ${name} events replayed from ${run} as run ${resumed.run}`));
821
927
  log(output.info(`Use: monomind org logs ${name} --run ${resumed.run} to inspect events.`));
822
- log(output.info(`Stop with: monomind org stop ${name}`));
823
- return { success: true, message: `resumed from checkpoint ${run} as ${resumed.run}` };
928
+ log(output.info(`This is debug replay only — it does not restart agent execution. To resume live execution, use: monomind org run ${name} --resume`));
929
+ return { success: true, message: `replayed events from checkpoint ${run} as ${resumed.run}` };
824
930
  };
825
- /** `org resume-from <org> <run-id>` — resume from checkpoint (alias for replay) */
931
+ /** `org resume-from <org>` — resume live execution from the org's persisted
932
+ * checkpoint (runtime.json): restores mailbox queues, policy/token counters,
933
+ * and session state, subject to checkpoint TTL and checksum validation. Unlike
934
+ * `replay`, this restarts real agent execution via `startOrg(..., { resume: true })`. */
826
935
  export const resumeFromAction = async (ctx, name) => {
827
- const run = ctx.args[1];
828
- if (!run) {
829
- return { success: false, message: 'usage: org resume-from <org> <run-id>' };
936
+ log(output.info(`Resuming org ${name} from checkpoint...`));
937
+ const { OrgDaemon } = await import('../orgrt/daemon.js');
938
+ const daemon = new OrgDaemon(ctx.cwd, { forward: false });
939
+ const resumed = await daemon.resumeOrg(name);
940
+ if (!resumed) {
941
+ return {
942
+ success: false,
943
+ message: `resume failed for ${name} - check runtime.json checkpoint is present, unexpired, and valid`,
944
+ };
830
945
  }
831
- // Reuse replay logic
832
- return replayAction(ctx, name);
946
+ log(output.success(`Org ${name} resumed - ${resumed.agents.size} role(s) restored`));
947
+ log(output.info(`Stop with: monomind org stop ${name}`));
948
+ return { success: true, message: `resumed ${name} - ${resumed.agents.size} role(s) restored` };
833
949
  };
834
- /** `org branch <org> <run-id> <branch-name>` — create a branch from checkpoint for what-if experiments */
950
+ /** `org branch <org> <run-id> <branch-name>` — snapshot a run's event log for replay.
951
+ * This is NOT an executable what-if scenario: it copies bus.jsonl into a new
952
+ * run directory tagged with a `.branch-source` marker so it can be inspected
953
+ * or replayed later; it does not fork or re-run agent execution.
954
+ * Delegates to the shared, atomic (tmp+rename) implementation in checkpoint-ops.ts. */
835
955
  export const branchAction = async (ctx, name) => {
836
956
  const run = ctx.args[1];
837
957
  const branchName = ctx.args[2];
838
958
  if (!run || !branchName) {
839
959
  return { success: false, message: 'usage: org branch <org> <run-id> <branch-name>' };
840
960
  }
841
- const runDir = join(ctx.cwd, ORG_DIR, name, run);
842
- if (!existsSync(runDir)) {
843
- return { success: false, message: `run ${run} not found for org ${name}` };
844
- }
845
- const branchRun = `branch-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 14)}-${Math.random().toString(36).slice(2, 6)}`;
846
- const branchDir = join(ctx.cwd, ORG_DIR, name, branchRun);
847
- try {
848
- mkdirSync(branchDir, { recursive: true });
849
- // Copy bus.jsonl to branch
850
- const busFile = join(runDir, 'bus.jsonl');
851
- if (existsSync(busFile)) {
852
- const busContent = readFileSync(busFile, 'utf8');
853
- writeFileSync(join(branchDir, 'bus.jsonl'), busContent);
854
- }
855
- // Create branch marker file
856
- writeFileSync(join(branchDir, '.branch-source'), JSON.stringify({
857
- from: run,
858
- branchedAt: new Date().toISOString(),
859
- name: branchName
860
- }, null, 2));
861
- log(output.success(`Created branch "${branchName}" from ${run} as ${branchRun}`));
862
- return { success: true, message: `branch ${branchName} created as ${branchRun}` };
863
- }
864
- catch (err) {
865
- return { success: false, message: `failed to create branch: ${err instanceof Error ? err.message : String(err)}` };
961
+ const result = branchCheckpoint(ctx.cwd, name, run, branchName);
962
+ if (!result.ok) {
963
+ return { success: false, message: result.error };
866
964
  }
965
+ log(output.success(`Created branch "${branchName}" from ${run} as ${result.branchRun}`));
966
+ return { success: true, message: `branch ${branchName} created as ${result.branchRun}` };
867
967
  };
868
968
  /** `org decisions <org> [--run id]` — show Rifft-style decision traces */
869
969
  export const decisionsAction = async (ctx, name) => {
870
- const run = resolveRun(ctx.cwd, name, ctx.flags['run']);
970
+ const run = resolveRun(ctx.cwd, name, ctx.flags.run);
871
971
  if (!run) {
872
972
  return { success: false, message: `no runs found for org ${name}` };
873
973
  }
@@ -876,10 +976,7 @@ export const decisionsAction = async (ctx, name) => {
876
976
  return { success: false, message: `run ${run} has no recorded events` };
877
977
  }
878
978
  // Filter decision trace events
879
- const decisionEvents = events.filter(e => e.type === 'audit' &&
880
- e.reason === 'decision-trace' &&
881
- e.data &&
882
- typeof e.data === 'object');
979
+ const decisionEvents = events.filter((e) => e.type === 'audit' && e.reason === 'decision-trace' && e.data && typeof e.data === 'object');
883
980
  if (!decisionEvents.length) {
884
981
  log(output.info(`No decision traces found in ${run}`));
885
982
  return { success: true };
@@ -906,17 +1003,52 @@ function readGatesFile(cwd, org) {
906
1003
  return { gates: [] };
907
1004
  }
908
1005
  }
1006
+ /** Read gates.json for a write path. A MISSING file legitimately means "no gates" → [].
1007
+ * Any other failure (unreadable, malformed — e.g. a partial daemon write) THROWS:
1008
+ * gateResolveAction rewrites this file from what this returns, so silently coercing a
1009
+ * failed read to [] would surface a real I/O error as "gate not found" and a
1010
+ * subsequent write would replace every recorded gate with just this one. */
1011
+ function readGatesFileStrict(cwd, org) {
1012
+ const path = join(cwd, ORG_DIR, org, 'gates.json');
1013
+ let raw;
1014
+ try {
1015
+ raw = readFileSync(path, 'utf8');
1016
+ }
1017
+ catch (err) {
1018
+ if (err.code === 'ENOENT')
1019
+ return { gates: [] };
1020
+ throw new Error(`cannot read ${path}: ${err instanceof Error ? err.message : String(err)}`);
1021
+ }
1022
+ let parsed;
1023
+ try {
1024
+ parsed = JSON.parse(raw);
1025
+ }
1026
+ catch (err) {
1027
+ throw new Error(`${path} is not valid JSON (${err instanceof Error ? err.message : String(err)})`);
1028
+ }
1029
+ if (parsed?.gates === undefined || parsed.gates === null)
1030
+ return { gates: [] };
1031
+ if (!Array.isArray(parsed.gates))
1032
+ throw new Error(`${path}: "gates" is not an array`);
1033
+ return { gates: parsed.gates };
1034
+ }
909
1035
  export const gatesAction = async (ctx, name) => {
910
1036
  const data = readGatesFile(ctx.cwd, name);
911
- const showAll = ctx.flags['all'] === true;
912
- const gates = showAll ? data.gates : data.gates.filter(g => g.status === 'pending');
1037
+ const showAll = ctx.flags.all === true;
1038
+ const gates = showAll ? data.gates : data.gates.filter((g) => g.status === 'pending');
913
1039
  if (!gates.length) {
914
- log(output.info(showAll ? `No gates for org "${name}"` : `No pending gates for org "${name}" (use --all to include resolved)`));
1040
+ log(output.info(showAll
1041
+ ? `No gates for org "${name}"`
1042
+ : `No pending gates for org "${name}" (use --all to include resolved)`));
915
1043
  return { success: true };
916
1044
  }
917
1045
  log(output.info(`${showAll ? 'All' : 'Pending'} gates for org "${name}" (${gates.length}):\n`));
918
1046
  for (const g of gates) {
919
- const status = g.status === 'pending' ? '⏳ pending' : g.status === 'approved' ? '✅ approved' : '❌ rejected';
1047
+ const status = g.status === 'pending'
1048
+ ? '⏳ pending'
1049
+ : g.status === 'approved'
1050
+ ? '✅ approved'
1051
+ : '❌ rejected';
920
1052
  log(output.info(` ${g.id} ${status} role:${g.roleId}`));
921
1053
  log(output.info(` name: ${g.name}`));
922
1054
  log(output.info(` desc: ${g.description}`));
@@ -930,9 +1062,19 @@ export const gateResolveAction = async (ctx, name, approved) => {
930
1062
  const gateId = ctx.args[1];
931
1063
  const resolution = ctx.args.slice(2).join(' ') || undefined;
932
1064
  if (!gateId)
933
- return { success: false, message: `usage: monomind org gate-${approved ? 'approve' : 'reject'} ${name} <gate-id> [resolution]` };
934
- const data = readGatesFile(ctx.cwd, name);
935
- const gate = data.gates.find(g => g.id === gateId);
1065
+ return {
1066
+ success: false,
1067
+ message: `usage: monomind org gate-${approved ? 'approve' : 'reject'} ${name} <gate-id> [resolution]`,
1068
+ };
1069
+ let data;
1070
+ try {
1071
+ data = readGatesFileStrict(ctx.cwd, name);
1072
+ }
1073
+ catch (err) {
1074
+ log(output.error(`Cannot read gates for org ${name}: ${err instanceof Error ? err.message : String(err)}`));
1075
+ return { success: false, message: 'gates.json unreadable — gate not resolved' };
1076
+ }
1077
+ const gate = data.gates.find((g) => g.id === gateId);
936
1078
  if (!gate)
937
1079
  return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
938
1080
  if (gate.status !== 'pending')
@@ -943,23 +1085,58 @@ export const gateResolveAction = async (ctx, name, approved) => {
943
1085
  const cred = normalizeCredential(remote.credential);
944
1086
  try {
945
1087
  const res = await fetch(`${remote.url}/api/resolve-gate`, {
946
- method: 'POST', headers: { 'Content-Type': 'application/json', ...(cred ? { 'x-monomind-cred': cred } : {}) },
1088
+ method: 'POST',
1089
+ headers: {
1090
+ 'Content-Type': 'application/json',
1091
+ ...(cred ? { 'x-monomind-cred': cred } : {}),
1092
+ },
947
1093
  body: JSON.stringify({ org: name, gateId, approved, resolution }),
948
1094
  signal: AbortSignal.timeout(10_000),
949
1095
  });
950
- const d = await res.json().catch(() => ({}));
1096
+ const d = (await res.json().catch(() => ({})));
951
1097
  if (res.ok && d.ok) {
952
1098
  log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} (live).`));
953
1099
  return { success: true, message: `gate ${approved ? 'approved' : 'rejected'}` };
954
1100
  }
955
- log(output.error(`Live resolution rejected: ${d.error ?? res.status}`));
956
- return { success: false, message: d.error ?? `HTTP ${res.status}` };
1101
+ log(output.warning(`Live resolution rejected (${d.error ?? res.status}) — falling back to offline queue.`));
957
1102
  }
958
1103
  catch (err) {
959
- log(output.error(`Hosting daemon unreachable: ${err instanceof Error ? err.message : 'error'}`));
960
- return { success: false, message: 'daemon unreachable — gate can only be resolved while the org is running' };
1104
+ log(output.warning(`Hosting daemon unreachable (${err instanceof Error ? err.message : 'error'}) — falling back to offline queue.`));
961
1105
  }
962
1106
  }
963
- return { success: false, message: `org "${name}" is not running — gates can only be resolved on a live org` };
1107
+ // Offline path: no live daemon hosts this org (or the live call failed) —
1108
+ // resolve gates.json directly, same as resolveApproval's offline branch.
1109
+ // Re-read fresh (mirrors answerAction/resolveApproval) in case a live
1110
+ // daemon resolved this gate concurrently while the live call above was
1111
+ // in flight or timing out.
1112
+ const { writeGates } = await import('../orgrt/decisions.js');
1113
+ let fresh;
1114
+ try {
1115
+ fresh = readGatesFileStrict(ctx.cwd, name);
1116
+ }
1117
+ catch (err) {
1118
+ log(output.error(`Refusing to rewrite gates.json — ${err instanceof Error ? err.message : String(err)}`));
1119
+ log(output.warning(`The gate was NOT resolved. Fix or restore ${join(ctx.cwd, ORG_DIR, name, 'gates.json')}, then retry.`));
1120
+ return { success: false, message: 'gates.json unreadable — gate not resolved' };
1121
+ }
1122
+ const idx = fresh.gates.findIndex((g) => g.id === gateId);
1123
+ if (idx === -1)
1124
+ return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
1125
+ if (fresh.gates[idx].status !== 'pending') {
1126
+ return {
1127
+ success: false,
1128
+ message: `gate "${gateId}" already resolved (${fresh.gates[idx].status})`,
1129
+ };
1130
+ }
1131
+ fresh.gates[idx] = {
1132
+ ...fresh.gates[idx],
1133
+ status: approved ? 'approved' : 'rejected',
1134
+ resolvedAt: Date.now(),
1135
+ resolvedBy: 'human',
1136
+ resolution,
1137
+ };
1138
+ writeGates(ctx.cwd, name, fresh);
1139
+ log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} — ${name} picks it up on its next cycle.`));
1140
+ return { success: true, message: `gate ${approved ? 'approved' : 'rejected'} (queued)` };
964
1141
  };
965
1142
  //# sourceMappingURL=org-observe.js.map