monomind 1.10.1 → 1.10.2

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 (1505) hide show
  1. package/.claude/agents/academic/academic-anthropologist.md +126 -0
  2. package/.claude/agents/academic/academic-geographer.md +128 -0
  3. package/.claude/agents/academic/academic-historian.md +124 -0
  4. package/.claude/agents/academic/academic-narratologist.md +119 -0
  5. package/.claude/agents/academic/academic-psychologist.md +119 -0
  6. package/.claude/agents/analysis/analyze-code-quality.md +58 -0
  7. package/.claude/agents/analysis/code-analyzer.md +189 -0
  8. package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
  9. package/.claude/agents/architecture/system-design/arch-system-design.md +54 -0
  10. package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  11. package/.claude/agents/consensus/performance-benchmarker.md +831 -0
  12. package/.claude/agents/consensus/quorum-manager.md +803 -0
  13. package/.claude/agents/consensus/security-manager.md +602 -0
  14. package/.claude/agents/core/coder.md +262 -0
  15. package/.claude/agents/core/planner.md +170 -0
  16. package/.claude/agents/core/researcher.md +192 -0
  17. package/.claude/agents/core/reviewer.md +327 -0
  18. package/.claude/agents/core/tester.md +318 -0
  19. package/.claude/agents/data/ml/data-ml-model.md +76 -0
  20. package/.claude/agents/design/design-monodesign.md +121 -0
  21. package/.claude/agents/development/dev-backend-api.md +178 -0
  22. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
  23. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
  24. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +212 -0
  25. package/.claude/agents/engineering/engineering-ai-engineer.md +165 -0
  26. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +108 -0
  27. package/.claude/agents/engineering/engineering-backend-architect.md +254 -0
  28. package/.claude/agents/engineering/engineering-code-reviewer.md +95 -0
  29. package/.claude/agents/engineering/engineering-data-engineer.md +307 -0
  30. package/.claude/agents/engineering/engineering-database-optimizer.md +200 -0
  31. package/.claude/agents/engineering/engineering-devops-automator.md +430 -0
  32. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +174 -0
  33. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +607 -0
  34. package/.claude/agents/engineering/engineering-frontend-developer.md +249 -0
  35. package/.claude/agents/engineering/engineering-git-workflow-master.md +108 -0
  36. package/.claude/agents/engineering/engineering-incident-response-commander.md +482 -0
  37. package/.claude/agents/engineering/engineering-mobile-app-builder.md +499 -0
  38. package/.claude/agents/engineering/engineering-rapid-prototyper.md +463 -0
  39. package/.claude/agents/engineering/engineering-security-engineer.md +303 -0
  40. package/.claude/agents/engineering/engineering-senior-developer.md +195 -0
  41. package/.claude/agents/engineering/engineering-software-architect.md +100 -0
  42. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +528 -0
  43. package/.claude/agents/engineering/engineering-sre.md +114 -0
  44. package/.claude/agents/engineering/engineering-technical-writer.md +412 -0
  45. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +540 -0
  46. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +351 -0
  47. package/.claude/agents/game-development/blender/blender-addon-engineer.md +235 -0
  48. package/.claude/agents/game-development/game-audio-engineer.md +265 -0
  49. package/.claude/agents/game-development/game-designer.md +168 -0
  50. package/.claude/agents/game-development/godot/godot-gameplay-scripter.md +335 -0
  51. package/.claude/agents/game-development/godot/godot-multiplayer-engineer.md +298 -0
  52. package/.claude/agents/game-development/godot/godot-shader-developer.md +267 -0
  53. package/.claude/agents/game-development/level-designer.md +209 -0
  54. package/.claude/agents/game-development/narrative-designer.md +244 -0
  55. package/.claude/agents/game-development/roblox-studio/roblox-avatar-creator.md +298 -0
  56. package/.claude/agents/game-development/roblox-studio/roblox-experience-designer.md +306 -0
  57. package/.claude/agents/game-development/roblox-studio/roblox-systems-scripter.md +326 -0
  58. package/.claude/agents/game-development/technical-artist.md +230 -0
  59. package/.claude/agents/game-development/unity/unity-architect.md +272 -0
  60. package/.claude/agents/game-development/unity/unity-editor-tool-developer.md +311 -0
  61. package/.claude/agents/game-development/unity/unity-multiplayer-engineer.md +322 -0
  62. package/.claude/agents/game-development/unity/unity-shader-graph-artist.md +270 -0
  63. package/.claude/agents/game-development/unreal-engine/unreal-multiplayer-architect.md +314 -0
  64. package/.claude/agents/game-development/unreal-engine/unreal-systems-engineer.md +311 -0
  65. package/.claude/agents/game-development/unreal-engine/unreal-technical-artist.md +257 -0
  66. package/.claude/agents/game-development/unreal-engine/unreal-world-builder.md +274 -0
  67. package/.claude/agents/github/code-review-swarm.md +557 -0
  68. package/.claude/agents/github/github-modes.md +154 -0
  69. package/.claude/agents/github/issue-tracker.md +299 -0
  70. package/.claude/agents/github/multi-repo-swarm.md +525 -0
  71. package/.claude/agents/github/pr-manager.md +163 -0
  72. package/.claude/agents/github/project-board-sync.md +478 -0
  73. package/.claude/agents/github/release-manager.md +296 -0
  74. package/.claude/agents/github/release-swarm.md +597 -0
  75. package/.claude/agents/github/repo-architect.md +359 -0
  76. package/.claude/agents/github/swarm-issue.md +548 -0
  77. package/.claude/agents/github/swarm-pr.md +427 -0
  78. package/.claude/agents/github/sync-coordinator.md +355 -0
  79. package/.claude/agents/github/workflow-automation.md +640 -0
  80. package/.claude/agents/goal/agent.md +804 -0
  81. package/.claude/agents/goal/code-goal-planner.md +445 -0
  82. package/.claude/agents/goal/goal-planner.md +168 -0
  83. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  84. package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  85. package/.claude/agents/hive-mind/scout-explorer.md +241 -0
  86. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  87. package/.claude/agents/hive-mind/worker-specialist.md +216 -0
  88. package/.claude/agents/marketing/marketing-ai-citation-strategist.md +171 -0
  89. package/.claude/agents/marketing/marketing-app-store-optimizer.md +322 -0
  90. package/.claude/agents/marketing/marketing-baidu-seo-specialist.md +227 -0
  91. package/.claude/agents/marketing/marketing-bilibili-content-strategist.md +200 -0
  92. package/.claude/agents/marketing/marketing-book-co-author.md +111 -0
  93. package/.claude/agents/marketing/marketing-carousel-growth-engine.md +200 -0
  94. package/.claude/agents/marketing/marketing-china-ecommerce-operator.md +284 -0
  95. package/.claude/agents/marketing/marketing-competitive-content.md +155 -0
  96. package/.claude/agents/marketing/marketing-content-creator.md +67 -0
  97. package/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
  98. package/.claude/agents/marketing/marketing-cross-border-ecommerce.md +260 -0
  99. package/.claude/agents/marketing/marketing-douyin-strategist.md +150 -0
  100. package/.claude/agents/marketing/marketing-email-specialist.md +90 -0
  101. package/.claude/agents/marketing/marketing-growth-hacker.md +54 -0
  102. package/.claude/agents/marketing/marketing-instagram-curator.md +114 -0
  103. package/.claude/agents/marketing/marketing-kuaishou-strategist.md +224 -0
  104. package/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
  105. package/.claude/agents/marketing/marketing-linkedin-content-creator.md +215 -0
  106. package/.claude/agents/marketing/marketing-livestream-commerce-coach.md +306 -0
  107. package/.claude/agents/marketing/marketing-podcast-strategist.md +278 -0
  108. package/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
  109. package/.claude/agents/marketing/marketing-private-domain-operator.md +309 -0
  110. package/.claude/agents/marketing/marketing-reddit-community-builder.md +124 -0
  111. package/.claude/agents/marketing/marketing-seo-specialist.md +279 -0
  112. package/.claude/agents/marketing/marketing-short-video-editing-coach.md +413 -0
  113. package/.claude/agents/marketing/marketing-social-media-strategist.md +125 -0
  114. package/.claude/agents/marketing/marketing-tiktok-strategist.md +126 -0
  115. package/.claude/agents/marketing/marketing-twitter-engager.md +127 -0
  116. package/.claude/agents/marketing/marketing-wechat-official-account.md +146 -0
  117. package/.claude/agents/marketing/marketing-weibo-strategist.md +241 -0
  118. package/.claude/agents/marketing/marketing-xiaohongshu-specialist.md +139 -0
  119. package/.claude/agents/marketing/marketing-zhihu-strategist.md +163 -0
  120. package/.claude/agents/neural/safla-neural.md +74 -0
  121. package/.claude/agents/optimization/benchmark-suite.md +663 -0
  122. package/.claude/agents/optimization/load-balancer.md +429 -0
  123. package/.claude/agents/optimization/performance-monitor.md +670 -0
  124. package/.claude/agents/optimization/resource-allocator.md +672 -0
  125. package/.claude/agents/optimization/topology-optimizer.md +806 -0
  126. package/.claude/agents/paid-media/paid-media-auditor.md +71 -0
  127. package/.claude/agents/paid-media/paid-media-creative-strategist.md +71 -0
  128. package/.claude/agents/paid-media/paid-media-paid-social-strategist.md +71 -0
  129. package/.claude/agents/paid-media/paid-media-ppc-strategist.md +71 -0
  130. package/.claude/agents/paid-media/paid-media-programmatic-buyer.md +71 -0
  131. package/.claude/agents/paid-media/paid-media-search-query-analyst.md +71 -0
  132. package/.claude/agents/paid-media/paid-media-tracking-specialist.md +71 -0
  133. package/.claude/agents/payments/agentic-payments.md +126 -0
  134. package/.claude/agents/product/product-behavioral-nudge-engine.md +81 -0
  135. package/.claude/agents/product/product-feedback-synthesizer.md +119 -0
  136. package/.claude/agents/product/product-manager.md +469 -0
  137. package/.claude/agents/product/product-sprint-prioritizer.md +154 -0
  138. package/.claude/agents/product/product-trend-researcher.md +159 -0
  139. package/.claude/agents/project-management/project-management-experiment-tracker.md +199 -0
  140. package/.claude/agents/project-management/project-management-jira-workflow-steward.md +231 -0
  141. package/.claude/agents/project-management/project-management-project-shepherd.md +195 -0
  142. package/.claude/agents/project-management/project-management-studio-operations.md +201 -0
  143. package/.claude/agents/project-management/project-management-studio-producer.md +204 -0
  144. package/.claude/agents/project-management/project-manager-senior.md +136 -0
  145. package/.claude/agents/reasoning/agent.md +804 -0
  146. package/.claude/agents/reasoning/goal-planner.md +73 -0
  147. package/.claude/agents/sales/sales-account-strategist.md +228 -0
  148. package/.claude/agents/sales/sales-coach.md +272 -0
  149. package/.claude/agents/sales/sales-deal-strategist.md +181 -0
  150. package/.claude/agents/sales/sales-discovery-coach.md +226 -0
  151. package/.claude/agents/sales/sales-engineer.md +183 -0
  152. package/.claude/agents/sales/sales-outbound-strategist.md +202 -0
  153. package/.claude/agents/sales/sales-pipeline-analyst.md +268 -0
  154. package/.claude/agents/sales/sales-proposal-strategist.md +218 -0
  155. package/.claude/agents/schemas/architecture-output.json +43 -0
  156. package/.claude/agents/schemas/code-review-output.json +28 -0
  157. package/.claude/agents/schemas/generic-task-input.json +12 -0
  158. package/.claude/agents/schemas/implementation-output.json +18 -0
  159. package/.claude/agents/schemas/research-output.json +31 -0
  160. package/.claude/agents/schemas/security-audit-output.json +29 -0
  161. package/.claude/agents/schemas/test-report-output.json +29 -0
  162. package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
  163. package/.claude/agents/sparc/architecture.md +453 -0
  164. package/.claude/agents/sparc/pseudocode.md +299 -0
  165. package/.claude/agents/sparc/refinement.md +504 -0
  166. package/.claude/agents/sparc/specification.md +258 -0
  167. package/.claude/agents/spatial-computing/macos-spatial-metal-engineer.md +338 -0
  168. package/.claude/agents/spatial-computing/terminal-integration-specialist.md +71 -0
  169. package/.claude/agents/spatial-computing/visionos-spatial-engineer.md +55 -0
  170. package/.claude/agents/specialists/integration-architect.md +94 -0
  171. package/.claude/agents/specialists/memory-specialist.md +298 -0
  172. package/.claude/agents/specialists/performance-engineer.md +387 -0
  173. package/.claude/agents/specialists/queen-coordinator.md +67 -0
  174. package/.claude/agents/specialists/security-architect.md +154 -0
  175. package/.claude/agents/specialized/accounts-payable-agent.md +186 -0
  176. package/.claude/agents/specialized/agentic-identity-trust.md +388 -0
  177. package/.claude/agents/specialized/agents-orchestrator.md +368 -0
  178. package/.claude/agents/specialized/automation-governance-architect.md +217 -0
  179. package/.claude/agents/specialized/blockchain-security-auditor.md +497 -0
  180. package/.claude/agents/specialized/compliance-auditor.md +159 -0
  181. package/.claude/agents/specialized/corporate-training-designer.md +193 -0
  182. package/.claude/agents/specialized/data-consolidation-agent.md +61 -0
  183. package/.claude/agents/specialized/government-digital-presales-consultant.md +364 -0
  184. package/.claude/agents/specialized/healthcare-marketing-compliance.md +396 -0
  185. package/.claude/agents/specialized/identity-graph-operator.md +261 -0
  186. package/.claude/agents/specialized/lsp-index-engineer.md +315 -0
  187. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +89 -0
  188. package/.claude/agents/specialized/recruitment-specialist.md +510 -0
  189. package/.claude/agents/specialized/report-distribution-agent.md +66 -0
  190. package/.claude/agents/specialized/sales-data-extraction-agent.md +68 -0
  191. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +89 -0
  192. package/.claude/agents/specialized/specialized-developer-advocate.md +318 -0
  193. package/.claude/agents/specialized/specialized-document-generator.md +56 -0
  194. package/.claude/agents/specialized/specialized-french-consulting-market.md +193 -0
  195. package/.claude/agents/specialized/specialized-korean-business-navigator.md +217 -0
  196. package/.claude/agents/specialized/specialized-mcp-builder.md +64 -0
  197. package/.claude/agents/specialized/specialized-model-qa.md +489 -0
  198. package/.claude/agents/specialized/specialized-salesforce-architect.md +181 -0
  199. package/.claude/agents/specialized/specialized-workflow-architect.md +598 -0
  200. package/.claude/agents/specialized/study-abroad-advisor.md +283 -0
  201. package/.claude/agents/specialized/supply-chain-strategist.md +583 -0
  202. package/.claude/agents/specialized/zk-steward.md +212 -0
  203. package/.claude/agents/sublinear/consensus-coordinator.md +333 -0
  204. package/.claude/agents/sublinear/matrix-optimizer.md +180 -0
  205. package/.claude/agents/sublinear/pagerank-analyzer.md +295 -0
  206. package/.claude/agents/sublinear/performance-optimizer.md +363 -0
  207. package/.claude/agents/sublinear/trading-predictor.md +242 -0
  208. package/.claude/agents/support/support-analytics-reporter.md +366 -0
  209. package/.claude/agents/support/support-executive-summary-generator.md +213 -0
  210. package/.claude/agents/support/support-finance-tracker.md +443 -0
  211. package/.claude/agents/support/support-infrastructure-maintainer.md +619 -0
  212. package/.claude/agents/support/support-legal-compliance-checker.md +589 -0
  213. package/.claude/agents/support/support-support-responder.md +586 -0
  214. package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
  215. package/.claude/agents/swarm/hierarchical-coordinator.md +318 -0
  216. package/.claude/agents/swarm/mesh-coordinator.md +363 -0
  217. package/.claude/agents/templates/automation-smart-agent.md +185 -0
  218. package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  219. package/.claude/agents/templates/github-pr-manager.md +155 -0
  220. package/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  221. package/.claude/agents/templates/memory-coordinator.md +163 -0
  222. package/.claude/agents/templates/migration-plan.md +724 -0
  223. package/.claude/agents/templates/orchestrator-task.md +120 -0
  224. package/.claude/agents/templates/performance-analyzer.md +179 -0
  225. package/.claude/agents/templates/sparc-coordinator.md +163 -0
  226. package/.claude/agents/testing/production-validator.md +374 -0
  227. package/.claude/agents/testing/tdd-london-swarm.md +241 -0
  228. package/.claude/agents/testing/testing-accessibility-auditor.md +322 -0
  229. package/.claude/agents/testing/testing-api-tester.md +307 -0
  230. package/.claude/agents/testing/testing-evidence-collector.md +211 -0
  231. package/.claude/agents/testing/testing-performance-benchmarker.md +269 -0
  232. package/.claude/agents/testing/testing-reality-checker.md +237 -0
  233. package/.claude/agents/testing/testing-test-results-analyzer.md +306 -0
  234. package/.claude/agents/testing/testing-tool-evaluator.md +395 -0
  235. package/.claude/agents/testing/testing-workflow-optimizer.md +451 -0
  236. package/.claude/checkpoints/1767754460.json +8 -0
  237. package/.claude/commands/agents/README.md +14 -0
  238. package/.claude/commands/agents/agent-capabilities.md +25 -0
  239. package/.claude/commands/agents/agent-coordination.md +32 -0
  240. package/.claude/commands/agents/agent-spawning.md +32 -0
  241. package/.claude/commands/agents/agent-types.md +30 -0
  242. package/.claude/commands/analysis/README.md +18 -0
  243. package/.claude/commands/analysis/bottleneck-detect.md +69 -0
  244. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  245. package/.claude/commands/analysis/performance-report.md +52 -0
  246. package/.claude/commands/analysis/token-efficiency.md +42 -0
  247. package/.claude/commands/analysis/token-usage.md +47 -0
  248. package/.claude/commands/automation/README.md +19 -0
  249. package/.claude/commands/automation/auto-agent.md +86 -0
  250. package/.claude/commands/automation/self-healing.md +108 -0
  251. package/.claude/commands/automation/session-memory.md +89 -0
  252. package/.claude/commands/automation/smart-agents.md +81 -0
  253. package/.claude/commands/automation/smart-spawn.md +66 -0
  254. package/.claude/commands/automation/workflow-select.md +60 -0
  255. package/.claude/commands/browse.md +32 -0
  256. package/.claude/commands/coordination/README.md +13 -0
  257. package/.claude/commands/coordination/agent-spawn.md +69 -0
  258. package/.claude/commands/coordination/swarm-init.md +82 -0
  259. package/.claude/commands/coordination/task-orchestrate.md +79 -0
  260. package/.claude/commands/github/README.md +24 -0
  261. package/.claude/commands/github/github-modes.md +151 -0
  262. package/.claude/commands/github/issue-tracker.md +293 -0
  263. package/.claude/commands/github/pr-manager.md +173 -0
  264. package/.claude/commands/github/release-manager.md +343 -0
  265. package/.claude/commands/github/repo-architect.md +379 -0
  266. package/.claude/commands/github/sync-coordinator.md +297 -0
  267. package/.claude/commands/hive-mind/README.md +42 -0
  268. package/.claude/commands/hive-mind/hive-mind-consensus.md +72 -0
  269. package/.claude/commands/hive-mind/hive-mind-init.md +68 -0
  270. package/.claude/commands/hive-mind/hive-mind-memory.md +73 -0
  271. package/.claude/commands/hive-mind/hive-mind-spawn.md +82 -0
  272. package/.claude/commands/hive-mind/hive-mind-status.md +56 -0
  273. package/.claude/commands/hive-mind/hive-mind-stop.md +55 -0
  274. package/.claude/commands/hive-mind/hive-mind.md +87 -0
  275. package/.claude/commands/hooks/README.md +66 -0
  276. package/.claude/commands/hooks/overview.md +117 -0
  277. package/.claude/commands/hooks/post-edit.md +78 -0
  278. package/.claude/commands/hooks/post-task.md +62 -0
  279. package/.claude/commands/hooks/pre-edit.md +81 -0
  280. package/.claude/commands/hooks/pre-task.md +76 -0
  281. package/.claude/commands/hooks/session-end.md +82 -0
  282. package/.claude/commands/hooks/setup.md +132 -0
  283. package/.claude/commands/mastermind/_repeat.md +451 -0
  284. package/.claude/commands/mastermind/architect.md +55 -0
  285. package/.claude/commands/mastermind/brain.md +102 -0
  286. package/.claude/commands/mastermind/build.md +26 -0
  287. package/.claude/commands/mastermind/content.md +26 -0
  288. package/.claude/commands/mastermind/createorg.md +97 -0
  289. package/.claude/commands/mastermind/finance.md +26 -0
  290. package/.claude/commands/mastermind/idea.md +26 -0
  291. package/.claude/commands/mastermind/marketing.md +26 -0
  292. package/.claude/commands/mastermind/master.md +772 -0
  293. package/.claude/commands/mastermind/ops.md +26 -0
  294. package/.claude/commands/mastermind/release.md +26 -0
  295. package/.claude/commands/mastermind/research.md +26 -0
  296. package/.claude/commands/mastermind/review.md +26 -0
  297. package/.claude/commands/mastermind/runorg.md +109 -0
  298. package/.claude/commands/mastermind/sales.md +26 -0
  299. package/.claude/commands/mastermind/techport.md +26 -0
  300. package/.claude/commands/mastermind.md +121 -0
  301. package/.claude/commands/memory/README.md +79 -0
  302. package/.claude/commands/memory/memory-search.md +77 -0
  303. package/.claude/commands/monitoring/README.md +69 -0
  304. package/.claude/commands/monitoring/agent-metrics.md +65 -0
  305. package/.claude/commands/monitoring/agents.md +71 -0
  306. package/.claude/commands/monitoring/status.md +108 -0
  307. package/.claude/commands/monograph/README.md +102 -0
  308. package/.claude/commands/monograph/monograph-build.md +79 -0
  309. package/.claude/commands/monograph/monograph-search.md +96 -0
  310. package/.claude/commands/monograph/monograph-stats.md +53 -0
  311. package/.claude/commands/monograph/monograph-watch.md +63 -0
  312. package/.claude/commands/monograph/monograph-wiki.md +91 -0
  313. package/.claude/commands/monomind/createtask.md +277 -0
  314. package/.claude/commands/monomind/do.md +446 -0
  315. package/.claude/commands/monomind/help.md +118 -0
  316. package/.claude/commands/monomind/idea.md +273 -0
  317. package/.claude/commands/monomind/improve.md +350 -0
  318. package/.claude/commands/monomind/memory.md +230 -0
  319. package/.claude/commands/monomind/repeat.md +257 -0
  320. package/.claude/commands/monomind/review.md +317 -0
  321. package/.claude/commands/monomind/specialagents.md +125 -0
  322. package/.claude/commands/monomind/swarm.md +161 -0
  323. package/.claude/commands/monomind/understand.md +191 -0
  324. package/.claude/commands/optimization/README.md +73 -0
  325. package/.claude/commands/optimization/auto-topology.md +85 -0
  326. package/.claude/commands/optimization/parallel-execution.md +76 -0
  327. package/.claude/commands/optimization/performance-optimize.md +79 -0
  328. package/.claude/commands/pair/README.md +79 -0
  329. package/.claude/commands/pair/examples.md +156 -0
  330. package/.claude/commands/pair/modes.md +122 -0
  331. package/.claude/commands/pair/session.md +124 -0
  332. package/.claude/commands/sparc/analyzer.md +35 -0
  333. package/.claude/commands/sparc/architect.md +36 -0
  334. package/.claude/commands/sparc/ask.md +56 -0
  335. package/.claude/commands/sparc/batch-executor.md +37 -0
  336. package/.claude/commands/sparc/code.md +48 -0
  337. package/.claude/commands/sparc/coder.md +37 -0
  338. package/.claude/commands/sparc/debug.md +42 -0
  339. package/.claude/commands/sparc/debugger.md +37 -0
  340. package/.claude/commands/sparc/designer.md +36 -0
  341. package/.claude/commands/sparc/devops.md +68 -0
  342. package/.claude/commands/sparc/docs-writer.md +39 -0
  343. package/.claude/commands/sparc/documenter.md +37 -0
  344. package/.claude/commands/sparc/innovator.md +37 -0
  345. package/.claude/commands/sparc/integration.md +42 -0
  346. package/.claude/commands/sparc/mcp.md +76 -0
  347. package/.claude/commands/sparc/memory-manager.md +57 -0
  348. package/.claude/commands/sparc/optimizer.md +37 -0
  349. package/.claude/commands/sparc/orchestrator.md +70 -0
  350. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +42 -0
  351. package/.claude/commands/sparc/refinement-optimization-mode.md +42 -0
  352. package/.claude/commands/sparc/researcher.md +37 -0
  353. package/.claude/commands/sparc/reviewer.md +37 -0
  354. package/.claude/commands/sparc/security-review.md +39 -0
  355. package/.claude/commands/sparc/sparc-modes.md +120 -0
  356. package/.claude/commands/sparc/sparc.md +71 -0
  357. package/.claude/commands/sparc/spec-pseudocode.md +39 -0
  358. package/.claude/commands/sparc/supabase-admin.md +301 -0
  359. package/.claude/commands/sparc/swarm-coordinator.md +50 -0
  360. package/.claude/commands/sparc/tdd.md +37 -0
  361. package/.claude/commands/sparc/tester.md +37 -0
  362. package/.claude/commands/sparc/tutorial.md +38 -0
  363. package/.claude/commands/sparc/workflow-manager.md +37 -0
  364. package/.claude/commands/sparc.md +112 -0
  365. package/.claude/commands/stream-chain/pipeline.md +116 -0
  366. package/.claude/commands/stream-chain/run.md +156 -0
  367. package/.claude/commands/swarm/README.md +40 -0
  368. package/.claude/commands/swarm/analysis.md +73 -0
  369. package/.claude/commands/swarm/development.md +72 -0
  370. package/.claude/commands/swarm/examples.md +103 -0
  371. package/.claude/commands/swarm/maintenance.md +75 -0
  372. package/.claude/commands/swarm/optimization.md +84 -0
  373. package/.claude/commands/swarm/research.md +76 -0
  374. package/.claude/commands/swarm/swarm-analysis.md +62 -0
  375. package/.claude/commands/swarm/swarm-background.md +65 -0
  376. package/.claude/commands/swarm/swarm-modes.md +67 -0
  377. package/.claude/commands/swarm/swarm-monitor.md +54 -0
  378. package/.claude/commands/swarm/swarm-status.md +44 -0
  379. package/.claude/commands/swarm/swarm-strategies.md +76 -0
  380. package/.claude/commands/swarm/swarm.md +79 -0
  381. package/.claude/commands/swarm/testing.md +80 -0
  382. package/.claude/commands/tokens.md +18 -0
  383. package/.claude/commands/training/README.md +39 -0
  384. package/.claude/commands/training/model-update.md +78 -0
  385. package/.claude/commands/training/neural-patterns.md +73 -0
  386. package/.claude/commands/training/neural-train.md +79 -0
  387. package/.claude/commands/training/pattern-learn.md +69 -0
  388. package/.claude/commands/training/specialization.md +92 -0
  389. package/.claude/commands/truth/start.md +121 -0
  390. package/.claude/commands/ts.md +14 -0
  391. package/.claude/commands/verify/check.md +106 -0
  392. package/.claude/commands/verify/start.md +105 -0
  393. package/.claude/commands/workflows/README.md +65 -0
  394. package/.claude/commands/workflows/development.md +86 -0
  395. package/.claude/commands/workflows/research.md +89 -0
  396. package/.claude/commands/workflows/workflow-create.md +84 -0
  397. package/.claude/commands/workflows/workflow-execute.md +103 -0
  398. package/.claude/commands/workflows/workflow-export.md +90 -0
  399. package/.claude/config/v1-dependency-optimization.json +266 -0
  400. package/.claude/config/v1-performance-targets.json +251 -0
  401. package/.claude/helpers/README.md +105 -0
  402. package/.claude/helpers/auto-memory-hook.mjs +369 -0
  403. package/.claude/helpers/context-persistence-hook.mjs +1988 -0
  404. package/.claude/helpers/control-start.cjs +91 -0
  405. package/.claude/helpers/extras-registry.json +5141 -0
  406. package/.claude/helpers/graphify-freshen.cjs +98 -0
  407. package/.claude/helpers/hook-handler.cjs +1718 -0
  408. package/.claude/helpers/intelligence.cjs +227 -0
  409. package/.claude/helpers/learning-service.mjs +1144 -0
  410. package/.claude/helpers/loop-tracker.cjs +107 -0
  411. package/.claude/helpers/memory-palace.cjs +401 -0
  412. package/.claude/helpers/memory.cjs +84 -0
  413. package/.claude/helpers/metrics-db.mjs +488 -0
  414. package/.claude/helpers/router.cjs +450 -0
  415. package/.claude/helpers/session.cjs +125 -0
  416. package/.claude/helpers/skill-registry.json +946 -0
  417. package/.claude/helpers/statusline.cjs +1331 -0
  418. package/.claude/helpers/swarm-hooks.sh +761 -0
  419. package/.claude/helpers/toggle-statusline.cjs +58 -0
  420. package/.claude/helpers/token-tracker.cjs +934 -0
  421. package/.claude/mcp.json +3 -0
  422. package/.claude/scheduled_tasks.lock +1 -0
  423. package/.claude/settings.json +318 -0
  424. package/.claude/settings.local.json +51 -0
  425. package/.claude/skills/.monomind/data/ranked-context.json +5 -0
  426. package/.claude/skills/.monomind/sessions/current.json +13 -0
  427. package/.claude/skills/.monomind/sessions/session-1777829336455.json +15 -0
  428. package/.claude/skills/.monomind/sessions/session-1777831614725.json +15 -0
  429. package/.claude/skills/.monomind/sessions/session-1777832095857.json +15 -0
  430. package/.claude/skills/.monomind/sessions/session-1777839814183.json +15 -0
  431. package/.claude/skills/.monomind/sessions/session-1777841847131.json +15 -0
  432. package/.claude/skills/.monomind/sessions/session-1777843309463.json +15 -0
  433. package/.claude/skills/.monomind/sessions/session-1777880867159.json +15 -0
  434. package/.claude/skills/.monomind/sessions/session-1777881884593.json +15 -0
  435. package/.claude/skills/.monomind/sessions/session-1777884090471.json +15 -0
  436. package/.claude/skills/.monomind/sessions/session-1777884808221.json +15 -0
  437. package/.claude/skills/.monomind/sessions/session-1777885672155.json +15 -0
  438. package/.claude/skills/.monomind/sessions/session-1777886852818.json +15 -0
  439. package/.claude/skills/.monomind/sessions/session-1777896532690.json +15 -0
  440. package/.claude/skills/agent-browser-testing/SKILL.md +312 -0
  441. package/.claude/skills/agentdb-advanced/SKILL.md +549 -0
  442. package/.claude/skills/agentdb-learning/SKILL.md +544 -0
  443. package/.claude/skills/agentdb-memory-patterns/SKILL.md +337 -0
  444. package/.claude/skills/agentdb-optimization/SKILL.md +508 -0
  445. package/.claude/skills/agentdb-vector-search/SKILL.md +335 -0
  446. package/.claude/skills/agentic-integration/SKILL.md +265 -0
  447. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  448. package/.claude/skills/cli-modernization/SKILL.md +950 -0
  449. package/.claude/skills/core-implementation/SKILL.md +892 -0
  450. package/.claude/skills/ddd-architecture/SKILL.md +444 -0
  451. package/.claude/skills/github-code-review/SKILL.md +1147 -0
  452. package/.claude/skills/github-multi-repo/SKILL.md +912 -0
  453. package/.claude/skills/github-project-management/SKILL.md +1245 -0
  454. package/.claude/skills/github-release-management/SKILL.md +1118 -0
  455. package/.claude/skills/github-workflow-automation/SKILL.md +1107 -0
  456. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  457. package/.claude/skills/hooks-automation/SKILL.md +1196 -0
  458. package/.claude/skills/mastermind/_agent-select.md +132 -0
  459. package/.claude/skills/mastermind/_intake.md +83 -0
  460. package/.claude/skills/mastermind/_protocol.md +380 -0
  461. package/.claude/skills/mastermind/access.md +236 -0
  462. package/.claude/skills/mastermind/activity.md +191 -0
  463. package/.claude/skills/mastermind/adapter-manager.md +259 -0
  464. package/.claude/skills/mastermind/adapters.md +204 -0
  465. package/.claude/skills/mastermind/agent-detail.md +242 -0
  466. package/.claude/skills/mastermind/agents.md +178 -0
  467. package/.claude/skills/mastermind/approval-detail.md +259 -0
  468. package/.claude/skills/mastermind/approve.md +181 -0
  469. package/.claude/skills/mastermind/architect.md +863 -0
  470. package/.claude/skills/mastermind/backup.md +197 -0
  471. package/.claude/skills/mastermind/bootstrap.md +190 -0
  472. package/.claude/skills/mastermind/budgets.md +237 -0
  473. package/.claude/skills/mastermind/build.md +170 -0
  474. package/.claude/skills/mastermind/companies.md +256 -0
  475. package/.claude/skills/mastermind/content.md +197 -0
  476. package/.claude/skills/mastermind/costs.md +151 -0
  477. package/.claude/skills/mastermind/createorg.md +344 -0
  478. package/.claude/skills/mastermind/diagnose.md +249 -0
  479. package/.claude/skills/mastermind/env.md +198 -0
  480. package/.claude/skills/mastermind/environments.md +250 -0
  481. package/.claude/skills/mastermind/export.md +324 -0
  482. package/.claude/skills/mastermind/finance.md +166 -0
  483. package/.claude/skills/mastermind/goal-detail.md +255 -0
  484. package/.claude/skills/mastermind/goals.md +149 -0
  485. package/.claude/skills/mastermind/heartbeat.md +164 -0
  486. package/.claude/skills/mastermind/idea.md +1120 -0
  487. package/.claude/skills/mastermind/import.md +281 -0
  488. package/.claude/skills/mastermind/inbox.md +214 -0
  489. package/.claude/skills/mastermind/instance-settings.md +315 -0
  490. package/.claude/skills/mastermind/instance.md +231 -0
  491. package/.claude/skills/mastermind/invite-landing.md +227 -0
  492. package/.claude/skills/mastermind/invites.md +254 -0
  493. package/.claude/skills/mastermind/issue-detail.md +291 -0
  494. package/.claude/skills/mastermind/issues.md +235 -0
  495. package/.claude/skills/mastermind/join-queue.md +170 -0
  496. package/.claude/skills/mastermind/liveness.md +392 -0
  497. package/.claude/skills/mastermind/marketing.md +228 -0
  498. package/.claude/skills/mastermind/memory.md +321 -0
  499. package/.claude/skills/mastermind/monotask.md +350 -0
  500. package/.claude/skills/mastermind/my-issues.md +146 -0
  501. package/.claude/skills/mastermind/new-agent.md +241 -0
  502. package/.claude/skills/mastermind/ops.md +168 -0
  503. package/.claude/skills/mastermind/org-chart.md +207 -0
  504. package/.claude/skills/mastermind/org-settings.md +217 -0
  505. package/.claude/skills/mastermind/plan-to-tasks.md +136 -0
  506. package/.claude/skills/mastermind/plugin-manager.md +241 -0
  507. package/.claude/skills/mastermind/plugin-settings.md +273 -0
  508. package/.claude/skills/mastermind/plugins.md +190 -0
  509. package/.claude/skills/mastermind/profile.md +187 -0
  510. package/.claude/skills/mastermind/project-detail.md +249 -0
  511. package/.claude/skills/mastermind/project-workspace.md +244 -0
  512. package/.claude/skills/mastermind/projects.md +164 -0
  513. package/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
  514. package/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
  515. package/.claude/skills/mastermind/release.md +168 -0
  516. package/.claude/skills/mastermind/research.md +168 -0
  517. package/.claude/skills/mastermind/review.md +169 -0
  518. package/.claude/skills/mastermind/routine-detail.md +253 -0
  519. package/.claude/skills/mastermind/routines.md +202 -0
  520. package/.claude/skills/mastermind/runorg.md +373 -0
  521. package/.claude/skills/mastermind/sales.md +170 -0
  522. package/.claude/skills/mastermind/search.md +186 -0
  523. package/.claude/skills/mastermind/secrets.md +199 -0
  524. package/.claude/skills/mastermind/skills.md +156 -0
  525. package/.claude/skills/mastermind/tasks.md +149 -0
  526. package/.claude/skills/mastermind/techport.md +743 -0
  527. package/.claude/skills/mastermind/threads.md +259 -0
  528. package/.claude/skills/mastermind/tree-control.md +250 -0
  529. package/.claude/skills/mastermind/wiki.md +314 -0
  530. package/.claude/skills/mastermind/workspace-detail.md +317 -0
  531. package/.claude/skills/mastermind/workspaces.md +261 -0
  532. package/.claude/skills/mastermind/worktree.md +187 -0
  533. package/.claude/skills/mcp-optimization/SKILL.md +837 -0
  534. package/.claude/skills/memory-unification/SKILL.md +196 -0
  535. package/.claude/skills/monodesign/SKILL.md +302 -0
  536. package/.claude/skills/monodesign/reference/adapt.md +190 -0
  537. package/.claude/skills/monodesign/reference/animate.md +175 -0
  538. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +187 -0
  539. package/.claude/skills/monodesign/reference/audit.md +133 -0
  540. package/.claude/skills/monodesign/reference/bolder.md +113 -0
  541. package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  542. package/.claude/skills/monodesign/reference/brand.md +114 -0
  543. package/.claude/skills/monodesign/reference/clarify.md +174 -0
  544. package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  545. package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  546. package/.claude/skills/monodesign/reference/colorize.md +154 -0
  547. package/.claude/skills/monodesign/reference/component-specs.md +260 -0
  548. package/.claude/skills/monodesign/reference/component-states.md +274 -0
  549. package/.claude/skills/monodesign/reference/component-system.md +358 -0
  550. package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  551. package/.claude/skills/monodesign/reference/craft.md +193 -0
  552. package/.claude/skills/monodesign/reference/critique.md +213 -0
  553. package/.claude/skills/monodesign/reference/delight.md +302 -0
  554. package/.claude/skills/monodesign/reference/design-principles.md +246 -0
  555. package/.claude/skills/monodesign/reference/distill.md +111 -0
  556. package/.claude/skills/monodesign/reference/document.md +427 -0
  557. package/.claude/skills/monodesign/reference/extract.md +69 -0
  558. package/.claude/skills/monodesign/reference/harden.md +347 -0
  559. package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  560. package/.claude/skills/monodesign/reference/image-prompts.md +118 -0
  561. package/.claude/skills/monodesign/reference/interaction-design.md +195 -0
  562. package/.claude/skills/monodesign/reference/layout.md +141 -0
  563. package/.claude/skills/monodesign/reference/live.md +622 -0
  564. package/.claude/skills/monodesign/reference/motion-design.md +109 -0
  565. package/.claude/skills/monodesign/reference/onboard.md +234 -0
  566. package/.claude/skills/monodesign/reference/optimize.md +258 -0
  567. package/.claude/skills/monodesign/reference/overdrive.md +130 -0
  568. package/.claude/skills/monodesign/reference/personas.md +179 -0
  569. package/.claude/skills/monodesign/reference/polish.md +233 -0
  570. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  571. package/.claude/skills/monodesign/reference/product.md +62 -0
  572. package/.claude/skills/monodesign/reference/quieter.md +99 -0
  573. package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  574. package/.claude/skills/monodesign/reference/shape.md +151 -0
  575. package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  576. package/.claude/skills/monodesign/reference/teach.md +156 -0
  577. package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  578. package/.claude/skills/monodesign/reference/typeset.md +124 -0
  579. package/.claude/skills/monodesign/reference/typography.md +159 -0
  580. package/.claude/skills/monodesign/reference/ux-research.md +143 -0
  581. package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  582. package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  583. package/.claude/skills/monomotion/SKILL.md +145 -0
  584. package/.claude/skills/monomotion/rules/api-control.md +139 -0
  585. package/.claude/skills/monomotion/rules/effects.md +109 -0
  586. package/.claude/skills/monomotion/rules/integration.md +140 -0
  587. package/.claude/skills/monomotion/rules/scroll.md +131 -0
  588. package/.claude/skills/monomotion/rules/sequencing.md +105 -0
  589. package/.claude/skills/monomotion/rules/svg.md +101 -0
  590. package/.claude/skills/monomotion/rules/text.md +119 -0
  591. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  592. package/.claude/skills/performance-analysis/SKILL.md +560 -0
  593. package/.claude/skills/performance-optimization/SKILL.md +416 -0
  594. package/.claude/skills/reasoningbank-agentdb/SKILL.md +444 -0
  595. package/.claude/skills/reasoningbank-intelligence/SKILL.md +199 -0
  596. package/.claude/skills/security-hardening/SKILL.md +101 -0
  597. package/.claude/skills/skill-builder/SKILL.md +910 -0
  598. package/.claude/skills/sparc-methodology/SKILL.md +950 -0
  599. package/.claude/skills/specialagent/SKILL.md +208 -0
  600. package/.claude/skills/stop-slop/SKILL.md +67 -0
  601. package/.claude/skills/stop-slop/references/examples.md +61 -0
  602. package/.claude/skills/stop-slop/references/phrases.md +130 -0
  603. package/.claude/skills/stop-slop/references/structures.md +136 -0
  604. package/.claude/skills/stream-chain/SKILL.md +560 -0
  605. package/.claude/skills/swarm-advanced/SKILL.md +940 -0
  606. package/.claude/skills/swarm-coordination/SKILL.md +451 -0
  607. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  608. package/.claude/skills/verification-quality/SKILL.md +674 -0
  609. package/.claude/statusline-command.sh +176 -0
  610. package/.claude/statusline.mjs +109 -0
  611. package/.claude/statusline.sh +431 -0
  612. package/.claude/workflows/feature-dev.yaml +18 -0
  613. package/.claude/workflows/security-audit.yaml +10 -0
  614. package/.claude-plugin/README.md +705 -0
  615. package/.claude-plugin/docs/INSTALLATION.md +258 -0
  616. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +359 -0
  617. package/.claude-plugin/docs/QUICKSTART.md +360 -0
  618. package/.claude-plugin/docs/STRUCTURE.md +126 -0
  619. package/.claude-plugin/hooks/hooks.json +74 -0
  620. package/.claude-plugin/marketplace.json +98 -0
  621. package/.claude-plugin/plugin.json +70 -0
  622. package/.claude-plugin/scripts/install.sh +234 -0
  623. package/.claude-plugin/scripts/uninstall.sh +36 -0
  624. package/.claude-plugin/scripts/verify.sh +108 -0
  625. package/LICENSE +21 -0
  626. package/README.md +441 -0
  627. package/bin/cli.js +11 -0
  628. package/bin/npx-safe-launch.js +9 -0
  629. package/package.json +71 -11
  630. package/packages/@monomind/cli/README.md +441 -0
  631. package/packages/@monomind/cli/bin/cli.js +221 -0
  632. package/packages/@monomind/cli/bin/mcp-server.js +189 -0
  633. package/packages/@monomind/cli/bin/preinstall.cjs +2 -0
  634. package/packages/@monomind/cli/bundled-graph/dist/src/analyze.d.ts +32 -0
  635. package/packages/@monomind/cli/bundled-graph/dist/src/analyze.d.ts.map +1 -0
  636. package/packages/@monomind/cli/bundled-graph/dist/src/analyze.js +297 -0
  637. package/packages/@monomind/cli/bundled-graph/dist/src/analyze.js.map +1 -0
  638. package/packages/@monomind/cli/bundled-graph/dist/src/build.d.ts +8 -0
  639. package/packages/@monomind/cli/bundled-graph/dist/src/build.d.ts.map +1 -0
  640. package/packages/@monomind/cli/bundled-graph/dist/src/build.js +73 -0
  641. package/packages/@monomind/cli/bundled-graph/dist/src/build.js.map +1 -0
  642. package/packages/@monomind/cli/bundled-graph/dist/src/cache.d.ts +12 -0
  643. package/packages/@monomind/cli/bundled-graph/dist/src/cache.d.ts.map +1 -0
  644. package/packages/@monomind/cli/bundled-graph/dist/src/cache.js +43 -0
  645. package/packages/@monomind/cli/bundled-graph/dist/src/cache.js.map +1 -0
  646. package/packages/@monomind/cli/bundled-graph/dist/src/cluster.d.ts +5 -0
  647. package/packages/@monomind/cli/bundled-graph/dist/src/cluster.d.ts.map +1 -0
  648. package/packages/@monomind/cli/bundled-graph/dist/src/cluster.js +120 -0
  649. package/packages/@monomind/cli/bundled-graph/dist/src/cluster.js.map +1 -0
  650. package/packages/@monomind/cli/bundled-graph/dist/src/detect.d.ts +21 -0
  651. package/packages/@monomind/cli/bundled-graph/dist/src/detect.d.ts.map +1 -0
  652. package/packages/@monomind/cli/bundled-graph/dist/src/detect.js +195 -0
  653. package/packages/@monomind/cli/bundled-graph/dist/src/detect.js.map +1 -0
  654. package/packages/@monomind/cli/bundled-graph/dist/src/export.d.ts +21 -0
  655. package/packages/@monomind/cli/bundled-graph/dist/src/export.d.ts.map +1 -0
  656. package/packages/@monomind/cli/bundled-graph/dist/src/export.js +68 -0
  657. package/packages/@monomind/cli/bundled-graph/dist/src/export.js.map +1 -0
  658. package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.d.ts +20 -0
  659. package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.d.ts.map +1 -0
  660. package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.js +158 -0
  661. package/packages/@monomind/cli/bundled-graph/dist/src/extract/index.js.map +1 -0
  662. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.d.ts +3 -0
  663. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.d.ts.map +1 -0
  664. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.js +88 -0
  665. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/c.js.map +1 -0
  666. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.d.ts +3 -0
  667. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.d.ts.map +1 -0
  668. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.js +121 -0
  669. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/cpp.js.map +1 -0
  670. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.d.ts +3 -0
  671. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.d.ts.map +1 -0
  672. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.js +121 -0
  673. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/csharp.js.map +1 -0
  674. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.d.ts +3 -0
  675. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.d.ts.map +1 -0
  676. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.js +181 -0
  677. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/go.js.map +1 -0
  678. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.d.ts +3 -0
  679. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.d.ts.map +1 -0
  680. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.js +117 -0
  681. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/java.js.map +1 -0
  682. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.d.ts +3 -0
  683. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.d.ts.map +1 -0
  684. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.js +112 -0
  685. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/kotlin.js.map +1 -0
  686. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.d.ts +3 -0
  687. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.d.ts.map +1 -0
  688. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.js +130 -0
  689. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/php.js.map +1 -0
  690. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.d.ts +3 -0
  691. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.d.ts.map +1 -0
  692. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.js +230 -0
  693. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/python.js.map +1 -0
  694. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.d.ts +3 -0
  695. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.d.ts.map +1 -0
  696. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.js +120 -0
  697. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/ruby.js.map +1 -0
  698. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.d.ts +3 -0
  699. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.d.ts.map +1 -0
  700. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.js +195 -0
  701. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/rust.js.map +1 -0
  702. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.d.ts +3 -0
  703. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.d.ts.map +1 -0
  704. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.js +110 -0
  705. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/scala.js.map +1 -0
  706. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.d.ts +3 -0
  707. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.d.ts.map +1 -0
  708. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.js +122 -0
  709. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/swift.js.map +1 -0
  710. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.d.ts +3 -0
  711. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.d.ts.map +1 -0
  712. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.js +295 -0
  713. package/packages/@monomind/cli/bundled-graph/dist/src/extract/languages/typescript.js.map +1 -0
  714. package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.d.ts +38 -0
  715. package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.d.ts.map +1 -0
  716. package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.js +242 -0
  717. package/packages/@monomind/cli/bundled-graph/dist/src/extract/semantic.js.map +1 -0
  718. package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts +48 -0
  719. package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts.map +1 -0
  720. package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.js +137 -0
  721. package/packages/@monomind/cli/bundled-graph/dist/src/extract/tree-sitter-runner.js.map +1 -0
  722. package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.d.ts +7 -0
  723. package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.d.ts.map +1 -0
  724. package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.js +2 -0
  725. package/packages/@monomind/cli/bundled-graph/dist/src/extract/types.js.map +1 -0
  726. package/packages/@monomind/cli/bundled-graph/dist/src/index.d.ts +28 -0
  727. package/packages/@monomind/cli/bundled-graph/dist/src/index.d.ts.map +1 -0
  728. package/packages/@monomind/cli/bundled-graph/dist/src/index.js +26 -0
  729. package/packages/@monomind/cli/bundled-graph/dist/src/index.js.map +1 -0
  730. package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.d.ts +27 -0
  731. package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.d.ts.map +1 -0
  732. package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.js +269 -0
  733. package/packages/@monomind/cli/bundled-graph/dist/src/pipeline.js.map +1 -0
  734. package/packages/@monomind/cli/bundled-graph/dist/src/report.d.ts +26 -0
  735. package/packages/@monomind/cli/bundled-graph/dist/src/report.d.ts.map +1 -0
  736. package/packages/@monomind/cli/bundled-graph/dist/src/report.js +214 -0
  737. package/packages/@monomind/cli/bundled-graph/dist/src/report.js.map +1 -0
  738. package/packages/@monomind/cli/bundled-graph/dist/src/types.d.ts +124 -0
  739. package/packages/@monomind/cli/bundled-graph/dist/src/types.d.ts.map +1 -0
  740. package/packages/@monomind/cli/bundled-graph/dist/src/types.js +2 -0
  741. package/packages/@monomind/cli/bundled-graph/dist/src/types.js.map +1 -0
  742. package/packages/@monomind/cli/bundled-graph/dist/src/visualize.d.ts +4 -0
  743. package/packages/@monomind/cli/bundled-graph/dist/src/visualize.d.ts.map +1 -0
  744. package/packages/@monomind/cli/bundled-graph/dist/src/visualize.js +574 -0
  745. package/packages/@monomind/cli/bundled-graph/dist/src/visualize.js.map +1 -0
  746. package/packages/@monomind/cli/bundled-graph/dist/tsconfig.tsbuildinfo +1 -0
  747. package/packages/@monomind/cli/bundled-graph/package.json +57 -0
  748. package/packages/@monomind/cli/dist/src/agents/halt-signal.d.ts +25 -0
  749. package/packages/@monomind/cli/dist/src/agents/halt-signal.js +76 -0
  750. package/packages/@monomind/cli/dist/src/agents/index.d.ts +18 -0
  751. package/packages/@monomind/cli/dist/src/agents/index.js +13 -0
  752. package/packages/@monomind/cli/dist/src/agents/managed-agent.d.ts +41 -0
  753. package/packages/@monomind/cli/dist/src/agents/managed-agent.js +69 -0
  754. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +23 -0
  755. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +49 -0
  756. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +22 -0
  757. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +80 -0
  758. package/packages/@monomind/cli/dist/src/agents/registry-builder.d.ts +36 -0
  759. package/packages/@monomind/cli/dist/src/agents/registry-builder.js +200 -0
  760. package/packages/@monomind/cli/dist/src/agents/registry-query.d.ts +71 -0
  761. package/packages/@monomind/cli/dist/src/agents/registry-query.js +125 -0
  762. package/packages/@monomind/cli/dist/src/agents/score-decay.d.ts +19 -0
  763. package/packages/@monomind/cli/dist/src/agents/score-decay.js +22 -0
  764. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.d.ts +13 -0
  765. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js +40 -0
  766. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.d.ts +54 -0
  767. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +212 -0
  768. package/packages/@monomind/cli/dist/src/agents/termination-watcher.d.ts +30 -0
  769. package/packages/@monomind/cli/dist/src/agents/termination-watcher.js +84 -0
  770. package/packages/@monomind/cli/dist/src/agents/trigger-index.d.ts +20 -0
  771. package/packages/@monomind/cli/dist/src/agents/trigger-index.js +38 -0
  772. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +64 -0
  773. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +308 -0
  774. package/packages/@monomind/cli/dist/src/agents/version-diff.d.ts +18 -0
  775. package/packages/@monomind/cli/dist/src/agents/version-diff.js +64 -0
  776. package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +60 -0
  777. package/packages/@monomind/cli/dist/src/agents/version-store.js +235 -0
  778. package/packages/@monomind/cli/dist/src/autopilot-state.d.ts +77 -0
  779. package/packages/@monomind/cli/dist/src/autopilot-state.js +330 -0
  780. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +87 -0
  781. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +273 -0
  782. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +36 -0
  783. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +114 -0
  784. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  785. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.js +404 -0
  786. package/packages/@monomind/cli/dist/src/commands/agent-wasm.d.ts +14 -0
  787. package/packages/@monomind/cli/dist/src/commands/agent-wasm.js +333 -0
  788. package/packages/@monomind/cli/dist/src/commands/agent.d.ts +8 -0
  789. package/packages/@monomind/cli/dist/src/commands/agent.js +943 -0
  790. package/packages/@monomind/cli/dist/src/commands/analyze.d.ts +19 -0
  791. package/packages/@monomind/cli/dist/src/commands/analyze.js +2048 -0
  792. package/packages/@monomind/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
  793. package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +238 -0
  794. package/packages/@monomind/cli/dist/src/commands/appliance.d.ts +8 -0
  795. package/packages/@monomind/cli/dist/src/commands/appliance.js +406 -0
  796. package/packages/@monomind/cli/dist/src/commands/autopilot.d.ts +15 -0
  797. package/packages/@monomind/cli/dist/src/commands/autopilot.js +362 -0
  798. package/packages/@monomind/cli/dist/src/commands/benchmark.d.ts +10 -0
  799. package/packages/@monomind/cli/dist/src/commands/benchmark.js +571 -0
  800. package/packages/@monomind/cli/dist/src/commands/claims.d.ts +10 -0
  801. package/packages/@monomind/cli/dist/src/commands/claims.js +632 -0
  802. package/packages/@monomind/cli/dist/src/commands/cleanup.d.ts +13 -0
  803. package/packages/@monomind/cli/dist/src/commands/cleanup.js +218 -0
  804. package/packages/@monomind/cli/dist/src/commands/completions.d.ts +10 -0
  805. package/packages/@monomind/cli/dist/src/commands/completions.js +539 -0
  806. package/packages/@monomind/cli/dist/src/commands/config.d.ts +8 -0
  807. package/packages/@monomind/cli/dist/src/commands/config.js +460 -0
  808. package/packages/@monomind/cli/dist/src/commands/daemon.d.ts +8 -0
  809. package/packages/@monomind/cli/dist/src/commands/daemon.js +671 -0
  810. package/packages/@monomind/cli/dist/src/commands/deployment.d.ts +10 -0
  811. package/packages/@monomind/cli/dist/src/commands/deployment.js +691 -0
  812. package/packages/@monomind/cli/dist/src/commands/doctor.d.ts +10 -0
  813. package/packages/@monomind/cli/dist/src/commands/doctor.js +647 -0
  814. package/packages/@monomind/cli/dist/src/commands/embeddings.d.ts +18 -0
  815. package/packages/@monomind/cli/dist/src/commands/embeddings.js +1652 -0
  816. package/packages/@monomind/cli/dist/src/commands/guidance.d.ts +8 -0
  817. package/packages/@monomind/cli/dist/src/commands/guidance.js +560 -0
  818. package/packages/@monomind/cli/dist/src/commands/hive-mind.d.ts +11 -0
  819. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +1238 -0
  820. package/packages/@monomind/cli/dist/src/commands/hooks.d.ts +8 -0
  821. package/packages/@monomind/cli/dist/src/commands/hooks.js +4446 -0
  822. package/packages/@monomind/cli/dist/src/commands/index.d.ts +119 -0
  823. package/packages/@monomind/cli/dist/src/commands/index.js +404 -0
  824. package/packages/@monomind/cli/dist/src/commands/init.d.ts +8 -0
  825. package/packages/@monomind/cli/dist/src/commands/init.js +853 -0
  826. package/packages/@monomind/cli/dist/src/commands/issues.d.ts +21 -0
  827. package/packages/@monomind/cli/dist/src/commands/issues.js +567 -0
  828. package/packages/@monomind/cli/dist/src/commands/mcp.d.ts +11 -0
  829. package/packages/@monomind/cli/dist/src/commands/mcp.js +705 -0
  830. package/packages/@monomind/cli/dist/src/commands/memory.d.ts +8 -0
  831. package/packages/@monomind/cli/dist/src/commands/memory.js +1596 -0
  832. package/packages/@monomind/cli/dist/src/commands/migrate.d.ts +8 -0
  833. package/packages/@monomind/cli/dist/src/commands/migrate.js +790 -0
  834. package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +8 -0
  835. package/packages/@monomind/cli/dist/src/commands/monograph.js +526 -0
  836. package/packages/@monomind/cli/dist/src/commands/neural.d.ts +10 -0
  837. package/packages/@monomind/cli/dist/src/commands/neural.js +1494 -0
  838. package/packages/@monomind/cli/dist/src/commands/performance.d.ts +10 -0
  839. package/packages/@monomind/cli/dist/src/commands/performance.js +601 -0
  840. package/packages/@monomind/cli/dist/src/commands/plugins.d.ts +11 -0
  841. package/packages/@monomind/cli/dist/src/commands/plugins.js +796 -0
  842. package/packages/@monomind/cli/dist/src/commands/process.d.ts +10 -0
  843. package/packages/@monomind/cli/dist/src/commands/process.js +718 -0
  844. package/packages/@monomind/cli/dist/src/commands/progress.d.ts +11 -0
  845. package/packages/@monomind/cli/dist/src/commands/progress.js +259 -0
  846. package/packages/@monomind/cli/dist/src/commands/providers.d.ts +10 -0
  847. package/packages/@monomind/cli/dist/src/commands/providers.js +391 -0
  848. package/packages/@monomind/cli/dist/src/commands/replay.d.ts +8 -0
  849. package/packages/@monomind/cli/dist/src/commands/replay.js +60 -0
  850. package/packages/@monomind/cli/dist/src/commands/route.d.ts +16 -0
  851. package/packages/@monomind/cli/dist/src/commands/route.js +939 -0
  852. package/packages/@monomind/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
  853. package/packages/@monomind/cli/dist/src/commands/ruvector/backup.js +746 -0
  854. package/packages/@monomind/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  855. package/packages/@monomind/cli/dist/src/commands/ruvector/benchmark.js +489 -0
  856. package/packages/@monomind/cli/dist/src/commands/ruvector/import.d.ts +18 -0
  857. package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +359 -0
  858. package/packages/@monomind/cli/dist/src/commands/ruvector/index.d.ts +29 -0
  859. package/packages/@monomind/cli/dist/src/commands/ruvector/index.js +129 -0
  860. package/packages/@monomind/cli/dist/src/commands/ruvector/init.d.ts +11 -0
  861. package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +481 -0
  862. package/packages/@monomind/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
  863. package/packages/@monomind/cli/dist/src/commands/ruvector/migrate.js +497 -0
  864. package/packages/@monomind/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
  865. package/packages/@monomind/cli/dist/src/commands/ruvector/optimize.js +504 -0
  866. package/packages/@monomind/cli/dist/src/commands/ruvector/setup.d.ts +18 -0
  867. package/packages/@monomind/cli/dist/src/commands/ruvector/setup.js +765 -0
  868. package/packages/@monomind/cli/dist/src/commands/ruvector/status.d.ts +11 -0
  869. package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +491 -0
  870. package/packages/@monomind/cli/dist/src/commands/security.d.ts +10 -0
  871. package/packages/@monomind/cli/dist/src/commands/security.js +943 -0
  872. package/packages/@monomind/cli/dist/src/commands/session.d.ts +8 -0
  873. package/packages/@monomind/cli/dist/src/commands/session.js +793 -0
  874. package/packages/@monomind/cli/dist/src/commands/start.d.ts +8 -0
  875. package/packages/@monomind/cli/dist/src/commands/start.js +432 -0
  876. package/packages/@monomind/cli/dist/src/commands/status.d.ts +8 -0
  877. package/packages/@monomind/cli/dist/src/commands/status.js +591 -0
  878. package/packages/@monomind/cli/dist/src/commands/swarm.d.ts +8 -0
  879. package/packages/@monomind/cli/dist/src/commands/swarm.js +812 -0
  880. package/packages/@monomind/cli/dist/src/commands/task.d.ts +8 -0
  881. package/packages/@monomind/cli/dist/src/commands/task.js +671 -0
  882. package/packages/@monomind/cli/dist/src/commands/tokens.d.ts +8 -0
  883. package/packages/@monomind/cli/dist/src/commands/tokens.js +107 -0
  884. package/packages/@monomind/cli/dist/src/commands/transfer-store.d.ts +13 -0
  885. package/packages/@monomind/cli/dist/src/commands/transfer-store.js +428 -0
  886. package/packages/@monomind/cli/dist/src/commands/ui.js +68 -0
  887. package/packages/@monomind/cli/dist/src/commands/update.d.ts +8 -0
  888. package/packages/@monomind/cli/dist/src/commands/update.js +276 -0
  889. package/packages/@monomind/cli/dist/src/commands/workflow.d.ts +8 -0
  890. package/packages/@monomind/cli/dist/src/commands/workflow.js +644 -0
  891. package/packages/@monomind/cli/dist/src/config-adapter.d.ts +16 -0
  892. package/packages/@monomind/cli/dist/src/config-adapter.js +186 -0
  893. package/packages/@monomind/cli/dist/src/consensus/audit-writer.d.ts +50 -0
  894. package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +142 -0
  895. package/packages/@monomind/cli/dist/src/consensus/index.d.ts +7 -0
  896. package/packages/@monomind/cli/dist/src/consensus/index.js +6 -0
  897. package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +36 -0
  898. package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +71 -0
  899. package/packages/@monomind/cli/dist/src/context/context-provider.d.ts +44 -0
  900. package/packages/@monomind/cli/dist/src/context/context-provider.js +25 -0
  901. package/packages/@monomind/cli/dist/src/context/git-state-provider.d.ts +12 -0
  902. package/packages/@monomind/cli/dist/src/context/git-state-provider.js +34 -0
  903. package/packages/@monomind/cli/dist/src/context/index.d.ts +12 -0
  904. package/packages/@monomind/cli/dist/src/context/index.js +12 -0
  905. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.d.ts +15 -0
  906. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.js +19 -0
  907. package/packages/@monomind/cli/dist/src/context/prompt-assembler.d.ts +26 -0
  908. package/packages/@monomind/cli/dist/src/context/prompt-assembler.js +93 -0
  909. package/packages/@monomind/cli/dist/src/context/task-history-provider.d.ts +24 -0
  910. package/packages/@monomind/cli/dist/src/context/task-history-provider.js +32 -0
  911. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.d.ts +14 -0
  912. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.js +27 -0
  913. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +31 -0
  914. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +81 -0
  915. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +27 -0
  916. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +90 -0
  917. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.d.ts +24 -0
  918. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +65 -0
  919. package/packages/@monomind/cli/dist/src/dlq/index.d.ts +10 -0
  920. package/packages/@monomind/cli/dist/src/dlq/index.js +7 -0
  921. package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +33 -0
  922. package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +107 -0
  923. package/packages/@monomind/cli/dist/src/eval/dataset-runner.d.ts +23 -0
  924. package/packages/@monomind/cli/dist/src/eval/dataset-runner.js +59 -0
  925. package/packages/@monomind/cli/dist/src/eval/index.d.ts +10 -0
  926. package/packages/@monomind/cli/dist/src/eval/index.js +7 -0
  927. package/packages/@monomind/cli/dist/src/eval/trace-collector.d.ts +40 -0
  928. package/packages/@monomind/cli/dist/src/eval/trace-collector.js +102 -0
  929. package/packages/@monomind/cli/dist/src/index.d.ts +82 -0
  930. package/packages/@monomind/cli/dist/src/index.js +580 -0
  931. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  932. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
  933. package/packages/@monomind/cli/dist/src/init/claudemd-generator.d.ts +25 -0
  934. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +558 -0
  935. package/packages/@monomind/cli/dist/src/init/executor.d.ts +38 -0
  936. package/packages/@monomind/cli/dist/src/init/executor.js +2172 -0
  937. package/packages/@monomind/cli/dist/src/init/helpers-generator.d.ts +60 -0
  938. package/packages/@monomind/cli/dist/src/init/helpers-generator.js +1235 -0
  939. package/packages/@monomind/cli/dist/src/init/index.d.ts +13 -0
  940. package/packages/@monomind/cli/dist/src/init/index.js +15 -0
  941. package/packages/@monomind/cli/dist/src/init/mcp-generator.d.ts +26 -0
  942. package/packages/@monomind/cli/dist/src/init/mcp-generator.js +99 -0
  943. package/packages/@monomind/cli/dist/src/init/settings-generator.d.ts +14 -0
  944. package/packages/@monomind/cli/dist/src/init/settings-generator.js +417 -0
  945. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.d.ts +38 -0
  946. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +586 -0
  947. package/packages/@monomind/cli/dist/src/init/statusline-generator.d.ts +25 -0
  948. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +1171 -0
  949. package/packages/@monomind/cli/dist/src/init/types.d.ts +315 -0
  950. package/packages/@monomind/cli/dist/src/init/types.js +254 -0
  951. package/packages/@monomind/cli/dist/src/interactive/interrupt.d.ts +22 -0
  952. package/packages/@monomind/cli/dist/src/interactive/interrupt.js +71 -0
  953. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.d.ts +25 -0
  954. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.js +48 -0
  955. package/packages/@monomind/cli/dist/src/mcp/tool-registry.d.ts +61 -0
  956. package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +246 -0
  957. package/packages/@monomind/cli/dist/src/mcp-client.d.ts +92 -0
  958. package/packages/@monomind/cli/dist/src/mcp-client.js +270 -0
  959. package/packages/@monomind/cli/dist/src/mcp-server.d.ts +170 -0
  960. package/packages/@monomind/cli/dist/src/mcp-server.js +829 -0
  961. package/packages/@monomind/cli/dist/src/mcp-tools/a2a-tools.d.ts +14 -0
  962. package/packages/@monomind/cli/dist/src/mcp-tools/a2a-tools.js +244 -0
  963. package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  964. package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +607 -0
  965. package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  966. package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +596 -0
  967. package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  968. package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +326 -0
  969. package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.d.ts +83 -0
  970. package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +129 -0
  971. package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
  972. package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +237 -0
  973. package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.d.ts +13 -0
  974. package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +729 -0
  975. package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  976. package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +797 -0
  977. package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
  978. package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +381 -0
  979. package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  980. package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +728 -0
  981. package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.d.ts +13 -0
  982. package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +509 -0
  983. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  984. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +823 -0
  985. package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.d.ts +9 -0
  986. package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +485 -0
  987. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.d.ts +10 -0
  988. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +49 -0
  989. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
  990. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +646 -0
  991. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  992. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +957 -0
  993. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
  994. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +3440 -0
  995. package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +39 -0
  996. package/packages/@monomind/cli/dist/src/mcp-tools/index.js +41 -0
  997. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  998. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +530 -0
  999. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +9 -0
  1000. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +6306 -0
  1001. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  1002. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +718 -0
  1003. package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  1004. package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +656 -0
  1005. package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  1006. package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +350 -0
  1007. package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.d.ts +17 -0
  1008. package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +30 -0
  1009. package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  1010. package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +295 -0
  1011. package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.d.ts +18 -0
  1012. package/packages/@monomind/cli/dist/src/mcp-tools/security-tools.js +434 -0
  1013. package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
  1014. package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +378 -0
  1015. package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
  1016. package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +317 -0
  1017. package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
  1018. package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +552 -0
  1019. package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
  1020. package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +446 -0
  1021. package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
  1022. package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +309 -0
  1023. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  1024. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +401 -0
  1025. package/packages/@monomind/cli/dist/src/mcp-tools/types.d.ts +37 -0
  1026. package/packages/@monomind/cli/dist/src/mcp-tools/types.js +14 -0
  1027. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  1028. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.js +230 -0
  1029. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  1030. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +631 -0
  1031. package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
  1032. package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +632 -0
  1033. package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +338 -0
  1034. package/packages/@monomind/cli/dist/src/memory/intelligence.js +1049 -0
  1035. package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +410 -0
  1036. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +1654 -0
  1037. package/packages/@monomind/cli/dist/src/memory/memory-initializer.d.ts +414 -0
  1038. package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +2284 -0
  1039. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +234 -0
  1040. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +650 -0
  1041. package/packages/@monomind/cli/dist/src/model/complexity-scorer.d.ts +21 -0
  1042. package/packages/@monomind/cli/dist/src/model/complexity-scorer.js +106 -0
  1043. package/packages/@monomind/cli/dist/src/model/index.d.ts +4 -0
  1044. package/packages/@monomind/cli/dist/src/model/index.js +4 -0
  1045. package/packages/@monomind/cli/dist/src/model/model-settings.d.ts +22 -0
  1046. package/packages/@monomind/cli/dist/src/model/model-settings.js +33 -0
  1047. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.d.ts +24 -0
  1048. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.js +65 -0
  1049. package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +40 -0
  1050. package/packages/@monomind/cli/dist/src/observability/replay-reader.js +138 -0
  1051. package/packages/@monomind/cli/dist/src/orchestration/index.d.ts +7 -0
  1052. package/packages/@monomind/cli/dist/src/orchestration/index.js +6 -0
  1053. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.d.ts +11 -0
  1054. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.js +31 -0
  1055. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.d.ts +68 -0
  1056. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +180 -0
  1057. package/packages/@monomind/cli/dist/src/output.d.ts +133 -0
  1058. package/packages/@monomind/cli/dist/src/output.js +514 -0
  1059. package/packages/@monomind/cli/dist/src/parser.d.ts +59 -0
  1060. package/packages/@monomind/cli/dist/src/parser.js +459 -0
  1061. package/packages/@monomind/cli/dist/src/plugins/manager.d.ts +133 -0
  1062. package/packages/@monomind/cli/dist/src/plugins/manager.js +493 -0
  1063. package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +88 -0
  1064. package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +859 -0
  1065. package/packages/@monomind/cli/dist/src/plugins/store/index.d.ts +76 -0
  1066. package/packages/@monomind/cli/dist/src/plugins/store/index.js +141 -0
  1067. package/packages/@monomind/cli/dist/src/plugins/store/search.d.ts +46 -0
  1068. package/packages/@monomind/cli/dist/src/plugins/store/search.js +230 -0
  1069. package/packages/@monomind/cli/dist/src/plugins/store/types.d.ts +274 -0
  1070. package/packages/@monomind/cli/dist/src/plugins/store/types.js +7 -0
  1071. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  1072. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  1073. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  1074. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +188 -0
  1075. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  1076. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
  1077. package/packages/@monomind/cli/dist/src/production/circuit-breaker.d.ts +101 -0
  1078. package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +248 -0
  1079. package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +94 -0
  1080. package/packages/@monomind/cli/dist/src/production/error-handler.js +321 -0
  1081. package/packages/@monomind/cli/dist/src/production/index.d.ts +23 -0
  1082. package/packages/@monomind/cli/dist/src/production/index.js +18 -0
  1083. package/packages/@monomind/cli/dist/src/production/monitoring.d.ts +161 -0
  1084. package/packages/@monomind/cli/dist/src/production/monitoring.js +360 -0
  1085. package/packages/@monomind/cli/dist/src/production/rate-limiter.d.ts +80 -0
  1086. package/packages/@monomind/cli/dist/src/production/rate-limiter.js +209 -0
  1087. package/packages/@monomind/cli/dist/src/production/retry.d.ts +48 -0
  1088. package/packages/@monomind/cli/dist/src/production/retry.js +179 -0
  1089. package/packages/@monomind/cli/dist/src/prompt.d.ts +44 -0
  1090. package/packages/@monomind/cli/dist/src/prompt.js +501 -0
  1091. package/packages/@monomind/cli/dist/src/runtime/headless.d.ts +60 -0
  1092. package/packages/@monomind/cli/dist/src/runtime/headless.js +284 -0
  1093. package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
  1094. package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +316 -0
  1095. package/packages/@monomind/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  1096. package/packages/@monomind/cli/dist/src/ruvector/ast-analyzer.js +277 -0
  1097. package/packages/@monomind/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
  1098. package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +539 -0
  1099. package/packages/@monomind/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
  1100. package/packages/@monomind/cli/dist/src/ruvector/coverage-tools.js +157 -0
  1101. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +176 -0
  1102. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +718 -0
  1103. package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  1104. package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +551 -0
  1105. package/packages/@monomind/cli/dist/src/ruvector/flash-attention.d.ts +195 -0
  1106. package/packages/@monomind/cli/dist/src/ruvector/flash-attention.js +643 -0
  1107. package/packages/@monomind/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  1108. package/packages/@monomind/cli/dist/src/ruvector/graph-analyzer.js +929 -0
  1109. package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +39 -0
  1110. package/packages/@monomind/cli/dist/src/ruvector/index.js +76 -0
  1111. package/packages/@monomind/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
  1112. package/packages/@monomind/cli/dist/src/ruvector/lora-adapter.js +455 -0
  1113. package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +222 -0
  1114. package/packages/@monomind/cli/dist/src/ruvector/model-router.js +512 -0
  1115. package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +213 -0
  1116. package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +649 -0
  1117. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +217 -0
  1118. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +712 -0
  1119. package/packages/@monomind/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  1120. package/packages/@monomind/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
  1121. package/packages/@monomind/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
  1122. package/packages/@monomind/cli/dist/src/ruvector/semantic-router.js +178 -0
  1123. package/packages/@monomind/cli/dist/src/ruvector/vector-db.d.ts +69 -0
  1124. package/packages/@monomind/cli/dist/src/ruvector/vector-db.js +243 -0
  1125. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  1126. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.js +95 -0
  1127. package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +206 -0
  1128. package/packages/@monomind/cli/dist/src/services/claim-service.js +849 -0
  1129. package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +51 -0
  1130. package/packages/@monomind/cli/dist/src/services/config-file-manager.js +312 -0
  1131. package/packages/@monomind/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  1132. package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +623 -0
  1133. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +311 -0
  1134. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +1167 -0
  1135. package/packages/@monomind/cli/dist/src/services/index.d.ts +13 -0
  1136. package/packages/@monomind/cli/dist/src/services/index.js +11 -0
  1137. package/packages/@monomind/cli/dist/src/services/registry-api.d.ts +58 -0
  1138. package/packages/@monomind/cli/dist/src/services/registry-api.js +199 -0
  1139. package/packages/@monomind/cli/dist/src/services/ruvector-training.d.ts +222 -0
  1140. package/packages/@monomind/cli/dist/src/services/ruvector-training.js +696 -0
  1141. package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +248 -0
  1142. package/packages/@monomind/cli/dist/src/services/worker-daemon.js +1083 -0
  1143. package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +201 -0
  1144. package/packages/@monomind/cli/dist/src/services/worker-queue.js +594 -0
  1145. package/packages/@monomind/cli/dist/src/suggest.d.ts +53 -0
  1146. package/packages/@monomind/cli/dist/src/suggest.js +209 -0
  1147. package/packages/@monomind/cli/dist/src/swarm/communication-graph.d.ts +25 -0
  1148. package/packages/@monomind/cli/dist/src/swarm/communication-graph.js +77 -0
  1149. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +31 -0
  1150. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +61 -0
  1151. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +19 -0
  1152. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +68 -0
  1153. package/packages/@monomind/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
  1154. package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +177 -0
  1155. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  1156. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.js +205 -0
  1157. package/packages/@monomind/cli/dist/src/transfer/export.d.ts +25 -0
  1158. package/packages/@monomind/cli/dist/src/transfer/export.js +115 -0
  1159. package/packages/@monomind/cli/dist/src/transfer/index.d.ts +12 -0
  1160. package/packages/@monomind/cli/dist/src/transfer/index.js +31 -0
  1161. package/packages/@monomind/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
  1162. package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +384 -0
  1163. package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
  1164. package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +420 -0
  1165. package/packages/@monomind/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
  1166. package/packages/@monomind/cli/dist/src/transfer/models/seraphine.js +373 -0
  1167. package/packages/@monomind/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
  1168. package/packages/@monomind/cli/dist/src/transfer/serialization/cfp.js +183 -0
  1169. package/packages/@monomind/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
  1170. package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +281 -0
  1171. package/packages/@monomind/cli/dist/src/transfer/storage/index.d.ts +6 -0
  1172. package/packages/@monomind/cli/dist/src/transfer/storage/index.js +6 -0
  1173. package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +91 -0
  1174. package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +437 -0
  1175. package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +79 -0
  1176. package/packages/@monomind/cli/dist/src/transfer/store/download.js +423 -0
  1177. package/packages/@monomind/cli/dist/src/transfer/store/index.d.ts +84 -0
  1178. package/packages/@monomind/cli/dist/src/transfer/store/index.js +153 -0
  1179. package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +76 -0
  1180. package/packages/@monomind/cli/dist/src/transfer/store/publish.js +293 -0
  1181. package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +58 -0
  1182. package/packages/@monomind/cli/dist/src/transfer/store/registry.js +301 -0
  1183. package/packages/@monomind/cli/dist/src/transfer/store/search.d.ts +54 -0
  1184. package/packages/@monomind/cli/dist/src/transfer/store/search.js +232 -0
  1185. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  1186. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
  1187. package/packages/@monomind/cli/dist/src/transfer/store/types.d.ts +193 -0
  1188. package/packages/@monomind/cli/dist/src/transfer/store/types.js +6 -0
  1189. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
  1190. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.js +105 -0
  1191. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
  1192. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.js +214 -0
  1193. package/packages/@monomind/cli/dist/src/transfer/types.d.ts +245 -0
  1194. package/packages/@monomind/cli/dist/src/transfer/types.js +6 -0
  1195. package/packages/@monomind/cli/dist/src/types.d.ts +198 -0
  1196. package/packages/@monomind/cli/dist/src/types.js +38 -0
  1197. package/packages/@monomind/cli/dist/src/update/checker.d.ts +34 -0
  1198. package/packages/@monomind/cli/dist/src/update/checker.js +198 -0
  1199. package/packages/@monomind/cli/dist/src/update/executor.d.ts +32 -0
  1200. package/packages/@monomind/cli/dist/src/update/executor.js +186 -0
  1201. package/packages/@monomind/cli/dist/src/update/index.d.ts +33 -0
  1202. package/packages/@monomind/cli/dist/src/update/index.js +64 -0
  1203. package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +31 -0
  1204. package/packages/@monomind/cli/dist/src/update/rate-limiter.js +116 -0
  1205. package/packages/@monomind/cli/dist/src/update/validator.d.ts +17 -0
  1206. package/packages/@monomind/cli/dist/src/update/validator.js +118 -0
  1207. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +6 -0
  1208. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +22 -0
  1209. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.d.ts +10 -0
  1210. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +82 -0
  1211. package/packages/@monomind/cli/dist/src/workflow/context-resolver.d.ts +12 -0
  1212. package/packages/@monomind/cli/dist/src/workflow/context-resolver.js +23 -0
  1213. package/packages/@monomind/cli/dist/src/workflow/dag-builder.d.ts +17 -0
  1214. package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +129 -0
  1215. package/packages/@monomind/cli/dist/src/workflow/dag-executor.d.ts +9 -0
  1216. package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +116 -0
  1217. package/packages/@monomind/cli/dist/src/workflow/dag-types.d.ts +41 -0
  1218. package/packages/@monomind/cli/dist/src/workflow/dag-types.js +8 -0
  1219. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.d.ts +12 -0
  1220. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.js +20 -0
  1221. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +165 -0
  1222. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +82 -0
  1223. package/packages/@monomind/cli/dist/src/workflow/index.d.ts +13 -0
  1224. package/packages/@monomind/cli/dist/src/workflow/index.js +11 -0
  1225. package/packages/@monomind/cli/dist/src/workflow/template-engine.d.ts +11 -0
  1226. package/packages/@monomind/cli/dist/src/workflow/template-engine.js +40 -0
  1227. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.d.ts +29 -0
  1228. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +227 -0
  1229. package/packages/@monomind/cli/package.json +115 -0
  1230. package/packages/@monomind/guidance/README.md +1192 -0
  1231. package/packages/@monomind/guidance/dist/adversarial.d.ts +284 -0
  1232. package/packages/@monomind/guidance/dist/adversarial.js +572 -0
  1233. package/packages/@monomind/guidance/dist/analyzer.d.ts +530 -0
  1234. package/packages/@monomind/guidance/dist/analyzer.js +2518 -0
  1235. package/packages/@monomind/guidance/dist/artifacts.d.ts +283 -0
  1236. package/packages/@monomind/guidance/dist/artifacts.js +356 -0
  1237. package/packages/@monomind/guidance/dist/authority.d.ts +290 -0
  1238. package/packages/@monomind/guidance/dist/authority.js +558 -0
  1239. package/packages/@monomind/guidance/dist/capabilities.d.ts +209 -0
  1240. package/packages/@monomind/guidance/dist/capabilities.js +485 -0
  1241. package/packages/@monomind/guidance/dist/coherence.d.ts +233 -0
  1242. package/packages/@monomind/guidance/dist/coherence.js +372 -0
  1243. package/packages/@monomind/guidance/dist/compiler.d.ts +87 -0
  1244. package/packages/@monomind/guidance/dist/compiler.js +419 -0
  1245. package/packages/@monomind/guidance/dist/conformance-kit.d.ts +225 -0
  1246. package/packages/@monomind/guidance/dist/conformance-kit.js +629 -0
  1247. package/packages/@monomind/guidance/dist/continue-gate.d.ts +214 -0
  1248. package/packages/@monomind/guidance/dist/continue-gate.js +353 -0
  1249. package/packages/@monomind/guidance/dist/crypto-utils.d.ts +17 -0
  1250. package/packages/@monomind/guidance/dist/crypto-utils.js +24 -0
  1251. package/packages/@monomind/guidance/dist/evolution.d.ts +282 -0
  1252. package/packages/@monomind/guidance/dist/evolution.js +500 -0
  1253. package/packages/@monomind/guidance/dist/gates.d.ts +79 -0
  1254. package/packages/@monomind/guidance/dist/gates.js +302 -0
  1255. package/packages/@monomind/guidance/dist/gateway.d.ts +206 -0
  1256. package/packages/@monomind/guidance/dist/gateway.js +452 -0
  1257. package/packages/@monomind/guidance/dist/generators.d.ts +153 -0
  1258. package/packages/@monomind/guidance/dist/generators.js +682 -0
  1259. package/packages/@monomind/guidance/dist/headless.d.ts +177 -0
  1260. package/packages/@monomind/guidance/dist/headless.js +342 -0
  1261. package/packages/@monomind/guidance/dist/hooks.d.ts +109 -0
  1262. package/packages/@monomind/guidance/dist/hooks.js +347 -0
  1263. package/packages/@monomind/guidance/dist/index.d.ts +205 -0
  1264. package/packages/@monomind/guidance/dist/index.js +321 -0
  1265. package/packages/@monomind/guidance/dist/ledger.d.ts +162 -0
  1266. package/packages/@monomind/guidance/dist/ledger.js +375 -0
  1267. package/packages/@monomind/guidance/dist/manifest-validator.d.ts +289 -0
  1268. package/packages/@monomind/guidance/dist/manifest-validator.js +838 -0
  1269. package/packages/@monomind/guidance/dist/memory-gate.d.ts +222 -0
  1270. package/packages/@monomind/guidance/dist/memory-gate.js +382 -0
  1271. package/packages/@monomind/guidance/dist/meta-governance.d.ts +265 -0
  1272. package/packages/@monomind/guidance/dist/meta-governance.js +348 -0
  1273. package/packages/@monomind/guidance/dist/optimizer.d.ts +104 -0
  1274. package/packages/@monomind/guidance/dist/optimizer.js +329 -0
  1275. package/packages/@monomind/guidance/dist/persistence.d.ts +189 -0
  1276. package/packages/@monomind/guidance/dist/persistence.js +464 -0
  1277. package/packages/@monomind/guidance/dist/proof.d.ts +185 -0
  1278. package/packages/@monomind/guidance/dist/proof.js +238 -0
  1279. package/packages/@monomind/guidance/dist/retriever.d.ts +116 -0
  1280. package/packages/@monomind/guidance/dist/retriever.js +394 -0
  1281. package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +370 -0
  1282. package/packages/@monomind/guidance/dist/ruvbot-integration.js +738 -0
  1283. package/packages/@monomind/guidance/dist/temporal.d.ts +426 -0
  1284. package/packages/@monomind/guidance/dist/temporal.js +658 -0
  1285. package/packages/@monomind/guidance/dist/trust.d.ts +283 -0
  1286. package/packages/@monomind/guidance/dist/trust.js +473 -0
  1287. package/packages/@monomind/guidance/dist/truth-anchors.d.ts +276 -0
  1288. package/packages/@monomind/guidance/dist/truth-anchors.js +488 -0
  1289. package/packages/@monomind/guidance/dist/types.d.ts +378 -0
  1290. package/packages/@monomind/guidance/dist/types.js +10 -0
  1291. package/packages/@monomind/guidance/dist/uncertainty.d.ts +372 -0
  1292. package/packages/@monomind/guidance/dist/uncertainty.js +619 -0
  1293. package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +48 -0
  1294. package/packages/@monomind/guidance/dist/wasm-kernel.js +158 -0
  1295. package/packages/@monomind/guidance/package.json +198 -0
  1296. package/packages/@monomind/shared/README.md +322 -0
  1297. package/packages/@monomind/shared/dist/agent-contract.d.ts +28 -0
  1298. package/packages/@monomind/shared/dist/agent-contract.js +57 -0
  1299. package/packages/@monomind/shared/dist/agent-error-result.d.ts +17 -0
  1300. package/packages/@monomind/shared/dist/agent-error-result.js +23 -0
  1301. package/packages/@monomind/shared/dist/core/config/defaults.d.ts +41 -0
  1302. package/packages/@monomind/shared/dist/core/config/defaults.js +186 -0
  1303. package/packages/@monomind/shared/dist/core/config/index.d.ts +8 -0
  1304. package/packages/@monomind/shared/dist/core/config/index.js +12 -0
  1305. package/packages/@monomind/shared/dist/core/config/loader.d.ts +45 -0
  1306. package/packages/@monomind/shared/dist/core/config/loader.js +238 -0
  1307. package/packages/@monomind/shared/dist/core/config/schema.d.ts +324 -0
  1308. package/packages/@monomind/shared/dist/core/config/schema.js +160 -0
  1309. package/packages/@monomind/shared/dist/core/config/validator.d.ts +92 -0
  1310. package/packages/@monomind/shared/dist/core/config/validator.js +147 -0
  1311. package/packages/@monomind/shared/dist/core/event-bus.d.ts +31 -0
  1312. package/packages/@monomind/shared/dist/core/event-bus.js +197 -0
  1313. package/packages/@monomind/shared/dist/core/index.d.ts +15 -0
  1314. package/packages/@monomind/shared/dist/core/index.js +19 -0
  1315. package/packages/@monomind/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  1316. package/packages/@monomind/shared/dist/core/interfaces/agent.interface.js +6 -0
  1317. package/packages/@monomind/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  1318. package/packages/@monomind/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  1319. package/packages/@monomind/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  1320. package/packages/@monomind/shared/dist/core/interfaces/event.interface.js +46 -0
  1321. package/packages/@monomind/shared/dist/core/interfaces/index.d.ts +10 -0
  1322. package/packages/@monomind/shared/dist/core/interfaces/index.js +15 -0
  1323. package/packages/@monomind/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  1324. package/packages/@monomind/shared/dist/core/interfaces/memory.interface.js +7 -0
  1325. package/packages/@monomind/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  1326. package/packages/@monomind/shared/dist/core/interfaces/task.interface.js +6 -0
  1327. package/packages/@monomind/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  1328. package/packages/@monomind/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  1329. package/packages/@monomind/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  1330. package/packages/@monomind/shared/dist/core/orchestrator/health-monitor.js +166 -0
  1331. package/packages/@monomind/shared/dist/core/orchestrator/index.d.ts +46 -0
  1332. package/packages/@monomind/shared/dist/core/orchestrator/index.js +64 -0
  1333. package/packages/@monomind/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  1334. package/packages/@monomind/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  1335. package/packages/@monomind/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  1336. package/packages/@monomind/shared/dist/core/orchestrator/session-manager.js +193 -0
  1337. package/packages/@monomind/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  1338. package/packages/@monomind/shared/dist/core/orchestrator/task-manager.js +253 -0
  1339. package/packages/@monomind/shared/dist/events/domain-events.d.ts +282 -0
  1340. package/packages/@monomind/shared/dist/events/domain-events.js +165 -0
  1341. package/packages/@monomind/shared/dist/events/event-store.d.ts +126 -0
  1342. package/packages/@monomind/shared/dist/events/event-store.js +416 -0
  1343. package/packages/@monomind/shared/dist/events/event-store.test.d.ts +8 -0
  1344. package/packages/@monomind/shared/dist/events/event-store.test.js +293 -0
  1345. package/packages/@monomind/shared/dist/events/example-usage.d.ts +10 -0
  1346. package/packages/@monomind/shared/dist/events/example-usage.js +193 -0
  1347. package/packages/@monomind/shared/dist/events/index.d.ts +21 -0
  1348. package/packages/@monomind/shared/dist/events/index.js +22 -0
  1349. package/packages/@monomind/shared/dist/events/projections.d.ts +177 -0
  1350. package/packages/@monomind/shared/dist/events/projections.js +421 -0
  1351. package/packages/@monomind/shared/dist/events/rvf-event-log.d.ts +82 -0
  1352. package/packages/@monomind/shared/dist/events/rvf-event-log.js +340 -0
  1353. package/packages/@monomind/shared/dist/events/state-reconstructor.d.ts +101 -0
  1354. package/packages/@monomind/shared/dist/events/state-reconstructor.js +263 -0
  1355. package/packages/@monomind/shared/dist/events.d.ts +80 -0
  1356. package/packages/@monomind/shared/dist/events.js +249 -0
  1357. package/packages/@monomind/shared/dist/hooks/example-usage.d.ts +42 -0
  1358. package/packages/@monomind/shared/dist/hooks/example-usage.js +351 -0
  1359. package/packages/@monomind/shared/dist/hooks/executor.d.ts +100 -0
  1360. package/packages/@monomind/shared/dist/hooks/executor.js +264 -0
  1361. package/packages/@monomind/shared/dist/hooks/hooks.test.d.ts +9 -0
  1362. package/packages/@monomind/shared/dist/hooks/hooks.test.js +322 -0
  1363. package/packages/@monomind/shared/dist/hooks/index.d.ts +52 -0
  1364. package/packages/@monomind/shared/dist/hooks/index.js +51 -0
  1365. package/packages/@monomind/shared/dist/hooks/registry.d.ts +133 -0
  1366. package/packages/@monomind/shared/dist/hooks/registry.js +277 -0
  1367. package/packages/@monomind/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  1368. package/packages/@monomind/shared/dist/hooks/safety/bash-safety.js +481 -0
  1369. package/packages/@monomind/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  1370. package/packages/@monomind/shared/dist/hooks/safety/file-organization.js +328 -0
  1371. package/packages/@monomind/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  1372. package/packages/@monomind/shared/dist/hooks/safety/git-commit.js +450 -0
  1373. package/packages/@monomind/shared/dist/hooks/safety/index.d.ts +17 -0
  1374. package/packages/@monomind/shared/dist/hooks/safety/index.js +17 -0
  1375. package/packages/@monomind/shared/dist/hooks/session-hooks.d.ts +234 -0
  1376. package/packages/@monomind/shared/dist/hooks/session-hooks.js +334 -0
  1377. package/packages/@monomind/shared/dist/hooks/task-hooks.d.ts +163 -0
  1378. package/packages/@monomind/shared/dist/hooks/task-hooks.js +326 -0
  1379. package/packages/@monomind/shared/dist/hooks/types.d.ts +267 -0
  1380. package/packages/@monomind/shared/dist/hooks/types.js +62 -0
  1381. package/packages/@monomind/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  1382. package/packages/@monomind/shared/dist/hooks/verify-exports.test.js +93 -0
  1383. package/packages/@monomind/shared/dist/index.d.ts +46 -0
  1384. package/packages/@monomind/shared/dist/index.js +77 -0
  1385. package/packages/@monomind/shared/dist/mcp/connection-pool.d.ts +98 -0
  1386. package/packages/@monomind/shared/dist/mcp/connection-pool.js +364 -0
  1387. package/packages/@monomind/shared/dist/mcp/index.d.ts +69 -0
  1388. package/packages/@monomind/shared/dist/mcp/index.js +84 -0
  1389. package/packages/@monomind/shared/dist/mcp/server.d.ts +166 -0
  1390. package/packages/@monomind/shared/dist/mcp/server.js +593 -0
  1391. package/packages/@monomind/shared/dist/mcp/session-manager.d.ts +136 -0
  1392. package/packages/@monomind/shared/dist/mcp/session-manager.js +335 -0
  1393. package/packages/@monomind/shared/dist/mcp/tool-registry.d.ts +178 -0
  1394. package/packages/@monomind/shared/dist/mcp/tool-registry.js +439 -0
  1395. package/packages/@monomind/shared/dist/mcp/transport/http.d.ts +104 -0
  1396. package/packages/@monomind/shared/dist/mcp/transport/http.js +476 -0
  1397. package/packages/@monomind/shared/dist/mcp/transport/index.d.ts +102 -0
  1398. package/packages/@monomind/shared/dist/mcp/transport/index.js +238 -0
  1399. package/packages/@monomind/shared/dist/mcp/transport/stdio.d.ts +104 -0
  1400. package/packages/@monomind/shared/dist/mcp/transport/stdio.js +263 -0
  1401. package/packages/@monomind/shared/dist/mcp/transport/websocket.d.ts +133 -0
  1402. package/packages/@monomind/shared/dist/mcp/transport/websocket.js +396 -0
  1403. package/packages/@monomind/shared/dist/mcp/types.d.ts +438 -0
  1404. package/packages/@monomind/shared/dist/mcp/types.js +54 -0
  1405. package/packages/@monomind/shared/dist/plugin-interface.d.ts +544 -0
  1406. package/packages/@monomind/shared/dist/plugin-interface.js +23 -0
  1407. package/packages/@monomind/shared/dist/plugin-loader.d.ts +139 -0
  1408. package/packages/@monomind/shared/dist/plugin-loader.js +434 -0
  1409. package/packages/@monomind/shared/dist/plugin-registry.d.ts +183 -0
  1410. package/packages/@monomind/shared/dist/plugin-registry.js +457 -0
  1411. package/packages/@monomind/shared/dist/plugins/index.d.ts +10 -0
  1412. package/packages/@monomind/shared/dist/plugins/index.js +10 -0
  1413. package/packages/@monomind/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  1414. package/packages/@monomind/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  1415. package/packages/@monomind/shared/dist/plugins/official/index.d.ts +10 -0
  1416. package/packages/@monomind/shared/dist/plugins/official/index.js +10 -0
  1417. package/packages/@monomind/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  1418. package/packages/@monomind/shared/dist/plugins/official/maestro-plugin.js +355 -0
  1419. package/packages/@monomind/shared/dist/plugins/types.d.ts +93 -0
  1420. package/packages/@monomind/shared/dist/plugins/types.js +9 -0
  1421. package/packages/@monomind/shared/dist/reducers.d.ts +33 -0
  1422. package/packages/@monomind/shared/dist/reducers.js +89 -0
  1423. package/packages/@monomind/shared/dist/resilience/bulkhead.d.ts +105 -0
  1424. package/packages/@monomind/shared/dist/resilience/bulkhead.js +206 -0
  1425. package/packages/@monomind/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  1426. package/packages/@monomind/shared/dist/resilience/circuit-breaker.js +233 -0
  1427. package/packages/@monomind/shared/dist/resilience/index.d.ts +19 -0
  1428. package/packages/@monomind/shared/dist/resilience/index.js +19 -0
  1429. package/packages/@monomind/shared/dist/resilience/rate-limiter.d.ts +168 -0
  1430. package/packages/@monomind/shared/dist/resilience/rate-limiter.js +314 -0
  1431. package/packages/@monomind/shared/dist/resilience/retry.d.ts +91 -0
  1432. package/packages/@monomind/shared/dist/resilience/retry.js +159 -0
  1433. package/packages/@monomind/shared/dist/retry-policy.d.ts +14 -0
  1434. package/packages/@monomind/shared/dist/retry-policy.js +23 -0
  1435. package/packages/@monomind/shared/dist/retry-runner.d.ts +21 -0
  1436. package/packages/@monomind/shared/dist/retry-runner.js +57 -0
  1437. package/packages/@monomind/shared/dist/schema-validator.d.ts +46 -0
  1438. package/packages/@monomind/shared/dist/schema-validator.js +133 -0
  1439. package/packages/@monomind/shared/dist/scratchpad.d.ts +23 -0
  1440. package/packages/@monomind/shared/dist/scratchpad.js +32 -0
  1441. package/packages/@monomind/shared/dist/security/index.d.ts +10 -0
  1442. package/packages/@monomind/shared/dist/security/index.js +12 -0
  1443. package/packages/@monomind/shared/dist/security/input-validation.d.ts +73 -0
  1444. package/packages/@monomind/shared/dist/security/input-validation.js +201 -0
  1445. package/packages/@monomind/shared/dist/security/secure-random.d.ts +92 -0
  1446. package/packages/@monomind/shared/dist/security/secure-random.js +142 -0
  1447. package/packages/@monomind/shared/dist/services/index.d.ts +7 -0
  1448. package/packages/@monomind/shared/dist/services/index.js +7 -0
  1449. package/packages/@monomind/shared/dist/services/progress.service.d.ts +124 -0
  1450. package/packages/@monomind/shared/dist/services/progress.service.js +402 -0
  1451. package/packages/@monomind/shared/dist/state-manager.d.ts +34 -0
  1452. package/packages/@monomind/shared/dist/state-manager.js +73 -0
  1453. package/packages/@monomind/shared/dist/state-validator.d.ts +20 -0
  1454. package/packages/@monomind/shared/dist/state-validator.js +49 -0
  1455. package/packages/@monomind/shared/dist/swarm-state.d.ts +52 -0
  1456. package/packages/@monomind/shared/dist/swarm-state.js +18 -0
  1457. package/packages/@monomind/shared/dist/testing/fixture-builder.d.ts +14 -0
  1458. package/packages/@monomind/shared/dist/testing/fixture-builder.js +32 -0
  1459. package/packages/@monomind/shared/dist/testing/index.d.ts +2 -0
  1460. package/packages/@monomind/shared/dist/testing/index.js +2 -0
  1461. package/packages/@monomind/shared/dist/testing/test-model.d.ts +29 -0
  1462. package/packages/@monomind/shared/dist/testing/test-model.js +53 -0
  1463. package/packages/@monomind/shared/dist/types/agent-registry.d.ts +62 -0
  1464. package/packages/@monomind/shared/dist/types/agent-registry.js +8 -0
  1465. package/packages/@monomind/shared/dist/types/agent-version.d.ts +49 -0
  1466. package/packages/@monomind/shared/dist/types/agent-version.js +7 -0
  1467. package/packages/@monomind/shared/dist/types/agent.types.d.ts +137 -0
  1468. package/packages/@monomind/shared/dist/types/agent.types.js +6 -0
  1469. package/packages/@monomind/shared/dist/types/benchmark.d.ts +39 -0
  1470. package/packages/@monomind/shared/dist/types/benchmark.js +6 -0
  1471. package/packages/@monomind/shared/dist/types/communication-flow.d.ts +25 -0
  1472. package/packages/@monomind/shared/dist/types/communication-flow.js +7 -0
  1473. package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +40 -0
  1474. package/packages/@monomind/shared/dist/types/consensus-audit.js +7 -0
  1475. package/packages/@monomind/shared/dist/types/dlq.d.ts +40 -0
  1476. package/packages/@monomind/shared/dist/types/dlq.js +7 -0
  1477. package/packages/@monomind/shared/dist/types/eval.d.ts +59 -0
  1478. package/packages/@monomind/shared/dist/types/eval.js +6 -0
  1479. package/packages/@monomind/shared/dist/types/index.d.ts +19 -0
  1480. package/packages/@monomind/shared/dist/types/index.js +33 -0
  1481. package/packages/@monomind/shared/dist/types/mcp.types.d.ts +266 -0
  1482. package/packages/@monomind/shared/dist/types/mcp.types.js +7 -0
  1483. package/packages/@monomind/shared/dist/types/memory.types.d.ts +236 -0
  1484. package/packages/@monomind/shared/dist/types/memory.types.js +7 -0
  1485. package/packages/@monomind/shared/dist/types/retry.d.ts +72 -0
  1486. package/packages/@monomind/shared/dist/types/retry.js +40 -0
  1487. package/packages/@monomind/shared/dist/types/specialization.d.ts +27 -0
  1488. package/packages/@monomind/shared/dist/types/specialization.js +8 -0
  1489. package/packages/@monomind/shared/dist/types/swarm.types.d.ts +186 -0
  1490. package/packages/@monomind/shared/dist/types/swarm.types.js +65 -0
  1491. package/packages/@monomind/shared/dist/types/task.types.d.ts +178 -0
  1492. package/packages/@monomind/shared/dist/types/task.types.js +32 -0
  1493. package/packages/@monomind/shared/dist/types/termination.d.ts +29 -0
  1494. package/packages/@monomind/shared/dist/types/termination.js +14 -0
  1495. package/packages/@monomind/shared/dist/types/tool-version.d.ts +41 -0
  1496. package/packages/@monomind/shared/dist/types/tool-version.js +8 -0
  1497. package/packages/@monomind/shared/dist/types/trigger.d.ts +40 -0
  1498. package/packages/@monomind/shared/dist/types/trigger.js +8 -0
  1499. package/packages/@monomind/shared/dist/types.d.ts +197 -0
  1500. package/packages/@monomind/shared/dist/types.js +21 -0
  1501. package/packages/@monomind/shared/dist/utils/secure-logger.d.ts +69 -0
  1502. package/packages/@monomind/shared/dist/utils/secure-logger.js +208 -0
  1503. package/packages/@monomind/shared/package.json +42 -0
  1504. package/packages/README.md +513 -0
  1505. package/bin/monomind.js +0 -50
@@ -0,0 +1,1718 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Monomind Hook Handler (Cross-Platform)
4
+ * Dispatches hook events to the appropriate helper modules.
5
+ */
6
+
7
+ const path = require('path');
8
+ const fs = require('fs');
9
+
10
+ const helpersDir = __dirname;
11
+ const CWD = process.env.CLAUDE_PROJECT_DIR || process.cwd();
12
+
13
+ // Resolve @monoes/monograph — it lives in pnpm's virtual store, not a named symlink.
14
+ // Try common locations; fall back gracefully so all hooks remain non-fatal.
15
+ function _requireMonograph() {
16
+ var candidates = [
17
+ path.join(CWD, 'node_modules/.pnpm/node_modules/@monoes/monograph'),
18
+ path.join(CWD, 'packages/node_modules/.pnpm/node_modules/@monoes/monograph'),
19
+ path.join(CWD, 'node_modules/@monoes/monograph'),
20
+ ];
21
+ for (var i = 0; i < candidates.length; i++) {
22
+ try { if (fs.existsSync(candidates[i])) return require(candidates[i]); } catch(e) {}
23
+ }
24
+ try { return require('@monoes/monograph'); } catch(e) {}
25
+ return null;
26
+ }
27
+
28
+ function safeRequire(modulePath) {
29
+ try {
30
+ if (fs.existsSync(modulePath)) {
31
+ const origLog = console.log;
32
+ const origError = console.error;
33
+ console.log = () => {};
34
+ console.error = () => {};
35
+ try {
36
+ const mod = require(modulePath);
37
+ return mod;
38
+ } finally {
39
+ console.log = origLog;
40
+ console.error = origError;
41
+ }
42
+ }
43
+ } catch (e) {
44
+ // silently fail
45
+ }
46
+ return null;
47
+ }
48
+
49
+ const router = safeRequire(path.join(helpersDir, 'router.cjs'));
50
+ const session = safeRequire(path.join(helpersDir, 'session.cjs'));
51
+ const memory = safeRequire(path.join(helpersDir, 'memory.cjs'));
52
+ const intelligence = safeRequire(path.join(helpersDir, 'intelligence.cjs'));
53
+
54
+ // Module-level reference to @monomind/hooks — populated at session-restore,
55
+ // then used by pre-task / post-task to bridge into the hook registry (Tasks 26, 39).
56
+ let _hooksModule = null;
57
+
58
+ // ── MicroAgent Trigger Scanner (Task 32) ────────────────────────────────────
59
+ function _triggerExtractYamlValue(raw) {
60
+ var v = raw.trim();
61
+ if (v.startsWith('"') && v.endsWith('"')) {
62
+ // YAML double-quoted: unescape \\ → \ so regex patterns like "\\b" become \b (word boundary)
63
+ v = v.slice(1, -1).replace(/\\\\/g, '\\');
64
+ } else if (v.startsWith("'") && v.endsWith("'")) {
65
+ v = v.slice(1, -1);
66
+ }
67
+ return v;
68
+ }
69
+
70
+ function _triggerFinalize(partial, agentSlug) {
71
+ return { pattern: partial.pattern, mode: partial.mode || 'inject', priority: partial.priority || 0, agentSlug: agentSlug };
72
+ }
73
+
74
+ function _triggerExtractFromFrontmatter(content, agentSlug) {
75
+ var fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
76
+ if (!fmMatch) return [];
77
+ var block = fmMatch[1];
78
+ var triggers = [];
79
+ var lines = block.split('\n');
80
+ var inTriggers = false;
81
+ var cur = null;
82
+ for (var i = 0; i < lines.length; i++) {
83
+ var line = lines[i];
84
+ var trimmed = line.trim();
85
+ var indent = line.length - line.trimStart().length;
86
+ if (trimmed === 'triggers:' || trimmed.startsWith('triggers:')) { inTriggers = true; continue; }
87
+ if (inTriggers && indent === 0 && /^[a-zA-Z]/.test(trimmed)) {
88
+ inTriggers = false;
89
+ if (cur && cur.pattern) triggers.push(_triggerFinalize(cur, agentSlug));
90
+ cur = null; continue;
91
+ }
92
+ if (!inTriggers) continue;
93
+ if (trimmed.startsWith('- pattern:')) {
94
+ if (cur && cur.pattern) triggers.push(_triggerFinalize(cur, agentSlug));
95
+ cur = { pattern: _triggerExtractYamlValue(trimmed.replace(/^- pattern:\s*/, '')), agentSlug: agentSlug };
96
+ } else if (cur && trimmed.startsWith('mode:')) {
97
+ var mv = _triggerExtractYamlValue(trimmed.replace(/^mode:\s*/, ''));
98
+ if (mv === 'inject' || mv === 'takeover') cur.mode = mv;
99
+ } else if (cur && trimmed.startsWith('priority:')) {
100
+ var pv = parseInt(trimmed.replace(/^priority:\s*/, ''), 10);
101
+ if (!isNaN(pv)) cur.priority = pv;
102
+ }
103
+ }
104
+ if (cur && cur.pattern) triggers.push(_triggerFinalize(cur, agentSlug));
105
+ return triggers;
106
+ }
107
+
108
+ function _triggerCollectMdFiles(dir) {
109
+ var results = [];
110
+ try {
111
+ var entries = fs.readdirSync(dir);
112
+ for (var i = 0; i < entries.length; i++) {
113
+ var full = path.join(dir, entries[i]);
114
+ try {
115
+ var st = fs.lstatSync(full);
116
+ if (st.isDirectory()) results = results.concat(_triggerCollectMdFiles(full));
117
+ else if (entries[i].endsWith('.md')) results.push(full);
118
+ } catch (e) {}
119
+ }
120
+ } catch (e) {}
121
+ return results;
122
+ }
123
+
124
+ function _triggerBuildIndex(agentDir) {
125
+ var patterns = [];
126
+ var files = _triggerCollectMdFiles(agentDir);
127
+ for (var i = 0; i < files.length; i++) {
128
+ var content;
129
+ try { content = fs.readFileSync(files[i], 'utf-8'); } catch (e) { continue; }
130
+ var slug = files[i].split('/').pop().replace(/\.md$/i, '').toLowerCase().replace(/[^a-z0-9-]/g, '-');
131
+ patterns = patterns.concat(_triggerExtractFromFrontmatter(content, slug));
132
+ }
133
+ return patterns;
134
+ }
135
+
136
+ function scanMicroAgentTriggers(prompt) {
137
+ if (!prompt || typeof prompt !== 'string') return { matches: [], injectAgents: [] };
138
+ var indexPath = path.join(CWD, '.monomind', 'trigger-index.json');
139
+ var agentDir = path.join(CWD, '.claude', 'agents');
140
+ var patterns = [];
141
+ var cacheLoaded = false;
142
+
143
+ // Load cached index if fresh (< 1 hour)
144
+ try {
145
+ if (fs.existsSync(indexPath)) {
146
+ var idx = JSON.parse(fs.readFileSync(indexPath, 'utf-8'));
147
+ var age = Date.now() - new Date(idx.builtAt || 0).getTime();
148
+ if (age < 3600000 && Array.isArray(idx.patterns)) {
149
+ patterns = idx.patterns;
150
+ cacheLoaded = true; // valid even when empty (no triggers defined)
151
+ }
152
+ }
153
+ } catch (e) {}
154
+
155
+ // Rebuild only when cache is missing or stale — not when it's a valid empty result
156
+ if (!cacheLoaded) {
157
+ patterns = _triggerBuildIndex(agentDir);
158
+ try {
159
+ fs.mkdirSync(path.join(CWD, '.monomind'), { recursive: true });
160
+ fs.writeFileSync(indexPath, JSON.stringify({ patterns: patterns, builtAt: new Date().toISOString(), totalAgentsScanned: patterns.length }));
161
+ } catch (e) {}
162
+ }
163
+
164
+ // Sort by descending priority
165
+ patterns.sort(function(a, b) { return (b.priority || 0) - (a.priority || 0); });
166
+
167
+ // Apply patterns
168
+ var matches = [];
169
+ var seen = {};
170
+ for (var i = 0; i < patterns.length; i++) {
171
+ var p = patterns[i];
172
+ if (p.mode !== 'inject' && p.mode !== 'takeover') continue;
173
+ if (seen[p.agentSlug]) continue;
174
+ try {
175
+ var re = new RegExp(p.pattern, 'i');
176
+ var m = re.exec(prompt);
177
+ if (m) {
178
+ seen[p.agentSlug] = true;
179
+ matches.push({ agentSlug: p.agentSlug, mode: p.mode, matchedText: m[0] });
180
+ if (p.mode === 'takeover') {
181
+ return { matches: matches, takeoverAgent: p.agentSlug, injectAgents: [] };
182
+ }
183
+ }
184
+ } catch (e) {}
185
+ }
186
+ return { matches: matches, injectAgents: matches.map(function(m) { return m.agentSlug; }) };
187
+ }
188
+
189
+ // ── Task 28: Knowledge Base — inline CJS search + auto-indexer ─────────────
190
+ //
191
+ // Purpose: give KnowledgeRetriever a real search function and pre-populate
192
+ // the knowledge store with project documents (CLAUDE.md, todo.md, etc.) so
193
+ // retrieveForTask() actually returns useful context on session restore.
194
+ // No compiled deps required — reads/writes JSONL directly.
195
+
196
+ /**
197
+ * Build a simple keyword-overlap search function over chunks.jsonl.
198
+ * Returns results sorted by descending score; compatible with SearchFn signature.
199
+ */
200
+ var _KNOWLEDGE_STOPWORDS = new Set(['the','and','or','but','if','in','on','to','is','it','be','do','of','for','not','at','by','as','we','us','an','a','i']);
201
+
202
+ function _buildKnowledgeSearchFn(knowledgeDir) {
203
+ return async function(query, opts) {
204
+ var chunksFile = path.join(knowledgeDir, 'chunks.jsonl');
205
+ if (!fs.existsSync(chunksFile)) return [];
206
+ var lines;
207
+ try {
208
+ lines = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean);
209
+ } catch (e) { return []; }
210
+
211
+ var ns = (opts && opts.namespace) || null;
212
+ var limit = (opts && opts.limit) || 10;
213
+ var minScore = (opts && opts.minScore != null) ? opts.minScore : 0.3;
214
+ var queryTerms = query.toLowerCase().split(/\s+/).filter(function(t) { return t.length >= 2 && !_KNOWLEDGE_STOPWORDS.has(t); });
215
+ if (queryTerms.length === 0) return [];
216
+
217
+ var results = [];
218
+ for (var i = 0; i < lines.length; i++) {
219
+ try {
220
+ var chunk = JSON.parse(lines[i]);
221
+ if (ns && chunk.namespace !== ns) continue;
222
+ var textLower = (chunk.text || '').toLowerCase();
223
+ var matchCount = queryTerms.filter(function(t) { return textLower.includes(t); }).length;
224
+ var score = matchCount / queryTerms.length;
225
+ if (score >= minScore) {
226
+ results.push({ key: chunk.chunkId, value: chunk.text, score: score, metadata: chunk.metadata || {} });
227
+ }
228
+ } catch (e) {}
229
+ }
230
+ results.sort(function(a, b) { return b.score - a.score; });
231
+ return results.slice(0, limit);
232
+ };
233
+ }
234
+
235
+ /**
236
+ * Index project knowledge sources into chunks.jsonl.
237
+ * Skips re-indexing if content hasn't changed (hash-gated).
238
+ * Returns the number of new chunks written.
239
+ */
240
+ function _autoIndexKnowledge(knowledgeDir) {
241
+ var crypto = require('crypto');
242
+ var sources = [
243
+ { filePath: path.join(CWD, 'CLAUDE.md'), label: 'project-instructions' },
244
+ { filePath: path.join(CWD, 'docs/todo.md'), label: 'project-todo' },
245
+ { filePath: path.join(CWD, 'CLAUDE.local.md'), label: 'local-instructions' },
246
+ ];
247
+
248
+ // Compute a combined hash of all source file sizes (fast proxy for content change)
249
+ var hashInput = '';
250
+ for (var i = 0; i < sources.length; i++) {
251
+ try {
252
+ if (fs.existsSync(sources[i].filePath)) {
253
+ var st = fs.statSync(sources[i].filePath);
254
+ hashInput += sources[i].filePath + ':' + st.size + ':' + st.mtimeMs + ';';
255
+ }
256
+ } catch (e) {}
257
+ }
258
+ // Include monograph graph build time in hash so re-index happens after graph rebuild
259
+ try {
260
+ var statsForHash = JSON.parse(fs.readFileSync(path.join(CWD, '.monomind', 'graph', 'stats.json'), 'utf-8'));
261
+ hashInput += 'monograph:' + (statsForHash.builtAt || 0) + ';';
262
+ } catch(e) {}
263
+
264
+ var contentHash = crypto.createHash('md5').update(hashInput).digest('hex');
265
+
266
+ var chunksFile = path.join(knowledgeDir, 'chunks.jsonl');
267
+ var hashFile = path.join(knowledgeDir, '.index-hash');
268
+ var existingHash = '';
269
+ try { existingHash = fs.readFileSync(hashFile, 'utf-8').trim(); } catch (e) {}
270
+
271
+ // Nothing changed — skip re-index
272
+ var existingChunkCount = 0;
273
+ try { if (fs.existsSync(chunksFile)) { existingChunkCount = fs.readFileSync(chunksFile, 'utf-8').trim().split('\n').filter(Boolean).length; } } catch (e) {}
274
+ if (existingHash === contentHash && existingChunkCount > 0) return 0;
275
+
276
+ // Build new chunks
277
+ var newLines = [];
278
+ for (var si = 0; si < sources.length; si++) {
279
+ var src = sources[si];
280
+ try {
281
+ if (!fs.existsSync(src.filePath)) continue;
282
+ var content = fs.readFileSync(src.filePath, 'utf-8');
283
+ // Split on blank lines or markdown headers (## / ###)
284
+ var sections = content.split(/\n{2,}|\n(?=#{1,3} )/);
285
+ for (var ci = 0; ci < sections.length; ci++) {
286
+ var text = sections[ci].trim();
287
+ if (text.length < 40 || text.length > 3000) continue;
288
+ var chunkId = crypto.createHash('md5').update(src.filePath + ':' + ci).digest('hex').slice(0, 16);
289
+ newLines.push(JSON.stringify({
290
+ chunkId: chunkId,
291
+ namespace: 'knowledge:shared',
292
+ text: text,
293
+ metadata: { filePath: src.filePath, label: src.label, chunkIndex: ci }
294
+ }));
295
+ }
296
+ } catch (e) {}
297
+ }
298
+
299
+ // Inject monograph graph summary as a knowledge chunk
300
+ try {
301
+ var statsPath = path.join(CWD, '.monomind', 'graph', 'stats.json');
302
+ var graphPath = path.join(CWD, '.monomind', 'graph', 'graph.json');
303
+ if (fs.existsSync(statsPath) && fs.existsSync(graphPath)) {
304
+ var stats = JSON.parse(fs.readFileSync(statsPath, 'utf-8'));
305
+ var graphStat = fs.statSync(graphPath);
306
+ // Only read graph if under 10MB
307
+ if (graphStat.size < 10 * 1024 * 1024) {
308
+ var graph = JSON.parse(fs.readFileSync(graphPath, 'utf-8'));
309
+ var rawNodes = Array.isArray(graph.nodes) ? graph.nodes : [];
310
+ var rawEdges = Array.isArray(graph.edges) ? graph.edges : (Array.isArray(graph.links) ? graph.links : []);
311
+ // Top 15 nodes by degree (god nodes)
312
+ var degree = {};
313
+ rawNodes.forEach(function(n) { degree[n.id] = 0; });
314
+ rawEdges.forEach(function(e) {
315
+ if (degree[e.source] !== undefined) degree[e.source]++;
316
+ if (degree[e.target] !== undefined) degree[e.target]++;
317
+ });
318
+ var topNodes = rawNodes
319
+ .filter(function(n) { return n.sourceFile && n.sourceFile !== ''; })
320
+ .sort(function(a, b) { return (degree[b.id] || 0) - (degree[a.id] || 0); })
321
+ .slice(0, 15);
322
+ // Community summary — group by type
323
+ var typeCounts = {};
324
+ rawNodes.forEach(function(n) { var t = n.type || n.label || 'unknown'; typeCounts[t] = (typeCounts[t] || 0) + 1; });
325
+ var topTypes = Object.entries(typeCounts).sort(function(a,b){return b[1]-a[1];}).slice(0,8).map(function(e){return e[0]+':'+e[1];}).join(', ');
326
+ var builtDate = stats.builtAt ? new Date(stats.builtAt).toISOString().slice(0,10) : 'unknown';
327
+ var summaryText = [
328
+ 'MONOGRAPH KNOWLEDGE GRAPH SUMMARY',
329
+ 'Built: ' + builtDate + ' | Nodes: ' + (stats.nodes || rawNodes.length) + ' | Edges: ' + (stats.edges || rawEdges.length) + ' | Files: ' + (stats.files || 0),
330
+ '',
331
+ 'TOP GOD NODES (highest connectivity):',
332
+ topNodes.map(function(n) {
333
+ return ' ' + (n.name || n.id) + ' [' + (n.type || n.label || '?') + '] — ' + (n.sourceFile || '') + ' (degree: ' + (degree[n.id] || 0) + ')';
334
+ }).join('\n'),
335
+ '',
336
+ 'NODE TYPE DISTRIBUTION: ' + topTypes,
337
+ '',
338
+ 'Use mcp__monomind__monograph_suggest to find files relevant to your task.',
339
+ 'Use mcp__monomind__monograph_query to search for symbols.',
340
+ 'Use mcp__monomind__monograph_god_nodes for architecture overview.',
341
+ ].join('\n');
342
+ var chunkId = crypto.createHash('md5').update('monograph-graph-summary').digest('hex').slice(0, 16);
343
+ newLines.push(JSON.stringify({
344
+ chunkId: chunkId,
345
+ namespace: 'knowledge:shared',
346
+ text: summaryText,
347
+ metadata: { label: 'monograph-graph-summary', builtAt: stats.builtAt }
348
+ }));
349
+ }
350
+ }
351
+ } catch (e) { /* graph not available yet, skip */ }
352
+
353
+ try {
354
+ fs.mkdirSync(knowledgeDir, { recursive: true });
355
+ fs.writeFileSync(chunksFile, newLines.length > 0 ? newLines.join('\n') + '\n' : '', 'utf-8');
356
+ fs.writeFileSync(hashFile, contentHash, 'utf-8');
357
+ } catch (e) {}
358
+ return newLines.length;
359
+ }
360
+
361
+ // ── Intelligence timeout protection (fixes #1530, #1531) ───────────────────
362
+ var INTELLIGENCE_TIMEOUT_MS = 1500;
363
+ function runWithTimeout(fn, label) {
364
+ return new Promise(function(resolve) {
365
+ var settled = false;
366
+ var timer = setTimeout(function() {
367
+ if (!settled) {
368
+ settled = true;
369
+ process.stderr.write("[WARN] " + label + " timed out after " + INTELLIGENCE_TIMEOUT_MS + "ms, skipping\n");
370
+ resolve(null);
371
+ }
372
+ }, INTELLIGENCE_TIMEOUT_MS);
373
+ Promise.resolve().then(fn).then(
374
+ function(result) { if (!settled) { settled = true; clearTimeout(timer); resolve(result); } },
375
+ function() { if (!settled) { settled = true; clearTimeout(timer); resolve(null); } }
376
+ );
377
+ });
378
+ }
379
+
380
+
381
+ const [,, command, ...args] = process.argv;
382
+
383
+ // Read stdin — Claude Code sends hook data as JSON via stdin
384
+ // Uses a timeout to prevent hanging when stdin is in an ambiguous state
385
+ // (not TTY, not a proper pipe) which happens with Claude Code hook invocations.
386
+ async function readStdin() {
387
+ if (process.stdin.isTTY) return '';
388
+ return new Promise((resolve) => {
389
+ let data = '';
390
+ const timer = setTimeout(() => {
391
+ process.stdin.removeAllListeners();
392
+ process.stdin.pause();
393
+ resolve(data);
394
+ }, 500);
395
+ process.stdin.setEncoding('utf8');
396
+ process.stdin.on('data', (chunk) => { data += chunk; });
397
+ process.stdin.on('end', () => { clearTimeout(timer); resolve(data); });
398
+ process.stdin.on('error', () => { clearTimeout(timer); resolve(data); });
399
+ process.stdin.resume();
400
+ });
401
+ }
402
+
403
+ async function main() {
404
+ // Global safety timeout: hooks must NEVER hang (#1530, #1531)
405
+ var safetyTimer = setTimeout(function() {
406
+ process.stderr.write("[WARN] Hook handler global timeout (5s), forcing exit\n");
407
+ process.exit(0);
408
+ }, 5000);
409
+ safetyTimer.unref();
410
+
411
+ let stdinData = '';
412
+ try { stdinData = await readStdin(); } catch (e) { /* ignore stdin errors */ }
413
+
414
+ let hookInput = {};
415
+ if (stdinData.trim()) {
416
+ try {
417
+ const parsed = JSON.parse(stdinData);
418
+ if (parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)) {
419
+ hookInput = parsed;
420
+ }
421
+ } catch (e) { /* ignore parse errors */ }
422
+ }
423
+
424
+ // Merge stdin data into prompt resolution: prefer stdin fields, then env vars.
425
+ // NEVER fall back to argv args — shell glob expansion of braces in bash output
426
+ // creates junk files (#1342). Use env vars or stdin only.
427
+ // Normalize snake_case/camelCase: Claude Code sends tool_input/tool_name (snake_case)
428
+ var toolInput = hookInput.toolInput || hookInput.tool_input || {};
429
+ var toolName = hookInput.toolName || hookInput.tool_name || '';
430
+
431
+ var prompt = hookInput.prompt || hookInput.command
432
+ || (typeof toolInput === 'string' ? toolInput : (toolInput.command || toolInput.prompt || ''))
433
+ || process.env.PROMPT || process.env.TOOL_INPUT_command || '';
434
+
435
+ // Detect prompts that are predefined single-action commands that don't
436
+ // need agent routing or skill suggestions — invoking those adds token
437
+ // overhead without any benefit.
438
+ function isSimpleCommand(p) {
439
+ if (typeof p !== 'string') return false;
440
+ var s = p.trim();
441
+ // Slash commands: /ts, /list-agents, /commit, /help, /use-agent etc.
442
+ if (/^\/[a-z0-9_-]+(\s|$)/i.test(s)) return true;
443
+ // Short single-word operator tokens (toggle, list, status)
444
+ if (/^(ts|ls|ps|pwd|help|clear|exit|quit|status|toggle|refresh)$/i.test(s)) return true;
445
+ // Already-resolved command messages (Claude Code sends hook with command-name context)
446
+ var cmdName = hookInput.commandName || hookInput.command_name || '';
447
+ if (cmdName && cmdName.length > 0) return true;
448
+ return false;
449
+ }
450
+
451
+ const handlers = {
452
+ 'route': async () => {
453
+ // For slash commands and single-action invocations: skip routing panel output
454
+ // but still write last-route.json so the statusline reflects the current action.
455
+ if (isSimpleCommand(prompt)) {
456
+ try {
457
+ var cmdLabel = (typeof prompt === 'string' && prompt.trim().startsWith('/'))
458
+ ? prompt.trim().split(/\s+/)[0] // e.g. "/ts"
459
+ : (hookInput.commandName || hookInput.command_name || 'command');
460
+ var routeDir = path.join(CWD, '.monomind');
461
+ fs.mkdirSync(routeDir, { recursive: true });
462
+ fs.writeFileSync(
463
+ path.join(routeDir, 'last-route.json'),
464
+ JSON.stringify({
465
+ agent: cmdLabel,
466
+ confidence: 1.0,
467
+ reason: 'predefined command — no routing needed',
468
+ semanticRouting: false,
469
+ updatedAt: new Date().toISOString(),
470
+ }),
471
+ 'utf-8'
472
+ );
473
+ } catch (e) { /* non-fatal */ }
474
+ return;
475
+ }
476
+
477
+ if (intelligence && intelligence.getContext) {
478
+ try {
479
+ const ctx = intelligence.getContext(prompt);
480
+ if (ctx) console.log(ctx);
481
+ } catch (e) { /* non-fatal */ }
482
+ }
483
+ if (router && (router.routeTaskSemantic || router.routeTask)) {
484
+ const routeFn = router.routeTaskSemantic || router.routeTask;
485
+ const result = await Promise.resolve(routeFn(prompt));
486
+ var output = [];
487
+ output.push('[INFO] Routing task: ' + (prompt.substring(0, 80) || '(no prompt)'));
488
+ output.push('');
489
+ output.push('+------------- monomind | Primary Recommendation --------------+');
490
+ output.push('| Agent: ' + (result.agent || 'unknown').substring(0, 54).padEnd(54) + '|');
491
+ output.push('| Confidence: ' + ((result.confidence != null ? (result.confidence * 100).toFixed(1) : '?') + '%').padEnd(49) + '|');
492
+ output.push('| Reason: ' + (result.reason || '').substring(0, 53).padEnd(53) + '|');
493
+ output.push('+--------------------------------------------------------------+');
494
+
495
+ // ── Persist routing result for statusline display ─────────────
496
+ try {
497
+ var routeDir = path.join(CWD, '.monomind');
498
+ fs.mkdirSync(routeDir, { recursive: true });
499
+ // Always use the resolved agent name — never persist "extras"
500
+ var resolvedAgent = result.agent;
501
+ if (!resolvedAgent || resolvedAgent === 'extras') {
502
+ var topExtra = result.extrasMatches && result.extrasMatches[0];
503
+ resolvedAgent = topExtra ? topExtra.name : 'Specialist Agent';
504
+ }
505
+ var routePayload = {
506
+ agent: resolvedAgent,
507
+ agentSlug: result.agentSlug || null,
508
+ confidence: result.confidence,
509
+ reason: result.reason,
510
+ semanticRouting: result.semanticRouting || false,
511
+ llmRouting: result.llmRouting || false,
512
+ updatedAt: new Date().toISOString(),
513
+ };
514
+ if (result.extrasMatches && result.extrasMatches.length > 0) {
515
+ routePayload.extrasMatches = result.extrasMatches.map(function(e) {
516
+ return { name: e.name, slug: e.slug, category: e.category };
517
+ });
518
+ }
519
+ fs.writeFileSync(
520
+ path.join(routeDir, 'last-route.json'),
521
+ JSON.stringify(routePayload),
522
+ 'utf-8'
523
+ );
524
+ } catch (e) { /* non-fatal */ }
525
+
526
+ // ── Dev skill suggestions ──────────────────────────────────────
527
+ var matches = result.skillMatches || [];
528
+ if (matches.length > 0) {
529
+ // Check for high-confidence auto-invoke: if top skill scored >= 3 keyword
530
+ // hits and is the dominant match, auto-invoke instead of just suggesting
531
+ var topMatch = matches[0];
532
+ var autoInvoke = false;
533
+ if (topMatch && topMatch.score >= 3 && matches.length <= 2) {
534
+ autoInvoke = true;
535
+ } else if (topMatch && topMatch.score >= 2 && matches.length === 1 && (result.confidence ?? 0) < 0.7) {
536
+ // Single strong skill match with weak agent routing = skill should take over
537
+ autoInvoke = true;
538
+ }
539
+
540
+ if (autoInvoke) {
541
+ output.push('');
542
+ output.push('+======== SKILL AUTO-ACTIVATED (high confidence match) ========+');
543
+ output.push('| ' + topMatch.invoke.substring(0, 61).padEnd(61) + '|');
544
+ output.push('| INSTRUCTION: Invoke ' + topMatch.invoke.substring(0, 41).padEnd(41) + '|');
545
+ output.push('| BEFORE responding. This skill matched with very high |');
546
+ output.push('| confidence — do not skip it. |');
547
+ output.push('+==============================================================+');
548
+ } else {
549
+ output.push('');
550
+ if ((result.confidence ?? 0) < 0.8) {
551
+ output.push('+----------- Skill Suggestions (pick one if relevant) ---------+');
552
+ output.push('| No strong primary match — here are the best skill candidates |');
553
+ } else {
554
+ output.push('+----------- Matching Skills (invoke via Skill tool) ----------+');
555
+ }
556
+ matches.forEach(function(m, i) {
557
+ var label = (i + 1) + '. ' + m.skill;
558
+ var desc = (m.description || '').substring(0, 30);
559
+ var line = '| ' + label.substring(0, 30).padEnd(30) + desc.padEnd(30) + ' |';
560
+ output.push(line);
561
+ output.push('| invoke: ' + m.invoke.substring(0, 51).padEnd(51) + '|');
562
+ });
563
+ output.push('+--------------------------------------------------------------+');
564
+ if ((result.confidence ?? 0) < 0.8) {
565
+ output.push('| To use a skill: call Skill("skill-name") before responding. |');
566
+ output.push('+--------------------------------------------------------------+');
567
+ }
568
+ }
569
+ }
570
+
571
+ // ── Specific agent panel ──────────────────────────────────────────────────
572
+ var specificAgents = result.specificAgents || [];
573
+ if (specificAgents.length > 0) {
574
+ output.push('');
575
+ var saHdr = '------- Specific Agents (' + specificAgents.length + ' available) ';
576
+ output.push('+' + saHdr + '-'.repeat(Math.max(1, 62 - saHdr.length)) + '+');
577
+ specificAgents.forEach(function(a, i) {
578
+ var label = (i + 1) + '. ' + a.label;
579
+ var note = (a.note || '').substring(0, 26);
580
+ output.push('| ' + label.substring(0, 33).padEnd(33) + note.padEnd(27) + ' |');
581
+ if (a.slug) {
582
+ output.push('| slug: ' + a.slug.substring(0, 52).padEnd(52) + ' |');
583
+ }
584
+ });
585
+ output.push('+--------------------------------------------------------------+');
586
+ output.push('| Use: Task({ subagent_type: "<slug>" }) or /specialagent |');
587
+ output.push('+--------------------------------------------------------------+');
588
+ }
589
+
590
+ // ── Specialist agents (non-dev domain) — only shown when specificAgents panel wasn't shown ──
591
+ var extras = result.extrasMatches || [];
592
+ var specificAgentsShown = (result.specificAgents || []).length > 0;
593
+ if (extras.length > 0 && !specificAgentsShown) {
594
+ output.push('');
595
+ var spHdr = '------- Specialist Agents (' + extras.length + ' matched) ';
596
+ output.push('+' + spHdr + '-'.repeat(Math.max(1, 62 - spHdr.length)) + '+');
597
+ extras.slice(0, 5).forEach(function(e, i) {
598
+ var label = (i + 1) + '. ' + e.name;
599
+ var cat = '[' + e.category + ']';
600
+ output.push('| ' + label.substring(0, 44).padEnd(44) + cat.substring(0, 16).padEnd(16) + ' |');
601
+ output.push('| slug: ' + e.slug.substring(0, 52).padEnd(52) + ' |');
602
+ });
603
+ output.push('+--------------------------------------------------------------+');
604
+ output.push('| Use: Task({ subagent_type: "<slug>" }) or /specialagent |');
605
+ output.push('+--------------------------------------------------------------+');
606
+ }
607
+
608
+ // ── MicroAgent Trigger Scan (Task 32) ──────────────────────────────
609
+ try {
610
+ var triggerResult = scanMicroAgentTriggers(typeof prompt === 'string' ? prompt : '');
611
+ if (triggerResult.matches.length > 0) {
612
+ output.push('');
613
+ if (triggerResult.takeoverAgent) {
614
+ var tAgent = triggerResult.takeoverAgent;
615
+ var tKw = triggerResult.matches[0].matchedText;
616
+ output.push('+============= MicroAgent TAKEOVER Detected ===================+');
617
+ output.push('| Specialist: ' + tAgent.substring(0, 49).padEnd(49) + '|');
618
+ output.push('| Keyword: ' + ('"' + tKw + '"').substring(0, 49).padEnd(49) + '|');
619
+ output.push('| Recommended: use this specialist instead of primary agent. |');
620
+ output.push('+==============================================================+');
621
+ } else {
622
+ output.push('+------- MicroAgent Specialists Triggered ---------------------+');
623
+ triggerResult.matches.forEach(function(m) {
624
+ var slug = m.agentSlug.substring(0, 37).padEnd(37);
625
+ var kw = ('(match: "' + m.matchedText + '")').substring(0, 21).padEnd(21);
626
+ output.push('| + ' + slug + kw + ' |');
627
+ });
628
+ output.push('+--------------------------------------------------------------+');
629
+ }
630
+ // Persist trigger matches alongside route result
631
+ try {
632
+ var routeFile = path.join(CWD, '.monomind', 'last-route.json');
633
+ var existing = JSON.parse(fs.readFileSync(routeFile, 'utf-8'));
634
+ existing.microAgents = { injectAgents: triggerResult.injectAgents || [], takeoverAgent: triggerResult.takeoverAgent || null };
635
+ fs.writeFileSync(routeFile, JSON.stringify(existing), 'utf-8');
636
+ } catch (e) {}
637
+ }
638
+ } catch (e) { /* non-fatal */ }
639
+
640
+ console.log(output.join('\n'));
641
+
642
+ // Inject monograph hint for complex tasks
643
+ try {
644
+ var graphStatsPath = path.join(CWD, '.monomind', 'graph', 'stats.json');
645
+ if (fs.existsSync(graphStatsPath)) {
646
+ var gStats = JSON.parse(fs.readFileSync(graphStatsPath, 'utf-8'));
647
+ if (gStats.nodes > 100) {
648
+ console.log('\n[MONOGRAPH] ' + gStats.nodes + ' nodes indexed. For this task, call mcp__monomind__monograph_suggest first.');
649
+ }
650
+ }
651
+ } catch(e) {}
652
+
653
+ // Swarm mode selection is available on-demand via /mastermind slash command.
654
+ } else {
655
+ console.log('[INFO] Router not available, using default routing');
656
+ }
657
+
658
+ // Task 22: TeamRoutingModes — only log when an explicit swarm config is present
659
+ try {
660
+ var swarmCfgPath = path.join(CWD, '.monomind', 'swarm-config.json');
661
+ if (fs.existsSync(swarmCfgPath)) {
662
+ var topology22 = JSON.parse(fs.readFileSync(swarmCfgPath, 'utf-8')).topology || 'mesh';
663
+ var mode22 = topology22 === 'hierarchical' ? 'route' : 'coordinate';
664
+ console.log('[ROUTING_MODE] topology=' + topology22 + ' → mode=' + mode22);
665
+ }
666
+ } catch (e) { /* non-fatal */ }
667
+ },
668
+
669
+ 'load-agent': () => {
670
+ // Load and print full agent text so Claude can adopt its identity
671
+ const slug = args.join(' ').trim() || (typeof prompt === 'string' ? prompt.trim() : '');
672
+ if (!router || !router.loadExtrasAgent) {
673
+ console.error('[ERROR] Router does not support loadExtrasAgent');
674
+ process.exit(1);
675
+ }
676
+ const agent = router.loadExtrasAgent(slug);
677
+ if (!agent) {
678
+ console.error('[ERROR] Extras agent not found: ' + slug);
679
+ console.error('Run: node .claude/helpers/router.cjs --load-agent <slug> to check available slugs');
680
+ process.exit(1);
681
+ }
682
+ console.log('=== AGENT ACTIVATED: ' + agent.name + ' [' + agent.category + '] ===');
683
+ console.log('');
684
+ console.log(agent.content);
685
+ console.log('');
686
+ console.log('=== END AGENT: ' + agent.name + ' ===');
687
+ console.log('INSTRUCTION: You are now ' + agent.name + '. Adopt the identity, tone, and expertise described above for the remainder of this task.');
688
+
689
+ // Persist active agent for statusline
690
+ try {
691
+ var routeDir = path.join(CWD, '.monomind');
692
+ fs.mkdirSync(routeDir, { recursive: true });
693
+ fs.writeFileSync(
694
+ path.join(routeDir, 'last-route.json'),
695
+ JSON.stringify({
696
+ agent: agent.slug,
697
+ name: agent.name,
698
+ category: agent.category,
699
+ confidence: 1.0,
700
+ reason: 'manually activated via load-agent',
701
+ activated: true,
702
+ updatedAt: new Date().toISOString(),
703
+ }),
704
+ 'utf-8'
705
+ );
706
+ } catch (e) { /* non-fatal */ }
707
+ },
708
+
709
+ 'list-extras': () => {
710
+ if (!router || !router.loadExtrasRegistry) {
711
+ console.error('[ERROR] Extras registry not available');
712
+ process.exit(1);
713
+ }
714
+ const registry = router.loadExtrasRegistry();
715
+ const category = args[0] || '';
716
+ const entries = category
717
+ ? registry.extras.filter(e => e.category === category)
718
+ : registry.extras;
719
+ const byCategory = {};
720
+ for (const e of entries) {
721
+ if (!byCategory[e.category]) byCategory[e.category] = [];
722
+ byCategory[e.category].push(e);
723
+ }
724
+ for (const [cat, agents] of Object.entries(byCategory)) {
725
+ console.log('\n[' + cat.toUpperCase() + ']');
726
+ for (const a of agents) {
727
+ console.log(' ' + a.slug.padEnd(45) + a.name);
728
+ }
729
+ }
730
+ console.log('\nTotal: ' + entries.length + ' extras agents');
731
+ },
732
+
733
+ 'pre-bash': () => {
734
+ var _rawCmd = hookInput.command || prompt;
735
+ var cmd = (typeof _rawCmd === 'string' ? _rawCmd : String(_rawCmd || '')).toLowerCase();
736
+ var dangerous = ['rm -rf /', 'rm -rf/', 'format c:', 'del /s /q c:\\', ':(){:|:&};:'];
737
+ for (var i = 0; i < dangerous.length; i++) {
738
+ if (cmd.includes(dangerous[i])) {
739
+ console.error('[BLOCKED] Dangerous command detected: ' + dangerous[i]);
740
+ process.exit(1);
741
+ }
742
+ }
743
+ console.log('[OK] Command validated');
744
+ },
745
+
746
+ 'post-edit': async () => {
747
+ if (session && session.metric) {
748
+ try { session.metric('edits'); } catch (e) { /* no active session */ }
749
+ }
750
+ if (intelligence && intelligence.recordEdit) {
751
+ try {
752
+ var file = hookInput.file_path || toolInput.file_path
753
+ || process.env.TOOL_INPUT_file_path || args[0] || '';
754
+ intelligence.recordEdit(file);
755
+ } catch (e) { /* non-fatal */ }
756
+ }
757
+ // ── Security-Sensitive File Auto-Alert ────────────────────────────────
758
+ // When editing auth, security, crypto, or env-related files, flag it
759
+ try {
760
+ var editFile = (hookInput.file_path || toolInput.file_path
761
+ || process.env.TOOL_INPUT_file_path || args[0] || '').toLowerCase();
762
+ var securityPatterns = /\b(auth|security|crypto|secret|credential|token|password|\.env|permission|acl|rbac|jwt|oauth|session|cookie)\b/;
763
+ if (securityPatterns.test(editFile) || editFile.includes('/security/') || editFile.includes('/auth/')) {
764
+ console.log('[SECURITY_EDIT] Security-sensitive file modified: ' + path.basename(editFile));
765
+ console.log('[SECURITY_EDIT] INSTRUCTION: Consider running a security review. Invoke Skill("code-review:code-review") with security focus, or run: npx monomind security scan --path "' + editFile + '"');
766
+ }
767
+ } catch (e) { /* non-fatal */ }
768
+
769
+ // ── Smart Test/Build Suggestions (PE-001) ───────────────────────────
770
+ try {
771
+ var editFile = (hookInput.file_path || toolInput.file_path
772
+ || process.env.TOOL_INPUT_file_path || args[0] || '');
773
+ var editBase = path.basename(editFile).toLowerCase();
774
+ var editDir = path.dirname(editFile);
775
+ if (/\.(test|spec)\.(ts|js|tsx|jsx)$/.test(editBase)) {
776
+ console.log('[AUTO_SUGGEST] Test file modified — run: npm test -- --testPathPattern="' + path.basename(editFile) + '"');
777
+ } else if (editBase === 'package.json') {
778
+ console.log('[AUTO_SUGGEST] package.json changed — consider running: npm install');
779
+ } else if (editBase === 'tsconfig.json' || editBase === 'tsconfig.base.json') {
780
+ console.log('[AUTO_SUGGEST] TypeScript config changed — consider running: npm run build');
781
+ }
782
+ } catch (e) { /* non-fatal */ }
783
+
784
+ // ── Monograph Incremental Rebuild ─────────────────────────────────────
785
+ // After every code file edit, trigger a background monograph rebuild so
786
+ // the knowledge graph stays current. Debounced via a lock file (5s cooldown).
787
+ try {
788
+ var editedFile = (hookInput.file_path || toolInput.file_path
789
+ || process.env.TOOL_INPUT_file_path || args[0] || '');
790
+ var codeExts = /\.(ts|tsx|js|jsx|mjs|cjs|py|go|rs|java|kt|cs|cpp|c|rb|swift|php)$/i;
791
+ if (editedFile && codeExts.test(editedFile)) {
792
+ var lockFile = path.join(CWD, '.monomind', 'graph', '.rebuild-lock');
793
+ var now = Date.now();
794
+ var lastBuild = 0;
795
+ try { lastBuild = parseInt(fs.readFileSync(lockFile, 'utf-8').trim(), 10) || 0; } catch (e) {}
796
+ var COOLDOWN_MS = 5000; // 5-second debounce
797
+ if (now - lastBuild > COOLDOWN_MS) {
798
+ fs.writeFileSync(lockFile, String(now), 'utf-8');
799
+ var { spawn: spawnRebuild } = require('child_process');
800
+ var rebuildScript = "import { buildAsync } from '@monoes/monograph'; await buildAsync(" + JSON.stringify(CWD) + ");";
801
+ var graphDir = path.join(CWD, '.monomind', 'graph');
802
+ var logPath = path.join(graphDir, 'build.log');
803
+ var logFd;
804
+ try { logFd = fs.openSync(logPath, 'a'); } catch(e) { logFd = 'ignore'; }
805
+ var child = spawnRebuild(process.execPath, ['--input-type=module', '--eval', rebuildScript], {
806
+ detached: true, stdio: ['ignore', logFd, logFd], cwd: CWD,
807
+ });
808
+ child.unref();
809
+ console.log('[MONOGRAPH] Incremental rebuild triggered for ' + path.basename(editedFile));
810
+
811
+ // Option C: fire ua-enrich.mjs in background after monograph rebuild
812
+ var uaEnrichScript = path.join(CWD, 'scripts', 'ua-enrich.mjs');
813
+ if (fs.existsSync(uaEnrichScript)) {
814
+ var uaChild = spawnRebuild(process.execPath, [uaEnrichScript, '--dir', CWD, '--file', editedFile, '--db', path.join(CWD, '.monomind', 'monograph.db')], {
815
+ detached: true, stdio: 'ignore', cwd: CWD,
816
+ });
817
+ uaChild.unref();
818
+ }
819
+ }
820
+ // Show importers of the edited file so Claude sees blast radius
821
+ try {
822
+ var mgDbPath4 = path.join(CWD, '.monomind', 'monograph.db');
823
+ if (fs.existsSync(mgDbPath4)) {
824
+ var mgMod4 = null;
825
+ mgMod4 = _requireMonograph();
826
+ if (mgMod4 && mgMod4.openDb) {
827
+ var db4 = mgMod4.openDb(mgDbPath4);
828
+ try {
829
+ var editedBase4 = path.basename(editedFile).replace(/\.[^.]+$/, '');
830
+ var editNode4 = db4.prepare("SELECT id, name, label FROM nodes WHERE file_path LIKE ? OR name = ? LIMIT 1")
831
+ .get('%' + path.sep + path.basename(editedFile), editedBase4);
832
+ if (editNode4) {
833
+ var editImporters4 = db4.prepare(
834
+ 'SELECT n2.name FROM edges e JOIN nodes n2 ON n2.id = e.source_id WHERE e.target_id = ? LIMIT 8'
835
+ ).all(editNode4.id);
836
+ if (editImporters4.length > 0) {
837
+ console.log('[MONOGRAPH_IMPACT] ' + editNode4.name + ' (' + editNode4.label + ') is depended on by: ' +
838
+ editImporters4.map(function(i) { return i.name; }).join(', '));
839
+ }
840
+ }
841
+ } finally { if (mgMod4.closeDb) mgMod4.closeDb(db4); }
842
+ }
843
+ }
844
+ } catch(e) { /* non-fatal */ }
845
+ }
846
+ } catch (e) { /* non-fatal */ }
847
+
848
+ console.log('[OK] Edit recorded');
849
+ },
850
+
851
+ 'session-restore': async () => {
852
+ try {
853
+ if (session) {
854
+ var existing = session.restore && session.restore();
855
+ if (!existing) {
856
+ session.start && session.start();
857
+ }
858
+ } else {
859
+ console.log('[OK] Session restored: session-' + Date.now());
860
+ }
861
+ } catch (e) { console.log('[WARN] Session restore failed: ' + e.message); }
862
+ // Initialize intelligence (with timeout — #1530)
863
+ // Respects monomind.neural.enabled kill switch from settings.json
864
+ var neuralEnabled = true;
865
+ try {
866
+ var settingsPath = path.join(CWD, '.claude', 'settings.json');
867
+ if (fs.existsSync(settingsPath)) {
868
+ var settingsData = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
869
+ if (settingsData.monomind && settingsData.monomind.neural && settingsData.monomind.neural.enabled === false) {
870
+ neuralEnabled = false;
871
+ console.log('[NEURAL] Disabled via monomind.neural.enabled=false');
872
+ }
873
+ }
874
+ } catch (e) { /* non-fatal */ }
875
+ if (neuralEnabled && intelligence && intelligence.init) {
876
+ var initResult = await runWithTimeout(function() { return intelligence.init(); }, 'intelligence.init()');
877
+ if (initResult && initResult.nodes > 0) {
878
+ console.log('[INTELLIGENCE] Loaded ' + initResult.nodes + ' patterns, ' + initResult.edges + ' edges');
879
+ }
880
+ }
881
+ // GAP-001: Bridge hook-handler.cjs to @monomind/hooks compiled packages.
882
+ // Dynamic import() resolves ESM packages even from CJS — failures are silent.
883
+ try {
884
+ var hooksModule = await import('@monomind/hooks');
885
+ if (hooksModule && hooksModule.initDefaultWorkers) {
886
+ await runWithTimeout(function() { return hooksModule.initDefaultWorkers(); }, '@monomind/hooks.initDefaultWorkers()');
887
+ // Store reference so pre-task / post-task can call executeHooks (Tasks 26, 39)
888
+ _hooksModule = hooksModule;
889
+ console.log('[INFO] @monomind/hooks workers initialized');
890
+ }
891
+ } catch (e) { /* @monomind/hooks not compiled yet — skip */ }
892
+
893
+ // ── Context Persistence Auto-Restore ───────────────────────────────────
894
+ // Restore archived conversation context from previous sessions
895
+ try {
896
+ var cpHook = await import('file://' + path.join(__dirname, 'context-persistence-hook.mjs'));
897
+ var restoreFn = (cpHook && cpHook.restore) || (cpHook && cpHook.default && cpHook.default.restore);
898
+ if (restoreFn) {
899
+ var restored = await runWithTimeout(function() { return restoreFn(); }, 'context-persistence.restore()');
900
+ if (restored && restored.turns > 0) {
901
+ console.log('[CONTEXT_RESTORED] ' + restored.turns + ' turns from previous session');
902
+ }
903
+ }
904
+ } catch (e) { /* non-fatal — context-persistence may not be available */ }
905
+
906
+ // Task 28: AgentKnowledgeBase — preload shared knowledge context on session restore.
907
+ // Self-contained: auto-indexes project docs into chunks.jsonl, then keyword-searches
908
+ // them. Works without @monomind/memory being compiled. Falls back to KnowledgeRetriever
909
+ // if the compiled package IS available (richer dedup + formatting).
910
+ try {
911
+ var knowledgeDir = path.join(CWD, '.monomind', 'knowledge');
912
+ var indexed = _autoIndexKnowledge(knowledgeDir);
913
+ if (indexed > 0) {
914
+ console.log('[KNOWLEDGE_INDEXED] ' + indexed + ' chunks written from project sources');
915
+ }
916
+
917
+ var kSearchFn = _buildKnowledgeSearchFn(knowledgeDir);
918
+ var sessionCtx = (hookInput && (hookInput.sessionId || hookInput.session_id))
919
+ ? 'session context: ' + (hookInput.sessionId || hookInput.session_id)
920
+ : 'project context general';
921
+
922
+ // Prefer compiled KnowledgeRetriever for dedup + formatting; inline fallback otherwise
923
+ var memoryMod = null;
924
+ try { memoryMod = await import('@monomind/memory'); } catch (e) {}
925
+
926
+ if (memoryMod && memoryMod.KnowledgeStore && memoryMod.KnowledgeRetriever) {
927
+ var kStore = new memoryMod.KnowledgeStore(knowledgeDir);
928
+ var kRetriever = new memoryMod.KnowledgeRetriever(kSearchFn, kStore);
929
+ var kResult = await kRetriever.retrieveForTask('shared', sessionCtx, 5);
930
+ if (kResult.excerpts.length > 0) {
931
+ console.log('[KNOWLEDGE_PRELOADED] ' + kResult.excerpts.length + ' excerpts (KnowledgeRetriever)');
932
+ }
933
+ } else {
934
+ // Inline fallback — no compiled deps needed
935
+ var directResults = await kSearchFn(sessionCtx, { namespace: 'knowledge:shared', limit: 5, minScore: 0.3 });
936
+ if (directResults.length > 0) {
937
+ console.log('[KNOWLEDGE_PRELOADED] ' + directResults.length + ' excerpts (direct keyword search)');
938
+ }
939
+ }
940
+ } catch (e) { /* non-fatal */ }
941
+
942
+ // ── Monograph Context Injection ──────────────────────────────────────────
943
+ // On session start, query monograph DB for god nodes, inject as context,
944
+ // and write them into knowledge/chunks.jsonl for semantic search recall.
945
+ try {
946
+ var mgDbPath = path.join(CWD, '.monomind', 'monograph.db');
947
+ if (fs.existsSync(mgDbPath)) {
948
+ var mgMod = null;
949
+ mgMod = _requireMonograph();
950
+ if (mgMod && mgMod.openDb) {
951
+ var mgDb = mgMod.openDb(mgDbPath);
952
+ try {
953
+ var mgNodeCount = mgDb.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
954
+ var mgEdgeCount = mgDb.prepare('SELECT COUNT(*) AS c FROM edges').get().c;
955
+ var mgGodNodes = mgDb.prepare(
956
+ 'SELECT n.name, n.label, n.file_path, ' +
957
+ '(SELECT COUNT(*) FROM edges WHERE source_id=n.id OR target_id=n.id) AS deg ' +
958
+ 'FROM nodes n ORDER BY deg DESC LIMIT 12'
959
+ ).all();
960
+ if (mgGodNodes.length > 0) {
961
+ var mgGodStr = mgGodNodes.slice(0, 8).map(function(n) {
962
+ return n.name + ' (' + n.label + ', ' + n.deg + ' links)';
963
+ }).join(', ');
964
+ console.log('[MONOGRAPH_CONTEXT] ' + mgNodeCount + ' nodes · ' + mgEdgeCount + ' edges. Key nodes: ' + mgGodStr);
965
+ // Write god nodes into knowledge chunks so semantic search finds them
966
+ var mgKnowledgeDir = path.join(CWD, '.monomind', 'knowledge');
967
+ var mgChunksFile = path.join(mgKnowledgeDir, 'chunks.jsonl');
968
+ try {
969
+ fs.mkdirSync(mgKnowledgeDir, { recursive: true });
970
+ var mgGodChunk = JSON.stringify({
971
+ id: 'monograph-god-nodes',
972
+ text: 'Codebase architecture — high-centrality nodes (most depended-on): ' + mgGodNodes.map(function(n) {
973
+ return n.name + ' [' + n.label + '] at ' + (n.file_path || '') + ' (' + n.deg + ' connections)';
974
+ }).join('; '),
975
+ namespace: 'knowledge:monograph',
976
+ metadata: { label: 'monograph-god-nodes', nodes: mgNodeCount, edges: mgEdgeCount }
977
+ });
978
+ var mgExisting = [];
979
+ try { mgExisting = fs.readFileSync(mgChunksFile, 'utf-8').trim().split('\n').filter(Boolean); } catch(e) {}
980
+ mgExisting = mgExisting.filter(function(line) {
981
+ try { return JSON.parse(line).id !== 'monograph-god-nodes'; } catch(e) { return true; }
982
+ });
983
+ mgExisting.push(mgGodChunk);
984
+ fs.writeFileSync(mgChunksFile, mgExisting.join('\n') + '\n');
985
+ } catch(e) {}
986
+ }
987
+ } finally { if (mgMod.closeDb) mgMod.closeDb(mgDb); }
988
+ }
989
+ }
990
+ } catch(e) { /* non-fatal */ }
991
+
992
+ // Task 23: SharedInstructions — auto-load .agents/shared_instructions.md on session restore
993
+ // Hard limit: 1500 chars (~375 tokens). Content beyond this is truncated and flagged.
994
+ var SI_CHAR_LIMIT = 1500;
995
+ var applySharedInstrLimit = function(content, source) {
996
+ if (content.length > SI_CHAR_LIMIT) {
997
+ console.warn('[SHARED_INSTRUCTIONS_OVERLIMIT] ' + content.length + ' chars exceeds limit of ' + SI_CHAR_LIMIT +
998
+ ' — truncating. Edit ' + source + ' to stay under limit.');
999
+ return content.slice(0, SI_CHAR_LIMIT) + '\n… [truncated — file exceeds ' + SI_CHAR_LIMIT + ' char limit]';
1000
+ }
1001
+ return content;
1002
+ };
1003
+ try {
1004
+ var siMod = await import('file://' + path.join(CWD, 'packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js'));
1005
+ var loader = siMod.sharedInstructionsLoader || (siMod.SharedInstructionsLoader ? new siMod.SharedInstructionsLoader() : null);
1006
+ if (loader) {
1007
+ var sharedInstr = loader.getSharedInstructions(CWD);
1008
+ if (sharedInstr) {
1009
+ var sharedInstrSafe = applySharedInstrLimit(sharedInstr, '.agents/shared_instructions.md');
1010
+ console.log('[SHARED_INSTRUCTIONS] Loaded ' + sharedInstrSafe.length + ' chars from .agents/shared_instructions.md');
1011
+ console.log(sharedInstrSafe);
1012
+ }
1013
+ }
1014
+ } catch (e) {
1015
+ // Try direct filesystem fallback
1016
+ try {
1017
+ var siPath = path.join(CWD, '.agents', 'shared_instructions.md');
1018
+ if (fs.existsSync(siPath)) {
1019
+ var siContent = fs.readFileSync(siPath, 'utf-8');
1020
+ var siContentSafe = applySharedInstrLimit(siContent, siPath);
1021
+ console.log('[SHARED_INSTRUCTIONS] Loaded ' + siContentSafe.length + ' chars from .agents/shared_instructions.md');
1022
+ console.log(siContentSafe);
1023
+ }
1024
+ } catch (e2) { /* non-fatal */ }
1025
+ }
1026
+
1027
+ // Memory Palace — inject L0 (identity) + L1 (essential story) into session context
1028
+ try {
1029
+ var palace = require('./memory-palace.cjs');
1030
+ var palaceContext = palace.wakeUp(CWD);
1031
+ if (palaceContext) {
1032
+ console.log(palaceContext);
1033
+ }
1034
+ } catch (e) { /* non-fatal — palace not available */ }
1035
+
1036
+ // ── Periodic Update Check (once per day) ──────────────────────────────
1037
+ try {
1038
+ var updateCheckFile = path.join(CWD, '.monomind', 'last-update-check.json');
1039
+ var shouldCheck = true;
1040
+ if (fs.existsSync(updateCheckFile)) {
1041
+ var lastCheck = JSON.parse(fs.readFileSync(updateCheckFile, 'utf-8'));
1042
+ var hoursSince = (Date.now() - new Date(lastCheck.timestamp).getTime()) / (1000 * 60 * 60);
1043
+ if (hoursSince < 24) shouldCheck = false;
1044
+ }
1045
+ if (shouldCheck) {
1046
+ // Non-blocking: write marker immediately, check asynchronously
1047
+ fs.mkdirSync(path.join(CWD, '.monomind'), { recursive: true });
1048
+ fs.writeFileSync(updateCheckFile, JSON.stringify({ timestamp: new Date().toISOString() }), 'utf-8');
1049
+ try {
1050
+ var localPkg = path.join(CWD, 'packages/@monomind/cli/package.json');
1051
+ if (fs.existsSync(localPkg)) {
1052
+ var localVer = JSON.parse(fs.readFileSync(localPkg, 'utf-8')).version;
1053
+ if (localVer) {
1054
+ // Non-blocking spawn — never holds the event loop during hook execution
1055
+ var spawnFn = require('child_process').spawn;
1056
+ var child = spawnFn('npm', ['view', '@monomind/cli', 'version'], {
1057
+ stdio: ['ignore', 'pipe', 'ignore'],
1058
+ shell: false,
1059
+ });
1060
+ // Required: without an error listener, ENOENT (npm not in PATH) crashes the process
1061
+ child.on('error', function() {});
1062
+ var out = '';
1063
+ child.stdout.on('data', function(d) { out += d; });
1064
+ child.on('close', function() {
1065
+ var current = out.trim();
1066
+ var pendingUpdatePath = path.join(CWD, '.monomind', 'pending-update.json');
1067
+ if (current && current !== localVer) {
1068
+ // Write result to a sidecar file — picked up on next session-start
1069
+ try {
1070
+ fs.writeFileSync(
1071
+ pendingUpdatePath,
1072
+ JSON.stringify({ from: localVer, to: current, checkedAt: new Date().toISOString() }),
1073
+ 'utf-8'
1074
+ );
1075
+ } catch (e2) {}
1076
+ } else if (current) {
1077
+ // Versions match — clear any stale notification so it doesn't show forever
1078
+ try { fs.unlinkSync(pendingUpdatePath); } catch (e2) {}
1079
+ }
1080
+ });
1081
+ child.unref();
1082
+ }
1083
+ }
1084
+ } catch (e) { /* npm not available — skip silently */ }
1085
+ }
1086
+ // Surface any previously-detected update on every session restore (not just on check day)
1087
+ try {
1088
+ var pendingUpdate = path.join(CWD, '.monomind', 'pending-update.json');
1089
+ if (fs.existsSync(pendingUpdate)) {
1090
+ var upd = JSON.parse(fs.readFileSync(pendingUpdate, 'utf-8'));
1091
+ if (upd && upd.from && upd.to && upd.from !== upd.to) {
1092
+ console.log('[UPDATE_AVAILABLE] @monomind/cli ' + upd.from + ' → ' + upd.to + ' (run: npx monomind update)');
1093
+ }
1094
+ }
1095
+ } catch (e) {}
1096
+ } catch (e) { /* non-fatal */ }
1097
+
1098
+ // ── Daemon Auto-Start Check ────────────────────────────────────────────
1099
+ // If daemon is not running, suggest starting it (or auto-start if config says so)
1100
+ try {
1101
+ var daemonPid = path.join(CWD, '.monomind', 'daemon.pid');
1102
+ var daemonRunning = false;
1103
+ if (fs.existsSync(daemonPid)) {
1104
+ try {
1105
+ var pid = parseInt(fs.readFileSync(daemonPid, 'utf-8').trim(), 10);
1106
+ process.kill(pid, 0); // throws if process doesn't exist
1107
+ daemonRunning = true;
1108
+ } catch (e) { /* pid stale */ }
1109
+ }
1110
+ if (!daemonRunning) {
1111
+ // Check config for autoStart preference
1112
+ var daemonCfg = {};
1113
+ try {
1114
+ var cfgPath = path.join(CWD, 'monomind.config.json');
1115
+ if (fs.existsSync(cfgPath)) daemonCfg = JSON.parse(fs.readFileSync(cfgPath, 'utf-8')).daemon || {};
1116
+ } catch (e) {}
1117
+ if (daemonCfg.autoStart) {
1118
+ // Auto-start daemon in background
1119
+ var spawn = require('child_process').spawn;
1120
+ var child = spawn('npx', ['monomind', 'daemon', 'start'], {
1121
+ cwd: CWD, detached: true, stdio: 'ignore'
1122
+ });
1123
+ child.on('error', function() {});
1124
+ child.unref();
1125
+ console.log('[DAEMON_AUTOSTART] Background daemon started (pid ' + child.pid + ')');
1126
+ } else {
1127
+ console.log('[DAEMON_STOPPED] Background daemon is not running. To auto-start, set daemon.autoStart=true in monomind.config.json or run: npx monomind daemon start');
1128
+ }
1129
+ }
1130
+ } catch (e) { /* non-fatal */ }
1131
+
1132
+ // Token Usage — inject daily/monthly cost summary from JSONL session logs
1133
+ try {
1134
+ var tokenTracker = require('./token-tracker.cjs');
1135
+ var tokenSummary = tokenTracker.quickSummary();
1136
+ if (tokenSummary) {
1137
+ console.log(tokenSummary);
1138
+ }
1139
+ // Write structured cache for statusline (best-effort, non-blocking)
1140
+ try {
1141
+ var tokenData = tokenTracker.quickSummaryData();
1142
+ if (tokenData) {
1143
+ var metricsDir = path.join(CWD, '.monomind', 'metrics');
1144
+ if (!fs.existsSync(metricsDir)) fs.mkdirSync(metricsDir, { recursive: true });
1145
+ tokenData.cachedAt = new Date().toISOString();
1146
+ fs.writeFileSync(path.join(metricsDir, 'token-summary.json'), JSON.stringify(tokenData), 'utf-8');
1147
+ }
1148
+ } catch (_) { /* ignore cache write failure */ }
1149
+ } catch (e) { /* non-fatal — token tracker not available */ }
1150
+
1151
+ // ── Registry Surfacing (SR-001) ─────────────────────────────────────
1152
+ // Show agent registry summary so users know what's available
1153
+ try {
1154
+ var regPath = path.join(CWD, '.monomind', 'registry.json');
1155
+ if (fs.existsSync(regPath)) {
1156
+ var reg = JSON.parse(fs.readFileSync(regPath, 'utf-8'));
1157
+ var agentCount = (reg.agents || []).length;
1158
+ if (agentCount > 0) {
1159
+ console.log('[REGISTRY] ' + agentCount + ' agents available in registry');
1160
+ }
1161
+ }
1162
+ } catch (e) { /* non-fatal */ }
1163
+
1164
+ // ── Monomind Control UI Status ────────────────────────────────────────
1165
+ try {
1166
+ var http = require('http');
1167
+ var controlPort = 4242;
1168
+ var req = http.get('http://localhost:' + controlPort + '/', function(res) {
1169
+ if (res.statusCode === 200) {
1170
+ console.log('[CONTROL_UI] UP — http://localhost:' + controlPort);
1171
+ }
1172
+ res.resume();
1173
+ });
1174
+ req.on('error', function() {
1175
+ console.log('[CONTROL_UI] offline — run: npx monomind mcp start');
1176
+ });
1177
+ req.setTimeout(800, function() { req.destroy(); });
1178
+ } catch (e) { /* non-fatal */ }
1179
+
1180
+ // ── Worker Queue Resume (SR-003) ────────────────────────────────────
1181
+ try {
1182
+ var dispatchDir = path.join(CWD, '.monomind', 'worker-dispatch');
1183
+ if (fs.existsSync(dispatchDir)) {
1184
+ var pendingFiles = fs.readdirSync(dispatchDir).filter(function(f) { return f.startsWith('pending-'); });
1185
+ if (pendingFiles.length > 0) {
1186
+ console.log('[WORKER_RESUME] ' + pendingFiles.length + ' worker dispatch(es) pending from prior session');
1187
+ }
1188
+ }
1189
+ } catch (e) { /* non-fatal */ }
1190
+ },
1191
+
1192
+ 'session-end': async () => {
1193
+ // Consolidate intelligence (with timeout — #1530)
1194
+ if (intelligence && intelligence.consolidate) {
1195
+ var consResult = await runWithTimeout(function() { return intelligence.consolidate(); }, 'intelligence.consolidate()');
1196
+ if (consResult && consResult.entries > 0) {
1197
+ var msg = '[INTELLIGENCE] Consolidated: ' + consResult.entries + ' entries, ' + consResult.edges + ' edges';
1198
+ if (consResult.newEntries > 0) msg += ', ' + consResult.newEntries + ' new';
1199
+ msg += ', PageRank recomputed';
1200
+ console.log(msg);
1201
+ }
1202
+ }
1203
+ try {
1204
+ if (session && session.end) {
1205
+ session.end();
1206
+ } else {
1207
+ console.log('[OK] Session ended');
1208
+ }
1209
+ } catch (e) { console.log('[WARN] Session end failed: ' + e.message); }
1210
+
1211
+ // ── Routing Feedback Loop (SE-001) ────────────────────────────────────
1212
+ // Persist routing accuracy feedback so the router improves over sessions
1213
+ try {
1214
+ var feedbackPath = path.join(CWD, '.monomind', 'routing-feedback.jsonl');
1215
+ var lastRoutePath = path.join(CWD, '.monomind', 'last-route.json');
1216
+ if (fs.existsSync(lastRoutePath)) {
1217
+ var lastRoute = JSON.parse(fs.readFileSync(lastRoutePath, 'utf-8'));
1218
+ var feedbackEntry = {
1219
+ timestamp: new Date().toISOString(),
1220
+ suggestedAgent: lastRoute.agent,
1221
+ confidence: lastRoute.confidence,
1222
+ sessionId: hookInput.sessionId || hookInput.session_id || '',
1223
+ // If intelligence gave feedback during session, it's recorded here
1224
+ intelligenceFeedback: (intelligence && intelligence.getSessionStats) ? intelligence.getSessionStats() : null,
1225
+ };
1226
+ fs.appendFileSync(feedbackPath, JSON.stringify(feedbackEntry) + '\n', 'utf-8');
1227
+ // Rotate: keep last 1000 lines to prevent unbounded growth
1228
+ try {
1229
+ var raw = fs.readFileSync(feedbackPath, 'utf-8');
1230
+ var lines = raw.split('\n').filter(Boolean);
1231
+ if (lines.length > 1000) {
1232
+ fs.writeFileSync(feedbackPath, lines.slice(-1000).join('\n') + '\n', 'utf-8');
1233
+ }
1234
+ } catch (e2) { /* rotation is best-effort */ }
1235
+ }
1236
+ } catch (e) { /* non-fatal */ }
1237
+
1238
+ // Memory Palace tombstone writes removed — redundant with raw session JSONL
1239
+
1240
+ // ── Learning Service Auto-Consolidation ─────────────────────────────
1241
+ // Consolidate learned patterns from short-term to long-term storage
1242
+ try {
1243
+ var learningService = await import('file://' + path.join(__dirname, 'learning-service.mjs'));
1244
+ if (learningService && learningService.consolidate) {
1245
+ var lResult = await runWithTimeout(function() { return learningService.consolidate(); }, 'learning.consolidate()');
1246
+ if (lResult && lResult.promoted > 0) {
1247
+ console.log('[LEARNING] Consolidated: ' + lResult.promoted + ' patterns promoted to long-term');
1248
+ }
1249
+ } else if (learningService && learningService.default && learningService.default.consolidate) {
1250
+ var lResult2 = await runWithTimeout(function() { return learningService.default.consolidate(); }, 'learning.consolidate()');
1251
+ if (lResult2 && lResult2.promoted > 0) {
1252
+ console.log('[LEARNING] Consolidated: ' + lResult2.promoted + ' patterns promoted to long-term');
1253
+ }
1254
+ }
1255
+ } catch (e) { /* non-fatal — learning-service may need better-sqlite3 */ }
1256
+
1257
+ // ── Context Persistence Auto-Archive ─────────────────────────────────
1258
+ // Archive conversation context so it survives compaction and new sessions
1259
+ try {
1260
+ var cpHook = await import('file://' + path.join(__dirname, 'context-persistence-hook.mjs'));
1261
+ if (cpHook && cpHook.archive) {
1262
+ await runWithTimeout(function() { return cpHook.archive(); }, 'context-persistence.archive()');
1263
+ console.log('[CONTEXT_PERSIST] Session transcript archived');
1264
+ } else if (cpHook && cpHook.default && cpHook.default.archive) {
1265
+ await runWithTimeout(function() { return cpHook.default.archive(); }, 'context-persistence.archive()');
1266
+ console.log('[CONTEXT_PERSIST] Session transcript archived');
1267
+ }
1268
+ } catch (e) { /* non-fatal — context-persistence may not export archive() */ }
1269
+
1270
+ // ── Worker Queue Cleanup ─────────────────────────────────────────────
1271
+ // Process and clean up any pending worker dispatch files
1272
+ try {
1273
+ var dispatchDir = path.join(CWD, '.monomind', 'worker-dispatch');
1274
+ if (fs.existsSync(dispatchDir)) {
1275
+ var pending = fs.readdirSync(dispatchDir).filter(function(f) { return f.startsWith('pending-'); });
1276
+ if (pending.length > 0) {
1277
+ console.log('[WORKER_CLEANUP] ' + pending.length + ' worker dispatch(es) pending from this session');
1278
+ }
1279
+ // Move to processed
1280
+ var processedDir = path.join(dispatchDir, 'processed');
1281
+ fs.mkdirSync(processedDir, { recursive: true });
1282
+ pending.forEach(function(f) {
1283
+ try {
1284
+ fs.renameSync(path.join(dispatchDir, f), path.join(processedDir, f));
1285
+ } catch (e) { /* ignore */ }
1286
+ });
1287
+ // Trim processed/ to last 200 files to prevent unbounded growth
1288
+ try {
1289
+ var processedFiles = fs.readdirSync(processedDir)
1290
+ .filter(function(f) { return f.startsWith('pending-'); })
1291
+ .map(function(f) { var fp = path.join(processedDir, f); var mt = 0; try { mt = fs.statSync(fp).mtimeMs; } catch(e2){} return { f: f, mt: mt }; })
1292
+ .sort(function(a, b) { return a.mt - b.mt; });
1293
+ if (processedFiles.length > 200) {
1294
+ processedFiles.slice(0, processedFiles.length - 200).forEach(function(item) {
1295
+ try { fs.unlinkSync(path.join(processedDir, item.f)); } catch (e2) { /* ignore */ }
1296
+ });
1297
+ }
1298
+ } catch (e2) { /* non-fatal */ }
1299
+ }
1300
+ } catch (e) { /* non-fatal */ }
1301
+ },
1302
+
1303
+ 'pre-task': async () => {
1304
+ if (session && session.metric) {
1305
+ try { session.metric('tasks'); } catch (e) { /* no active session */ }
1306
+ }
1307
+
1308
+ // ── Task 27: PerRunModelTier — inline complexity scoring ───────────────
1309
+ var taskStr = typeof prompt === 'string' ? prompt : '';
1310
+ if (taskStr) {
1311
+ var score = 50;
1312
+ var lower = taskStr.toLowerCase();
1313
+ var words = taskStr.trim().split(/\s+/).length;
1314
+ if (words < 20) score -= 20;
1315
+ if (words > 100) score += 20;
1316
+ if (words > 200) score += 10;
1317
+ var highKw = ['architecture','distributed','security audit','cve','consensus','fault-tolerant','migrate','refactor across','orchestrat','design system','database schema','performance optim','threat model','encryption','zero-knowledge'];
1318
+ var lowKwRe = /\b(format|list|rename|sort|typo|lint|log|comment|print|echo|delete unused|remove import)\b/i;
1319
+ if (highKw.some(function(k) { return lower.includes(k); })) score += 10;
1320
+ if (lowKwRe.test(lower)) score -= 10;
1321
+ if (/(?:step\s*\d|first[\s,].*then[\s,]|phase\s*\d)/i.test(taskStr)) score += 10;
1322
+ if (/```[\s\S]*?```/.test(taskStr) || /\b[\w.-]+\/[\w./-]+\b/.test(taskStr)) score += 5;
1323
+ score = Math.max(0, Math.min(100, score));
1324
+ var tier = score < 30 ? 'haiku' : score > 70 ? 'opus' : 'sonnet';
1325
+ console.log('[TASK_MODEL_RECOMMENDATION] Use model="' + tier + '" (complexity=' + score + ')');
1326
+ }
1327
+ // Task 06: AutoRetry — signal retry policy only if coordinator path is active
1328
+ if (hookInput.swarmCoordinator || hookInput.coordinator || hookInput.useRetry) {
1329
+ console.log('[AUTO_RETRY_ENABLED] maxAttempts=3 strategy=exponential-backoff backoffMs=1000');
1330
+ }
1331
+
1332
+ if (router && prompt) {
1333
+ var routeFn = router.routeTaskSemantic || router.routeTask;
1334
+ var result = await Promise.resolve(routeFn(prompt));
1335
+ console.log('[INFO] Task routed to: ' + result.agent + ' (confidence: ' + result.confidence + ')');
1336
+ } else {
1337
+ console.log('[OK] Task started');
1338
+ }
1339
+
1340
+ // Task 24: PromptVersioning — resolve prompt variant before agent spawn
1341
+ try {
1342
+ var memMod = await import('@monomind/memory');
1343
+ if (memMod && memMod.PromptVersionStore) {
1344
+ var pvStore = new memMod.PromptVersionStore(path.join(CWD, '.monomind', 'prompt-versions'));
1345
+ var pvMod = await import('file://' + path.join(CWD, 'packages/@monomind/cli/dist/src/agents/prompt-experiment.js'));
1346
+ if (pvMod && pvMod.PromptExperimentRouter) {
1347
+ var pvRouter = new pvMod.PromptExperimentRouter(pvStore);
1348
+ var agentSlug24 = hookInput.agentSlug || hookInput.agentType || hookInput.agent_type || 'unknown';
1349
+ if (agentSlug24 !== 'unknown') {
1350
+ var resolved = pvRouter.resolvePromptForSpawn(agentSlug24);
1351
+ if (resolved.version) {
1352
+ console.log('[PROMPT_VERSION] ' + agentSlug24 + ' v' + resolved.version + (resolved.isCandidate ? ' (experiment candidate)' : ''));
1353
+ }
1354
+ }
1355
+ }
1356
+ }
1357
+ } catch (e) { /* not available or no experiment */ }
1358
+
1359
+ // Monograph impact — detect changed files and surface their dependents
1360
+ try {
1361
+ var mgDbPath1 = path.join(CWD, '.monomind', 'monograph.db');
1362
+ if (fs.existsSync(mgDbPath1)) {
1363
+ var execSync1 = require('child_process').execSync;
1364
+ var changedFiles1 = '';
1365
+ try { changedFiles1 = execSync1('git diff --name-only HEAD 2>/dev/null || git diff --name-only 2>/dev/null', { cwd: CWD, timeout: 3000, shell: true }).toString().trim(); } catch(e) {}
1366
+ if (changedFiles1) {
1367
+ var mgMod1 = null;
1368
+ mgMod1 = _requireMonograph();
1369
+ if (mgMod1 && mgMod1.openDb) {
1370
+ var db1 = mgMod1.openDb(mgDbPath1);
1371
+ try {
1372
+ var fileList1 = changedFiles1.split('\n').filter(Boolean).slice(0, 8);
1373
+ var impacted1 = [];
1374
+ for (var fi = 0; fi < fileList1.length; fi++) {
1375
+ var fBase = path.basename(fileList1[fi]);
1376
+ var fNode = db1.prepare("SELECT id, name, label FROM nodes WHERE file_path LIKE ? LIMIT 1").get('%' + fBase);
1377
+ if (fNode) {
1378
+ var fImporters = db1.prepare(
1379
+ 'SELECT n2.name FROM edges e JOIN nodes n2 ON n2.id = e.source_id WHERE e.target_id = ? LIMIT 5'
1380
+ ).all(fNode.id);
1381
+ var entry = fNode.name + ' (' + fNode.label + ')';
1382
+ if (fImporters.length) entry += ' ← ' + fImporters.map(function(i){ return i.name; }).join(', ');
1383
+ impacted1.push(entry);
1384
+ }
1385
+ }
1386
+ if (impacted1.length > 0) {
1387
+ console.log('[MONOGRAPH_IMPACT] Changed files and their dependents: ' + impacted1.join(' | '));
1388
+ }
1389
+
1390
+ // Effective blast radius — second pass using first impacted node
1391
+ try {
1392
+ if (fileList1.length > 0 && mgMod1.effectiveBlastRadius) {
1393
+ var firstFile1 = path.basename(fileList1[0]);
1394
+ var firstNode1 = db1.prepare("SELECT id, name, label FROM nodes WHERE file_path LIKE ? LIMIT 1").get('%' + firstFile1);
1395
+ if (firstNode1) {
1396
+ var blastResults1 = mgMod1.effectiveBlastRadius(db1, firstNode1.id, { maxDepth: 4 });
1397
+ if (blastResults1 && blastResults1.length > 0) {
1398
+ var bwdCount1 = blastResults1.filter(function(r){ return r.direction === 'backward' || r.direction === 'both'; }).length;
1399
+ var fwdCount1 = blastResults1.filter(function(r){ return r.direction === 'forward' || r.direction === 'both'; }).length;
1400
+ var topBlast1 = blastResults1.slice(0, 8).map(function(r){
1401
+ return '[' + r.direction + ':' + r.hops + '] ' + r.nodeName + ' (' + r.nodeLabel + ')';
1402
+ });
1403
+ console.log('[MONOGRAPH_BLAST_RADIUS] Node: ' + firstNode1.name + ' | forward=' + fwdCount1 + ' backward=' + bwdCount1 + ' | ' + topBlast1.join(', '));
1404
+ }
1405
+ }
1406
+ }
1407
+ } catch(blastErr) { /* non-fatal */ }
1408
+ } finally { if (mgMod1.closeDb) mgMod1.closeDb(db1); }
1409
+ }
1410
+ }
1411
+ }
1412
+ } catch(e) { /* non-fatal */ }
1413
+
1414
+ // Bridge to @monomind/hooks registry — fires Tasks 26 (PromptAssembler) and any other PreTask hooks
1415
+ if (_hooksModule && _hooksModule.executeHooks && _hooksModule.HookEvent) {
1416
+ try {
1417
+ await _hooksModule.executeHooks(_hooksModule.HookEvent.PreTask, {
1418
+ task: typeof prompt === 'string' ? { description: prompt, id: hookInput.taskId || '' } : null,
1419
+ sessionId: hookInput.sessionId || hookInput.session_id || 'default',
1420
+ }, { continueOnError: true, timeout: 2000 });
1421
+ } catch (e) { /* non-fatal */ }
1422
+ }
1423
+ },
1424
+
1425
+ 'post-task': async () => {
1426
+ var taskSuccess = hookInput.success !== false && hookInput.status !== 'failed';
1427
+ if (intelligence && intelligence.feedback) {
1428
+ try {
1429
+ intelligence.feedback(true);
1430
+ } catch (e) { /* non-fatal */ }
1431
+ }
1432
+ // Each TeammateIdle/TaskCompleted = one agent done → remove oldest registration (FIFO)
1433
+ const regDir = path.join(CWD, '.monomind', 'agents', 'registrations');
1434
+ try {
1435
+ if (fs.existsSync(regDir)) {
1436
+ const files = fs.readdirSync(regDir).filter(f => f.endsWith('.json'));
1437
+ if (files.length > 0) {
1438
+ // Sort by mtime ascending (oldest first) and remove the oldest one
1439
+ const sorted = files
1440
+ .map(f => ({ f, mtime: (() => { try { return fs.statSync(path.join(regDir, f)).mtimeMs; } catch { return 0; } })() }))
1441
+ .sort((a, b) => a.mtime - b.mtime);
1442
+ try { fs.unlinkSync(path.join(regDir, sorted[0].f)); } catch { /* ignore */ }
1443
+ }
1444
+ // Also purge any stragglers older than 30 min
1445
+ const now = Date.now();
1446
+ for (const f of fs.readdirSync(regDir).filter(f => f.endsWith('.json'))) {
1447
+ try { if (now - fs.statSync(path.join(regDir, f)).mtimeMs > 30 * 60 * 1000) fs.unlinkSync(path.join(regDir, f)); } catch { /* ignore */ }
1448
+ }
1449
+ const remaining = fs.readdirSync(regDir).filter(f => f.endsWith('.json')).length;
1450
+ const _actPath = path.join(CWD, '.monomind', 'metrics', 'swarm-activity.json');
1451
+ let _prevLastActive = 0;
1452
+ try { _prevLastActive = (JSON.parse(fs.readFileSync(_actPath, 'utf-8'))?.swarm?.lastActive) || 0; } catch { /* ignore */ }
1453
+ fs.writeFileSync(_actPath, JSON.stringify({
1454
+ timestamp: new Date().toISOString(),
1455
+ swarm: {
1456
+ active: remaining > 0,
1457
+ agent_count: remaining,
1458
+ coordination_active: remaining > 0,
1459
+ lastActive: Math.max(remaining, _prevLastActive), // preserve peak across completion
1460
+ },
1461
+ }));
1462
+ }
1463
+ } catch (e) { /* non-fatal */ }
1464
+ // Bridge to @monomind/hooks registry — fires Tasks 39 (SpecializationScorer) and any other PostTask hooks
1465
+ if (_hooksModule && _hooksModule.executeHooks && _hooksModule.HookEvent) {
1466
+ try {
1467
+ await _hooksModule.executeHooks(_hooksModule.HookEvent.PostTask, {
1468
+ task: {
1469
+ id: hookInput.taskId || hookInput.task_id || '',
1470
+ status: taskSuccess ? 'completed' : 'failed',
1471
+ agentSlug: hookInput.agentSlug || hookInput.agent_slug || 'unknown',
1472
+ type: hookInput.taskType || hookInput.task_type || 'general',
1473
+ },
1474
+ success: taskSuccess,
1475
+ latencyMs: hookInput.latencyMs || hookInput.latency_ms || 0,
1476
+ qualityScore: hookInput.qualityScore || hookInput.quality_score,
1477
+ }, { continueOnError: true, timeout: 2000 });
1478
+ } catch (e) { /* non-fatal */ }
1479
+ }
1480
+ // Task 35: TerminationConditions — detect halted swarms via halt-signal
1481
+ try {
1482
+ var haltMod = await import('file://' + path.join(CWD, 'packages/@monomind/cli/dist/src/agents/halt-signal.js'));
1483
+ if (haltMod && haltMod.isHalted) {
1484
+ var swarmId35 = hookInput.swarmId || hookInput.swarm_id || 'default';
1485
+ if (haltMod.isHalted(swarmId35)) {
1486
+ console.warn('[HALT_DETECTED] Swarm ' + swarmId35 + ' has an active halt signal — agents should stop');
1487
+ }
1488
+ }
1489
+ } catch (e) {
1490
+ // Try direct file check
1491
+ try {
1492
+ var haltFile = path.join(CWD, 'data', 'halt-signals.jsonl');
1493
+ if (fs.existsSync(haltFile)) {
1494
+ var haltLines = fs.readFileSync(haltFile, 'utf-8').trim().split('\n').filter(Boolean);
1495
+ if (haltLines.length > 0) {
1496
+ console.warn('[HALT_DETECTED] ' + haltLines.length + ' halt signal(s) present');
1497
+ }
1498
+ }
1499
+ } catch (e2) { /* non-fatal */ }
1500
+ }
1501
+
1502
+ // Task 37: DeadLetterQueue — enqueue failed tasks when retries exhausted
1503
+ try {
1504
+ if (!taskSuccess) {
1505
+ var dlqMod = await import('file://' + path.join(CWD, 'packages/@monomind/cli/dist/src/dlq/dlq-writer.js'));
1506
+ if (dlqMod && dlqMod.DLQWriter) {
1507
+ var dlqDir = path.join(CWD, '.monomind', 'dlq');
1508
+ var dlqWriter = new dlqMod.DLQWriter(dlqDir);
1509
+ dlqWriter.enqueue({
1510
+ toolName: 'post-task',
1511
+ originalPayload: { taskId: hookInput.taskId || '', agentSlug: hookInput.agentSlug || 'unknown' },
1512
+ deliveryAttempts: [{ attempt: 1, timestamp: new Date().toISOString(), error: hookInput.error || 'task failed' }],
1513
+ agentId: hookInput.agentSlug || hookInput.agent_slug,
1514
+ swarmId: hookInput.swarmId || hookInput.swarm_id,
1515
+ });
1516
+ console.log('[DLQ_ENQUEUED] Failed task ' + (hookInput.taskId || 'unknown') + ' sent to dead-letter queue');
1517
+ }
1518
+ }
1519
+ } catch (e) { /* non-fatal */ }
1520
+
1521
+ // Memory Palace task drawer writes removed — use auto-memory files for task context
1522
+
1523
+ // ── Worker Auto-Dispatch ──────────────────────────────────────────────
1524
+ // Auto-dispatch background workers based on task outcome
1525
+ try {
1526
+ var taskDesc = (typeof prompt === 'string' ? prompt : hookInput.description || '').toLowerCase();
1527
+ var workersToDispatch = [];
1528
+
1529
+ // Always consolidate memory after any task
1530
+ workersToDispatch.push('consolidate');
1531
+
1532
+ // Security-related task → dispatch audit worker
1533
+ if (/\b(security|auth|vuln|cve|threat|token|permission|crypto)\b/.test(taskDesc)) {
1534
+ workersToDispatch.push('audit');
1535
+ }
1536
+ // Performance-related → dispatch benchmark worker
1537
+ if (/\b(performance|optimiz|benchmark|latency|throughput)\b/.test(taskDesc)) {
1538
+ workersToDispatch.push('benchmark');
1539
+ }
1540
+ // Code changes → dispatch testgaps worker
1541
+ if (/\b(implement|feature|refactor|fix|build|add|create|modify)\b/.test(taskDesc)) {
1542
+ workersToDispatch.push('testgaps');
1543
+ }
1544
+ // Any significant task → dispatch map worker for codebase indexing
1545
+ if (taskDesc.length > 50) {
1546
+ workersToDispatch.push('map');
1547
+ }
1548
+
1549
+ // Dispatch via @monomind/hooks if available, otherwise write dispatch file
1550
+ if (workersToDispatch.length > 0) {
1551
+ var dispatchDir = path.join(CWD, '.monomind', 'worker-dispatch');
1552
+ fs.mkdirSync(dispatchDir, { recursive: true });
1553
+ var dispatchPayload = {
1554
+ workers: workersToDispatch,
1555
+ trigger: 'post-task',
1556
+ taskDesc: taskDesc.substring(0, 100),
1557
+ success: taskSuccess,
1558
+ timestamp: new Date().toISOString(),
1559
+ };
1560
+ fs.writeFileSync(
1561
+ path.join(dispatchDir, 'pending-' + Date.now() + '-' + Math.random().toString(36).slice(2, 7) + '.json'),
1562
+ JSON.stringify(dispatchPayload), 'utf-8'
1563
+ );
1564
+ console.log('[WORKER_DISPATCH] Queued: ' + workersToDispatch.join(', '));
1565
+ }
1566
+ } catch (e) { /* non-fatal */ }
1567
+
1568
+ // ── ADR Auto-Generation ────────────────────────────────────────────────
1569
+ // When adr.autoGenerate is true and task involved architect-level work,
1570
+ // create an ADR stub in the configured directory
1571
+ try {
1572
+ var settingsPath = path.join(CWD, '.claude', 'settings.json');
1573
+ var adrCfg = {};
1574
+ if (fs.existsSync(settingsPath)) {
1575
+ var s = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
1576
+ adrCfg = (s.monomind && s.monomind.adr) || {};
1577
+ }
1578
+ if (adrCfg.autoGenerate) {
1579
+ var taskAgent = hookInput.agentSlug || hookInput.agent_slug || '';
1580
+ var taskDescAdr = (typeof prompt === 'string' ? prompt : hookInput.description || '').toLowerCase();
1581
+ var isArchitectLevel = ['architect', 'system-architect', 'software-architect'].includes(taskAgent)
1582
+ || /\b(architecture|design decision|adr|trade-?off|migration strategy)\b/.test(taskDescAdr);
1583
+ if (isArchitectLevel && taskDescAdr.length > 30) {
1584
+ var adrDir = path.join(CWD, adrCfg.directory || 'docs/adrs');
1585
+ fs.mkdirSync(adrDir, { recursive: true });
1586
+ var adrNum = (fs.readdirSync(adrDir).filter(function(f) { return f.endsWith('.md'); }).length + 1)
1587
+ .toString().padStart(4, '0');
1588
+ var adrTitle = taskDescAdr.substring(0, 60).replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
1589
+ var adrFile = path.join(adrDir, 'ADR-' + adrNum + '-' + adrTitle + '.md');
1590
+ if (!fs.existsSync(adrFile)) {
1591
+ var adrContent = '# ADR-' + adrNum + ': ' + (typeof prompt === 'string' ? prompt.substring(0, 80) : adrTitle) + '\n\n'
1592
+ + '**Date:** ' + new Date().toISOString().slice(0, 10) + '\n'
1593
+ + '**Status:** Accepted\n'
1594
+ + '**Agent:** ' + (taskAgent || 'unknown') + '\n\n'
1595
+ + '## Context\n\nAuto-generated from task completion.\n\n'
1596
+ + '## Decision\n\n_Fill in the decision made._\n\n'
1597
+ + '## Consequences\n\n_Fill in the consequences._\n';
1598
+ fs.writeFileSync(adrFile, adrContent, 'utf-8');
1599
+ console.log('[ADR_GENERATED] ' + path.basename(adrFile));
1600
+ }
1601
+ }
1602
+ }
1603
+ } catch (e) { /* non-fatal */ }
1604
+
1605
+ console.log('[OK] Task completed');
1606
+ },
1607
+
1608
+ 'compact-manual': async () => {
1609
+ // Consolidate intelligence before compaction so patterns survive
1610
+ if (intelligence && intelligence.consolidate) {
1611
+ try { await runWithTimeout(function() { return intelligence.consolidate(); }, 'intelligence.consolidate()'); } catch (e) { /* non-fatal */ }
1612
+ }
1613
+ // Save current routing context for post-compact restore
1614
+ try {
1615
+ var lastRoute = path.join(CWD, '.monomind', 'last-route.json');
1616
+ if (fs.existsSync(lastRoute)) {
1617
+ var route = JSON.parse(fs.readFileSync(lastRoute, 'utf-8'));
1618
+ console.log('[COMPACT_CONTEXT] Last route: ' + route.agent + ' (' + (route.confidence != null ? (route.confidence * 100).toFixed(0) : '?') + '%)');
1619
+ }
1620
+ } catch (e) { /* non-fatal */ }
1621
+ console.log('[COMPACT] Manual compaction — intelligence consolidated, context preserved');
1622
+ },
1623
+
1624
+ 'compact-auto': async () => {
1625
+ // Same consolidation for auto-compact
1626
+ if (intelligence && intelligence.consolidate) {
1627
+ try { await runWithTimeout(function() { return intelligence.consolidate(); }, 'intelligence.consolidate()'); } catch (e) { /* non-fatal */ }
1628
+ }
1629
+ try {
1630
+ var lastRoute = path.join(CWD, '.monomind', 'last-route.json');
1631
+ if (fs.existsSync(lastRoute)) {
1632
+ var route = JSON.parse(fs.readFileSync(lastRoute, 'utf-8'));
1633
+ console.log('[COMPACT_CONTEXT] Last route: ' + route.agent + ' (' + (route.confidence != null ? (route.confidence * 100).toFixed(0) : '?') + '%)');
1634
+ }
1635
+ } catch (e) { /* non-fatal */ }
1636
+ console.log('[COMPACT] Auto compaction — intelligence consolidated, context preserved');
1637
+ console.log('GOLDEN RULE: 1 message = all parallel operations');
1638
+ },
1639
+
1640
+ 'agent-start': () => {
1641
+ // Called by SubagentStart hook — register this agent so the statusline can count it
1642
+ const regDir = path.join(CWD, '.monomind', 'agents', 'registrations');
1643
+ try {
1644
+ fs.mkdirSync(regDir, { recursive: true });
1645
+ const id = Date.now() + '-' + Math.random().toString(36).slice(2, 6);
1646
+ const regFile = path.join(regDir, 'agent-' + id + '.json');
1647
+ fs.writeFileSync(regFile, JSON.stringify({
1648
+ agentId: id,
1649
+ startedAt: new Date().toISOString(),
1650
+ pid: process.pid,
1651
+ }));
1652
+ // Also refresh swarm-activity.json so it's within the 5-min staleness window
1653
+ const activityDir = path.join(CWD, '.monomind', 'metrics');
1654
+ fs.mkdirSync(activityDir, { recursive: true });
1655
+ const activityPath = path.join(activityDir, 'swarm-activity.json');
1656
+ const active = fs.readdirSync(regDir).filter(f => f.endsWith('.json')).length;
1657
+ // Preserve lastActive (peak) across agent lifecycle so statusline shows non-zero after completion
1658
+ let prevLastActive = 0;
1659
+ try { prevLastActive = (JSON.parse(fs.readFileSync(activityPath, 'utf-8'))?.swarm?.lastActive) || 0; } catch { /* ignore */ }
1660
+ fs.writeFileSync(activityPath, JSON.stringify({
1661
+ timestamp: new Date().toISOString(),
1662
+ swarm: {
1663
+ active: active > 0,
1664
+ agent_count: active,
1665
+ coordination_active: active > 0,
1666
+ lastActive: Math.max(active, prevLastActive),
1667
+ },
1668
+ }));
1669
+
1670
+ // Write last-dispatch.json so the route handler can suppress redundant suggestions
1671
+ // on the next turn when the same type of agent is recommended.
1672
+ const agentType = hookInput.subagent_type || hookInput.agentType || hookInput.agent_type || hookInput.agentSlug || 'unknown';
1673
+ const agentDesc = hookInput.description || hookInput.prompt_description || '';
1674
+ fs.writeFileSync(
1675
+ path.join(CWD, '.monomind', 'last-dispatch.json'),
1676
+ JSON.stringify({
1677
+ agentType: agentType,
1678
+ description: agentDesc.substring(0, 120),
1679
+ dispatchedAt: new Date().toISOString(),
1680
+ }),
1681
+ 'utf-8'
1682
+ );
1683
+ } catch (e) { /* non-fatal — never block a subagent from starting */ }
1684
+ console.log('[OK] Agent registered');
1685
+ },
1686
+
1687
+ 'status': () => {
1688
+ console.log('[OK] Status check');
1689
+ },
1690
+
1691
+ 'stats': async () => {
1692
+ if (intelligence && intelligence.stats) {
1693
+ await Promise.resolve(intelligence.stats(args.includes('--json')));
1694
+ } else {
1695
+ console.log('[WARN] Intelligence module not available. Run session-restore first.');
1696
+ }
1697
+ },
1698
+ };
1699
+
1700
+ if (command && handlers[command]) {
1701
+ try {
1702
+ await Promise.resolve(handlers[command]());
1703
+ } catch (e) {
1704
+ console.log('[WARN] Hook ' + command + ' encountered an error: ' + e.message);
1705
+ }
1706
+ } else if (command) {
1707
+ console.log('[OK] Hook: ' + command);
1708
+ } else {
1709
+ console.log('Usage: hook-handler.cjs <route|pre-bash|post-edit|session-restore|session-end|pre-task|post-task|compact-manual|compact-auto|status|stats>');
1710
+ }
1711
+ }
1712
+
1713
+ main().catch(function(e) {
1714
+ console.log('[WARN] Hook handler error: ' + e.message);
1715
+ }).finally(function() {
1716
+ // Ensure clean exit for Claude Code hooks
1717
+ process.exit(0);
1718
+ });