claude-flow 3.10.3 → 3.10.4

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 (2673) hide show
  1. package/.claude/helpers/statusline.cjs +299 -606
  2. package/package.json +1 -1
  3. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +287 -642
  4. package/v3/@claude-flow/cli/package.json +1 -1
  5. package/.claude/settings.local.json +0 -10
  6. package/.claude/worktrees/adr-120-impl/.agents/README.md +0 -38
  7. package/.claude/worktrees/adr-120-impl/.agents/config.toml +0 -298
  8. package/.claude/worktrees/adr-120-impl/.agents/skills/memory-management/scripts/memory-backup.sh +0 -16
  9. package/.claude/worktrees/adr-120-impl/.agents/skills/memory-management/scripts/memory-consolidate.sh +0 -11
  10. package/.claude/worktrees/adr-120-impl/.agents/skills/security-audit/scripts/cve-remediate.sh +0 -16
  11. package/.claude/worktrees/adr-120-impl/.agents/skills/security-audit/scripts/security-scan.sh +0 -33
  12. package/.claude/worktrees/adr-120-impl/.agents/skills/sparc-methodology/scripts/sparc-init.sh +0 -21
  13. package/.claude/worktrees/adr-120-impl/.agents/skills/sparc-methodology/scripts/sparc-review.sh +0 -18
  14. package/.claude/worktrees/adr-120-impl/.agents/skills/swarm-orchestration/scripts/swarm-monitor.sh +0 -8
  15. package/.claude/worktrees/adr-120-impl/.agents/skills/swarm-orchestration/scripts/swarm-start.sh +0 -14
  16. package/.claude/worktrees/adr-120-impl/.claude/checkpoints/1767754460.json +0 -8
  17. package/.claude/worktrees/adr-120-impl/.claude/commands/agents/README.md +0 -10
  18. package/.claude/worktrees/adr-120-impl/.claude/commands/analysis/README.md +0 -9
  19. package/.claude/worktrees/adr-120-impl/.claude/commands/automation/README.md +0 -9
  20. package/.claude/worktrees/adr-120-impl/.claude/commands/coordination/README.md +0 -9
  21. package/.claude/worktrees/adr-120-impl/.claude/commands/github/README.md +0 -11
  22. package/.claude/worktrees/adr-120-impl/.claude/commands/hive-mind/README.md +0 -17
  23. package/.claude/worktrees/adr-120-impl/.claude/commands/hooks/README.md +0 -11
  24. package/.claude/worktrees/adr-120-impl/.claude/commands/memory/README.md +0 -9
  25. package/.claude/worktrees/adr-120-impl/.claude/commands/monitoring/README.md +0 -9
  26. package/.claude/worktrees/adr-120-impl/.claude/commands/optimization/README.md +0 -9
  27. package/.claude/worktrees/adr-120-impl/.claude/commands/pair/README.md +0 -261
  28. package/.claude/worktrees/adr-120-impl/.claude/commands/swarm/README.md +0 -15
  29. package/.claude/worktrees/adr-120-impl/.claude/commands/training/README.md +0 -9
  30. package/.claude/worktrees/adr-120-impl/.claude/commands/workflows/README.md +0 -9
  31. package/.claude/worktrees/adr-120-impl/.claude/config/v3-dependency-optimization.json +0 -266
  32. package/.claude/worktrees/adr-120-impl/.claude/config/v3-performance-targets.json +0 -251
  33. package/.claude/worktrees/adr-120-impl/.claude/helpers/README.md +0 -97
  34. package/.claude/worktrees/adr-120-impl/.claude/helpers/adr-compliance.sh +0 -186
  35. package/.claude/worktrees/adr-120-impl/.claude/helpers/aggressive-microcompact.mjs +0 -36
  36. package/.claude/worktrees/adr-120-impl/.claude/helpers/auto-commit.sh +0 -178
  37. package/.claude/worktrees/adr-120-impl/.claude/helpers/auto-memory-hook.mjs +0 -564
  38. package/.claude/worktrees/adr-120-impl/.claude/helpers/checkpoint-manager.sh +0 -251
  39. package/.claude/worktrees/adr-120-impl/.claude/helpers/context-persistence-hook.mjs +0 -1979
  40. package/.claude/worktrees/adr-120-impl/.claude/helpers/daemon-manager.sh +0 -252
  41. package/.claude/worktrees/adr-120-impl/.claude/helpers/ddd-tracker.sh +0 -144
  42. package/.claude/worktrees/adr-120-impl/.claude/helpers/github-safe.js +0 -106
  43. package/.claude/worktrees/adr-120-impl/.claude/helpers/github-setup.sh +0 -28
  44. package/.claude/worktrees/adr-120-impl/.claude/helpers/guidance-hook.sh +0 -13
  45. package/.claude/worktrees/adr-120-impl/.claude/helpers/guidance-hooks.sh +0 -102
  46. package/.claude/worktrees/adr-120-impl/.claude/helpers/health-monitor.sh +0 -108
  47. package/.claude/worktrees/adr-120-impl/.claude/helpers/hook-handler.cjs +0 -266
  48. package/.claude/worktrees/adr-120-impl/.claude/helpers/intelligence.cjs +0 -230
  49. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-hooks.sh +0 -329
  50. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-optimizer.sh +0 -127
  51. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-service.mjs +0 -1144
  52. package/.claude/worktrees/adr-120-impl/.claude/helpers/memory.cjs +0 -84
  53. package/.claude/worktrees/adr-120-impl/.claude/helpers/metrics-db.mjs +0 -488
  54. package/.claude/worktrees/adr-120-impl/.claude/helpers/patch-aggressive-prune.mjs +0 -184
  55. package/.claude/worktrees/adr-120-impl/.claude/helpers/pattern-consolidator.sh +0 -86
  56. package/.claude/worktrees/adr-120-impl/.claude/helpers/perf-worker.sh +0 -160
  57. package/.claude/worktrees/adr-120-impl/.claude/helpers/quick-start.sh +0 -19
  58. package/.claude/worktrees/adr-120-impl/.claude/helpers/router.cjs +0 -62
  59. package/.claude/worktrees/adr-120-impl/.claude/helpers/security-scanner.sh +0 -127
  60. package/.claude/worktrees/adr-120-impl/.claude/helpers/session.cjs +0 -125
  61. package/.claude/worktrees/adr-120-impl/.claude/helpers/setup-mcp.sh +0 -18
  62. package/.claude/worktrees/adr-120-impl/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  63. package/.claude/worktrees/adr-120-impl/.claude/helpers/statusline.cjs +0 -830
  64. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-comms.sh +0 -353
  65. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-hooks.sh +0 -761
  66. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-monitor.sh +0 -211
  67. package/.claude/worktrees/adr-120-impl/.claude/helpers/sync-v3-metrics.sh +0 -245
  68. package/.claude/worktrees/adr-120-impl/.claude/helpers/update-v3-progress.sh +0 -166
  69. package/.claude/worktrees/adr-120-impl/.claude/helpers/v3-quick-status.sh +0 -58
  70. package/.claude/worktrees/adr-120-impl/.claude/helpers/v3.sh +0 -111
  71. package/.claude/worktrees/adr-120-impl/.claude/helpers/validate-v3-config.sh +0 -216
  72. package/.claude/worktrees/adr-120-impl/.claude/helpers/worker-manager.sh +0 -170
  73. package/.claude/worktrees/adr-120-impl/.claude/mcp.json +0 -13
  74. package/.claude/worktrees/adr-120-impl/.claude/scheduled_tasks.lock +0 -1
  75. package/.claude/worktrees/adr-120-impl/.claude/settings.json +0 -285
  76. package/.claude/worktrees/adr-120-impl/.claude/settings.json.bak +0 -526
  77. package/.claude/worktrees/adr-120-impl/.claude/settings.local.json +0 -10
  78. package/.claude/worktrees/adr-120-impl/.claude/skills/dual-mode/README.md +0 -71
  79. package/.claude/worktrees/adr-120-impl/.claude/statusline-command.sh +0 -176
  80. package/.claude/worktrees/adr-120-impl/.claude/statusline.mjs +0 -109
  81. package/.claude/worktrees/adr-120-impl/.claude/statusline.sh +0 -431
  82. package/.claude/worktrees/adr-120-impl/.claude-flow/data/pending-insights.jsonl +0 -9
  83. package/.claude/worktrees/adr-120-impl/.claude-plugin/README.md +0 -720
  84. package/.claude/worktrees/adr-120-impl/.claude-plugin/hooks/hooks.json +0 -75
  85. package/.claude/worktrees/adr-120-impl/.claude-plugin/marketplace.json +0 -170
  86. package/.claude/worktrees/adr-120-impl/.claude-plugin/plugin.json +0 -71
  87. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/install.sh +0 -234
  88. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/ruflo-hook.sh +0 -33
  89. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/uninstall.sh +0 -36
  90. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/verify.sh +0 -108
  91. package/.claude/worktrees/adr-120-impl/.githooks/pre-commit +0 -25
  92. package/.claude/worktrees/adr-120-impl/LICENSE +0 -21
  93. package/.claude/worktrees/adr-120-impl/README.md +0 -405
  94. package/.claude/worktrees/adr-120-impl/agentdb.rvf +0 -0
  95. package/.claude/worktrees/adr-120-impl/agentdb.rvf.lock +0 -0
  96. package/.claude/worktrees/adr-120-impl/bin/cli.js +0 -11
  97. package/.claude/worktrees/adr-120-impl/bin/npx-repair.js +0 -7
  98. package/.claude/worktrees/adr-120-impl/bin/npx-safe-launch.js +0 -9
  99. package/.claude/worktrees/adr-120-impl/package-lock.json +0 -13907
  100. package/.claude/worktrees/adr-120-impl/package.json +0 -158
  101. package/.claude/worktrees/adr-120-impl/plugin/.claude-plugin/plugin.json +0 -45
  102. package/.claude/worktrees/adr-120-impl/plugin/hooks/hooks.json +0 -225
  103. package/.claude/worktrees/adr-120-impl/plugin/scripts/ruflo-hook.sh +0 -33
  104. package/.claude/worktrees/adr-120-impl/plugins/README.md +0 -155
  105. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/.claude-plugin/plugin.json +0 -22
  106. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/README.md +0 -86
  107. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/import.mjs +0 -283
  108. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/smoke.sh +0 -130
  109. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/verify.mjs +0 -121
  110. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/.claude-plugin/plugin.json +0 -25
  111. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/README.md +0 -99
  112. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/scripts/smoke.sh +0 -104
  113. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/.claude-plugin/plugin.json +0 -24
  114. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/README.md +0 -221
  115. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/scripts/smoke.sh +0 -204
  116. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/.claude-plugin/plugin.json +0 -22
  117. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/README.md +0 -79
  118. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/scripts/smoke.sh +0 -84
  119. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/.claude-plugin/plugin.json +0 -22
  120. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/README.md +0 -76
  121. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/scripts/smoke.sh +0 -76
  122. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/.claude-plugin/plugin.json +0 -24
  123. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/README.md +0 -129
  124. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/SITES.txt +0 -18
  125. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/replay-spike.sh +0 -155
  126. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/smoke.sh +0 -143
  127. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/.claude-plugin/plugin.json +0 -21
  128. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/README.md +0 -72
  129. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/hooks/hooks.json +0 -75
  130. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/ruflo-hook.sh +0 -33
  131. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/smoke.sh +0 -95
  132. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-cli-no-crash.mjs +0 -103
  133. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-consensus-transport.mjs +0 -108
  134. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-hooks.mjs +0 -129
  135. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-mcp-protocol.mjs +0 -66
  136. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-mcp-roundtrips.mjs +0 -141
  137. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-memory-import.mjs +0 -174
  138. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/history.mjs +0 -105
  139. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/init.mjs +0 -83
  140. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/lib.mjs +0 -300
  141. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/perf.mjs +0 -201
  142. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/regen.mjs +0 -94
  143. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/verify.mjs +0 -155
  144. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/.claude-plugin/plugin.json +0 -36
  145. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/README.md +0 -166
  146. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/bench/booster-corpus.json +0 -244
  147. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/bench.mjs +0 -422
  148. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/budget.mjs +0 -231
  149. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/compact.mjs +0 -153
  150. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/conversation.mjs +0 -106
  151. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/export.mjs +0 -146
  152. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/federation.mjs +0 -134
  153. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/outcome.mjs +0 -43
  154. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/smoke.sh +0 -439
  155. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/summary.mjs +0 -182
  156. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/track.mjs +0 -198
  157. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/trend.mjs +0 -128
  158. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/.claude-plugin/plugin.json +0 -21
  159. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/README.md +0 -69
  160. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/scripts/smoke.sh +0 -77
  161. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/.claude-plugin/plugin.json +0 -23
  162. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/README.md +0 -95
  163. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/scripts/smoke.sh +0 -72
  164. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/.claude-plugin/plugin.json +0 -20
  165. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/README.md +0 -72
  166. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/scripts/smoke.sh +0 -71
  167. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/.claude-plugin/plugin.json +0 -26
  168. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/README.md +0 -99
  169. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/scripts/smoke.sh +0 -86
  170. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/.claude-plugin/plugin.json +0 -26
  171. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/README.md +0 -89
  172. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/scripts/smoke.sh +0 -87
  173. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/.claude-plugin/plugin.json +0 -26
  174. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/README.md +0 -143
  175. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/scripts/smoke.sh +0 -152
  176. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/.claude-plugin/plugin.json +0 -26
  177. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/README.md +0 -181
  178. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/scripts/smoke.sh +0 -95
  179. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/.claude-plugin/plugin.json +0 -22
  180. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/README.md +0 -75
  181. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/scripts/smoke.sh +0 -75
  182. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/.claude-plugin/plugin.json +0 -21
  183. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/README.md +0 -99
  184. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/scripts/smoke.sh +0 -87
  185. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/.claude-plugin/plugin.json +0 -22
  186. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/README.md +0 -95
  187. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/scripts/smoke.sh +0 -95
  188. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/.claude-plugin/plugin.json +0 -21
  189. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/README.md +0 -98
  190. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/scripts/smoke.sh +0 -88
  191. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/.claude-plugin/plugin.json +0 -21
  192. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/README.md +0 -95
  193. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/scripts/smoke.sh +0 -86
  194. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/.claude-plugin/plugin.json +0 -26
  195. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/README.md +0 -232
  196. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/scripts/runtime-smoke.sh +0 -118
  197. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/scripts/smoke.sh +0 -86
  198. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/.claude-plugin/plugin.json +0 -22
  199. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/README.md +0 -98
  200. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/scripts/smoke.sh +0 -86
  201. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/.claude-plugin/plugin.json +0 -21
  202. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/README.md +0 -75
  203. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/scripts/smoke.sh +0 -83
  204. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/.claude-plugin/plugin.json +0 -22
  205. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/README.md +0 -202
  206. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/scripts/smoke.sh +0 -84
  207. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/.claude-plugin/plugin.json +0 -23
  208. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/README.md +0 -262
  209. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/scripts/smoke.sh +0 -76
  210. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/.claude-plugin/plugin.json +0 -22
  211. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/README.md +0 -68
  212. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/scripts/smoke.sh +0 -77
  213. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/.claude-plugin/plugin.json +0 -22
  214. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/README.md +0 -78
  215. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/scripts/smoke.sh +0 -79
  216. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/.claude-plugin/plugin.json +0 -22
  217. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/README.md +0 -69
  218. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/scripts/smoke.sh +0 -79
  219. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/.claude-plugin/plugin.json +0 -22
  220. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/README.md +0 -111
  221. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/scripts/smoke.sh +0 -91
  222. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/.claude-plugin/plugin.json +0 -22
  223. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/README.md +0 -86
  224. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/scripts/smoke.sh +0 -93
  225. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/.claude-plugin/plugin.json +0 -21
  226. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/README.md +0 -74
  227. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/scripts/smoke.sh +0 -79
  228. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/.claude-plugin/plugin.json +0 -22
  229. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/README.md +0 -92
  230. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/scripts/smoke.sh +0 -88
  231. package/.claude/worktrees/adr-120-impl/pnpm-lock.yaml +0 -7395
  232. package/.claude/worktrees/adr-120-impl/ruflo/.env.example +0 -58
  233. package/.claude/worktrees/adr-120-impl/ruflo/README.md +0 -395
  234. package/.claude/worktrees/adr-120-impl/ruflo/assets/ruFlo.png +0 -0
  235. package/.claude/worktrees/adr-120-impl/ruflo/assets/ruflo-small.jpeg +0 -0
  236. package/.claude/worktrees/adr-120-impl/ruflo/bin/ruflo.js +0 -57
  237. package/.claude/worktrees/adr-120-impl/ruflo/docker-compose.yml +0 -109
  238. package/.claude/worktrees/adr-120-impl/ruflo/package.json +0 -98
  239. package/.claude/worktrees/adr-120-impl/ruflo/rvf.manifest.json +0 -253
  240. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/Dockerfile +0 -25
  241. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/patch-mcp-url-safety.sh +0 -28
  242. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/static/chatui/icon-144x144.png +0 -0
  243. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/static/chatui/omni-welcome.gif +0 -0
  244. package/.claude/worktrees/adr-120-impl/ruflo/src/config/config.example.json +0 -76
  245. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/Dockerfile +0 -45
  246. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/index.js +0 -1668
  247. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/mcp-stdio-kernel.js +0 -159
  248. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/package.json +0 -17
  249. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/test-harness.js +0 -470
  250. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/Dockerfile +0 -10
  251. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/nginx.conf +0 -67
  252. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/favicon-dark.svg +0 -4
  253. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/favicon.svg +0 -4
  254. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/icon.svg +0 -5
  255. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/logo.svg +0 -9
  256. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/manifest.json +0 -22
  257. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/welcome.js +0 -184
  258. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.devcontainer/Dockerfile +0 -9
  259. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.devcontainer/devcontainer.json +0 -36
  260. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.dockerignore +0 -17
  261. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.eslintignore +0 -13
  262. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.gcloudignore +0 -18
  263. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.husky/lint-stage-config.js +0 -4
  264. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.husky/pre-commit +0 -2
  265. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.prettierignore +0 -14
  266. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.prettierrc +0 -7
  267. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/Dockerfile +0 -96
  268. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/LICENSE +0 -203
  269. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/README.md +0 -164
  270. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/Chart.yaml +0 -5
  271. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/env/dev.yaml +0 -260
  272. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/env/prod.yaml +0 -273
  273. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/_helpers.tpl +0 -22
  274. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/config.yaml +0 -10
  275. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/deployment.yaml +0 -81
  276. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/hpa.yaml +0 -45
  277. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/infisical.yaml +0 -24
  278. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/ingress-internal.yaml +0 -32
  279. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/ingress.yaml +0 -32
  280. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/network-policy.yaml +0 -36
  281. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service-account.yaml +0 -13
  282. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service-monitor.yaml +0 -17
  283. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service.yaml +0 -21
  284. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/values.yaml +0 -73
  285. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/cloudbuild.yaml +0 -68
  286. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/config/branding.env.example +0 -19
  287. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/docker-compose.yml +0 -21
  288. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/entrypoint.sh +0 -19
  289. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/Dockerfile +0 -45
  290. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/cloudbuild.yaml +0 -49
  291. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/index.js +0 -1878
  292. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/mcp-stdio-kernel.js +0 -159
  293. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/package-lock.json +0 -762
  294. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/package.json +0 -17
  295. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/test-harness.js +0 -470
  296. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/models/add-your-models-here.txt +0 -1
  297. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/package-lock.json +0 -11741
  298. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/package.json +0 -121
  299. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/postcss.config.js +0 -6
  300. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/rvf.manifest.json +0 -204
  301. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/config.ts +0 -64
  302. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/generate-welcome.mjs +0 -181
  303. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/populate.ts +0 -288
  304. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/samples.txt +0 -194
  305. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/setups/vitest-setup-client.ts +0 -0
  306. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/setups/vitest-setup-server.ts +0 -44
  307. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/updateLocalEnv.ts +0 -48
  308. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/ambient.d.ts +0 -7
  309. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/app.d.ts +0 -29
  310. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/app.html +0 -53
  311. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/hooks.server.ts +0 -32
  312. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/hooks.ts +0 -6
  313. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/APIClient.ts +0 -148
  314. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/actions/clickOutside.ts +0 -18
  315. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/actions/snapScrollToBottom.ts +0 -346
  316. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/buildPrompt.ts +0 -33
  317. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/AnnouncementBanner.svelte +0 -20
  318. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/BackgroundGenerationPoller.svelte +0 -168
  319. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/CodeBlock.svelte +0 -73
  320. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/CopyToClipBoardBtn.svelte +0 -92
  321. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/DeleteConversationModal.svelte +0 -75
  322. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/EditConversationModal.svelte +0 -100
  323. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ExpandNavigation.svelte +0 -22
  324. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/FoundationBackground.svelte +0 -242
  325. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/HoverTooltip.svelte +0 -44
  326. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/HtmlPreviewModal.svelte +0 -143
  327. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/InfiniteScroll.svelte +0 -50
  328. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/MobileNav.svelte +0 -300
  329. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Modal.svelte +0 -115
  330. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ModelCardMetadata.svelte +0 -71
  331. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/NavConversationItem.svelte +0 -151
  332. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/NavMenu.svelte +0 -313
  333. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Pagination.svelte +0 -97
  334. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/PaginationArrow.svelte +0 -27
  335. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Portal.svelte +0 -24
  336. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RetryBtn.svelte +0 -18
  337. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RuFloUniverse.svelte +0 -185
  338. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RufloHelpModal.svelte +0 -411
  339. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ScrollToBottomBtn.svelte +0 -47
  340. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ScrollToPreviousBtn.svelte +0 -77
  341. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ShareConversationModal.svelte +0 -182
  342. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/StopGeneratingBtn.svelte +0 -69
  343. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/SubscribeModal.svelte +0 -87
  344. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Switch.svelte +0 -36
  345. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/SystemPromptModal.svelte +0 -44
  346. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Toast.svelte +0 -27
  347. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Tooltip.svelte +0 -30
  348. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/WelcomeModal.svelte +0 -46
  349. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/Alternatives.svelte +0 -77
  350. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/BlockWrapper.svelte +0 -72
  351. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatInput.svelte +0 -490
  352. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatIntroduction.svelte +0 -123
  353. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatMessage.svelte +0 -548
  354. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatWindow.svelte +0 -1057
  355. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/FileDropzone.svelte +0 -92
  356. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ImageLightbox.svelte +0 -66
  357. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MarkdownBlock.svelte +0 -23
  358. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MarkdownRenderer.svelte +0 -69
  359. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MessageAvatar.svelte +0 -103
  360. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ModelSwitch.svelte +0 -64
  361. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/OpenReasoningResults.svelte +0 -81
  362. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/TaskGroup.svelte +0 -88
  363. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ToolUpdate.svelte +0 -273
  364. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/UploadedFile.svelte +0 -253
  365. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/UrlFetchModal.svelte +0 -203
  366. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/VoiceRecorder.svelte +0 -214
  367. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconBurger.svelte +0 -20
  368. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconCheap.svelte +0 -20
  369. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconChevron.svelte +0 -24
  370. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconDazzled.svelte +0 -40
  371. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconFast.svelte +0 -20
  372. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconLoading.svelte +0 -22
  373. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconMCP.svelte +0 -28
  374. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconMoon.svelte +0 -21
  375. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconNew.svelte +0 -20
  376. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconOmni.svelte +0 -90
  377. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconPaperclip.svelte +0 -24
  378. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconPro.svelte +0 -37
  379. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconShare.svelte +0 -21
  380. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconSun.svelte +0 -93
  381. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/Logo.svelte +0 -68
  382. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/LogoHuggingFaceBorderless.svelte +0 -54
  383. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/AddServerForm.svelte +0 -250
  384. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/MCPServerManager.svelte +0 -185
  385. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/ServerCard.svelte +0 -203
  386. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/players/AudioPlayer.svelte +0 -82
  387. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/voice/AudioWaveform.svelte +0 -96
  388. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/wasm/GalleryPanel.svelte +0 -357
  389. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/mcpExamples.ts +0 -114
  390. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/mime.ts +0 -11
  391. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/pagination.ts +0 -1
  392. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/publicSepToken.ts +0 -1
  393. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/routerExamples.ts +0 -133
  394. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/rvagentPresets.ts +0 -206
  395. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/createShareLink.ts +0 -27
  396. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/jobs/refresh-conversation-stats.ts +0 -297
  397. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/lock.ts +0 -56
  398. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/migrations.ts +0 -109
  399. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/01-update-search-assistants.ts +0 -50
  400. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/02-update-assistants-models.ts +0 -48
  401. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/04-update-message-updates.ts +0 -151
  402. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/05-update-message-files.ts +0 -56
  403. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/06-trim-message-updates.ts +0 -56
  404. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/08-update-featured-to-review.ts +0 -32
  405. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/09-delete-empty-conversations.ts +0 -88
  406. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/10-update-reports-assistantid.ts +0 -29
  407. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/index.ts +0 -15
  408. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/abortRegistry.ts +0 -57
  409. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/abortedGenerations.ts +0 -43
  410. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/adminToken.ts +0 -62
  411. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/types.ts +0 -37
  412. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/requireAuth.ts +0 -22
  413. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/resolveConversation.ts +0 -69
  414. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/resolveModel.ts +0 -27
  415. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/superjsonResponse.ts +0 -15
  416. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/apiToken.ts +0 -11
  417. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/auth.ts +0 -554
  418. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/config.ts +0 -187
  419. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/conversation.ts +0 -83
  420. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database/postgres.ts +0 -700
  421. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database/rvf.ts +0 -1078
  422. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database.ts +0 -145
  423. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/document.ts +0 -68
  424. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/endpoints.ts +0 -43
  425. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/images.ts +0 -211
  426. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/endpointOai.ts +0 -266
  427. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/openAIChatToTextGenerationStream.ts +0 -212
  428. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/openAICompletionToTextGenerationStream.ts +0 -32
  429. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/preprocessMessages.ts +0 -61
  430. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/exitHandler.ts +0 -59
  431. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/files/downloadFile.ts +0 -34
  432. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/files/uploadFile.ts +0 -29
  433. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/findRepoRoot.ts +0 -13
  434. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Black.ttf +0 -0
  435. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Bold.ttf +0 -0
  436. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-ExtraBold.ttf +0 -0
  437. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-ExtraLight.ttf +0 -0
  438. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Light.ttf +0 -0
  439. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Medium.ttf +0 -0
  440. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Regular.ttf +0 -0
  441. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-SemiBold.ttf +0 -0
  442. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Thin.ttf +0 -0
  443. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/generateFromDefaultEndpoint.ts +0 -46
  444. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/error.ts +0 -37
  445. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/fetch.ts +0 -22
  446. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/handle.ts +0 -250
  447. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/init.ts +0 -51
  448. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/isURLLocal.ts +0 -74
  449. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/logger.ts +0 -42
  450. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/clientPool.ts +0 -0
  451. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/hf.ts +0 -32
  452. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/httpClient.ts +0 -122
  453. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/registry.ts +0 -76
  454. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/tools.ts +0 -196
  455. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/metrics.ts +0 -255
  456. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/models.ts +0 -518
  457. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/requestContext.ts +0 -55
  458. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/arch.ts +0 -230
  459. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/endpoint.ts +0 -316
  460. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/multimodal.ts +0 -28
  461. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/policy.ts +0 -49
  462. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/toolsRoute.ts +0 -51
  463. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/types.ts +0 -21
  464. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/sendSlack.ts +0 -23
  465. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/generate.ts +0 -258
  466. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/index.ts +0 -96
  467. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/fileRefs.ts +0 -155
  468. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/routerResolution.ts +0 -108
  469. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/runMcpFlow.ts +0 -831
  470. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/toolInvocation.ts +0 -349
  471. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/reasoning.ts +0 -23
  472. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/title.ts +0 -83
  473. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/types.ts +0 -28
  474. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/prepareFiles.ts +0 -88
  475. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/routing.ts +0 -21
  476. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/toolPrompt.ts +0 -49
  477. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/urlSafety.ts +0 -77
  478. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/usageLimits.ts +0 -30
  479. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/autopilotStore.svelte.ts +0 -175
  480. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/backgroundGenerations.svelte.ts +0 -32
  481. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/backgroundGenerations.ts +0 -1
  482. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/errors.ts +0 -9
  483. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/isAborted.ts +0 -3
  484. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/isPro.ts +0 -4
  485. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/loading.ts +0 -3
  486. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/mcpServers.ts +0 -534
  487. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/pendingChatInput.ts +0 -3
  488. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/pendingMessage.ts +0 -9
  489. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/settings.ts +0 -182
  490. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/shareModal.ts +0 -13
  491. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/titleUpdate.ts +0 -8
  492. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/wasmMcp.ts +0 -472
  493. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/switchTheme.ts +0 -124
  494. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/AbortedGeneration.ts +0 -8
  495. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Assistant.ts +0 -31
  496. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/AssistantStats.ts +0 -11
  497. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConfigKey.ts +0 -4
  498. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConvSidebar.ts +0 -9
  499. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Conversation.ts +0 -27
  500. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConversationStats.ts +0 -13
  501. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Message.ts +0 -41
  502. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MessageEvent.ts +0 -10
  503. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MessageUpdate.ts +0 -139
  504. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MigrationResult.ts +0 -7
  505. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Model.ts +0 -23
  506. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Report.ts +0 -12
  507. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Review.ts +0 -6
  508. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Semaphore.ts +0 -19
  509. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Session.ts +0 -22
  510. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Settings.ts +0 -93
  511. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/SharedConversation.ts +0 -9
  512. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Template.ts +0 -6
  513. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Timestamps.ts +0 -4
  514. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/TokenCache.ts +0 -6
  515. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Tool.ts +0 -77
  516. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/UrlDependency.ts +0 -5
  517. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/User.ts +0 -14
  518. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/PublicConfig.svelte.ts +0 -75
  519. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/auth.ts +0 -17
  520. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/chunk.ts +0 -33
  521. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/cookiesAreEnabled.ts +0 -13
  522. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/debounce.ts +0 -17
  523. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/deepestChild.ts +0 -6
  524. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/favicon.ts +0 -21
  525. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/fetchJSON.ts +0 -23
  526. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/file2base64.ts +0 -14
  527. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/formatUserCount.ts +0 -37
  528. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/generationState.ts +0 -26
  529. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/getHref.ts +0 -41
  530. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/getReturnFromGenerator.ts +0 -7
  531. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/haptics.ts +0 -64
  532. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/hashConv.ts +0 -12
  533. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/hf.ts +0 -17
  534. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isDesktop.ts +0 -7
  535. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isUrl.ts +0 -8
  536. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isVirtualKeyboard.ts +0 -16
  537. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/loadAttachmentsFromUrls.ts +0 -115
  538. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/marked.ts +0 -531
  539. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mcpValidation.ts +0 -147
  540. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mergeAsyncGenerators.ts +0 -38
  541. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/messageUpdates.ts +0 -324
  542. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mime.ts +0 -56
  543. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/models.ts +0 -14
  544. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseBlocks.ts +0 -120
  545. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseIncompleteMarkdown.ts +0 -644
  546. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseStringToList.ts +0 -10
  547. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/randomUuid.ts +0 -14
  548. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/searchTokens.ts +0 -33
  549. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/sha256.ts +0 -7
  550. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/stringifyError.ts +0 -12
  551. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/sum.ts +0 -3
  552. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/template.ts +0 -53
  553. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/timeout.ts +0 -9
  554. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/toolProgress.ts +0 -11
  555. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/addChildren.ts +0 -48
  556. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/addSibling.ts +0 -41
  557. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/buildSubtree.ts +0 -24
  558. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/convertLegacyConversation.ts +0 -36
  559. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/isMessageId.ts +0 -5
  560. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/tree.d.ts +0 -14
  561. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/updates.ts +0 -39
  562. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/urlParams.ts +0 -13
  563. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/idb.ts +0 -438
  564. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/index.ts +0 -1213
  565. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/wasm.worker.ts +0 -332
  566. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/workerClient.ts +0 -166
  567. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/autopilotWorker.ts +0 -221
  568. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/detailFetchWorker.ts +0 -100
  569. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/markdownWorker.ts +0 -61
  570. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+error.svelte +0 -20
  571. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+layout.svelte +0 -324
  572. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+layout.ts +0 -91
  573. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+page.svelte +0 -168
  574. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/.well-known/oauth-cimd/+server.ts +0 -37
  575. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/__debug/openai/+server.ts +0 -21
  576. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/admin/export/+server.ts +0 -159
  577. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/admin/stats/compute/+server.ts +0 -16
  578. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversation/[id]/+server.ts +0 -40
  579. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversation/[id]/message/[messageId]/+server.ts +0 -42
  580. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversations/+server.ts +0 -48
  581. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/fetch-url/+server.ts +0 -147
  582. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts +0 -292
  583. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/mcp/servers/+server.ts +0 -32
  584. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/models/+server.ts +0 -25
  585. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/transcribe/+server.ts +0 -104
  586. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/user/+server.ts +0 -15
  587. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/user/validate-token/+server.ts +0 -20
  588. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/+server.ts +0 -48
  589. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/[id]/+server.ts +0 -94
  590. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/[id]/message/[messageId]/+server.ts +0 -43
  591. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/import-share/+server.ts +0 -23
  592. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/debug/config/+server.ts +0 -16
  593. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/debug/refresh/+server.ts +0 -30
  594. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/export/+server.ts +0 -196
  595. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/feature-flags/+server.ts +0 -14
  596. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/+server.ts +0 -38
  597. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/+server.ts +0 -8
  598. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/[model]/+server.ts +0 -8
  599. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/[model]/subscribe/+server.ts +0 -28
  600. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/subscribe/+server.ts +0 -28
  601. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/old/+server.ts +0 -7
  602. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/refresh/+server.ts +0 -33
  603. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/public-config/+server.ts +0 -7
  604. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/+server.ts +0 -17
  605. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/billing-orgs/+server.ts +0 -73
  606. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/reports/+server.ts +0 -17
  607. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/settings/+server.ts +0 -110
  608. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/+server.ts +0 -115
  609. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+page.svelte +0 -586
  610. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+page.ts +0 -60
  611. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+server.ts +0 -740
  612. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/message/[messageId]/prompt/+server.ts +0 -66
  613. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/share/+server.ts +0 -69
  614. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/stop-generating/+server.ts +0 -35
  615. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/healthcheck/+server.ts +0 -3
  616. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/+server.ts +0 -5
  617. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/callback/+server.ts +0 -103
  618. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/callback/updateUser.ts +0 -215
  619. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/logout/+server.ts +0 -18
  620. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/metrics/+server.ts +0 -18
  621. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/+page.svelte +0 -233
  622. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/+page.svelte +0 -161
  623. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/+page.ts +0 -14
  624. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/thumbnail.png/+server.ts +0 -64
  625. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/thumbnail.png/ModelThumbnail.svelte +0 -28
  626. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/privacy/+page.svelte +0 -11
  627. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/r/[id]/+page.ts +0 -34
  628. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+layout.svelte +0 -282
  629. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+layout.ts +0 -1
  630. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+page.svelte +0 -0
  631. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+server.ts +0 -59
  632. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/[...model]/+page.svelte +0 -464
  633. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/[...model]/+page.ts +0 -14
  634. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/application/+page.svelte +0 -362
  635. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/+layout.svelte +0 -40
  636. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/styles/highlight-js.css +0 -195
  637. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/styles/main.css +0 -144
  638. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/apple-touch-icon.png +0 -0
  639. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon-dark.svg +0 -3
  640. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon-dev.svg +0 -3
  641. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon.ico +0 -0
  642. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon.svg +0 -3
  643. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-128x128.png +0 -0
  644. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-144x144.png +0 -0
  645. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-192x192.png +0 -0
  646. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-256x256.png +0 -0
  647. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-36x36.png +0 -0
  648. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-48x48.png +0 -0
  649. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-512x512.png +0 -0
  650. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-72x72.png +0 -0
  651. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-96x96.png +0 -0
  652. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon.svg +0 -3
  653. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/logo.svg +0 -7
  654. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/manifest.json +0 -54
  655. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/omni-welcome.gif +0 -0
  656. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/omni-welcome.png +0 -0
  657. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/welcome.js +0 -184
  658. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/welcome.svg +0 -1
  659. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/apple-touch-icon.png +0 -0
  660. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/assistants-thumbnail.png +0 -0
  661. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/castle-example.jpg +0 -0
  662. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon-dark.svg +0 -4
  663. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon-dev.svg +0 -4
  664. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon.ico +0 -0
  665. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon.svg +0 -4
  666. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/fulltext-logo.svg +0 -2
  667. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-128x128.png +0 -0
  668. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-144x144.png +0 -0
  669. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-192x192.png +0 -0
  670. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-256x256.png +0 -0
  671. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-36x36.png +0 -0
  672. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-48x48.png +0 -0
  673. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-512x512.png +0 -0
  674. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-72x72.png +0 -0
  675. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-96x96.png +0 -0
  676. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon.svg +0 -4
  677. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/logo.svg +0 -4
  678. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/manifest.json +0 -54
  679. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/omni-welcome.gif +0 -0
  680. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/routes.chat.json +0 -226
  681. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/thumbnail.png +0 -0
  682. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/tools-thumbnail.png +0 -0
  683. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/robots.txt +0 -10
  684. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/wasm/rvagent_wasm.js +0 -1539
  685. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/wasm/rvagent_wasm_bg.wasm +0 -0
  686. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/stub/@reflink/reflink/index.js +0 -0
  687. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/stub/@reflink/reflink/package.json +0 -5
  688. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/svelte.config.js +0 -53
  689. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/tailwind.config.cjs +0 -30
  690. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/vite.config.ts +0 -87
  691. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/deploy.sh +0 -116
  692. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/generate-config.js +0 -245
  693. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/generate-welcome.js +0 -187
  694. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/package-rvf.sh +0 -116
  695. package/.claude/worktrees/adr-120-impl/ruflo-plugins.gif +0 -0
  696. package/.claude/worktrees/adr-120-impl/scripts/audit-cli-mcp-tools.mjs +0 -156
  697. package/.claude/worktrees/adr-120-impl/scripts/audit-codex-integration.mjs +0 -116
  698. package/.claude/worktrees/adr-120-impl/scripts/audit-fix-invariants.mjs +0 -305
  699. package/.claude/worktrees/adr-120-impl/scripts/audit-hook-commands.mjs +0 -117
  700. package/.claude/worktrees/adr-120-impl/scripts/audit-hook-handler-prompt.mjs +0 -87
  701. package/.claude/worktrees/adr-120-impl/scripts/audit-neural-trader-safety.mjs +0 -116
  702. package/.claude/worktrees/adr-120-impl/scripts/audit-plugin-packages.mjs +0 -209
  703. package/.claude/worktrees/adr-120-impl/scripts/audit-tool-descriptions.mjs +0 -146
  704. package/.claude/worktrees/adr-120-impl/scripts/audit-vector-dim.mjs +0 -132
  705. package/.claude/worktrees/adr-120-impl/scripts/bulk-fix-tool-descriptions.mjs +0 -187
  706. package/.claude/worktrees/adr-120-impl/scripts/cleanup-v3.sh +0 -222
  707. package/.claude/worktrees/adr-120-impl/scripts/install.sh +0 -392
  708. package/.claude/worktrees/adr-120-impl/scripts/inventory-capabilities.mjs +0 -236
  709. package/.claude/worktrees/adr-120-impl/scripts/regen-witness.mjs +0 -70
  710. package/.claude/worktrees/adr-120-impl/scripts/regenerate-witness.mjs +0 -102
  711. package/.claude/worktrees/adr-120-impl/scripts/sign-witness-from-inventory.mjs +0 -113
  712. package/.claude/worktrees/adr-120-impl/scripts/verify-appliance.sh +0 -592
  713. package/.claude/worktrees/adr-120-impl/scripts/verify-federation-plugin.sh +0 -105
  714. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/dedup-json.json +0 -35
  715. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/empty.json +0 -1
  716. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-hash.json +0 -10
  717. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-session.json +0 -29
  718. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-store.json +0 -14
  719. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/test-transcript.jsonl +0 -3
  720. package/.claude/worktrees/adr-120-impl/tests/context-persistence-hook.test.mjs +0 -1161
  721. package/.claude/worktrees/adr-120-impl/tests/docker-regression/Dockerfile +0 -94
  722. package/.claude/worktrees/adr-120-impl/tests/docker-regression/Makefile +0 -118
  723. package/.claude/worktrees/adr-120-impl/tests/docker-regression/README.md +0 -233
  724. package/.claude/worktrees/adr-120-impl/tests/docker-regression/docker-compose.yml +0 -148
  725. package/.claude/worktrees/adr-120-impl/tests/docker-regression/fixtures/sample-code.ts +0 -167
  726. package/.claude/worktrees/adr-120-impl/tests/docker-regression/fixtures/sample-patterns.json +0 -90
  727. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-all-tests.sh +0 -311
  728. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-benchmark-tests.sh +0 -30
  729. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-integration-tests.sh +0 -197
  730. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-security-tests.sh +0 -36
  731. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-unit-tests.sh +0 -140
  732. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-agents.sh +0 -193
  733. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-cli-commands.sh +0 -131
  734. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-hooks.sh +0 -186
  735. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-mcp-server.sh +0 -131
  736. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-memory.sh +0 -201
  737. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-performance.sh +0 -197
  738. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-plugins.sh +0 -230
  739. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-security.sh +0 -205
  740. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-swarm.sh +0 -148
  741. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-utils.sh +0 -210
  742. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-workers.sh +0 -215
  743. package/.claude/worktrees/adr-120-impl/v3/.agentic-flow/intelligence.json +0 -24
  744. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/architect.yaml +0 -11
  745. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/coder.yaml +0 -11
  746. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/reviewer.yaml +0 -10
  747. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/security-architect.yaml +0 -10
  748. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/tester.yaml +0 -10
  749. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/README.md +0 -630
  750. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/architect.yaml +0 -11
  751. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/coder.yaml +0 -11
  752. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/reviewer.yaml +0 -10
  753. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/security-architect.yaml +0 -10
  754. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/tester.yaml +0 -10
  755. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/package.json +0 -76
  756. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/entities/index.ts +0 -1
  757. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/entities/threat.ts +0 -81
  758. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/index.ts +0 -2
  759. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/threat-detection-service.ts +0 -467
  760. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/threat-learning-service.ts +0 -409
  761. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/index.ts +0 -344
  762. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/tmp.json +0 -0
  763. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/README.md +0 -730
  764. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/architect.yaml +0 -11
  765. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/coder.yaml +0 -11
  766. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/reviewer.yaml +0 -10
  767. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/security-architect.yaml +0 -10
  768. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/tester.yaml +0 -10
  769. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/Dockerfile +0 -22
  770. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/docker-compose.yml +0 -52
  771. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/test-fixtures/index.html +0 -61
  772. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/package.json +0 -56
  773. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/agent/index.ts +0 -35
  774. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/application/browser-service.ts +0 -570
  775. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/domain/types.ts +0 -324
  776. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/index.ts +0 -156
  777. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/agent-browser-adapter.ts +0 -654
  778. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/hooks-integration.ts +0 -170
  779. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/memory-integration.ts +0 -449
  780. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/reasoningbank-adapter.ts +0 -282
  781. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/security-integration.ts +0 -528
  782. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/workflow-templates.ts +0 -479
  783. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/mcp-tools/browser-tools.ts +0 -1256
  784. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/mcp-tools/index.ts +0 -6
  785. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/skill/index.ts +0 -24
  786. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/tmp.json +0 -0
  787. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/README.md +0 -261
  788. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/package.json +0 -84
  789. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/cli-commands.ts +0 -1459
  790. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/cli-types.ts +0 -154
  791. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/index.ts +0 -24
  792. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/mcp-tools.ts +0 -1977
  793. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/claim-service.ts +0 -753
  794. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/index.ts +0 -46
  795. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/load-balancer.ts +0 -840
  796. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/work-stealing-service.ts +0 -825
  797. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/events.ts +0 -779
  798. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/index.ts +0 -214
  799. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/repositories.ts +0 -239
  800. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/rules.ts +0 -526
  801. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/types.ts +0 -826
  802. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/index.ts +0 -79
  803. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/claim-repository.ts +0 -358
  804. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/event-store.ts +0 -297
  805. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federated-claim-repository.ts +0 -174
  806. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federated-event-store.ts +0 -330
  807. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federation-bridge.ts +0 -160
  808. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/hlc.ts +0 -198
  809. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/index.ts +0 -74
  810. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/vector-clock.ts +0 -136
  811. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/tmp.json +0 -0
  812. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/agents/browser/browser-agent.yaml +0 -182
  813. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/agents/tmp.json +0 -0
  814. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/agents/README.md +0 -50
  815. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/analysis/README.md +0 -9
  816. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/automation/README.md +0 -9
  817. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/coordination/README.md +0 -9
  818. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/github/README.md +0 -11
  819. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/hive-mind/README.md +0 -17
  820. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/hooks/README.md +0 -11
  821. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/memory/README.md +0 -9
  822. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/monitoring/README.md +0 -9
  823. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/optimization/README.md +0 -9
  824. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/pair/README.md +0 -261
  825. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/swarm/README.md +0 -15
  826. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/training/README.md +0 -9
  827. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/workflows/README.md +0 -9
  828. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/README.md +0 -97
  829. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/adr-compliance.sh +0 -186
  830. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/auto-commit.sh +0 -178
  831. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/auto-memory-hook.mjs +0 -368
  832. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/checkpoint-manager.sh +0 -251
  833. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/daemon-manager.sh +0 -252
  834. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/ddd-tracker.sh +0 -144
  835. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/github-safe.js +0 -121
  836. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/github-setup.sh +0 -28
  837. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/guidance-hook.sh +0 -13
  838. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/guidance-hooks.sh +0 -102
  839. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/health-monitor.sh +0 -108
  840. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/hook-handler.cjs +0 -282
  841. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/intelligence.cjs +0 -1031
  842. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-hooks.sh +0 -329
  843. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-optimizer.sh +0 -127
  844. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-service.mjs +0 -1144
  845. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/memory.js +0 -83
  846. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/metrics-db.mjs +0 -488
  847. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/pattern-consolidator.sh +0 -86
  848. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/perf-worker.sh +0 -160
  849. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/post-commit +0 -16
  850. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/pre-commit +0 -26
  851. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/quick-start.sh +0 -19
  852. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/router.js +0 -66
  853. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/security-scanner.sh +0 -127
  854. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/session.js +0 -135
  855. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/setup-mcp.sh +0 -18
  856. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  857. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline-hook.sh +0 -21
  858. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline.cjs +0 -604
  859. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline.js +0 -352
  860. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-comms.sh +0 -353
  861. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-hooks.sh +0 -761
  862. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-monitor.sh +0 -211
  863. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/sync-v3-metrics.sh +0 -245
  864. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/update-v3-progress.sh +0 -166
  865. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/v3-quick-status.sh +0 -58
  866. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/v3.sh +0 -111
  867. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/validate-v3-config.sh +0 -216
  868. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/worker-manager.sh +0 -170
  869. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/settings.json +0 -182
  870. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/README.md +0 -395
  871. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/architect.yaml +0 -11
  872. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/browser-agent.yaml +0 -182
  873. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/coder.yaml +0 -11
  874. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/reviewer.yaml +0 -10
  875. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/security-architect.yaml +0 -10
  876. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/tester.yaml +0 -10
  877. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/cli.js +0 -233
  878. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/mcp-server.js +0 -224
  879. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/preinstall.cjs +0 -2
  880. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/deploy.sh +0 -51
  881. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/index.js +0 -499
  882. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/package.json +0 -15
  883. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/tmp.json +0 -0
  884. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/data/model-registry.json +0 -470
  885. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +0 -91
  886. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +0 -425
  887. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +0 -102
  888. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +0 -292
  889. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +0 -44
  890. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +0 -329
  891. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +0 -97
  892. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +0 -370
  893. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +0 -111
  894. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +0 -393
  895. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +0 -69
  896. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +0 -237
  897. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +0 -123
  898. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +0 -347
  899. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +0 -77
  900. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/autopilot-state.js +0 -271
  901. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  902. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +0 -404
  903. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +0 -14
  904. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +0 -333
  905. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +0 -8
  906. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent.js +0 -927
  907. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +0 -19
  908. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/analyze.js +0 -2048
  909. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +0 -9
  910. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +0 -215
  911. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +0 -8
  912. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance.js +0 -404
  913. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +0 -15
  914. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/autopilot.js +0 -362
  915. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +0 -10
  916. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/benchmark.js +0 -460
  917. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +0 -10
  918. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/claims.js +0 -620
  919. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +0 -13
  920. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/cleanup.js +0 -250
  921. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +0 -10
  922. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/completions.js +0 -539
  923. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/config.d.ts +0 -8
  924. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/config.js +0 -428
  925. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +0 -28
  926. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/daemon.js +0 -1093
  927. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +0 -10
  928. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/deployment.js +0 -672
  929. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +0 -10
  930. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/doctor.js +0 -885
  931. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +0 -18
  932. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/embeddings.js +0 -1623
  933. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +0 -8
  934. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/guidance.js +0 -556
  935. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +0 -11
  936. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +0 -1297
  937. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +0 -8
  938. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hooks.js +0 -4499
  939. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/index.d.ts +0 -118
  940. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/index.js +0 -344
  941. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/init.d.ts +0 -8
  942. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/init.js +0 -997
  943. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +0 -21
  944. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/issues.js +0 -567
  945. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +0 -11
  946. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/mcp.js +0 -718
  947. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +0 -8
  948. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/memory.js +0 -1456
  949. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +0 -8
  950. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/migrate.js +0 -742
  951. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +0 -10
  952. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/neural.js +0 -1531
  953. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +0 -10
  954. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/performance.js +0 -583
  955. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +0 -11
  956. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/plugins.js +0 -826
  957. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/process.d.ts +0 -10
  958. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/process.js +0 -694
  959. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +0 -11
  960. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/progress.js +0 -259
  961. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +0 -10
  962. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/providers.js +0 -502
  963. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/route.d.ts +0 -16
  964. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/route.js +0 -813
  965. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +0 -11
  966. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +0 -747
  967. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +0 -11
  968. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +0 -490
  969. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +0 -18
  970. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +0 -373
  971. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +0 -29
  972. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +0 -129
  973. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +0 -11
  974. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +0 -467
  975. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +0 -11
  976. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +0 -498
  977. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +0 -11
  978. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +0 -505
  979. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.d.ts +0 -14
  980. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.js +0 -41
  981. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +0 -18
  982. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +0 -765
  983. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +0 -11
  984. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +0 -479
  985. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/security.d.ts +0 -10
  986. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/security.js +0 -920
  987. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/session.d.ts +0 -8
  988. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/session.js +0 -757
  989. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/start.d.ts +0 -8
  990. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/start.js +0 -418
  991. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/status.d.ts +0 -8
  992. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/status.js +0 -591
  993. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +0 -8
  994. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/swarm.js +0 -887
  995. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/task.d.ts +0 -8
  996. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/task.js +0 -675
  997. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +0 -13
  998. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +0 -428
  999. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/update.d.ts +0 -8
  1000. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/update.js +0 -276
  1001. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/verify.d.ts +0 -19
  1002. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/verify.js +0 -261
  1003. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +0 -8
  1004. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/workflow.js +0 -617
  1005. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +0 -15
  1006. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/config-adapter.js +0 -186
  1007. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/encryption/vault.d.ts +0 -94
  1008. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/encryption/vault.js +0 -172
  1009. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/fs-secure.d.ts +0 -67
  1010. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/fs-secure.js +0 -74
  1011. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/index.d.ts +0 -81
  1012. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/index.js +0 -538
  1013. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  1014. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +0 -264
  1015. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +0 -16
  1016. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +0 -363
  1017. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/executor.d.ts +0 -41
  1018. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/executor.js +0 -1904
  1019. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +0 -60
  1020. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +0 -1185
  1021. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/index.d.ts +0 -13
  1022. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/index.js +0 -15
  1023. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +0 -26
  1024. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +0 -116
  1025. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +0 -14
  1026. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/settings-generator.js +0 -456
  1027. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +0 -28
  1028. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +0 -937
  1029. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/types.d.ts +0 -308
  1030. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/types.js +0 -263
  1031. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/log-filters.d.ts +0 -22
  1032. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/log-filters.js +0 -36
  1033. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +0 -92
  1034. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-client.js +0 -287
  1035. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +0 -163
  1036. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-server.js +0 -732
  1037. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.d.ts +0 -92
  1038. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.js +0 -328
  1039. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -9
  1040. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +0 -716
  1041. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +0 -33
  1042. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +0 -867
  1043. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
  1044. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +0 -346
  1045. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.d.ts +0 -83
  1046. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.js +0 -131
  1047. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.d.ts +0 -12
  1048. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.js +0 -231
  1049. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.d.ts +0 -23
  1050. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.js +0 -313
  1051. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.d.ts +0 -13
  1052. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +0 -757
  1053. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +0 -12
  1054. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +0 -863
  1055. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +0 -8
  1056. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +0 -411
  1057. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
  1058. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +0 -729
  1059. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.d.ts +0 -13
  1060. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +0 -534
  1061. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
  1062. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +0 -904
  1063. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.d.ts +0 -9
  1064. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +0 -659
  1065. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.d.ts +0 -15
  1066. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.js +0 -639
  1067. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
  1068. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +0 -953
  1069. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -46
  1070. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +0 -3939
  1071. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +0 -27
  1072. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +0 -26
  1073. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
  1074. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.js +0 -357
  1075. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -14
  1076. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +0 -1240
  1077. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +0 -16
  1078. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +0 -793
  1079. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -16
  1080. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +0 -675
  1081. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +0 -14
  1082. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +0 -348
  1083. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.d.ts +0 -17
  1084. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.js +0 -27
  1085. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +0 -9
  1086. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.js +0 -339
  1087. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +0 -18
  1088. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +0 -556
  1089. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +0 -8
  1090. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +0 -517
  1091. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  1092. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +0 -388
  1093. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +0 -13
  1094. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +0 -674
  1095. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +0 -8
  1096. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +0 -487
  1097. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.d.ts +0 -8
  1098. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.js +0 -306
  1099. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
  1100. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.js +0 -447
  1101. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +0 -8
  1102. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +0 -8
  1103. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.d.ts +0 -9
  1104. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.js +0 -9
  1105. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -9
  1106. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +0 -291
  1107. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  1108. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +0 -884
  1109. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +0 -295
  1110. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +0 -601
  1111. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +0 -357
  1112. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/intelligence.js +0 -1200
  1113. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +0 -492
  1114. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +0 -2101
  1115. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +0 -420
  1116. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +0 -2376
  1117. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.d.ts +0 -48
  1118. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.js +0 -87
  1119. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/rabitq-index.d.ts +0 -60
  1120. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +0 -242
  1121. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +0 -267
  1122. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +0 -779
  1123. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/output.d.ts +0 -9
  1124. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/output.js +0 -9
  1125. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/parser.d.ts +0 -69
  1126. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/parser.js +0 -470
  1127. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +0 -133
  1128. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/manager.js +0 -402
  1129. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +0 -91
  1130. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +0 -1202
  1131. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +0 -76
  1132. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/index.js +0 -141
  1133. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +0 -46
  1134. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/search.js +0 -230
  1135. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +0 -274
  1136. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/types.js +0 -7
  1137. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  1138. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  1139. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  1140. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +0 -188
  1141. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  1142. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
  1143. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +0 -101
  1144. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +0 -241
  1145. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +0 -92
  1146. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/error-handler.js +0 -299
  1147. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/index.d.ts +0 -23
  1148. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/index.js +0 -18
  1149. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +0 -161
  1150. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/monitoring.js +0 -356
  1151. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +0 -80
  1152. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +0 -201
  1153. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/retry.d.ts +0 -48
  1154. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/retry.js +0 -179
  1155. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/prompt.d.ts +0 -44
  1156. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/prompt.js +0 -501
  1157. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +0 -60
  1158. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/runtime/headless.js +0 -284
  1159. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +0 -193
  1160. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +0 -354
  1161. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  1162. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +0 -277
  1163. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +0 -160
  1164. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +0 -531
  1165. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +0 -33
  1166. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +0 -157
  1167. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +0 -175
  1168. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +0 -699
  1169. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.d.ts +0 -78
  1170. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.js +0 -310
  1171. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  1172. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +0 -529
  1173. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  1174. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +0 -929
  1175. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.d.ts +0 -79
  1176. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.js +0 -220
  1177. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +0 -38
  1178. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/index.js +0 -82
  1179. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +0 -240
  1180. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +0 -550
  1181. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +0 -241
  1182. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +0 -608
  1183. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +0 -211
  1184. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +0 -681
  1185. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +0 -179
  1186. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +0 -367
  1187. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +0 -77
  1188. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +0 -178
  1189. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +0 -73
  1190. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +0 -264
  1191. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
  1192. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +0 -95
  1193. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +0 -204
  1194. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/claim-service.js +0 -818
  1195. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +0 -37
  1196. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +0 -224
  1197. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  1198. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +0 -583
  1199. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +0 -310
  1200. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +0 -1058
  1201. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/index.d.ts +0 -13
  1202. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/index.js +0 -11
  1203. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +0 -58
  1204. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/registry-api.js +0 -146
  1205. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +0 -222
  1206. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +0 -688
  1207. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +0 -323
  1208. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +0 -1323
  1209. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +0 -194
  1210. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-queue.js +0 -513
  1211. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/suggest.d.ts +0 -53
  1212. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/suggest.js +0 -200
  1213. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +0 -25
  1214. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +0 -175
  1215. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  1216. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +0 -205
  1217. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +0 -25
  1218. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/export.js +0 -113
  1219. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +0 -12
  1220. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/index.js +0 -31
  1221. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +0 -109
  1222. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +0 -307
  1223. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +0 -95
  1224. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +0 -413
  1225. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +0 -72
  1226. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +0 -373
  1227. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +0 -49
  1228. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +0 -183
  1229. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +0 -82
  1230. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +0 -272
  1231. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +0 -6
  1232. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +0 -6
  1233. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +0 -84
  1234. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +0 -382
  1235. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +0 -70
  1236. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/download.js +0 -334
  1237. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +0 -84
  1238. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/index.js +0 -153
  1239. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +0 -76
  1240. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +0 -294
  1241. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +0 -58
  1242. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +0 -285
  1243. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +0 -54
  1244. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/search.js +0 -232
  1245. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  1246. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +0 -190
  1247. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +0 -193
  1248. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/types.js +0 -6
  1249. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
  1250. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +0 -105
  1251. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
  1252. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +0 -214
  1253. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +0 -245
  1254. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/types.js +0 -6
  1255. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/types.d.ts +0 -13
  1256. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/types.js +0 -13
  1257. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/checker.d.ts +0 -34
  1258. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/checker.js +0 -191
  1259. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/executor.d.ts +0 -33
  1260. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/executor.js +0 -217
  1261. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/index.d.ts +0 -33
  1262. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/index.js +0 -64
  1263. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +0 -20
  1264. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +0 -96
  1265. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/validator.d.ts +0 -17
  1266. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/validator.js +0 -123
  1267. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/tsconfig.tsbuildinfo +0 -1
  1268. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/.dockerignore +0 -66
  1269. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile +0 -128
  1270. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.appliance +0 -148
  1271. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.full +0 -68
  1272. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.headless +0 -112
  1273. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/docker-compose.workers.yml +0 -159
  1274. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/docker-compose.yml +0 -117
  1275. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/package.json +0 -130
  1276. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/deploy-ipfs-node.sh +0 -153
  1277. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/postinstall.cjs +0 -153
  1278. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/publish-registry.ts +0 -345
  1279. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/publish.sh +0 -57
  1280. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/gguf-engine.ts +0 -453
  1281. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/ruvllm-bridge.ts +0 -345
  1282. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-builder.ts +0 -394
  1283. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-distribution.ts +0 -406
  1284. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-format.ts +0 -500
  1285. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-runner.ts +0 -282
  1286. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-signing.ts +0 -461
  1287. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/autopilot-state.ts +0 -317
  1288. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/data/pretrain-corpus.json +0 -99
  1289. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/data/training-patterns.json +0 -171
  1290. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/pretrain/index.ts +0 -546
  1291. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/agent-wasm.ts +0 -367
  1292. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/agent.ts +0 -1068
  1293. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/analyze.ts +0 -2343
  1294. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/appliance-advanced.ts +0 -219
  1295. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/appliance.ts +0 -443
  1296. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/autopilot.ts +0 -404
  1297. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/benchmark.ts +0 -513
  1298. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/claims.ts +0 -677
  1299. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/cleanup.ts +0 -269
  1300. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/completions.ts +0 -558
  1301. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/config.ts +0 -441
  1302. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/daemon.ts +0 -1171
  1303. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/deployment.ts +0 -770
  1304. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/doctor.ts +0 -926
  1305. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/embeddings.ts +0 -1796
  1306. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/guidance.ts +0 -626
  1307. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/hive-mind.ts +0 -1455
  1308. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/hooks.ts +0 -5329
  1309. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/index.ts +0 -388
  1310. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/init.ts +0 -1142
  1311. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/issues.ts +0 -642
  1312. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/mcp.ts +0 -812
  1313. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/memory.ts +0 -1668
  1314. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/migrate.ts +0 -783
  1315. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/neural.ts +0 -1792
  1316. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/performance.ts +0 -655
  1317. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/plugins.ts +0 -942
  1318. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/process.ts +0 -738
  1319. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/progress.ts +0 -298
  1320. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/providers.ts +0 -571
  1321. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/route.ts +0 -905
  1322. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/backup.ts +0 -806
  1323. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/benchmark.ts +0 -531
  1324. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/import.ts +0 -428
  1325. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/index.ts +0 -137
  1326. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/init.ts +0 -515
  1327. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/migrate.ts +0 -541
  1328. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/optimize.ts +0 -576
  1329. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/pg-utils.ts +0 -46
  1330. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/setup.ts +0 -783
  1331. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/status.ts +0 -500
  1332. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/security.ts +0 -963
  1333. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/session.ts +0 -905
  1334. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/start.ts +0 -478
  1335. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/status.ts +0 -742
  1336. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/swarm.ts +0 -943
  1337. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/task.ts +0 -796
  1338. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/transfer-store.ts +0 -493
  1339. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/update.ts +0 -340
  1340. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/verify.ts +0 -313
  1341. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/workflow.ts +0 -742
  1342. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/config-adapter.ts +0 -211
  1343. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/encryption/vault.ts +0 -192
  1344. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/fs-secure.ts +0 -130
  1345. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/index.ts +0 -739
  1346. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/infrastructure/in-memory-repositories.ts +0 -310
  1347. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/claudemd-generator.ts +0 -388
  1348. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/executor.ts +0 -2082
  1349. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/helpers-generator.ts +0 -1203
  1350. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/index.ts +0 -63
  1351. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/mcp-generator.ts +0 -146
  1352. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/settings-generator.ts +0 -490
  1353. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/statusline-generator.ts +0 -942
  1354. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/types.ts +0 -570
  1355. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/log-filters.ts +0 -35
  1356. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-client.ts +0 -326
  1357. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-server.ts +0 -895
  1358. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agent-execute-core.ts +0 -427
  1359. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agent-tools.ts +0 -787
  1360. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agentdb-tools.ts +0 -817
  1361. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/analyze-tools.ts +0 -354
  1362. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/auto-install.ts +0 -163
  1363. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/autopilot-tools.ts +0 -252
  1364. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/browser-session-tools.ts +0 -330
  1365. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/browser-tools.ts +0 -704
  1366. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/claims-tools.ts +0 -922
  1367. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/config-tools.ts +0 -450
  1368. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/coordination-tools.ts +0 -826
  1369. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/daa-tools.ts +0 -566
  1370. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts +0 -982
  1371. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/github-tools.ts +0 -610
  1372. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/guidance-tools.ts +0 -682
  1373. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/hive-mind-tools.ts +0 -1073
  1374. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/hooks-tools.ts +0 -4149
  1375. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/index.ts +0 -27
  1376. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/managed-agent-tools.ts +0 -359
  1377. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/memory-tools.ts +0 -1267
  1378. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/neural-tools.ts +0 -823
  1379. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/performance-tools.ts +0 -724
  1380. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/progress-tools.ts +0 -387
  1381. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/request-tracker.ts +0 -36
  1382. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/ruvllm-tools.ts +0 -314
  1383. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/security-tools.ts +0 -558
  1384. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/session-tools.ts +0 -560
  1385. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/swarm-tools.ts +0 -436
  1386. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/system-tools.ts +0 -705
  1387. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/task-tools.ts +0 -534
  1388. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/terminal-tools.ts +0 -352
  1389. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/transfer-tools.ts +0 -419
  1390. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/types.ts +0 -8
  1391. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/validate-input.ts +0 -9
  1392. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/wasm-agent-tools.ts +0 -236
  1393. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/workflow-tools.ts +0 -953
  1394. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/ewc-consolidation.ts +0 -819
  1395. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/intelligence.ts +0 -1449
  1396. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/memory-bridge.ts +0 -2404
  1397. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/memory-initializer.ts +0 -2913
  1398. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/neural-package-bridge.ts +0 -91
  1399. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/rabitq-index.ts +0 -312
  1400. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/sona-optimizer.ts +0 -988
  1401. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/output.ts +0 -9
  1402. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/parser.ts +0 -543
  1403. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/manager.ts +0 -539
  1404. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/discovery.ts +0 -1261
  1405. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/index.ts +0 -178
  1406. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/search.ts +0 -304
  1407. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/types.ts +0 -346
  1408. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/demo-plugin-store.ts +0 -139
  1409. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/standalone-test.ts +0 -201
  1410. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/test-plugin-store.ts +0 -330
  1411. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/circuit-breaker.ts +0 -322
  1412. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/error-handler.ts +0 -398
  1413. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/index.ts +0 -23
  1414. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/monitoring.ts +0 -488
  1415. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/rate-limiter.ts +0 -282
  1416. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/retry.ts +0 -270
  1417. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/prompt.ts +0 -619
  1418. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/runtime/headless.ts +0 -352
  1419. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/README.md +0 -673
  1420. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/agent-wasm.ts +0 -429
  1421. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/ast-analyzer.ts +0 -312
  1422. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/coverage-router.ts +0 -653
  1423. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/coverage-tools.ts +0 -173
  1424. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/diff-classifier.ts +0 -786
  1425. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/diskann-backend.ts +0 -375
  1426. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/enhanced-model-router.ts +0 -674
  1427. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/graph-analyzer.ts +0 -1240
  1428. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/graph-backend.ts +0 -271
  1429. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/index.ts +0 -227
  1430. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/lora-adapter.ts +0 -696
  1431. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/model-router.ts +0 -827
  1432. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/q-learning-router.ts +0 -882
  1433. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/ruvllm-wasm.ts +0 -485
  1434. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/semantic-router.ts +0 -228
  1435. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/vector-db.ts +0 -323
  1436. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/agentic-flow-bridge.ts +0 -109
  1437. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/claim-service.ts +0 -1117
  1438. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/config-file-manager.ts +0 -235
  1439. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/container-worker-pool.ts +0 -784
  1440. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/headless-worker-executor.ts +0 -1395
  1441. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/index.ts +0 -64
  1442. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/registry-api.ts +0 -203
  1443. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/ruvector-training.ts +0 -943
  1444. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/worker-daemon.ts +0 -1512
  1445. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/worker-queue.ts +0 -702
  1446. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/suggest.ts +0 -245
  1447. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/tmp.json +0 -0
  1448. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/anonymization/index.ts +0 -207
  1449. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/deploy-seraphine.ts +0 -239
  1450. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/export.ts +0 -158
  1451. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/exports/seraphine-genesis.cfp.json +0 -350
  1452. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/index.ts +0 -128
  1453. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/ipfs/client.ts +0 -387
  1454. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/ipfs/upload.ts +0 -542
  1455. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/models/seraphine.ts +0 -397
  1456. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/serialization/cfp.ts +0 -216
  1457. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/storage/gcs.ts +0 -345
  1458. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/storage/index.ts +0 -6
  1459. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/discovery.ts +0 -462
  1460. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/download.ts +0 -417
  1461. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/index.ts +0 -254
  1462. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/publish.ts +0 -383
  1463. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/registry.ts +0 -334
  1464. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/search.ts +0 -307
  1465. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/tests/standalone-test.ts +0 -207
  1466. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/types.ts +0 -235
  1467. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/test-seraphine.ts +0 -112
  1468. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/tests/test-store.ts +0 -336
  1469. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/tmp.json +0 -0
  1470. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/types.ts +0 -288
  1471. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/types/optional-modules.d.ts +0 -438
  1472. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/types.ts +0 -13
  1473. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/checker.ts +0 -267
  1474. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/executor.ts +0 -287
  1475. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/index.ts +0 -114
  1476. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/rate-limiter.ts +0 -122
  1477. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/validator.ts +0 -179
  1478. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/README.md +0 -64
  1479. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/package.json +0 -58
  1480. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/scripts/cold-cache-bench.sh +0 -66
  1481. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/scripts/migrate-plugin-call-sites.mjs +0 -137
  1482. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/commands/memory.ts +0 -204
  1483. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/index.ts +0 -131
  1484. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/hooks-defs.ts +0 -128
  1485. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/index.ts +0 -26
  1486. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/memory-defs.ts +0 -112
  1487. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/types.ts +0 -46
  1488. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/validate-input.ts +0 -256
  1489. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/memory/backend.ts +0 -115
  1490. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/memory/json-backend.ts +0 -205
  1491. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/output.ts +0 -640
  1492. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/types.ts +0 -287
  1493. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/.agents/config.toml +0 -135
  1494. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/README.md +0 -1043
  1495. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/architect.yaml +0 -11
  1496. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/coder.yaml +0 -11
  1497. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/reviewer.yaml +0 -10
  1498. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/security-architect.yaml +0 -10
  1499. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/tester.yaml +0 -10
  1500. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/package.json +0 -102
  1501. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/cli.ts +0 -713
  1502. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/cli.ts +0 -292
  1503. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/index.ts +0 -14
  1504. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/orchestrator.ts +0 -492
  1505. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/agents-md.ts +0 -695
  1506. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/config-toml.ts +0 -1016
  1507. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/index.ts +0 -9
  1508. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/skill-md.ts +0 -990
  1509. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/index.ts +0 -97
  1510. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/initializer.ts +0 -743
  1511. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/loop/cli.ts +0 -130
  1512. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/loop/index.ts +0 -310
  1513. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/migrations/index.ts +0 -1026
  1514. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/templates/index.ts +0 -295
  1515. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/types.ts +0 -253
  1516. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/validators/index.ts +0 -1089
  1517. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/tmp.json +0 -0
  1518. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/README.md +0 -333
  1519. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/basic-release.ts +0 -92
  1520. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/dry-run.ts +0 -70
  1521. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/prerelease-workflow.ts +0 -98
  1522. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/package.json +0 -27
  1523. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/index.ts +0 -88
  1524. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/publisher.ts +0 -273
  1525. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/release-manager.ts +0 -380
  1526. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/types.ts +0 -159
  1527. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/validator.ts +0 -310
  1528. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/tmp.json +0 -0
  1529. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/README.md +0 -651
  1530. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/architect.yaml +0 -11
  1531. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/coder.yaml +0 -11
  1532. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/reviewer.yaml +0 -10
  1533. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/security-architect.yaml +0 -10
  1534. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/tester.yaml +0 -10
  1535. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/package.json +0 -73
  1536. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/chunking.ts +0 -353
  1537. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/embedding-service.ts +0 -1169
  1538. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/hyperbolic.ts +0 -458
  1539. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/index.ts +0 -126
  1540. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/neural-integration.ts +0 -340
  1541. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/normalization.ts +0 -267
  1542. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/persistent-cache.ts +0 -410
  1543. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/rvf-embedding-cache.ts +0 -578
  1544. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/rvf-embedding-service.ts +0 -377
  1545. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/transformers-loader.ts +0 -89
  1546. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/types.ts +0 -300
  1547. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/tmp.json +0 -0
  1548. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/README.md +0 -1195
  1549. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/architect.yaml +0 -11
  1550. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/coder.yaml +0 -11
  1551. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/reviewer.yaml +0 -10
  1552. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/security-architect.yaml +0 -10
  1553. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/tester.yaml +0 -10
  1554. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/package.json +0 -198
  1555. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/scripts/analyze-claude-md.ts +0 -174
  1556. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/adversarial.ts +0 -801
  1557. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/analyzer.ts +0 -3237
  1558. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/artifacts.ts +0 -556
  1559. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/authority.ts +0 -768
  1560. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/capabilities.ts +0 -639
  1561. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/coherence.ts +0 -534
  1562. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/compiler.ts +0 -532
  1563. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/conformance-kit.ts +0 -1000
  1564. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/continue-gate.ts +0 -533
  1565. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/crypto-utils.ts +0 -26
  1566. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/evolution.ts +0 -799
  1567. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/gates.ts +0 -339
  1568. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/gateway.ts +0 -630
  1569. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/generators.ts +0 -894
  1570. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/headless.ts +0 -525
  1571. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/hooks.ts +0 -465
  1572. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/index.ts +0 -754
  1573. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/ledger.ts +0 -461
  1574. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/manifest-validator.ts +0 -1139
  1575. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/memory-gate.ts +0 -584
  1576. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/meta-governance.ts +0 -573
  1577. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/optimizer.ts +0 -435
  1578. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/persistence.ts +0 -564
  1579. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/proof.ts +0 -369
  1580. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/retriever.ts +0 -482
  1581. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/ruvbot-integration.ts +0 -1045
  1582. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/temporal.ts +0 -902
  1583. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/trust.ts +0 -634
  1584. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/truth-anchors.ts +0 -677
  1585. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/types.ts +0 -435
  1586. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/uncertainty.ts +0 -855
  1587. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/wasm-kernel.ts +0 -205
  1588. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/tmp.json +0 -0
  1589. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/.cargo/config.toml +0 -18
  1590. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/Cargo.lock +0 -565
  1591. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/Cargo.toml +0 -30
  1592. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/gates.rs +0 -133
  1593. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/lib.rs +0 -149
  1594. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/proof.rs +0 -173
  1595. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/scoring.rs +0 -170
  1596. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel.d.ts +0 -53
  1597. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel.js +0 -320
  1598. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel_bg.wasm +0 -0
  1599. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel_bg.wasm.d.ts +0 -16
  1600. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/package.json +0 -12
  1601. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/README.md +0 -440
  1602. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/bin/hooks-daemon.js +0 -199
  1603. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/bin/statusline.js +0 -77
  1604. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/package.json +0 -103
  1605. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/bridge/official-hooks-bridge.ts +0 -378
  1606. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/cli/guidance-cli.ts +0 -524
  1607. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/daemons/index.ts +0 -556
  1608. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/executor/index.ts +0 -420
  1609. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/index.ts +0 -242
  1610. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/llm/index.ts +0 -11
  1611. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/llm/llm-hooks.ts +0 -552
  1612. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/mcp/index.ts +0 -586
  1613. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/reasoningbank/guidance-provider.ts +0 -416
  1614. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/reasoningbank/index.ts +0 -1090
  1615. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/registry/index.ts +0 -267
  1616. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/statusline/index.ts +0 -701
  1617. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/swarm/index.ts +0 -901
  1618. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/types.ts +0 -658
  1619. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/index.ts +0 -2075
  1620. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/mcp-tools.ts +0 -462
  1621. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/session-hook.ts +0 -220
  1622. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/tmp.json +0 -0
  1623. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/README.md +0 -270
  1624. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/package.json +0 -55
  1625. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agent-adapter.ts +0 -651
  1626. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agentic-flow-agent.ts +0 -802
  1627. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agentic-flow-bridge.ts +0 -803
  1628. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/attention-coordinator.ts +0 -679
  1629. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/feature-flags.ts +0 -485
  1630. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/index.ts +0 -466
  1631. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/long-running-worker.ts +0 -871
  1632. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/multi-model-router.ts +0 -1079
  1633. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/provider-adapter.ts +0 -1168
  1634. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/sdk-bridge.ts +0 -436
  1635. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/sona-adapter.ts +0 -824
  1636. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/specialized-worker.ts +0 -864
  1637. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/swarm-adapter.ts +0 -1112
  1638. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/token-optimizer.ts +0 -316
  1639. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/types.ts +0 -494
  1640. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/worker-base.ts +0 -822
  1641. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/worker-pool.ts +0 -933
  1642. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/tmp.json +0 -0
  1643. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/analysis/README.md +0 -9
  1644. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/automation/README.md +0 -9
  1645. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/github/README.md +0 -11
  1646. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/hooks/README.md +0 -11
  1647. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/monitoring/README.md +0 -9
  1648. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/optimization/README.md +0 -9
  1649. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/README.md +0 -97
  1650. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/adr-compliance.sh +0 -186
  1651. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/auto-commit.sh +0 -178
  1652. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/checkpoint-manager.sh +0 -251
  1653. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/daemon-manager.sh +0 -252
  1654. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/ddd-tracker.sh +0 -144
  1655. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/github-safe.js +0 -106
  1656. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/github-setup.sh +0 -28
  1657. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/guidance-hook.sh +0 -13
  1658. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/guidance-hooks.sh +0 -102
  1659. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/health-monitor.sh +0 -108
  1660. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-hooks.sh +0 -329
  1661. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-optimizer.sh +0 -127
  1662. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-service.mjs +0 -1144
  1663. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/memory.js +0 -83
  1664. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/metrics-db.mjs +0 -488
  1665. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/pattern-consolidator.sh +0 -86
  1666. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/perf-worker.sh +0 -160
  1667. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/post-commit +0 -16
  1668. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/pre-commit +0 -26
  1669. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/quick-start.sh +0 -19
  1670. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/router.js +0 -66
  1671. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/security-scanner.sh +0 -127
  1672. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/session.js +0 -127
  1673. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/setup-mcp.sh +0 -18
  1674. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  1675. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline-hook.sh +0 -21
  1676. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline.cjs +0 -509
  1677. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline.js +0 -316
  1678. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-comms.sh +0 -353
  1679. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-hooks.sh +0 -761
  1680. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-monitor.sh +0 -211
  1681. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/sync-v3-metrics.sh +0 -245
  1682. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/update-v3-progress.sh +0 -166
  1683. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/v3-quick-status.sh +0 -58
  1684. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/v3.sh +0 -111
  1685. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/validate-v3-config.sh +0 -216
  1686. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/worker-manager.sh +0 -170
  1687. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/settings.json +0 -237
  1688. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/README.md +0 -428
  1689. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/package.json +0 -44
  1690. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/pnpm-lock.yaml +0 -1646
  1691. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/connection-pool.ts +0 -344
  1692. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/index.ts +0 -253
  1693. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/oauth.ts +0 -447
  1694. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/prompt-registry.ts +0 -296
  1695. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/rate-limiter.ts +0 -266
  1696. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/resource-registry.ts +0 -530
  1697. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/sampling.ts +0 -363
  1698. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/schema-validator.ts +0 -213
  1699. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/server.ts +0 -1131
  1700. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/session-manager.ts +0 -339
  1701. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/task-manager.ts +0 -427
  1702. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/tool-registry.ts +0 -475
  1703. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/http.ts +0 -532
  1704. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/index.ts +0 -233
  1705. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/stdio.ts +0 -252
  1706. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/websocket.ts +0 -396
  1707. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/types.ts +0 -669
  1708. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/tmp.json +0 -0
  1709. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/README.md +0 -587
  1710. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/architect.yaml +0 -11
  1711. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/coder.yaml +0 -11
  1712. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/reviewer.yaml +0 -10
  1713. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/security-architect.yaml +0 -10
  1714. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/tester.yaml +0 -10
  1715. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/cache-hit-rate.bench.ts +0 -535
  1716. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/hnsw-indexing.bench.ts +0 -552
  1717. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/adapters/agentdb-adapter.ts +0 -102
  1718. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/adapters/baseline-adapter.ts +0 -104
  1719. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/harness.ts +0 -374
  1720. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/results/.gitkeep +0 -0
  1721. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/scripts/download-dataset.sh +0 -28
  1722. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/scripts/run-benchmark.sh +0 -46
  1723. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/types.ts +0 -120
  1724. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/memory-write.bench.ts +0 -469
  1725. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/vector-search.bench.ts +0 -449
  1726. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/examples/agentdb-example.ts +0 -345
  1727. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/examples/cross-platform-usage.ts +0 -326
  1728. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/framework/benchmark.ts +0 -112
  1729. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/package.json +0 -48
  1730. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/scripts/smoke-no-bsqlite.mjs +0 -77
  1731. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agent-memory-scope.ts +0 -308
  1732. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agentdb-adapter.ts +0 -1037
  1733. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agentdb-backend.ts +0 -1080
  1734. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/architect.yaml +0 -11
  1735. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/coder.yaml +0 -11
  1736. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/reviewer.yaml +0 -10
  1737. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/security-architect.yaml +0 -10
  1738. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/tester.yaml +0 -10
  1739. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/commands/delete-memory.command.ts +0 -172
  1740. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/commands/store-memory.command.ts +0 -103
  1741. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/index.ts +0 -36
  1742. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/queries/search-memory.query.ts +0 -237
  1743. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/services/memory-application-service.ts +0 -236
  1744. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/auto-memory-bridge.ts +0 -966
  1745. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/cache-manager.ts +0 -516
  1746. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/controller-registry.ts +0 -1029
  1747. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/database-provider.ts +0 -540
  1748. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/entities/memory-entry.ts +0 -289
  1749. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/index.ts +0 -35
  1750. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/repositories/memory-repository.interface.ts +0 -120
  1751. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/services/memory-domain-service.ts +0 -403
  1752. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hnsw-index.ts +0 -1209
  1753. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hnsw-lite.ts +0 -190
  1754. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hybrid-backend.ts +0 -789
  1755. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/index.ts +0 -606
  1756. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/infrastructure/index.ts +0 -23
  1757. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/infrastructure/repositories/hybrid-memory-repository.ts +0 -516
  1758. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/json-security.ts +0 -21
  1759. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/learning-bridge.ts +0 -453
  1760. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/memory-graph.ts +0 -392
  1761. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/migration.ts +0 -669
  1762. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/persistent-sona.ts +0 -439
  1763. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/query-builder.ts +0 -542
  1764. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-backend.ts +0 -527
  1765. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-learning-store.ts +0 -410
  1766. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-migration.ts +0 -254
  1767. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/smart-retrieval.ts +0 -433
  1768. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/sqlite-backend.ts +0 -746
  1769. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/sqljs-backend.ts +0 -767
  1770. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/tmp.json +0 -0
  1771. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/types.ts +0 -752
  1772. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/tmp.json +0 -0
  1773. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/verify-cross-platform.ts +0 -170
  1774. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/README.md +0 -222
  1775. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/examples/sona-usage.ts +0 -318
  1776. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/package.json +0 -134
  1777. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.d.ts +0 -86
  1778. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.js +0 -361
  1779. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.ts +0 -478
  1780. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.d.ts +0 -82
  1781. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.js +0 -392
  1782. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.ts +0 -509
  1783. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.d.ts +0 -82
  1784. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.js +0 -415
  1785. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.ts +0 -521
  1786. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.d.ts +0 -72
  1787. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.js +0 -303
  1788. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.ts +0 -382
  1789. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.d.ts +0 -32
  1790. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.js +0 -74
  1791. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.ts +0 -122
  1792. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.d.ts +0 -72
  1793. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.js +0 -331
  1794. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.ts +0 -429
  1795. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.d.ts +0 -77
  1796. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.js +0 -259
  1797. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.ts +0 -333
  1798. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.d.ts +0 -82
  1799. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.js +0 -297
  1800. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.ts +0 -383
  1801. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/tmp.json +0 -0
  1802. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/application/index.ts +0 -11
  1803. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/application/services/neural-application-service.ts +0 -217
  1804. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/entities/pattern.ts +0 -169
  1805. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/index.ts +0 -18
  1806. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/services/learning-service.ts +0 -256
  1807. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/flash-attention.ts +0 -857
  1808. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/index.ts +0 -442
  1809. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.d.ts +0 -60
  1810. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.js +0 -234
  1811. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.ts +0 -299
  1812. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/base.ts +0 -163
  1813. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.d.ts +0 -82
  1814. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.js +0 -316
  1815. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.ts +0 -434
  1816. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.d.ts +0 -85
  1817. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.js +0 -310
  1818. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.ts +0 -409
  1819. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.d.ts +0 -55
  1820. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.js +0 -83
  1821. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.ts +0 -16
  1822. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.d.ts +0 -58
  1823. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.js +0 -196
  1824. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.ts +0 -257
  1825. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.d.ts +0 -79
  1826. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.js +0 -389
  1827. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.ts +0 -486
  1828. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/tmp.json +0 -0
  1829. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/moe-router.ts +0 -822
  1830. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/pattern-learner.ts +0 -835
  1831. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/reasoning-bank.ts +0 -1362
  1832. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/reasoningbank-adapter.ts +0 -697
  1833. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/sona-integration.ts +0 -432
  1834. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/sona-manager.ts +0 -906
  1835. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/tmp.json +0 -0
  1836. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/types.ts +0 -590
  1837. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/rng.ts +0 -124
  1838. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/self-consistency.ts +0 -134
  1839. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/serialize.ts +0 -91
  1840. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/tmp.json +0 -0
  1841. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/README.md +0 -256
  1842. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/attention/memory-efficiency.bench.ts +0 -569
  1843. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/attention/multi-head-attention.bench.ts +0 -566
  1844. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/agent-spawn.bench.ts +0 -422
  1845. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/cli-cold-start.bench.ts +0 -327
  1846. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/cli-warm-start.bench.ts +0 -277
  1847. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/mcp-server-init.bench.ts +0 -380
  1848. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/package.json +0 -29
  1849. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/attention-benchmarks.ts +0 -455
  1850. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/attention-integration.ts +0 -594
  1851. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/examples/flash-attention-demo.ts +0 -160
  1852. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/examples/quick-test.ts +0 -62
  1853. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/framework/benchmark.ts +0 -583
  1854. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/index.ts +0 -63
  1855. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/tmp.json +0 -0
  1856. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/.claude-flow/data/pending-insights.jsonl +0 -1
  1857. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/.claude-flow/federation/key-test-node.json +0 -6
  1858. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/README.md +0 -45
  1859. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/package.json +0 -44
  1860. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/scripts/phase7-stage.mjs +0 -144
  1861. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/federation-breaker-service.ts +0 -375
  1862. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/federation-coordinator.ts +0 -638
  1863. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/inbound-dispatcher.ts +0 -208
  1864. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/policy-engine.ts +0 -248
  1865. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/spend-reporter.ts +0 -194
  1866. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/trust-evaluator.ts +0 -205
  1867. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/bin.ts +0 -203
  1868. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/cli-commands.ts +0 -206
  1869. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-envelope.ts +0 -125
  1870. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-node.ts +0 -226
  1871. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-session.ts +0 -148
  1872. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/trust-level.ts +0 -43
  1873. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/audit-service.ts +0 -256
  1874. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/discovery-service.ts +0 -198
  1875. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/handshake-service.ts +0 -164
  1876. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/pii-pipeline-service.ts +0 -296
  1877. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/routing-service.ts +0 -223
  1878. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-firewall-service.ts +0 -251
  1879. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-mesh-service.ts +0 -347
  1880. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-witness-service.ts +0 -183
  1881. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/federation-budget.ts +0 -211
  1882. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/federation-node-state.ts +0 -129
  1883. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/wg-config.ts +0 -139
  1884. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/index.ts +0 -116
  1885. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/mcp-tools.ts +0 -467
  1886. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/plugin.ts +0 -478
  1887. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/transport/midstream-aware-loader.ts +0 -169
  1888. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/tsconfig.tsbuildinfo +0 -1
  1889. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/README.md +0 -93
  1890. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/package.json +0 -51
  1891. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/application/index.ts +0 -5
  1892. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/application/iot-coordinator.ts +0 -582
  1893. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/bin.ts +0 -259
  1894. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/cli-commands.ts +0 -542
  1895. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-agent.ts +0 -70
  1896. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-fleet.ts +0 -51
  1897. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-trust-level.ts +0 -28
  1898. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/index.ts +0 -28
  1899. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/telemetry.ts +0 -49
  1900. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/device-repository.ts +0 -11
  1901. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/fleet-repository.ts +0 -9
  1902. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/index.ts +0 -10
  1903. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/telemetry-repository.ts +0 -12
  1904. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/trust-history-repository.ts +0 -20
  1905. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/anomaly-detection-service.ts +0 -159
  1906. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/device-lifecycle-service.ts +0 -293
  1907. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/firmware-orchestration-service.ts +0 -221
  1908. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/fleet-topology-service.ts +0 -140
  1909. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/index.ts +0 -58
  1910. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/mesh-service.ts +0 -132
  1911. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/sona-integration-service.ts +0 -113
  1912. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/telemetry-ingestion-service.ts +0 -61
  1913. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/telemetry-service.ts +0 -135
  1914. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/witness-verification-service.ts +0 -108
  1915. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/index.ts +0 -25
  1916. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/agentdb-telemetry-repository.ts +0 -131
  1917. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-device-repository.ts +0 -38
  1918. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-fleet-repository.ts +0 -26
  1919. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-trust-history-repository.ts +0 -44
  1920. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/index.ts +0 -13
  1921. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/seed-client-factory.ts +0 -94
  1922. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/mcp-tools.ts +0 -721
  1923. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts +0 -263
  1924. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/anomaly-scan-worker.ts +0 -52
  1925. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/firmware-watch-worker.ts +0 -57
  1926. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/health-probe-worker.ts +0 -62
  1927. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/mesh-sync-worker.ts +0 -60
  1928. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/telemetry-ingest-worker.ts +0 -50
  1929. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/witness-audit-worker.ts +0 -64
  1930. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/README.md +0 -401
  1931. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/plugin-creator/index.ts +0 -636
  1932. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/README.md +0 -288
  1933. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/attention-patterns.ts +0 -394
  1934. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/basic-usage.ts +0 -288
  1935. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/docker-compose.yml +0 -75
  1936. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/gnn-analysis.ts +0 -501
  1937. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/hyperbolic-hierarchies.ts +0 -557
  1938. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/init-db.sql +0 -119
  1939. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/quantization.ts +0 -680
  1940. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/self-learning.ts +0 -447
  1941. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/semantic-search.ts +0 -576
  1942. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/streaming-large-data.ts +0 -507
  1943. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/transactions.ts +0 -594
  1944. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/hook-pattern-library.ts +0 -486
  1945. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/index.ts +0 -79
  1946. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/intent-router.ts +0 -354
  1947. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/mcp-tool-optimizer.ts +0 -424
  1948. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/reasoning-bank.ts +0 -657
  1949. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/semantic-code-search.ts +0 -498
  1950. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/shared/index.ts +0 -20
  1951. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/shared/vector-utils.ts +0 -257
  1952. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/sona-learning.ts +0 -445
  1953. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/package.json +0 -97
  1954. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/collection-manager.ts +0 -661
  1955. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/index.ts +0 -56
  1956. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/official/index.ts +0 -1040
  1957. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/core/base-plugin.ts +0 -416
  1958. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/core/plugin-interface.ts +0 -215
  1959. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/hooks/index.ts +0 -685
  1960. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/index.ts +0 -378
  1961. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/agentic-flow.ts +0 -743
  1962. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/index.ts +0 -88
  1963. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-advanced.ts +0 -1040
  1964. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-executor.ts +0 -782
  1965. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-mechanisms.ts +0 -757
  1966. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention.ts +0 -1063
  1967. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/gnn.ts +0 -3050
  1968. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/hyperbolic.ts +0 -1948
  1969. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/index.ts +0 -394
  1970. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/001_create_extension.sql +0 -135
  1971. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/002_create_vector_tables.sql +0 -259
  1972. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/003_create_indices.sql +0 -328
  1973. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/004_create_functions.sql +0 -598
  1974. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/005_create_attention_functions.sql +0 -654
  1975. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/006_create_gnn_functions.sql +0 -728
  1976. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/007_create_hyperbolic_functions.sql +0 -762
  1977. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/index.ts +0 -35
  1978. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/migrations.ts +0 -647
  1979. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/quantization.ts +0 -2036
  1980. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/ruvector-bridge.ts +0 -2000
  1981. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/self-learning.ts +0 -2376
  1982. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/streaming.ts +0 -1737
  1983. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/types.ts +0 -1945
  1984. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/providers/index.ts +0 -645
  1985. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/dependency-graph.ts +0 -568
  1986. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/enhanced-plugin-registry.ts +0 -1040
  1987. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/plugin-registry.ts +0 -604
  1988. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/sdk/index.ts +0 -601
  1989. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/security/index.ts +0 -594
  1990. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/types/index.ts +0 -446
  1991. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/types/pg.d.ts +0 -7
  1992. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/workers/index.ts +0 -700
  1993. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/tmp.json +0 -0
  1994. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/README.md +0 -574
  1995. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/package.json +0 -70
  1996. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/anthropic-provider.ts +0 -435
  1997. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/base-provider.ts +0 -596
  1998. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/cohere-provider.ts +0 -423
  1999. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/google-provider.ts +0 -429
  2000. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/index.ts +0 -40
  2001. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/ollama-provider.ts +0 -408
  2002. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/openai-provider.ts +0 -490
  2003. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/provider-manager.ts +0 -538
  2004. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/ruvector-provider.ts +0 -721
  2005. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/types.ts +0 -435
  2006. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/tmp.json +0 -0
  2007. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/README.md +0 -234
  2008. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/package.json +0 -27
  2009. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/CVE-REMEDIATION.ts +0 -251
  2010. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/application/index.ts +0 -10
  2011. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/application/services/security-application-service.ts +0 -193
  2012. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/credential-generator.ts +0 -368
  2013. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/entities/security-context.ts +0 -173
  2014. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/index.ts +0 -17
  2015. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/services/security-domain-service.ts +0 -296
  2016. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/index.ts +0 -271
  2017. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/input-validator.ts +0 -466
  2018. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/password-hasher.ts +0 -277
  2019. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/path-validator.ts +0 -525
  2020. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/safe-executor.ts +0 -546
  2021. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/token-generator.ts +0 -463
  2022. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/tmp.json +0 -0
  2023. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/README.md +0 -323
  2024. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/package.json +0 -43
  2025. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/defaults.ts +0 -207
  2026. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/index.ts +0 -15
  2027. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/loader.ts +0 -287
  2028. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/schema.ts +0 -190
  2029. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/validator.ts +0 -209
  2030. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/event-bus.ts +0 -236
  2031. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/index.ts +0 -22
  2032. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/agent.interface.ts +0 -251
  2033. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/coordinator.interface.ts +0 -363
  2034. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/event.interface.ts +0 -267
  2035. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/index.ts +0 -19
  2036. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/memory.interface.ts +0 -332
  2037. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/task.interface.ts +0 -223
  2038. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/event-coordinator.ts +0 -122
  2039. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/health-monitor.ts +0 -214
  2040. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/index.ts +0 -89
  2041. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/lifecycle-manager.ts +0 -263
  2042. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/session-manager.ts +0 -279
  2043. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/task-manager.ts +0 -317
  2044. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/domain-events.ts +0 -584
  2045. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/event-store.ts +0 -597
  2046. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/example-usage.ts +0 -293
  2047. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/index.ts +0 -94
  2048. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/projections.ts +0 -561
  2049. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/rvf-event-log.ts +0 -427
  2050. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/state-reconstructor.ts +0 -349
  2051. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events.ts +0 -367
  2052. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/README.md +0 -532
  2053. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/example-usage.ts +0 -499
  2054. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/executor.ts +0 -381
  2055. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/index.ts +0 -131
  2056. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/registry.ts +0 -333
  2057. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/bash-safety.ts +0 -604
  2058. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/file-organization.ts +0 -473
  2059. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/git-commit.ts +0 -623
  2060. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/index.ts +0 -46
  2061. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/session-hooks.ts +0 -559
  2062. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/task-hooks.ts +0 -513
  2063. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/types.ts +0 -357
  2064. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/index.ts +0 -195
  2065. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/connection-pool.ts +0 -438
  2066. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/index.ts +0 -183
  2067. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/server.ts +0 -771
  2068. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/session-manager.ts +0 -428
  2069. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/tool-registry.ts +0 -566
  2070. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/http.ts +0 -557
  2071. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/index.ts +0 -294
  2072. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/stdio.ts +0 -324
  2073. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/websocket.ts +0 -484
  2074. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/types.ts +0 -563
  2075. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-interface.ts +0 -663
  2076. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-loader.ts +0 -638
  2077. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-registry.ts +0 -604
  2078. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/index.ts +0 -34
  2079. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/hive-mind-plugin.ts +0 -330
  2080. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/index.ts +0 -24
  2081. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/maestro-plugin.ts +0 -508
  2082. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/types.ts +0 -108
  2083. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/bulkhead.ts +0 -277
  2084. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/circuit-breaker.ts +0 -326
  2085. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/index.ts +0 -26
  2086. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/rate-limiter.ts +0 -420
  2087. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/retry.ts +0 -224
  2088. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/index.ts +0 -39
  2089. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/input-validation.ts +0 -265
  2090. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/secure-random.ts +0 -159
  2091. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/services/index.ts +0 -16
  2092. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/services/v3-progress.service.ts +0 -505
  2093. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/agent.types.ts +0 -144
  2094. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/index.ts +0 -22
  2095. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/mcp.types.ts +0 -300
  2096. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/memory.types.ts +0 -263
  2097. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/swarm.types.ts +0 -255
  2098. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/task.types.ts +0 -205
  2099. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types.ts +0 -367
  2100. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.d.ts +0 -69
  2101. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.js +0 -208
  2102. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.ts +0 -257
  2103. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/tmp.json +0 -0
  2104. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/README.md +0 -634
  2105. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/package.json +0 -32
  2106. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/agent-pool.ts +0 -476
  2107. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/commands/create-task.command.ts +0 -124
  2108. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/commands/spawn-agent.command.ts +0 -122
  2109. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/index.ts +0 -30
  2110. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/services/swarm-application-service.ts +0 -200
  2111. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/attention-coordinator.ts +0 -1000
  2112. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/byzantine.ts +0 -514
  2113. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/federation-transport.ts +0 -185
  2114. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/gossip.ts +0 -599
  2115. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/index.ts +0 -296
  2116. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/raft.ts +0 -561
  2117. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/transport.ts +0 -284
  2118. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/agent-registry.ts +0 -544
  2119. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/index.ts +0 -23
  2120. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/swarm-hub.ts +0 -776
  2121. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/task-orchestrator.ts +0 -605
  2122. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.d.ts +0 -151
  2123. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.js +0 -280
  2124. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.ts +0 -370
  2125. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.d.ts +0 -133
  2126. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.js +0 -261
  2127. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.ts +0 -319
  2128. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/index.ts +0 -41
  2129. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.d.ts +0 -57
  2130. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.js +0 -9
  2131. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.ts +0 -69
  2132. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.d.ts +0 -61
  2133. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.js +0 -9
  2134. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.ts +0 -75
  2135. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/services/coordination-service.ts +0 -320
  2136. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.d.ts +0 -284
  2137. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.js +0 -692
  2138. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.ts +0 -979
  2139. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/index.ts +0 -348
  2140. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/message-bus.ts +0 -607
  2141. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/queen-coordinator.ts +0 -2025
  2142. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/shared/events.ts +0 -285
  2143. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/shared/types.ts +0 -389
  2144. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/topology-manager.ts +0 -656
  2145. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/types.ts +0 -545
  2146. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/unified-coordinator.ts +0 -1844
  2147. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/index.ts +0 -65
  2148. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.d.ts +0 -234
  2149. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.js +0 -842
  2150. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.ts +0 -1076
  2151. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/tmp.json +0 -0
  2152. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/README.md +0 -547
  2153. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/package.json +0 -61
  2154. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/agent-fixtures.ts +0 -793
  2155. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/agents.ts +0 -212
  2156. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/configurations.ts +0 -491
  2157. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/index.ts +0 -21
  2158. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/mcp-fixtures.ts +0 -1030
  2159. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/memory-entries.ts +0 -328
  2160. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/memory-fixtures.ts +0 -750
  2161. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/swarm-fixtures.ts +0 -837
  2162. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/tasks.ts +0 -309
  2163. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/assertion-helpers.ts +0 -616
  2164. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/assertions.ts +0 -286
  2165. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/create-mock.ts +0 -200
  2166. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/index.ts +0 -182
  2167. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/mock-factory.ts +0 -711
  2168. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/setup-teardown.ts +0 -678
  2169. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/swarm-instance.ts +0 -326
  2170. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/test-application.ts +0 -310
  2171. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/test-utils.ts +0 -670
  2172. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/index.ts +0 -232
  2173. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/index.ts +0 -29
  2174. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/mock-mcp-client.ts +0 -723
  2175. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/mock-services.ts +0 -793
  2176. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/api-contract.ts +0 -473
  2177. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/index.ts +0 -46
  2178. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/integration-regression.ts +0 -416
  2179. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/performance-baseline.ts +0 -356
  2180. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/regression-runner.ts +0 -339
  2181. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/security-regression.ts +0 -331
  2182. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/setup.ts +0 -127
  2183. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/compatibility-validator.ts +0 -1072
  2184. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/index.ts +0 -58
  2185. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/report-generator.ts +0 -441
  2186. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/tmp.json +0 -0
  2187. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/tmp.json +0 -0
  2188. package/.claude/worktrees/adr-120-impl/v3/README.md +0 -493
  2189. package/.claude/worktrees/adr-120-impl/v3/agents/architect.yaml +0 -11
  2190. package/.claude/worktrees/adr-120-impl/v3/agents/coder.yaml +0 -11
  2191. package/.claude/worktrees/adr-120-impl/v3/agents/reviewer.yaml +0 -10
  2192. package/.claude/worktrees/adr-120-impl/v3/agents/security-architect.yaml +0 -10
  2193. package/.claude/worktrees/adr-120-impl/v3/agents/tester.yaml +0 -10
  2194. package/.claude/worktrees/adr-120-impl/v3/bunfig.toml +0 -14
  2195. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/.claude-flow/data/pending-insights.jsonl +0 -3
  2196. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/Cargo.lock +0 -3024
  2197. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/Cargo.toml +0 -53
  2198. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/src/bin.rs +0 -37
  2199. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/src/lib.rs +0 -382
  2200. package/.claude/worktrees/adr-120-impl/v3/goal_ui/README.md +0 -86
  2201. package/.claude/worktrees/adr-120-impl/v3/goal_ui/build-widget.sh +0 -28
  2202. package/.claude/worktrees/adr-120-impl/v3/goal_ui/components.json +0 -20
  2203. package/.claude/worktrees/adr-120-impl/v3/goal_ui/eslint.config.js +0 -26
  2204. package/.claude/worktrees/adr-120-impl/v3/goal_ui/example.env +0 -20
  2205. package/.claude/worktrees/adr-120-impl/v3/goal_ui/index.html +0 -41
  2206. package/.claude/worktrees/adr-120-impl/v3/goal_ui/netlify.toml +0 -49
  2207. package/.claude/worktrees/adr-120-impl/v3/goal_ui/package-lock.json +0 -7426
  2208. package/.claude/worktrees/adr-120-impl/v3/goal_ui/package.json +0 -91
  2209. package/.claude/worktrees/adr-120-impl/v3/goal_ui/postcss.config.js +0 -6
  2210. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/_headers +0 -26
  2211. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/_redirects +0 -8
  2212. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/favicon.svg +0 -4
  2213. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/og-image.png +0 -0
  2214. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/robots.txt +0 -14
  2215. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/widget-embed.html +0 -146
  2216. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/App.css +0 -42
  2217. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/App.tsx +0 -31
  2218. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/AgentStep.tsx +0 -343
  2219. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/DevelopmentStep.tsx +0 -294
  2220. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/GOAPConfigDisplay.tsx +0 -97
  2221. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/GoalInput.tsx +0 -185
  2222. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ResearchReportModal.tsx +0 -978
  2223. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ResearchReviewCard.tsx +0 -154
  2224. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ReviseResearchForm.tsx +0 -1115
  2225. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/StateAssessmentCard.tsx +0 -309
  2226. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/WidgetCustomizer.tsx +0 -454
  2227. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AdvancedSettingsModal.tsx +0 -658
  2228. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AgentActivityPanel.tsx +0 -203
  2229. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AgentStatusCard.tsx +0 -52
  2230. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/CodePreview.tsx +0 -108
  2231. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/CommunicationLog.tsx +0 -87
  2232. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/DependencyGraph.tsx +0 -47
  2233. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/ExecutionDashboard.tsx +0 -403
  2234. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/ExecutionMonitor.tsx +0 -90
  2235. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/PlanVisualization.tsx +0 -201
  2236. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/QualityGates.tsx +0 -92
  2237. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/RealTimeEventLog.tsx +0 -139
  2238. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/StepExecutionPanel.tsx +0 -192
  2239. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/TaskBoard.tsx +0 -89
  2240. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/accordion.tsx +0 -52
  2241. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/alert-dialog.tsx +0 -104
  2242. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/alert.tsx +0 -43
  2243. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/aspect-ratio.tsx +0 -5
  2244. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/avatar.tsx +0 -38
  2245. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/badge.tsx +0 -29
  2246. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/breadcrumb.tsx +0 -90
  2247. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/button.tsx +0 -47
  2248. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/calendar.tsx +0 -54
  2249. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/card.tsx +0 -43
  2250. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/carousel.tsx +0 -224
  2251. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/chart.tsx +0 -303
  2252. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/checkbox.tsx +0 -26
  2253. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/collapsible.tsx +0 -9
  2254. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/command.tsx +0 -132
  2255. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/context-menu.tsx +0 -178
  2256. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/dialog.tsx +0 -95
  2257. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/drawer.tsx +0 -87
  2258. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/dropdown-menu.tsx +0 -179
  2259. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/form.tsx +0 -129
  2260. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/hover-card.tsx +0 -27
  2261. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/input-otp.tsx +0 -61
  2262. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/input.tsx +0 -22
  2263. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/label.tsx +0 -17
  2264. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/menubar.tsx +0 -207
  2265. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/navigation-menu.tsx +0 -120
  2266. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/pagination.tsx +0 -81
  2267. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/popover.tsx +0 -29
  2268. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/progress.tsx +0 -23
  2269. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/radio-group.tsx +0 -36
  2270. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/resizable.tsx +0 -37
  2271. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/scroll-area.tsx +0 -38
  2272. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/select.tsx +0 -143
  2273. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/separator.tsx +0 -20
  2274. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sheet.tsx +0 -107
  2275. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sidebar.tsx +0 -637
  2276. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/skeleton.tsx +0 -7
  2277. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/slider.tsx +0 -23
  2278. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sonner.tsx +0 -27
  2279. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/switch.tsx +0 -27
  2280. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/table.tsx +0 -72
  2281. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/tabs.tsx +0 -53
  2282. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/textarea.tsx +0 -21
  2283. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toast.tsx +0 -111
  2284. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toaster.tsx +0 -24
  2285. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toggle-group.tsx +0 -49
  2286. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toggle.tsx +0 -37
  2287. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/tooltip.tsx +0 -28
  2288. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/use-toast.ts +0 -3
  2289. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/hooks/use-mobile.tsx +0 -19
  2290. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/hooks/use-toast.ts +0 -186
  2291. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/index.css +0 -84
  2292. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/integrations/supabase/client.ts +0 -17
  2293. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/integrations/supabase/types.ts +0 -155
  2294. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/lib/goapPlanner.ts +0 -180
  2295. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/lib/utils.ts +0 -6
  2296. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/main.tsx +0 -5
  2297. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Agents.tsx +0 -1347
  2298. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Demo.tsx +0 -268
  2299. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Index.tsx +0 -1655
  2300. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/NotFound.tsx +0 -24
  2301. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/vite-env.d.ts +0 -1
  2302. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/widget.tsx +0 -115
  2303. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/config.toml +0 -7
  2304. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/generate-action-items/index.ts +0 -237
  2305. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/generate-research-goal/index.ts +0 -182
  2306. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/optimize-research-config/index.ts +0 -313
  2307. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/research-api/index.ts +0 -340
  2308. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/research-step/index.ts +0 -398
  2309. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tailwind.config.ts +0 -166
  2310. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tsconfig.app.json +0 -30
  2311. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tsconfig.node.json +0 -22
  2312. package/.claude/worktrees/adr-120-impl/v3/goal_ui/vite.config.ts +0 -73
  2313. package/.claude/worktrees/adr-120-impl/v3/helpers/README.md +0 -253
  2314. package/.claude/worktrees/adr-120-impl/v3/helpers/claude-flow-v3.ps1 +0 -334
  2315. package/.claude/worktrees/adr-120-impl/v3/helpers/claude-flow-v3.sh +0 -324
  2316. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/config-validator.sh +0 -120
  2317. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/progress-manager.ps1 +0 -98
  2318. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/progress-manager.sh +0 -90
  2319. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/status-display.sh +0 -91
  2320. package/.claude/worktrees/adr-120-impl/v3/implementation/README.md +0 -108
  2321. package/.claude/worktrees/adr-120-impl/v3/implementation/adrs/README.md +0 -657
  2322. package/.claude/worktrees/adr-120-impl/v3/implementation/hooks/README.md +0 -589
  2323. package/.claude/worktrees/adr-120-impl/v3/implementation/init/README.md +0 -121
  2324. package/.claude/worktrees/adr-120-impl/v3/implementation/plugins/README.md +0 -374
  2325. package/.claude/worktrees/adr-120-impl/v3/implementation/v3-migration/README.md +0 -111
  2326. package/.claude/worktrees/adr-120-impl/v3/index.ts +0 -590
  2327. package/.claude/worktrees/adr-120-impl/v3/mcp/connection-pool.ts +0 -438
  2328. package/.claude/worktrees/adr-120-impl/v3/mcp/index.ts +0 -188
  2329. package/.claude/worktrees/adr-120-impl/v3/mcp/server-entry.ts +0 -320
  2330. package/.claude/worktrees/adr-120-impl/v3/mcp/server.ts +0 -792
  2331. package/.claude/worktrees/adr-120-impl/v3/mcp/session-manager.ts +0 -428
  2332. package/.claude/worktrees/adr-120-impl/v3/mcp/tmp.json +0 -0
  2333. package/.claude/worktrees/adr-120-impl/v3/mcp/tool-registry.ts +0 -602
  2334. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/README.md +0 -405
  2335. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.d.ts +0 -31
  2336. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.js +0 -420
  2337. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.ts +0 -528
  2338. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.d.ts +0 -26
  2339. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.js +0 -430
  2340. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.ts +0 -611
  2341. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.d.ts +0 -28
  2342. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.js +0 -499
  2343. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.ts +0 -616
  2344. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.d.ts +0 -57
  2345. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.js +0 -1064
  2346. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.ts +0 -1430
  2347. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.d.ts +0 -181
  2348. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.js +0 -300
  2349. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.ts +0 -445
  2350. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.d.ts +0 -27
  2351. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.js +0 -477
  2352. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.ts +0 -570
  2353. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.d.ts +0 -26
  2354. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.js +0 -691
  2355. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.ts +0 -848
  2356. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.d.ts +0 -30
  2357. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.js +0 -684
  2358. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.ts +0 -1002
  2359. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.d.ts +0 -26
  2360. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.js +0 -417
  2361. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.ts +0 -532
  2362. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.d.ts +0 -31
  2363. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.js +0 -725
  2364. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.ts +0 -911
  2365. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.d.ts +0 -51
  2366. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.js +0 -1019
  2367. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.ts +0 -1236
  2368. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.d.ts +0 -98
  2369. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.js +0 -578
  2370. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.ts +0 -618
  2371. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.d.ts +0 -28
  2372. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.js +0 -468
  2373. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.ts +0 -621
  2374. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/connection-pool.ts +0 -459
  2375. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/http.ts +0 -671
  2376. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/index.ts +0 -287
  2377. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/stdio.ts +0 -324
  2378. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/websocket.ts +0 -513
  2379. package/.claude/worktrees/adr-120-impl/v3/mcp/types.js +0 -54
  2380. package/.claude/worktrees/adr-120-impl/v3/mcp/types.ts +0 -565
  2381. package/.claude/worktrees/adr-120-impl/v3/package-lock.json +0 -25146
  2382. package/.claude/worktrees/adr-120-impl/v3/package.json +0 -66
  2383. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/README.md +0 -318
  2384. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/architect.yaml +0 -11
  2385. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/coder.yaml +0 -11
  2386. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/reviewer.yaml +0 -10
  2387. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/security-architect.yaml +0 -10
  2388. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/tester.yaml +0 -10
  2389. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/package.json +0 -96
  2390. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/plugin.yaml +0 -1095
  2391. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QECoreBridge.ts +0 -601
  2392. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEHiveBridge.ts +0 -611
  2393. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts +0 -542
  2394. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEModelRoutingAdapter.ts +0 -385
  2395. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QESecurityBridge.ts +0 -646
  2396. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/index.ts +0 -26
  2397. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/index.ts +0 -360
  2398. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/interfaces.ts +0 -1085
  2399. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/plugin.ts +0 -1331
  2400. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/schemas.ts +0 -635
  2401. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/chaos-resilience/chaos-inject.ts +0 -592
  2402. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/analyze-coverage.ts +0 -531
  2403. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/prioritize-gaps.ts +0 -579
  2404. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/track-trends.ts +0 -581
  2405. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/analyze-root-cause.ts +0 -734
  2406. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/find-similar-defects.ts +0 -565
  2407. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/predict-defects.ts +0 -604
  2408. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/index.ts +0 -307
  2409. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/assess-readiness.ts +0 -653
  2410. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/calculate-risk.ts +0 -594
  2411. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/evaluate-quality-gate.ts +0 -564
  2412. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/audit-compliance.ts +0 -580
  2413. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/detect-secrets.ts +0 -497
  2414. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/security-scan.ts +0 -651
  2415. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/generate-tests.ts +0 -520
  2416. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/suggest-tests.ts +0 -500
  2417. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/tdd-cycle.ts +0 -557
  2418. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/types.ts +0 -1205
  2419. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/tmp.json +0 -0
  2420. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/README.md +0 -381
  2421. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/package.json +0 -77
  2422. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/gnn-bridge.ts +0 -740
  2423. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/index.ts +0 -15
  2424. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/mincut-bridge.ts +0 -652
  2425. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/index.ts +0 -199
  2426. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/mcp-tools.ts +0 -1298
  2427. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/types.ts +0 -966
  2428. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/README.md +0 -315
  2429. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/package-lock.json +0 -2052
  2430. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/package.json +0 -75
  2431. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/cognitive-bridge.ts +0 -446
  2432. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/index.ts +0 -24
  2433. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/sona-bridge.ts +0 -504
  2434. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/index.ts +0 -185
  2435. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/mcp-tools.ts +0 -1087
  2436. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/types.ts +0 -557
  2437. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/tests/validate.ts +0 -230
  2438. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/README.md +0 -343
  2439. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/package-lock.json +0 -1875
  2440. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/package.json +0 -97
  2441. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/economy-bridge.ts +0 -574
  2442. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/index.ts +0 -18
  2443. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/sparse-bridge.ts +0 -562
  2444. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/index.ts +0 -201
  2445. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/mcp-tools.ts +0 -904
  2446. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/types.ts +0 -711
  2447. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/.size-limit.json +0 -61
  2448. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/Cargo.toml +0 -60
  2449. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/README.md +0 -649
  2450. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/architect.yaml +0 -11
  2451. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/coder.yaml +0 -11
  2452. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/reviewer.yaml +0 -10
  2453. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/security-architect.yaml +0 -10
  2454. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/tester.yaml +0 -10
  2455. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/package-lock.json +0 -2407
  2456. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/package.json +0 -106
  2457. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/scripts/build-wasm.sh +0 -264
  2458. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/bd-bridge.ts +0 -1071
  2459. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/gt-bridge.ts +0 -879
  2460. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/index.ts +0 -79
  2461. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/sync-bridge.ts +0 -950
  2462. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/cache.ts +0 -1095
  2463. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/index.ts +0 -38
  2464. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/observer.ts +0 -1161
  2465. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/tracker.ts +0 -846
  2466. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/errors.ts +0 -700
  2467. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/formula/executor.ts +0 -1535
  2468. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/formula/index.ts +0 -29
  2469. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/adapter.ts +0 -718
  2470. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/index.ts +0 -74
  2471. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/state.ts +0 -756
  2472. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/index.ts +0 -1932
  2473. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/mcp-tools.ts +0 -1875
  2474. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/arena.ts +0 -503
  2475. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/index.ts +0 -385
  2476. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/lazy.ts +0 -579
  2477. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/monitor.ts +0 -622
  2478. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/pool.ts +0 -629
  2479. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/sanitizers.ts +0 -667
  2480. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types/uuid.d.ts +0 -14
  2481. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types/wasm.d.ts +0 -52
  2482. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types.ts +0 -878
  2483. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/validators.ts +0 -562
  2484. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/wasm/loader.ts +0 -340
  2485. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/wasm-loader.ts +0 -1285
  2486. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/tmp.json +0 -0
  2487. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/tsup.config.ts +0 -126
  2488. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/Cargo.toml +0 -72
  2489. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/Cargo.toml +0 -54
  2490. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/cooker.rs +0 -370
  2491. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/lib.rs +0 -312
  2492. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/molecule.rs +0 -267
  2493. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/parser.rs +0 -366
  2494. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/Cargo.toml +0 -65
  2495. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/critical.rs +0 -365
  2496. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/dag.rs +0 -449
  2497. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/lib.rs +0 -293
  2498. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/topo.rs +0 -393
  2499. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/Cargo.toml +0 -41
  2500. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/arena.rs +0 -143
  2501. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/hash.rs +0 -75
  2502. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/intern.rs +0 -155
  2503. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/lib.rs +0 -107
  2504. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/pool.rs +0 -167
  2505. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/simd.rs +0 -214
  2506. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/README.md +0 -280
  2507. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/package-lock.json +0 -1874
  2508. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/package.json +0 -95
  2509. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/gnn-bridge.ts +0 -629
  2510. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/hnsw-bridge.ts +0 -488
  2511. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/index.ts +0 -16
  2512. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/index.ts +0 -192
  2513. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/mcp-tools.ts +0 -679
  2514. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/types.ts +0 -643
  2515. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/README.md +0 -318
  2516. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/package-lock.json +0 -1998
  2517. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/package.json +0 -93
  2518. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/gnn-bridge.ts +0 -609
  2519. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/hyperbolic-bridge.ts +0 -614
  2520. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/index.ts +0 -22
  2521. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/index.ts +0 -200
  2522. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/mcp-tools.ts +0 -876
  2523. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/types.ts +0 -656
  2524. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/tests/__mocks__/gnn-wasm.ts +0 -29
  2525. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/tests/validate.ts +0 -241
  2526. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/README.md +0 -391
  2527. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/package.json +0 -78
  2528. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/attention-bridge.ts +0 -481
  2529. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/dag-bridge.ts +0 -583
  2530. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/index.ts +0 -15
  2531. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/index.ts +0 -189
  2532. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/mcp-tools.ts +0 -1237
  2533. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/types.ts +0 -933
  2534. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/README.md +0 -265
  2535. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/package-lock.json +0 -2052
  2536. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/package.json +0 -76
  2537. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/attention-bridge.ts +0 -374
  2538. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/index.ts +0 -21
  2539. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/nervous-system-bridge.ts +0 -327
  2540. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/index.ts +0 -181
  2541. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/mcp-tools.ts +0 -1074
  2542. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/types.ts +0 -546
  2543. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/tests/validate.ts +0 -238
  2544. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/README.md +0 -276
  2545. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/package-lock.json +0 -2052
  2546. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/package.json +0 -74
  2547. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/fpga-bridge.ts +0 -641
  2548. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/index.ts +0 -15
  2549. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/sparse-bridge.ts +0 -409
  2550. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/index.ts +0 -153
  2551. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/mcp-tools.ts +0 -1085
  2552. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/types.ts +0 -666
  2553. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/tests/validate.ts +0 -203
  2554. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/README.md +0 -361
  2555. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/package-lock.json +0 -1886
  2556. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/package.json +0 -83
  2557. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/plugin.yaml +0 -768
  2558. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CategoryEngine.ts +0 -382
  2559. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CausalEngine.ts +0 -434
  2560. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CohomologyEngine.ts +0 -300
  2561. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/HottEngine.ts +0 -522
  2562. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/QuantumEngine.ts +0 -531
  2563. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/SpectralEngine.ts +0 -308
  2564. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/index.ts +0 -18
  2565. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/index.ts +0 -366
  2566. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/interfaces.ts +0 -682
  2567. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/plugin.ts +0 -1325
  2568. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/schemas.ts +0 -453
  2569. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/causal-infer.ts +0 -451
  2570. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/coherence-check.ts +0 -237
  2571. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/consensus-verify.ts +0 -373
  2572. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/index.ts +0 -93
  2573. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/memory-gate.ts +0 -328
  2574. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/quantum-topology.ts +0 -487
  2575. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/spectral-analyze.ts +0 -339
  2576. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/types.ts +0 -412
  2577. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/types.ts +0 -613
  2578. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/wasm-bridge.ts +0 -482
  2579. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/README.md +0 -300
  2580. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/package-lock.json +0 -1880
  2581. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/package.json +0 -92
  2582. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/dag-bridge.ts +0 -622
  2583. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/exotic-bridge.ts +0 -604
  2584. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/index.ts +0 -23
  2585. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/index.ts +0 -173
  2586. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/mcp-tools.ts +0 -615
  2587. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/types.ts +0 -561
  2588. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/tests/validate.ts +0 -221
  2589. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/README.md +0 -71
  2590. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/package.json +0 -109
  2591. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/attention.ts +0 -185
  2592. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/cognitive.ts +0 -343
  2593. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/exotic.ts +0 -277
  2594. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/gnn.ts +0 -177
  2595. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/hnsw.ts +0 -199
  2596. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/hyperbolic.ts +0 -268
  2597. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/learning.ts +0 -238
  2598. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/sona.ts +0 -418
  2599. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/index.ts +0 -22
  2600. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/registry.ts +0 -182
  2601. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/types.ts +0 -146
  2602. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/README.md +0 -713
  2603. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/package-lock.json +0 -3782
  2604. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/package.json +0 -101
  2605. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/index.ts +0 -186
  2606. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/mcp-tools.ts +0 -916
  2607. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/semantic-router.ts +0 -585
  2608. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/teammate-bridge.ts +0 -2401
  2609. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/topology-optimizer.ts +0 -614
  2610. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/types.ts +0 -762
  2611. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/circuit-breaker.ts +0 -173
  2612. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/health-checker.ts +0 -182
  2613. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/index.ts +0 -17
  2614. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/metrics-collector.ts +0 -142
  2615. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/rate-limiter.ts +0 -102
  2616. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/retry.ts +0 -103
  2617. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/tmp.json +0 -0
  2618. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/README.md +0 -409
  2619. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/package-lock.json +0 -2052
  2620. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/package.json +0 -74
  2621. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/index.ts +0 -15
  2622. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/learning-bridge.ts +0 -456
  2623. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/sona-bridge.ts +0 -556
  2624. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/index.ts +0 -135
  2625. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/mcp-tools.ts +0 -863
  2626. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/types.ts +0 -498
  2627. package/.claude/worktrees/adr-120-impl/v3/pnpm-lock.yaml +0 -13618
  2628. package/.claude/worktrees/adr-120-impl/v3/pnpm-workspace.yaml +0 -2
  2629. package/.claude/worktrees/adr-120-impl/v3/scripts/prepare-publish.js +0 -173
  2630. package/.claude/worktrees/adr-120-impl/v3/scripts/quick-benchmark.mjs +0 -191
  2631. package/.claude/worktrees/adr-120-impl/v3/scripts/start-mcp.cmd +0 -141
  2632. package/.claude/worktrees/adr-120-impl/v3/scripts/start-mcp.sh +0 -294
  2633. package/.claude/worktrees/adr-120-impl/v3/src/agent-lifecycle/domain/Agent.ts +0 -186
  2634. package/.claude/worktrees/adr-120-impl/v3/src/coordination/application/SwarmCoordinator.ts +0 -479
  2635. package/.claude/worktrees/adr-120-impl/v3/src/coordination/application/index.ts +0 -6
  2636. package/.claude/worktrees/adr-120-impl/v3/src/index.ts +0 -32
  2637. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/MCPServer.ts +0 -120
  2638. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/index.ts +0 -8
  2639. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/AgentTools.ts +0 -138
  2640. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/ConfigTools.ts +0 -209
  2641. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/MemoryTools.ts +0 -156
  2642. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/ExtensionPoint.ts +0 -46
  2643. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/Plugin.ts +0 -122
  2644. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/PluginManager.ts +0 -276
  2645. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/index.ts +0 -8
  2646. package/.claude/worktrees/adr-120-impl/v3/src/mcp/index.ts +0 -19
  2647. package/.claude/worktrees/adr-120-impl/v3/src/memory/domain/Memory.ts +0 -157
  2648. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/AgentDBBackend.ts +0 -206
  2649. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/HybridBackend.ts +0 -173
  2650. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/SQLiteBackend.ts +0 -157
  2651. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/index.ts +0 -7
  2652. package/.claude/worktrees/adr-120-impl/v3/src/shared/types/index.ts +0 -427
  2653. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/application/WorkflowEngine.ts +0 -491
  2654. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/application/index.ts +0 -6
  2655. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/domain/Task.ts +0 -203
  2656. package/.claude/worktrees/adr-120-impl/v3/swarm.config.ts +0 -455
  2657. package/.claude/worktrees/adr-120-impl/v3/tmp.json +0 -0
  2658. package/.claude/worktrees/adr-120-impl/v3/tsconfig.base.json +0 -24
  2659. package/.claude/worktrees/adr-120-impl/v3/tsconfig.vitest-temp.json +0 -104
  2660. package/.claude/worktrees/adr-120-impl/verification/README.md +0 -358
  2661. package/.claude/worktrees/adr-120-impl/verification/cli-mcp-tool-baseline.json +0 -6
  2662. package/.claude/worktrees/adr-120-impl/verification/inventory.json +0 -2236
  2663. package/.claude/worktrees/adr-120-impl/verification/linux/history.jsonl +0 -2
  2664. package/.claude/worktrees/adr-120-impl/verification/linux/manifest.md.json +0 -934
  2665. package/.claude/worktrees/adr-120-impl/verification/linux/performance.jsonl +0 -0
  2666. package/.claude/worktrees/adr-120-impl/verification/macos/history.jsonl +0 -27
  2667. package/.claude/worktrees/adr-120-impl/verification/macos/manifest.md.json +0 -934
  2668. package/.claude/worktrees/adr-120-impl/verification/macos/performance.jsonl +0 -3
  2669. package/.claude/worktrees/adr-120-impl/verification/mcp-tool-baseline.json +0 -8
  2670. package/.claude/worktrees/adr-120-impl/verification/windows/history.jsonl +0 -2
  2671. package/.claude/worktrees/adr-120-impl/verification/windows/manifest.md.json +0 -934
  2672. package/.claude/worktrees/adr-120-impl/verification/windows/performance.jsonl +0 -0
  2673. package/.claude/worktrees/adr-120-impl/verification/witness-fixes.json +0 -215
@@ -1,4499 +0,0 @@
1
- /**
2
- * V3 CLI Hooks Command
3
- * Self-learning hooks system for intelligent workflow automation
4
- */
5
- import { output } from '../output.js';
6
- import { confirm } from '../prompt.js';
7
- import { callMCPTool, MCPClientError } from '../mcp-client.js';
8
- import { storeCommand } from './transfer-store.js';
9
- import { existsSync, readFileSync, statSync } from 'node:fs';
10
- import { join } from 'node:path';
11
- /**
12
- * #1686 — `?? 0` only defaults null/undefined; NaN slips through and
13
- * surfaces as `"NaN"` (or earlier crashed `.toFixed`) in the metrics
14
- * dashboard and pretrain output. Coerce to a finite number, fall back
15
- * to `fallback` when the input is null/undefined/non-numeric/NaN/Infinity.
16
- */
17
- function safeNum(value, fallback = 0) {
18
- const n = typeof value === 'number' ? value : Number(value);
19
- return Number.isFinite(n) ? n : fallback;
20
- }
21
- /**
22
- * Read coverage data from disk. Checks these locations in order:
23
- * 1. coverage/coverage-summary.json (Jest/Istanbul)
24
- * 2. coverage/lcov.info (lcov format)
25
- * 3. .nyc_output/out.json (nyc)
26
- */
27
- function readCoverageFromDisk() {
28
- const cwd = process.cwd();
29
- const noData = {
30
- found: false,
31
- source: 'none',
32
- entries: [],
33
- summary: { totalFiles: 0, overallLineCoverage: 0, overallBranchCoverage: 0, overallFunctionCoverage: 0, overallStatementCoverage: 0 },
34
- };
35
- // 1. Try coverage-summary.json (Jest/Istanbul)
36
- for (const relPath of ['coverage/coverage-summary.json', 'coverage-summary.json']) {
37
- const summaryPath = join(cwd, relPath);
38
- if (existsSync(summaryPath)) {
39
- try {
40
- const raw = JSON.parse(readFileSync(summaryPath, 'utf-8'));
41
- return parseCoverageSummaryJson(raw, relPath);
42
- }
43
- catch {
44
- // malformed, try next
45
- }
46
- }
47
- }
48
- // 2. Try lcov.info
49
- for (const relPath of ['coverage/lcov.info', 'lcov.info']) {
50
- const lcovPath = join(cwd, relPath);
51
- if (existsSync(lcovPath)) {
52
- try {
53
- const raw = readFileSync(lcovPath, 'utf-8');
54
- return parseLcovInfo(raw, relPath);
55
- }
56
- catch {
57
- // malformed, try next
58
- }
59
- }
60
- }
61
- // 3. Try .nyc_output/out.json
62
- const nycPath = join(cwd, '.nyc_output', 'out.json');
63
- if (existsSync(nycPath)) {
64
- try {
65
- const raw = JSON.parse(readFileSync(nycPath, 'utf-8'));
66
- return parseCoverageSummaryJson(raw, '.nyc_output/out.json');
67
- }
68
- catch {
69
- // malformed
70
- }
71
- }
72
- return noData;
73
- }
74
- function parseCoverageSummaryJson(data, source) {
75
- const entries = [];
76
- let totalLines = 0, coveredLines = 0;
77
- let totalBranches = 0, coveredBranches = 0;
78
- let totalFunctions = 0, coveredFunctions = 0;
79
- let totalStatements = 0, coveredStatements = 0;
80
- for (const [filePath, metrics] of Object.entries(data)) {
81
- if (filePath === 'total')
82
- continue;
83
- const m = metrics;
84
- if (!m || typeof m !== 'object')
85
- continue;
86
- const linePct = m.lines?.pct ?? m.lines?.covered != null ? ((m.lines?.covered ?? 0) / Math.max(m.lines?.total ?? 1, 1)) * 100 : 0;
87
- const branchPct = m.branches?.pct ?? (m.branches?.total ? ((m.branches?.covered ?? 0) / m.branches.total) * 100 : 100);
88
- const funcPct = m.functions?.pct ?? (m.functions?.total ? ((m.functions?.covered ?? 0) / m.functions.total) * 100 : 100);
89
- const stmtPct = m.statements?.pct ?? (m.statements?.total ? ((m.statements?.covered ?? 0) / m.statements.total) * 100 : 100);
90
- entries.push({ filePath, lines: linePct, branches: branchPct, functions: funcPct, statements: stmtPct });
91
- totalLines += m.lines?.total ?? 0;
92
- coveredLines += m.lines?.covered ?? 0;
93
- totalBranches += m.branches?.total ?? 0;
94
- coveredBranches += m.branches?.covered ?? 0;
95
- totalFunctions += m.functions?.total ?? 0;
96
- coveredFunctions += m.functions?.covered ?? 0;
97
- totalStatements += m.statements?.total ?? 0;
98
- coveredStatements += m.statements?.covered ?? 0;
99
- }
100
- // Also read the total key if present
101
- const total = data['total'];
102
- const overallLine = total?.lines?.pct ?? (totalLines > 0 ? (coveredLines / totalLines) * 100 : 0);
103
- const overallBranch = total?.branches?.pct ?? (totalBranches > 0 ? (coveredBranches / totalBranches) * 100 : 0);
104
- const overallFunction = total?.functions?.pct ?? (totalFunctions > 0 ? (coveredFunctions / totalFunctions) * 100 : 0);
105
- const overallStatement = total?.statements?.pct ?? (totalStatements > 0 ? (coveredStatements / totalStatements) * 100 : 0);
106
- // Sort by lowest line coverage
107
- entries.sort((a, b) => a.lines - b.lines);
108
- return {
109
- found: true,
110
- source,
111
- entries,
112
- summary: {
113
- totalFiles: entries.length,
114
- overallLineCoverage: overallLine,
115
- overallBranchCoverage: overallBranch,
116
- overallFunctionCoverage: overallFunction,
117
- overallStatementCoverage: overallStatement,
118
- },
119
- };
120
- }
121
- function parseLcovInfo(raw, source) {
122
- const entries = [];
123
- let currentFile = '';
124
- let linesHit = 0, linesFound = 0;
125
- let branchesHit = 0, branchesFound = 0;
126
- let functionsHit = 0, functionsFound = 0;
127
- const flushRecord = () => {
128
- if (currentFile) {
129
- entries.push({
130
- filePath: currentFile,
131
- lines: linesFound > 0 ? (linesHit / linesFound) * 100 : 0,
132
- branches: branchesFound > 0 ? (branchesHit / branchesFound) * 100 : 100,
133
- functions: functionsFound > 0 ? (functionsHit / functionsFound) * 100 : 100,
134
- statements: linesFound > 0 ? (linesHit / linesFound) * 100 : 0,
135
- });
136
- }
137
- };
138
- for (const line of raw.split('\n')) {
139
- const trimmed = line.trim();
140
- if (trimmed.startsWith('SF:')) {
141
- currentFile = trimmed.slice(3);
142
- linesHit = 0;
143
- linesFound = 0;
144
- branchesHit = 0;
145
- branchesFound = 0;
146
- functionsHit = 0;
147
- functionsFound = 0;
148
- }
149
- else if (trimmed.startsWith('LH:')) {
150
- linesHit = parseInt(trimmed.slice(3), 10) || 0;
151
- }
152
- else if (trimmed.startsWith('LF:')) {
153
- linesFound = parseInt(trimmed.slice(3), 10) || 0;
154
- }
155
- else if (trimmed.startsWith('BRH:')) {
156
- branchesHit = parseInt(trimmed.slice(4), 10) || 0;
157
- }
158
- else if (trimmed.startsWith('BRF:')) {
159
- branchesFound = parseInt(trimmed.slice(4), 10) || 0;
160
- }
161
- else if (trimmed.startsWith('FNH:')) {
162
- functionsHit = parseInt(trimmed.slice(4), 10) || 0;
163
- }
164
- else if (trimmed.startsWith('FNF:')) {
165
- functionsFound = parseInt(trimmed.slice(4), 10) || 0;
166
- }
167
- else if (trimmed === 'end_of_record') {
168
- flushRecord();
169
- currentFile = '';
170
- }
171
- }
172
- flushRecord();
173
- entries.sort((a, b) => a.lines - b.lines);
174
- let totalLH = 0, totalLF = 0, totalBH = 0, totalBF = 0;
175
- for (const e of entries) {
176
- // Approximate from percentages (we lost exact counts after flush, but summaries are okay)
177
- totalLH += e.lines;
178
- totalLF += 100;
179
- totalBH += e.branches;
180
- totalBF += 100;
181
- }
182
- const n = entries.length || 1;
183
- return {
184
- found: true,
185
- source,
186
- entries,
187
- summary: {
188
- totalFiles: entries.length,
189
- overallLineCoverage: totalLH / n,
190
- overallBranchCoverage: totalBH / n,
191
- overallFunctionCoverage: 0,
192
- overallStatementCoverage: totalLH / n,
193
- },
194
- };
195
- }
196
- /**
197
- * Classify a coverage gap by priority type based on coverage percentage and threshold
198
- */
199
- function classifyCoverageGap(coveragePct, threshold) {
200
- if (coveragePct < threshold * 0.25)
201
- return { gapType: 'critical', priority: 10 };
202
- if (coveragePct < threshold * 0.5)
203
- return { gapType: 'high', priority: 7 };
204
- if (coveragePct < threshold * 0.75)
205
- return { gapType: 'medium', priority: 5 };
206
- if (coveragePct < threshold)
207
- return { gapType: 'low', priority: 3 };
208
- return { gapType: 'ok', priority: 0 };
209
- }
210
- /**
211
- * Suggest agents for a file based on its path
212
- */
213
- function suggestAgentsForFile(filePath) {
214
- const lower = filePath.toLowerCase();
215
- if (lower.includes('test') || lower.includes('spec'))
216
- return ['tester'];
217
- if (lower.includes('security') || lower.includes('auth'))
218
- return ['security-auditor', 'tester'];
219
- if (lower.includes('api') || lower.includes('route') || lower.includes('controller'))
220
- return ['coder', 'tester'];
221
- if (lower.includes('model') || lower.includes('schema') || lower.includes('entity'))
222
- return ['coder', 'tester'];
223
- return ['tester', 'coder'];
224
- }
225
- // Hook types
226
- const HOOK_TYPES = [
227
- { value: 'pre-edit', label: 'Pre-Edit', hint: 'Get context before editing files' },
228
- { value: 'post-edit', label: 'Post-Edit', hint: 'Record editing outcomes' },
229
- { value: 'pre-command', label: 'Pre-Command', hint: 'Assess risk before commands' },
230
- { value: 'post-command', label: 'Post-Command', hint: 'Record command outcomes' },
231
- { value: 'route', label: 'Route', hint: 'Route tasks to optimal agents' },
232
- { value: 'explain', label: 'Explain', hint: 'Explain routing decisions' }
233
- ];
234
- // Agent routing options
235
- const AGENT_TYPES = [
236
- 'coder', 'researcher', 'tester', 'reviewer', 'architect',
237
- 'security-architect', 'security-auditor', 'memory-specialist',
238
- 'swarm-specialist', 'performance-engineer', 'core-architect',
239
- 'test-architect', 'coordinator', 'analyst', 'optimizer'
240
- ];
241
- // Pre-edit subcommand
242
- const preEditCommand = {
243
- name: 'pre-edit',
244
- description: 'Get context and agent suggestions before editing a file',
245
- options: [
246
- {
247
- name: 'file',
248
- short: 'f',
249
- description: 'File path to edit',
250
- type: 'string',
251
- required: false
252
- },
253
- {
254
- name: 'operation',
255
- short: 'o',
256
- description: 'Type of edit operation (create, update, delete, refactor)',
257
- type: 'string',
258
- default: 'update'
259
- },
260
- {
261
- name: 'context',
262
- short: 'c',
263
- description: 'Additional context about the edit',
264
- type: 'string'
265
- }
266
- ],
267
- examples: [
268
- { command: 'claude-flow hooks pre-edit -f src/utils.ts', description: 'Get context before editing' },
269
- { command: 'claude-flow hooks pre-edit -f src/api.ts -o refactor', description: 'Pre-edit with operation type' }
270
- ],
271
- action: async (ctx) => {
272
- // Default file to 'unknown' for backward compatibility (env var may be empty)
273
- const filePath = ctx.flags.file || ctx.args[0] || 'unknown';
274
- const operation = ctx.flags.operation || 'update';
275
- output.printInfo(`Analyzing context for: ${output.highlight(filePath)}`);
276
- try {
277
- // Call MCP tool for pre-edit hook
278
- const result = await callMCPTool('hooks_pre-edit', {
279
- filePath,
280
- operation,
281
- context: ctx.flags.context,
282
- includePatterns: true,
283
- includeRisks: true,
284
- });
285
- if (ctx.flags.format === 'json') {
286
- output.printJson(result);
287
- return { success: true, data: result };
288
- }
289
- output.writeln();
290
- output.printBox([
291
- `File: ${result.filePath}`,
292
- `Operation: ${result.operation}`,
293
- `Type: ${result.context.fileType}`,
294
- `Exists: ${result.context.fileExists ? 'Yes' : 'No'}`
295
- ].join('\n'), 'File Context');
296
- if (result.context.suggestedAgents.length > 0) {
297
- output.writeln();
298
- output.writeln(output.bold('Suggested Agents'));
299
- output.printList(result.context.suggestedAgents.map(a => output.highlight(a)));
300
- }
301
- if (result.context.relatedFiles.length > 0) {
302
- output.writeln();
303
- output.writeln(output.bold('Related Files'));
304
- output.printList(result.context.relatedFiles.slice(0, 5).map(f => output.dim(f)));
305
- }
306
- if (result.context.patterns.length > 0) {
307
- output.writeln();
308
- output.writeln(output.bold('Learned Patterns'));
309
- output.printTable({
310
- columns: [
311
- { key: 'pattern', header: 'Pattern', width: 40 },
312
- { key: 'confidence', header: 'Confidence', width: 12, align: 'right', format: (v) => `${(Number(v) * 100).toFixed(1)}%` }
313
- ],
314
- data: result.context.patterns
315
- });
316
- }
317
- if (result.context.risks.length > 0) {
318
- output.writeln();
319
- output.writeln(output.bold(output.error('Potential Risks')));
320
- output.printList(result.context.risks.map(r => output.warning(r)));
321
- }
322
- if (result.recommendations.length > 0) {
323
- output.writeln();
324
- output.writeln(output.bold('Recommendations'));
325
- output.printList(result.recommendations.map(r => output.success(`• ${r}`)));
326
- }
327
- return { success: true, data: result };
328
- }
329
- catch (error) {
330
- if (error instanceof MCPClientError) {
331
- output.printError(`Pre-edit hook failed: ${error.message}`);
332
- }
333
- else {
334
- output.printError(`Unexpected error: ${String(error)}`);
335
- }
336
- return { success: false, exitCode: 1 };
337
- }
338
- }
339
- };
340
- // Post-edit subcommand
341
- const postEditCommand = {
342
- name: 'post-edit',
343
- description: 'Record editing outcome for learning',
344
- options: [
345
- {
346
- name: 'file',
347
- short: 'f',
348
- description: 'File path that was edited',
349
- type: 'string',
350
- required: false
351
- },
352
- {
353
- name: 'success',
354
- short: 's',
355
- description: 'Whether the edit was successful',
356
- type: 'boolean',
357
- required: false
358
- },
359
- {
360
- name: 'outcome',
361
- short: 'o',
362
- description: 'Outcome description',
363
- type: 'string'
364
- },
365
- {
366
- name: 'metrics',
367
- short: 'm',
368
- description: 'Performance metrics (e.g., "time:500ms,quality:0.95")',
369
- type: 'string'
370
- }
371
- ],
372
- examples: [
373
- { command: 'claude-flow hooks post-edit -f src/utils.ts --success true', description: 'Record successful edit' },
374
- { command: 'claude-flow hooks post-edit -f src/api.ts --success false -o "Type error"', description: 'Record failed edit' }
375
- ],
376
- action: async (ctx) => {
377
- // Default file to 'unknown' for backward compatibility (env var may be empty)
378
- const filePath = ctx.flags.file || ctx.args[0] || 'unknown';
379
- // Default success to true for backward compatibility (PostToolUse = success, PostToolUseFailure = failure)
380
- const success = ctx.flags.success !== undefined ? ctx.flags.success : true;
381
- output.printInfo(`Recording outcome for: ${output.highlight(filePath)}`);
382
- try {
383
- // Parse metrics if provided
384
- const metrics = {};
385
- if (ctx.flags.metrics) {
386
- const metricsStr = ctx.flags.metrics;
387
- metricsStr.split(',').forEach(pair => {
388
- const [key, value] = pair.split(':');
389
- if (key && value) {
390
- metrics[key.trim()] = parseFloat(value);
391
- }
392
- });
393
- }
394
- // Call MCP tool for post-edit hook
395
- const result = await callMCPTool('hooks_post-edit', {
396
- filePath,
397
- success,
398
- outcome: ctx.flags.outcome,
399
- metrics,
400
- timestamp: Date.now(),
401
- });
402
- if (ctx.flags.format === 'json') {
403
- output.printJson(result);
404
- return { success: true, data: result };
405
- }
406
- output.writeln();
407
- output.printSuccess(`Outcome recorded for ${filePath}`);
408
- if (result.learningUpdates) {
409
- output.writeln();
410
- output.writeln(output.bold('Learning Updates'));
411
- output.printTable({
412
- columns: [
413
- { key: 'metric', header: 'Metric', width: 25 },
414
- { key: 'value', header: 'Value', width: 15, align: 'right' }
415
- ],
416
- data: [
417
- { metric: 'Patterns Updated', value: result.learningUpdates.patternsUpdated },
418
- { metric: 'Confidence Adjusted', value: result.learningUpdates.confidenceAdjusted },
419
- { metric: 'New Patterns', value: result.learningUpdates.newPatterns }
420
- ]
421
- });
422
- }
423
- return { success: true, data: result };
424
- }
425
- catch (error) {
426
- if (error instanceof MCPClientError) {
427
- output.printError(`Post-edit hook failed: ${error.message}`);
428
- }
429
- else {
430
- output.printError(`Unexpected error: ${String(error)}`);
431
- }
432
- return { success: false, exitCode: 1 };
433
- }
434
- }
435
- };
436
- // Pre-command subcommand
437
- const preCommandCommand = {
438
- name: 'pre-command',
439
- description: 'Assess risk before executing a command',
440
- options: [
441
- {
442
- name: 'command',
443
- short: 'c',
444
- description: 'Command to execute',
445
- type: 'string',
446
- required: true
447
- },
448
- {
449
- name: 'dry-run',
450
- short: 'd',
451
- description: 'Only analyze, do not execute',
452
- type: 'boolean',
453
- default: true
454
- }
455
- ],
456
- examples: [
457
- { command: 'claude-flow hooks pre-command -c "rm -rf dist"', description: 'Assess command risk' },
458
- { command: 'claude-flow hooks pre-command -c "npm install lodash"', description: 'Check package install' }
459
- ],
460
- action: async (ctx) => {
461
- const command = ctx.flags.command || ctx.args[0];
462
- if (!command) {
463
- output.printError('Command is required. Use --command or -c flag.');
464
- return { success: false, exitCode: 1 };
465
- }
466
- output.printInfo(`Analyzing command: ${output.highlight(command)}`);
467
- try {
468
- // Call MCP tool for pre-command hook
469
- const result = await callMCPTool('hooks_pre-command', {
470
- command,
471
- includeAlternatives: true,
472
- });
473
- if (ctx.flags.format === 'json') {
474
- output.printJson(result);
475
- return { success: true, data: result };
476
- }
477
- output.writeln();
478
- // Risk level indicator
479
- let riskIndicator;
480
- switch (result.riskLevel) {
481
- case 'critical':
482
- riskIndicator = output.error('CRITICAL');
483
- break;
484
- case 'high':
485
- riskIndicator = output.error('HIGH');
486
- break;
487
- case 'medium':
488
- riskIndicator = output.warning('MEDIUM');
489
- break;
490
- default:
491
- riskIndicator = output.success('LOW');
492
- }
493
- output.printBox([
494
- `Risk Level: ${riskIndicator}`,
495
- `Should Proceed: ${result.shouldProceed ? output.success('Yes') : output.error('No')}`
496
- ].join('\n'), 'Risk Assessment');
497
- if (result.risks.length > 0) {
498
- output.writeln();
499
- output.writeln(output.bold('Identified Risks'));
500
- output.printTable({
501
- columns: [
502
- { key: 'type', header: 'Type', width: 15 },
503
- { key: 'severity', header: 'Severity', width: 10 },
504
- { key: 'description', header: 'Description', width: 40 }
505
- ],
506
- data: result.risks
507
- });
508
- }
509
- if (result.safeAlternatives && result.safeAlternatives.length > 0) {
510
- output.writeln();
511
- output.writeln(output.bold('Safe Alternatives'));
512
- output.printList(result.safeAlternatives.map(a => output.success(a)));
513
- }
514
- if (result.recommendations.length > 0) {
515
- output.writeln();
516
- output.writeln(output.bold('Recommendations'));
517
- output.printList(result.recommendations);
518
- }
519
- return { success: true, data: result };
520
- }
521
- catch (error) {
522
- if (error instanceof MCPClientError) {
523
- output.printError(`Pre-command hook failed: ${error.message}`);
524
- }
525
- else {
526
- output.printError(`Unexpected error: ${String(error)}`);
527
- }
528
- return { success: false, exitCode: 1 };
529
- }
530
- }
531
- };
532
- // Post-command subcommand
533
- const postCommandCommand = {
534
- name: 'post-command',
535
- description: 'Record command execution outcome',
536
- options: [
537
- {
538
- name: 'command',
539
- short: 'c',
540
- description: 'Command that was executed',
541
- type: 'string',
542
- required: true
543
- },
544
- {
545
- name: 'success',
546
- short: 's',
547
- description: 'Whether the command succeeded',
548
- type: 'boolean',
549
- required: false
550
- },
551
- {
552
- name: 'exit-code',
553
- short: 'e',
554
- description: 'Command exit code',
555
- type: 'number',
556
- default: 0
557
- },
558
- {
559
- name: 'duration',
560
- short: 'd',
561
- description: 'Execution duration in milliseconds',
562
- type: 'number'
563
- }
564
- ],
565
- examples: [
566
- { command: 'claude-flow hooks post-command -c "npm test" --success true', description: 'Record successful test run' },
567
- { command: 'claude-flow hooks post-command -c "npm build" --success false -e 1', description: 'Record failed build' }
568
- ],
569
- action: async (ctx) => {
570
- const command = ctx.flags.command || ctx.args[0];
571
- // Default success to true for backward compatibility
572
- const success = ctx.flags.success !== undefined ? ctx.flags.success : true;
573
- if (!command) {
574
- output.printError('Command is required. Use --command or -c flag.');
575
- return { success: false, exitCode: 1 };
576
- }
577
- output.printInfo(`Recording command outcome: ${output.highlight(command)}`);
578
- try {
579
- // Call MCP tool for post-command hook
580
- const result = await callMCPTool('hooks_post-command', {
581
- command,
582
- success,
583
- exitCode: ctx.flags.exitCode || 0,
584
- duration: ctx.flags.duration,
585
- timestamp: Date.now(),
586
- });
587
- if (ctx.flags.format === 'json') {
588
- output.printJson(result);
589
- return { success: true, data: result };
590
- }
591
- output.writeln();
592
- output.printSuccess('Command outcome recorded');
593
- if (result.learningUpdates) {
594
- output.writeln();
595
- output.writeln(output.dim(`Patterns updated: ${result.learningUpdates.commandPatternsUpdated}`));
596
- output.writeln(output.dim(`Risk assessment: ${result.learningUpdates.riskAssessmentUpdated ? 'Updated' : 'No change'}`));
597
- }
598
- return { success: true, data: result };
599
- }
600
- catch (error) {
601
- if (error instanceof MCPClientError) {
602
- output.printError(`Post-command hook failed: ${error.message}`);
603
- }
604
- else {
605
- output.printError(`Unexpected error: ${String(error)}`);
606
- }
607
- return { success: false, exitCode: 1 };
608
- }
609
- }
610
- };
611
- // Route subcommand
612
- const routeCommand = {
613
- name: 'route',
614
- description: 'Route task to optimal agent using learned patterns',
615
- options: [
616
- {
617
- name: 'task',
618
- short: 't',
619
- description: 'Task description',
620
- type: 'string',
621
- required: true
622
- },
623
- {
624
- name: 'context',
625
- short: 'c',
626
- description: 'Additional context',
627
- type: 'string'
628
- },
629
- {
630
- name: 'top-k',
631
- short: 'K',
632
- description: 'Number of top agent suggestions',
633
- type: 'number',
634
- default: 3
635
- }
636
- ],
637
- examples: [
638
- { command: 'claude-flow hooks route -t "Fix authentication bug"', description: 'Route task to optimal agent' },
639
- { command: 'claude-flow hooks route -t "Optimize database queries" -K 5', description: 'Get top 5 suggestions' }
640
- ],
641
- action: async (ctx) => {
642
- const task = ctx.flags.task || ctx.args[0];
643
- const topK = ctx.flags.topK || 3;
644
- if (!task) {
645
- output.printError('Task description is required. Use --task or -t flag.');
646
- return { success: false, exitCode: 1 };
647
- }
648
- output.printInfo(`Routing task: ${output.highlight(task)}`);
649
- try {
650
- // Call MCP tool for routing
651
- const result = await callMCPTool('hooks_route', {
652
- task,
653
- context: ctx.flags.context,
654
- topK,
655
- includeEstimates: true,
656
- });
657
- if (ctx.flags.format === 'json') {
658
- output.printJson(result);
659
- return { success: true, data: result };
660
- }
661
- // Show routing method info
662
- if (result.routing) {
663
- output.writeln();
664
- output.writeln(output.bold('Routing Method'));
665
- const methodDisplay = result.routing.method.startsWith('semantic')
666
- ? output.success(`${result.routing.method} (${result.routing.backend || 'semantic'})`)
667
- : 'keyword';
668
- output.printList([
669
- `Method: ${methodDisplay}`,
670
- result.routing.backend ? `Backend: ${result.routing.backend}` : null,
671
- `Latency: ${result.routing.latencyMs.toFixed(3)}ms`,
672
- result.matchedPattern ? `Matched Pattern: ${result.matchedPattern}` : null,
673
- ].filter(Boolean));
674
- // Show semantic matches if available
675
- if (result.semanticMatches && result.semanticMatches.length > 0) {
676
- output.writeln();
677
- output.writeln(output.dim('Semantic Matches:'));
678
- result.semanticMatches.forEach(m => {
679
- output.writeln(` ${m.pattern}: ${(m.score * 100).toFixed(1)}%`);
680
- });
681
- }
682
- }
683
- output.writeln();
684
- output.printBox([
685
- `Agent: ${output.highlight(result.primaryAgent.type)}`,
686
- `Confidence: ${(result.primaryAgent.confidence * 100).toFixed(1)}%`,
687
- `Reason: ${result.primaryAgent.reason}`
688
- ].join('\n'), 'Primary Recommendation');
689
- if (result.alternativeAgents.length > 0) {
690
- output.writeln();
691
- output.writeln(output.bold('Alternative Agents'));
692
- output.printTable({
693
- columns: [
694
- { key: 'type', header: 'Agent Type', width: 20 },
695
- { key: 'confidence', header: 'Confidence', width: 12, align: 'right', format: (v) => `${(Number(v) * 100).toFixed(1)}%` },
696
- { key: 'reason', header: 'Reason', width: 35 }
697
- ],
698
- data: result.alternativeAgents
699
- });
700
- }
701
- if (result.estimatedMetrics) {
702
- output.writeln();
703
- output.writeln(output.bold('Estimated Metrics'));
704
- output.printList([
705
- `Success Probability: ${(result.estimatedMetrics.successProbability * 100).toFixed(1)}%`,
706
- `Estimated Duration: ${result.estimatedMetrics.estimatedDuration}`,
707
- `Complexity: ${result.estimatedMetrics.complexity.toUpperCase()}`
708
- ]);
709
- }
710
- return { success: true, data: result };
711
- }
712
- catch (error) {
713
- if (error instanceof MCPClientError) {
714
- output.printError(`Routing failed: ${error.message}`);
715
- }
716
- else {
717
- output.printError(`Unexpected error: ${String(error)}`);
718
- }
719
- return { success: false, exitCode: 1 };
720
- }
721
- }
722
- };
723
- // Explain subcommand
724
- const explainCommand = {
725
- name: 'explain',
726
- description: 'Explain routing decision with transparency',
727
- options: [
728
- {
729
- name: 'task',
730
- short: 't',
731
- description: 'Task description',
732
- type: 'string',
733
- required: true
734
- },
735
- {
736
- name: 'agent',
737
- short: 'a',
738
- description: 'Agent type to explain',
739
- type: 'string'
740
- },
741
- {
742
- name: 'verbose',
743
- short: 'v',
744
- description: 'Verbose explanation',
745
- type: 'boolean',
746
- default: false
747
- }
748
- ],
749
- examples: [
750
- { command: 'claude-flow hooks explain -t "Fix authentication bug"', description: 'Explain routing decision' },
751
- { command: 'claude-flow hooks explain -t "Optimize queries" -a coder --verbose', description: 'Verbose explanation for specific agent' }
752
- ],
753
- action: async (ctx) => {
754
- const task = ctx.flags.task || ctx.args[0];
755
- if (!task) {
756
- output.printError('Task description is required. Use --task or -t flag.');
757
- return { success: false, exitCode: 1 };
758
- }
759
- output.printInfo(`Explaining routing for: ${output.highlight(task)}`);
760
- try {
761
- // Call MCP tool for explanation
762
- const result = await callMCPTool('hooks_explain', {
763
- task,
764
- agent: ctx.flags.agent,
765
- verbose: ctx.flags.verbose || false,
766
- });
767
- if (ctx.flags.format === 'json') {
768
- output.printJson(result);
769
- return { success: true, data: result };
770
- }
771
- output.writeln();
772
- output.writeln(output.bold('Decision Explanation'));
773
- output.writeln();
774
- output.writeln(result.explanation);
775
- output.writeln();
776
- output.printBox([
777
- `Agent: ${output.highlight(result.decision.agent)}`,
778
- `Confidence: ${(result.decision.confidence * 100).toFixed(1)}%`
779
- ].join('\n'), 'Final Decision');
780
- if (result.decision.reasoning.length > 0) {
781
- output.writeln();
782
- output.writeln(output.bold('Reasoning Steps'));
783
- output.printList(result.decision.reasoning.map((r, i) => `${i + 1}. ${r}`));
784
- }
785
- if (result.factors.length > 0) {
786
- output.writeln();
787
- output.writeln(output.bold('Decision Factors'));
788
- output.printTable({
789
- columns: [
790
- { key: 'factor', header: 'Factor', width: 20 },
791
- { key: 'weight', header: 'Weight', width: 10, align: 'right', format: (v) => `${(Number(v) * 100).toFixed(0)}%` },
792
- { key: 'value', header: 'Value', width: 10, align: 'right', format: (v) => Number(v).toFixed(2) },
793
- { key: 'impact', header: 'Impact', width: 25 }
794
- ],
795
- data: result.factors
796
- });
797
- }
798
- if (result.patterns.length > 0 && ctx.flags.verbose) {
799
- output.writeln();
800
- output.writeln(output.bold('Matched Patterns'));
801
- result.patterns.forEach((p, i) => {
802
- output.writeln();
803
- output.writeln(`${i + 1}. ${output.highlight(p.pattern)} (${(p.matchScore * 100).toFixed(1)}% match)`);
804
- if (p.examples.length > 0) {
805
- output.printList(p.examples.slice(0, 3).map(e => output.dim(` ${e}`)));
806
- }
807
- });
808
- }
809
- return { success: true, data: result };
810
- }
811
- catch (error) {
812
- if (error instanceof MCPClientError) {
813
- output.printError(`Explanation failed: ${error.message}`);
814
- }
815
- else {
816
- output.printError(`Unexpected error: ${String(error)}`);
817
- }
818
- return { success: false, exitCode: 1 };
819
- }
820
- }
821
- };
822
- // Pretrain subcommand
823
- const pretrainCommand = {
824
- name: 'pretrain',
825
- description: 'Bootstrap intelligence from repository (4-step pipeline + embeddings)',
826
- options: [
827
- {
828
- name: 'path',
829
- short: 'p',
830
- description: 'Repository path',
831
- type: 'string',
832
- default: '.'
833
- },
834
- {
835
- name: 'depth',
836
- short: 'd',
837
- description: 'Analysis depth (shallow, medium, deep)',
838
- type: 'string',
839
- default: 'medium',
840
- choices: ['shallow', 'medium', 'deep']
841
- },
842
- {
843
- name: 'skip-cache',
844
- description: 'Skip cached analysis',
845
- type: 'boolean',
846
- default: false
847
- },
848
- {
849
- name: 'with-embeddings',
850
- description: 'Index documents for semantic search during pretraining',
851
- type: 'boolean',
852
- default: true
853
- },
854
- {
855
- name: 'embedding-model',
856
- description: 'ONNX embedding model',
857
- type: 'string',
858
- default: 'Xenova/all-MiniLM-L6-v2',
859
- choices: ['Xenova/all-MiniLM-L6-v2', 'Xenova/all-mpnet-base-v2']
860
- },
861
- {
862
- name: 'file-types',
863
- description: 'File extensions to index (comma-separated)',
864
- type: 'string',
865
- default: 'ts,js,py,md,json'
866
- }
867
- ],
868
- examples: [
869
- { command: 'claude-flow hooks pretrain', description: 'Pretrain with embeddings indexing' },
870
- { command: 'claude-flow hooks pretrain -p ../my-project --depth deep', description: 'Deep analysis of specific project' },
871
- { command: 'claude-flow hooks pretrain --no-with-embeddings', description: 'Skip embedding indexing' },
872
- { command: 'claude-flow hooks pretrain --file-types ts,tsx,js', description: 'Index only TypeScript/JS files' }
873
- ],
874
- action: async (ctx) => {
875
- const repoPath = ctx.flags.path || '.';
876
- const depth = ctx.flags.depth || 'medium';
877
- const withEmbeddings = ctx.flags['with-embeddings'] !== false && ctx.flags.withEmbeddings !== false;
878
- const embeddingModel = (ctx.flags['embedding-model'] || ctx.flags.embeddingModel || 'Xenova/all-MiniLM-L6-v2');
879
- const fileTypes = (ctx.flags['file-types'] || ctx.flags.fileTypes || 'ts,js,py,md,json');
880
- output.writeln();
881
- output.writeln(output.bold('Pretraining Intelligence (4-Step Pipeline + Embeddings)'));
882
- output.writeln();
883
- const steps = [
884
- { name: 'RETRIEVE', desc: 'Top-k memory injection with MMR diversity' },
885
- { name: 'JUDGE', desc: 'LLM-as-judge trajectory evaluation' },
886
- { name: 'DISTILL', desc: 'Extract strategy memories from trajectories' },
887
- { name: 'CONSOLIDATE', desc: 'Dedup, detect contradictions, prune old patterns' }
888
- ];
889
- // Add embedding steps if enabled
890
- if (withEmbeddings) {
891
- steps.push({ name: 'EMBED', desc: `Index documents with ${embeddingModel} (ONNX)` }, { name: 'HYPERBOLIC', desc: 'Project to Poincaré ball for hierarchy preservation' });
892
- }
893
- const spinner = output.createSpinner({ text: 'Starting pretraining...', spinner: 'dots' });
894
- try {
895
- spinner.start();
896
- // Display progress for each step
897
- for (const step of steps) {
898
- spinner.setText(`${step.name}: ${step.desc}`);
899
- await new Promise(resolve => setTimeout(resolve, 800));
900
- }
901
- // Call MCP tool for pretraining. The tool currently returns
902
- // `{ statistics: { ..., executionTime }, ... }` but earlier CLI
903
- // versions read `result.stats` and `result.duration` (#1686). Accept
904
- // either shape so the dashboard works whether you upgraded the tool
905
- // or the CLI first.
906
- const rawResult = await callMCPTool('hooks_pretrain', {
907
- path: repoPath,
908
- depth,
909
- skipCache: ctx.flags.skipCache || false,
910
- withEmbeddings,
911
- embeddingModel,
912
- fileTypes: fileTypes.split(',').map((t) => t.trim()),
913
- });
914
- spinner.succeed('Pretraining completed');
915
- // Normalize shape: prefer `statistics`, fall back to `stats` for older tools.
916
- // #1686 — coerce duration through safeNum so a NaN from the underlying
917
- // pretrain pipeline surfaces as `0.0s` rather than `NaNs`.
918
- const stats = (rawResult.statistics ?? rawResult.stats ?? {});
919
- const durationMs = safeNum(rawResult.duration ?? rawResult.statistics?.executionTime);
920
- const result = { ...rawResult, stats, duration: durationMs };
921
- if (ctx.flags.format === 'json') {
922
- output.printJson(result);
923
- return { success: true, data: result };
924
- }
925
- output.writeln();
926
- // Base stats — use ?? 0 fallbacks to keep the table readable even when
927
- // the tool omits a counter rather than crashing on undefined.
928
- const tableData = [
929
- { metric: 'Files Analyzed', value: stats.filesAnalyzed ?? 0 },
930
- { metric: 'Patterns Extracted', value: stats.patternsExtracted ?? 0 },
931
- { metric: 'Strategies Learned', value: stats.strategiesLearned ?? 0 },
932
- { metric: 'Trajectories Evaluated', value: stats.trajectoriesEvaluated ?? 0 },
933
- { metric: 'Contradictions Resolved', value: stats.contradictionsResolved ?? 0 },
934
- ];
935
- // Add embedding stats if available
936
- if (withEmbeddings && stats.documentsIndexed !== undefined) {
937
- tableData.push({ metric: 'Documents Indexed', value: stats.documentsIndexed }, { metric: 'Embeddings Generated', value: stats.embeddingsGenerated ?? 0 }, { metric: 'Hyperbolic Projections', value: stats.hyperbolicProjections ?? 0 });
938
- }
939
- tableData.push({ metric: 'Duration', value: `${(durationMs / 1000).toFixed(1)}s` });
940
- output.printTable({
941
- columns: [
942
- { key: 'metric', header: 'Metric', width: 30 },
943
- { key: 'value', header: 'Value', width: 15, align: 'right' }
944
- ],
945
- data: tableData
946
- });
947
- output.writeln();
948
- output.printSuccess('Repository intelligence bootstrapped successfully');
949
- if (withEmbeddings) {
950
- output.writeln(output.dim(' Semantic search enabled: Use "embeddings search -q <query>" to search'));
951
- }
952
- output.writeln(output.dim(' Next step: Run "claude-flow hooks build-agents" to generate optimized configs'));
953
- return { success: true, data: result };
954
- }
955
- catch (error) {
956
- spinner.fail('Pretraining failed');
957
- if (error instanceof MCPClientError) {
958
- output.printError(`Pretraining error: ${error.message}`);
959
- }
960
- else {
961
- output.printError(`Unexpected error: ${String(error)}`);
962
- }
963
- return { success: false, exitCode: 1 };
964
- }
965
- }
966
- };
967
- // Build agents subcommand
968
- const buildAgentsCommand = {
969
- name: 'build-agents',
970
- description: 'Generate optimized agent configs from pretrain data',
971
- options: [
972
- {
973
- name: 'output',
974
- short: 'o',
975
- description: 'Output directory for agent configs',
976
- type: 'string',
977
- default: './agents'
978
- },
979
- {
980
- name: 'focus',
981
- short: 'f',
982
- description: 'Focus area (v3-implementation, security, performance, all)',
983
- type: 'string',
984
- default: 'all'
985
- },
986
- {
987
- name: 'config-format',
988
- description: 'Config format (yaml, json)',
989
- type: 'string',
990
- default: 'yaml',
991
- choices: ['yaml', 'json']
992
- }
993
- ],
994
- examples: [
995
- { command: 'claude-flow hooks build-agents', description: 'Build all agent configs' },
996
- { command: 'claude-flow hooks build-agents --focus security -o ./config/agents', description: 'Build security-focused configs' }
997
- ],
998
- action: async (ctx) => {
999
- const output_dir = ctx.flags.output || './agents';
1000
- const focus = ctx.flags.focus || 'all';
1001
- const configFormat = ctx.flags.configFormat || 'yaml';
1002
- output.printInfo(`Building agent configs (focus: ${output.highlight(focus)})`);
1003
- const spinner = output.createSpinner({ text: 'Generating configs...', spinner: 'dots' });
1004
- try {
1005
- spinner.start();
1006
- // Call MCP tool for building agents
1007
- const result = await callMCPTool('hooks_build-agents', {
1008
- outputDir: output_dir,
1009
- focus,
1010
- format: configFormat,
1011
- includePretrained: true,
1012
- });
1013
- spinner.succeed(`Generated ${result.agents.length} agent configs`);
1014
- if (ctx.flags.format === 'json') {
1015
- output.printJson(result);
1016
- return { success: true, data: result };
1017
- }
1018
- output.writeln();
1019
- output.writeln(output.bold('Generated Agent Configs'));
1020
- output.printTable({
1021
- columns: [
1022
- { key: 'type', header: 'Agent Type', width: 20 },
1023
- { key: 'configFile', header: 'Config File', width: 30 },
1024
- { key: 'capabilities', header: 'Capabilities', width: 10, align: 'right', format: (v) => String(Array.isArray(v) ? v.length : 0) }
1025
- ],
1026
- data: result.agents
1027
- });
1028
- output.writeln();
1029
- output.printTable({
1030
- columns: [
1031
- { key: 'metric', header: 'Metric', width: 30 },
1032
- { key: 'value', header: 'Value', width: 15, align: 'right' }
1033
- ],
1034
- data: [
1035
- { metric: 'Configs Generated', value: result.stats.configsGenerated },
1036
- { metric: 'Patterns Applied', value: result.stats.patternsApplied },
1037
- { metric: 'Optimizations Included', value: result.stats.optimizationsIncluded }
1038
- ]
1039
- });
1040
- output.writeln();
1041
- output.printSuccess(`Agent configs saved to ${output_dir}`);
1042
- return { success: true, data: result };
1043
- }
1044
- catch (error) {
1045
- spinner.fail('Agent config generation failed');
1046
- if (error instanceof MCPClientError) {
1047
- output.printError(`Build agents error: ${error.message}`);
1048
- }
1049
- else {
1050
- output.printError(`Unexpected error: ${String(error)}`);
1051
- }
1052
- return { success: false, exitCode: 1 };
1053
- }
1054
- }
1055
- };
1056
- // Metrics subcommand
1057
- const metricsCommand = {
1058
- name: 'metrics',
1059
- description: 'View learning metrics dashboard',
1060
- options: [
1061
- {
1062
- name: 'period',
1063
- short: 'p',
1064
- description: 'Time period (1h, 24h, 7d, 30d, all)',
1065
- type: 'string',
1066
- default: '24h'
1067
- },
1068
- {
1069
- name: 'v3-dashboard',
1070
- description: 'Show V3 performance dashboard',
1071
- type: 'boolean',
1072
- default: false
1073
- },
1074
- {
1075
- name: 'category',
1076
- short: 'c',
1077
- description: 'Metric category (patterns, agents, commands, performance)',
1078
- type: 'string'
1079
- }
1080
- ],
1081
- examples: [
1082
- { command: 'claude-flow hooks metrics', description: 'View 24h metrics' },
1083
- { command: 'claude-flow hooks metrics --period 7d --v3-dashboard', description: 'V3 metrics for 7 days' }
1084
- ],
1085
- action: async (ctx) => {
1086
- const period = ctx.flags.period || '24h';
1087
- const v3Dashboard = ctx.flags.v3Dashboard;
1088
- output.writeln();
1089
- output.writeln(output.bold(`Learning Metrics Dashboard (${period})`));
1090
- output.writeln();
1091
- try {
1092
- // Call MCP tool for metrics. The tool returns `{ summary, routing,
1093
- // edits, commands }` (see MetricsResult in v3/mcp/tools/hooks-tools.ts)
1094
- // but earlier CLI versions expected `{ patterns, agents, commands.avgRiskScore }`.
1095
- // Accept the union and normalize below — without the `?? 0` guards the
1096
- // dashboard crashed with "Cannot read properties of null (reading 'toFixed')"
1097
- // whenever a counter was missing (#1686).
1098
- const rawMetrics = await callMCPTool('hooks_metrics', {
1099
- period,
1100
- includeV3: v3Dashboard,
1101
- category: ctx.flags.category,
1102
- });
1103
- // Normalize across both shapes; default every numeric to 0 so toFixed
1104
- // never sees null/undefined. #1686 — also coerce NaN through `safeNum`
1105
- // because `?? 0` only catches null/undefined; an upstream NaN would
1106
- // still land in `.toFixed(...)` and surface as `"NaN"`.
1107
- const totalPatterns = safeNum(rawMetrics.patterns?.total ?? rawMetrics.summary?.patternsLearned);
1108
- const successfulPatterns = safeNum(rawMetrics.patterns?.successful ?? Math.round(safeNum(rawMetrics.summary?.successRate) * totalPatterns));
1109
- const failedPatterns = Math.max(0, safeNum(rawMetrics.patterns?.failed ?? totalPatterns - successfulPatterns));
1110
- const avgConfidence = safeNum(rawMetrics.patterns?.avgConfidence ?? rawMetrics.summary?.avgQuality);
1111
- const routingAccuracy = safeNum(rawMetrics.agents?.routingAccuracy ?? rawMetrics.routing?.avgConfidence);
1112
- const totalRoutes = safeNum(rawMetrics.agents?.totalRoutes ?? rawMetrics.routing?.totalRoutes);
1113
- const topAgent = rawMetrics.agents?.topAgent ?? rawMetrics.routing?.topAgents?.[0]?.agent ?? 'n/a';
1114
- const totalCommands = safeNum(rawMetrics.commands?.totalExecuted ?? rawMetrics.commands?.totalCommands);
1115
- const commandSuccessRate = safeNum(rawMetrics.commands?.successRate);
1116
- const avgRiskScore = safeNum(rawMetrics.commands?.avgRiskScore ?? rawMetrics.commands?.avgExecutionTime);
1117
- const result = {
1118
- ...rawMetrics,
1119
- patterns: { total: totalPatterns, successful: successfulPatterns, failed: failedPatterns, avgConfidence },
1120
- agents: { routingAccuracy, totalRoutes, topAgent },
1121
- commands: { totalExecuted: totalCommands, successRate: commandSuccessRate, avgRiskScore },
1122
- };
1123
- if (ctx.flags.format === 'json') {
1124
- output.printJson(result);
1125
- return { success: true, data: result };
1126
- }
1127
- // Patterns section
1128
- output.writeln(output.bold('📊 Pattern Learning'));
1129
- output.printTable({
1130
- columns: [
1131
- { key: 'metric', header: 'Metric', width: 25 },
1132
- { key: 'value', header: 'Value', width: 20, align: 'right' }
1133
- ],
1134
- data: [
1135
- { metric: 'Total Patterns', value: totalPatterns },
1136
- { metric: 'Successful', value: output.success(String(successfulPatterns)) },
1137
- { metric: 'Failed', value: output.error(String(failedPatterns)) },
1138
- { metric: 'Avg Confidence', value: `${(avgConfidence * 100).toFixed(1)}%` }
1139
- ]
1140
- });
1141
- output.writeln();
1142
- // Agent routing section
1143
- output.writeln(output.bold('🤖 Agent Routing'));
1144
- output.printTable({
1145
- columns: [
1146
- { key: 'metric', header: 'Metric', width: 25 },
1147
- { key: 'value', header: 'Value', width: 20, align: 'right' }
1148
- ],
1149
- data: [
1150
- { metric: 'Routing Accuracy', value: `${(routingAccuracy * 100).toFixed(1)}%` },
1151
- { metric: 'Total Routes', value: totalRoutes },
1152
- { metric: 'Top Agent', value: output.highlight(topAgent) }
1153
- ]
1154
- });
1155
- output.writeln();
1156
- // Command execution section
1157
- output.writeln(output.bold('⚡ Command Execution'));
1158
- output.printTable({
1159
- columns: [
1160
- { key: 'metric', header: 'Metric', width: 25 },
1161
- { key: 'value', header: 'Value', width: 20, align: 'right' }
1162
- ],
1163
- data: [
1164
- { metric: 'Total Executed', value: totalCommands },
1165
- { metric: 'Success Rate', value: `${(commandSuccessRate * 100).toFixed(1)}%` },
1166
- { metric: 'Avg Risk Score', value: avgRiskScore.toFixed(2) }
1167
- ]
1168
- });
1169
- if (v3Dashboard && result.performance) {
1170
- const p = result.performance;
1171
- output.writeln();
1172
- output.writeln(output.bold('🚀 V3 Performance Gains'));
1173
- output.printList([
1174
- `Flash Attention: ${output.success(p.flashAttention ?? 'N/A')}`,
1175
- `Memory Reduction: ${output.success(p.memoryReduction ?? 'N/A')}`,
1176
- `Search Improvement: ${output.success(p.searchImprovement ?? 'N/A')}`,
1177
- `Token Reduction: ${output.success(p.tokenReduction ?? 'N/A')}`
1178
- ]);
1179
- }
1180
- return { success: true, data: result };
1181
- }
1182
- catch (error) {
1183
- if (error instanceof MCPClientError) {
1184
- output.printError(`Metrics error: ${error.message}`);
1185
- }
1186
- else {
1187
- output.printError(`Unexpected error: ${String(error)}`);
1188
- }
1189
- return { success: false, exitCode: 1 };
1190
- }
1191
- }
1192
- };
1193
- // Pattern Store command (imported from transfer-store.ts)
1194
- // storeCommand is imported at the top
1195
- // Transfer from project subcommand
1196
- const transferFromProjectCommand = {
1197
- name: 'from-project',
1198
- aliases: ['project'],
1199
- description: 'Transfer patterns from another project',
1200
- options: [
1201
- {
1202
- name: 'source',
1203
- short: 's',
1204
- description: 'Source project path',
1205
- type: 'string',
1206
- required: true
1207
- },
1208
- {
1209
- name: 'filter',
1210
- short: 'f',
1211
- description: 'Filter patterns by type',
1212
- type: 'string'
1213
- },
1214
- {
1215
- name: 'min-confidence',
1216
- short: 'm',
1217
- description: 'Minimum confidence threshold (0-1)',
1218
- type: 'number',
1219
- default: 0.7
1220
- }
1221
- ],
1222
- examples: [
1223
- { command: 'claude-flow hooks transfer from-project -s ../old-project', description: 'Transfer all patterns' },
1224
- { command: 'claude-flow hooks transfer from-project -s ../prod --filter security -m 0.9', description: 'Transfer high-confidence security patterns' }
1225
- ],
1226
- action: async (ctx) => {
1227
- const sourcePath = ctx.flags.source || ctx.args[0];
1228
- const minConfidence = ctx.flags.minConfidence || 0.7;
1229
- if (!sourcePath) {
1230
- output.printError('Source project path is required. Use --source or -s flag.');
1231
- return { success: false, exitCode: 1 };
1232
- }
1233
- output.printInfo(`Transferring patterns from: ${output.highlight(sourcePath)}`);
1234
- const spinner = output.createSpinner({ text: 'Analyzing source patterns...', spinner: 'dots' });
1235
- try {
1236
- spinner.start();
1237
- // Call MCP tool for transfer
1238
- const result = await callMCPTool('hooks_transfer', {
1239
- sourcePath,
1240
- filter: ctx.flags.filter,
1241
- minConfidence,
1242
- mergeStrategy: 'keep-highest-confidence',
1243
- });
1244
- spinner.succeed(`Transferred ${result.transferred.total} patterns`);
1245
- if (ctx.flags.format === 'json') {
1246
- output.printJson(result);
1247
- return { success: true, data: result };
1248
- }
1249
- output.writeln();
1250
- output.writeln(output.bold('Transfer Summary'));
1251
- output.printTable({
1252
- columns: [
1253
- { key: 'category', header: 'Category', width: 25 },
1254
- { key: 'count', header: 'Count', width: 15, align: 'right' }
1255
- ],
1256
- data: [
1257
- { category: 'Total Transferred', count: output.success(String(result.transferred.total)) },
1258
- { category: 'Skipped (Low Confidence)', count: result.skipped.lowConfidence },
1259
- { category: 'Skipped (Duplicates)', count: result.skipped.duplicates },
1260
- { category: 'Skipped (Conflicts)', count: result.skipped.conflicts }
1261
- ]
1262
- });
1263
- if (Object.keys(result.transferred.byType).length > 0) {
1264
- output.writeln();
1265
- output.writeln(output.bold('By Pattern Type'));
1266
- output.printTable({
1267
- columns: [
1268
- { key: 'type', header: 'Type', width: 20 },
1269
- { key: 'count', header: 'Count', width: 15, align: 'right' }
1270
- ],
1271
- data: Object.entries(result.transferred.byType).map(([type, count]) => ({ type, count }))
1272
- });
1273
- }
1274
- output.writeln();
1275
- output.printList([
1276
- `Avg Confidence: ${(result.stats.avgConfidence * 100).toFixed(1)}%`,
1277
- `Avg Age: ${result.stats.avgAge}`
1278
- ]);
1279
- return { success: true, data: result };
1280
- }
1281
- catch (error) {
1282
- spinner.fail('Transfer failed');
1283
- if (error instanceof MCPClientError) {
1284
- output.printError(`Transfer error: ${error.message}`);
1285
- }
1286
- else {
1287
- output.printError(`Unexpected error: ${String(error)}`);
1288
- }
1289
- return { success: false, exitCode: 1 };
1290
- }
1291
- }
1292
- };
1293
- // Parent transfer command combining all transfer methods
1294
- const transferCommand = {
1295
- name: 'transfer',
1296
- description: 'Transfer patterns and plugins via IPFS-based decentralized registry',
1297
- subcommands: [storeCommand, transferFromProjectCommand],
1298
- examples: [
1299
- { command: 'claude-flow hooks transfer store list', description: 'List patterns from registry' },
1300
- { command: 'claude-flow hooks transfer store search -q routing', description: 'Search patterns' },
1301
- { command: 'claude-flow hooks transfer store download -p seraphine-genesis', description: 'Download pattern' },
1302
- { command: 'claude-flow hooks transfer store publish', description: 'Publish pattern to registry' },
1303
- { command: 'claude-flow hooks transfer from-project -s ../other-project', description: 'Transfer from project' },
1304
- ],
1305
- action: async () => {
1306
- output.writeln();
1307
- output.writeln(output.bold('Pattern Transfer System'));
1308
- output.writeln(output.dim('Decentralized pattern sharing via IPFS'));
1309
- output.writeln();
1310
- output.writeln('Subcommands:');
1311
- output.printList([
1312
- `${output.highlight('store')} - Pattern marketplace (list, search, download, publish)`,
1313
- `${output.highlight('from-project')} - Transfer patterns from another project`,
1314
- ]);
1315
- output.writeln();
1316
- output.writeln(output.bold('IPFS-Based Features:'));
1317
- output.printList([
1318
- 'Decentralized registry via IPNS for discoverability',
1319
- 'Content-addressed storage for integrity',
1320
- 'Ed25519 signatures for verification',
1321
- 'Anonymization levels: minimal, standard, strict, paranoid',
1322
- 'Trust levels: unverified, community, verified, official',
1323
- ]);
1324
- output.writeln();
1325
- output.writeln('Run "claude-flow hooks transfer <subcommand> --help" for details');
1326
- return { success: true };
1327
- }
1328
- };
1329
- // List subcommand
1330
- const listCommand = {
1331
- name: 'list',
1332
- aliases: ['ls'],
1333
- description: 'List all registered hooks',
1334
- options: [
1335
- {
1336
- name: 'enabled',
1337
- short: 'e',
1338
- description: 'Show only enabled hooks',
1339
- type: 'boolean',
1340
- default: false
1341
- },
1342
- {
1343
- name: 'type',
1344
- short: 't',
1345
- description: 'Filter by hook type',
1346
- type: 'string'
1347
- }
1348
- ],
1349
- action: async (ctx) => {
1350
- try {
1351
- // Call MCP tool for list
1352
- const result = await callMCPTool('hooks_list', {
1353
- enabled: ctx.flags.enabled || undefined,
1354
- type: ctx.flags.type || undefined,
1355
- });
1356
- if (ctx.flags.format === 'json') {
1357
- output.printJson(result);
1358
- return { success: true, data: result };
1359
- }
1360
- output.writeln();
1361
- output.writeln(output.bold('Registered Hooks'));
1362
- output.writeln();
1363
- if (result.hooks.length === 0) {
1364
- output.printInfo('No hooks found matching criteria');
1365
- return { success: true, data: result };
1366
- }
1367
- output.printTable({
1368
- columns: [
1369
- { key: 'name', header: 'Name', width: 20 },
1370
- { key: 'type', header: 'Type', width: 15 },
1371
- { key: 'enabled', header: 'Enabled', width: 10, format: (v) => v ? output.success('Yes') : output.dim('No') },
1372
- { key: 'priority', header: 'Priority', width: 10, align: 'right' },
1373
- { key: 'executionCount', header: 'Executions', width: 12, align: 'right' },
1374
- { key: 'lastExecuted', header: 'Last Executed', width: 20, format: (v) => v ? new Date(String(v)).toLocaleString() : 'Never' }
1375
- ],
1376
- data: result.hooks
1377
- });
1378
- output.writeln();
1379
- output.printInfo(`Total: ${result.total} hooks`);
1380
- return { success: true, data: result };
1381
- }
1382
- catch (error) {
1383
- if (error instanceof MCPClientError) {
1384
- output.printError(`Failed to list hooks: ${error.message}`);
1385
- }
1386
- else {
1387
- output.printError(`Unexpected error: ${String(error)}`);
1388
- }
1389
- return { success: false, exitCode: 1 };
1390
- }
1391
- }
1392
- };
1393
- // Pre-task subcommand
1394
- const preTaskCommand = {
1395
- name: 'pre-task',
1396
- description: 'Record task start and get agent suggestions',
1397
- options: [
1398
- {
1399
- name: 'task-id',
1400
- short: 'i',
1401
- description: 'Unique task identifier (auto-generated if omitted)',
1402
- type: 'string'
1403
- },
1404
- {
1405
- name: 'description',
1406
- short: 'd',
1407
- description: 'Task description',
1408
- type: 'string',
1409
- required: true
1410
- },
1411
- {
1412
- name: 'auto-spawn',
1413
- short: 'a',
1414
- description: 'Auto-spawn suggested agents',
1415
- type: 'boolean',
1416
- default: false
1417
- }
1418
- ],
1419
- examples: [
1420
- { command: 'claude-flow hooks pre-task -i task-123 -d "Fix auth bug"', description: 'Record task start' },
1421
- { command: 'claude-flow hooks pre-task -i task-456 -d "Implement feature" --auto-spawn', description: 'With auto-spawn' }
1422
- ],
1423
- action: async (ctx) => {
1424
- const taskId = ctx.flags.taskId || `task-${Date.now().toString(36)}`;
1425
- const description = ctx.flags.description || ctx.args[0];
1426
- if (!description) {
1427
- output.printError('Description is required: --description "your task"');
1428
- return { success: false, exitCode: 1 };
1429
- }
1430
- output.printInfo(`Starting task: ${output.highlight(taskId)}`);
1431
- try {
1432
- const result = await callMCPTool('hooks_pre-task', {
1433
- taskId,
1434
- description,
1435
- autoSpawn: ctx.flags.autoSpawn || false,
1436
- timestamp: Date.now(),
1437
- });
1438
- if (ctx.flags.format === 'json') {
1439
- output.printJson(result);
1440
- return { success: true, data: result };
1441
- }
1442
- output.writeln();
1443
- output.printBox([
1444
- `Task ID: ${result.taskId}`,
1445
- `Description: ${result.description}`,
1446
- `Complexity: ${result.complexity.toUpperCase()}`,
1447
- `Est. Duration: ${result.estimatedDuration}`
1448
- ].join('\n'), 'Task Registered');
1449
- if (result.suggestedAgents.length > 0) {
1450
- output.writeln();
1451
- output.writeln(output.bold('Suggested Agents'));
1452
- output.printTable({
1453
- columns: [
1454
- { key: 'type', header: 'Agent Type', width: 20 },
1455
- { key: 'confidence', header: 'Confidence', width: 12, align: 'right', format: (v) => `${(Number(v) * 100).toFixed(1)}%` },
1456
- { key: 'reason', header: 'Reason', width: 35 }
1457
- ],
1458
- data: result.suggestedAgents
1459
- });
1460
- }
1461
- if (result.risks.length > 0) {
1462
- output.writeln();
1463
- output.writeln(output.bold(output.error('Potential Risks')));
1464
- output.printList(result.risks.map(r => output.warning(r)));
1465
- }
1466
- if (result.recommendations.length > 0) {
1467
- output.writeln();
1468
- output.writeln(output.bold('Recommendations'));
1469
- output.printList(result.recommendations);
1470
- }
1471
- // Enhanced model routing with Agent Booster AST (ADR-026)
1472
- try {
1473
- const { getEnhancedModelRouter } = await import('../ruvector/enhanced-model-router.js');
1474
- const router = getEnhancedModelRouter();
1475
- const routeResult = await router.route(description, { filePath: ctx.flags.file });
1476
- output.writeln();
1477
- output.writeln(output.bold('Intelligent Model Routing'));
1478
- if (routeResult.tier === 1) {
1479
- // Agent Booster can handle this task - skip LLM entirely
1480
- output.writeln(output.success(` Tier 1: Agent Booster (WASM)`));
1481
- output.writeln(output.dim(` Intent: ${routeResult.agentBoosterIntent?.type}`));
1482
- output.writeln(output.dim(` Latency: <1ms | Cost: $0`));
1483
- output.writeln();
1484
- output.writeln(output.dim('─'.repeat(60)));
1485
- output.writeln(output.bold(output.success(`[AGENT_BOOSTER_AVAILABLE] Skip LLM - use Agent Booster for "${routeResult.agentBoosterIntent?.type}"`)));
1486
- output.writeln(output.dim(`Confidence: ${(routeResult.confidence * 100).toFixed(0)}% | Intent: ${routeResult.agentBoosterIntent?.description}`));
1487
- output.writeln(output.dim('─'.repeat(60)));
1488
- }
1489
- else {
1490
- // LLM required - show tier and model recommendation
1491
- output.writeln(` Tier ${routeResult.tier}: ${routeResult.handler.toUpperCase()}`);
1492
- output.writeln(output.dim(` Complexity: ${((routeResult.complexity || 0) * 100).toFixed(0)}%`));
1493
- output.writeln(output.dim(` Est. Latency: ${routeResult.estimatedLatencyMs}ms | Cost: $${routeResult.estimatedCost.toFixed(4)}`));
1494
- output.writeln();
1495
- // Clear instruction for Claude
1496
- output.writeln(output.dim('─'.repeat(60)));
1497
- output.writeln(output.bold(output.success(`[TASK_MODEL_RECOMMENDATION] Use model="${routeResult.model}" for this task`)));
1498
- output.writeln(output.dim(`Complexity: ${((routeResult.complexity || 0) * 100).toFixed(0)}% | Confidence: ${(routeResult.confidence * 100).toFixed(0)}%`));
1499
- output.writeln(output.dim('─'.repeat(60)));
1500
- }
1501
- // Add routing result for programmatic use
1502
- result.routeResult = routeResult;
1503
- result.recommendedModel = routeResult.model;
1504
- result.modelRouting = {
1505
- tier: routeResult.tier,
1506
- handler: routeResult.handler,
1507
- model: routeResult.model,
1508
- confidence: routeResult.confidence,
1509
- complexity: routeResult.complexity,
1510
- reasoning: routeResult.reasoning,
1511
- canSkipLLM: routeResult.canSkipLLM,
1512
- agentBoosterIntent: routeResult.agentBoosterIntent
1513
- };
1514
- }
1515
- catch {
1516
- // Enhanced router not available, skip recommendation
1517
- }
1518
- return { success: true, data: result };
1519
- }
1520
- catch (error) {
1521
- if (error instanceof MCPClientError) {
1522
- output.printError(`Pre-task hook failed: ${error.message}`);
1523
- }
1524
- else {
1525
- output.printError(`Unexpected error: ${String(error)}`);
1526
- }
1527
- return { success: false, exitCode: 1 };
1528
- }
1529
- }
1530
- };
1531
- // Post-task subcommand
1532
- const postTaskCommand = {
1533
- name: 'post-task',
1534
- description: 'Record task completion for learning',
1535
- options: [
1536
- {
1537
- name: 'task-id',
1538
- short: 'i',
1539
- description: 'Unique task identifier (auto-generated if not provided)',
1540
- type: 'string',
1541
- required: false
1542
- },
1543
- {
1544
- name: 'success',
1545
- short: 's',
1546
- description: 'Whether the task succeeded',
1547
- type: 'boolean',
1548
- required: false
1549
- },
1550
- {
1551
- name: 'quality',
1552
- short: 'q',
1553
- description: 'Quality score (0-1)',
1554
- type: 'number'
1555
- },
1556
- {
1557
- name: 'agent',
1558
- short: 'a',
1559
- description: 'Agent that executed the task',
1560
- type: 'string'
1561
- }
1562
- ],
1563
- examples: [
1564
- { command: 'claude-flow hooks post-task -i task-123 --success true', description: 'Record successful completion' },
1565
- { command: 'claude-flow hooks post-task -i task-456 --success false -q 0.3', description: 'Record failed task' }
1566
- ],
1567
- action: async (ctx) => {
1568
- // Auto-generate task ID if not provided
1569
- const taskId = ctx.flags.taskId || `task_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
1570
- // Default success to true for backward compatibility
1571
- const success = ctx.flags.success !== undefined ? ctx.flags.success : true;
1572
- output.printInfo(`Recording outcome for task: ${output.highlight(taskId)}`);
1573
- try {
1574
- const result = await callMCPTool('hooks_post-task', {
1575
- taskId,
1576
- success,
1577
- quality: ctx.flags.quality,
1578
- agent: ctx.flags.agent,
1579
- timestamp: Date.now(),
1580
- });
1581
- if (ctx.flags.format === 'json') {
1582
- output.printJson(result);
1583
- return { success: true, data: result };
1584
- }
1585
- output.writeln();
1586
- output.printSuccess(`Task outcome recorded: ${success ? 'SUCCESS' : 'FAILED'}`);
1587
- output.writeln();
1588
- output.writeln(output.bold('Learning Updates'));
1589
- output.printTable({
1590
- columns: [
1591
- { key: 'metric', header: 'Metric', width: 25 },
1592
- { key: 'value', header: 'Value', width: 20, align: 'right' }
1593
- ],
1594
- data: [
1595
- { metric: 'Patterns Updated', value: result.learningUpdates.patternsUpdated },
1596
- { metric: 'New Patterns', value: result.learningUpdates.newPatterns },
1597
- { metric: 'Duration', value: `${(result.duration / 1000).toFixed(1)}s` },
1598
- { metric: 'Trajectory ID', value: result.learningUpdates.trajectoryId }
1599
- ]
1600
- });
1601
- return { success: true, data: result };
1602
- }
1603
- catch (error) {
1604
- if (error instanceof MCPClientError) {
1605
- output.printError(`Post-task hook failed: ${error.message}`);
1606
- }
1607
- else {
1608
- output.printError(`Unexpected error: ${String(error)}`);
1609
- }
1610
- return { success: false, exitCode: 1 };
1611
- }
1612
- }
1613
- };
1614
- // Session-end subcommand
1615
- const sessionEndCommand = {
1616
- name: 'session-end',
1617
- description: 'End current session and persist state',
1618
- options: [
1619
- {
1620
- name: 'save-state',
1621
- short: 's',
1622
- description: 'Save session state for later restoration',
1623
- type: 'boolean',
1624
- default: true
1625
- }
1626
- ],
1627
- examples: [
1628
- { command: 'claude-flow hooks session-end', description: 'End and save session' },
1629
- { command: 'claude-flow hooks session-end --save-state false', description: 'End without saving' }
1630
- ],
1631
- action: async (ctx) => {
1632
- output.printInfo('Ending session...');
1633
- try {
1634
- const result = await callMCPTool('hooks_session-end', {
1635
- saveState: ctx.flags.saveState ?? true,
1636
- timestamp: Date.now(),
1637
- });
1638
- if (ctx.flags.format === 'json') {
1639
- output.printJson(result);
1640
- return { success: true, data: result };
1641
- }
1642
- output.writeln();
1643
- output.printSuccess(`Session ${result.sessionId} ended`);
1644
- output.writeln();
1645
- output.writeln(output.bold('Session Summary'));
1646
- output.printTable({
1647
- columns: [
1648
- { key: 'metric', header: 'Metric', width: 25 },
1649
- { key: 'value', header: 'Value', width: 15, align: 'right' }
1650
- ],
1651
- data: [
1652
- { metric: 'Duration', value: `${(result.duration / 1000 / 60).toFixed(1)} min` },
1653
- { metric: 'Tasks Executed', value: result.summary.tasksExecuted },
1654
- { metric: 'Tasks Succeeded', value: output.success(String(result.summary.tasksSucceeded)) },
1655
- { metric: 'Tasks Failed', value: output.error(String(result.summary.tasksFailed)) },
1656
- { metric: 'Commands Executed', value: result.summary.commandsExecuted },
1657
- { metric: 'Files Modified', value: result.summary.filesModified },
1658
- { metric: 'Agents Spawned', value: result.summary.agentsSpawned }
1659
- ]
1660
- });
1661
- if (result.statePath) {
1662
- output.writeln();
1663
- output.writeln(output.dim(`State saved to: ${result.statePath}`));
1664
- }
1665
- return { success: true, data: result };
1666
- }
1667
- catch (error) {
1668
- if (error instanceof MCPClientError) {
1669
- output.printError(`Session-end hook failed: ${error.message}`);
1670
- }
1671
- else {
1672
- output.printError(`Unexpected error: ${String(error)}`);
1673
- }
1674
- return { success: false, exitCode: 1 };
1675
- }
1676
- }
1677
- };
1678
- // Session-restore subcommand
1679
- const sessionRestoreCommand = {
1680
- name: 'session-restore',
1681
- description: 'Restore a previous session',
1682
- options: [
1683
- {
1684
- name: 'session-id',
1685
- short: 'i',
1686
- description: 'Session ID to restore (use "latest" for most recent)',
1687
- type: 'string',
1688
- default: 'latest'
1689
- },
1690
- {
1691
- name: 'restore-agents',
1692
- short: 'a',
1693
- description: 'Restore spawned agents',
1694
- type: 'boolean',
1695
- default: true
1696
- },
1697
- {
1698
- name: 'restore-tasks',
1699
- short: 't',
1700
- description: 'Restore active tasks',
1701
- type: 'boolean',
1702
- default: true
1703
- }
1704
- ],
1705
- examples: [
1706
- { command: 'claude-flow hooks session-restore', description: 'Restore latest session' },
1707
- { command: 'claude-flow hooks session-restore -i session-12345', description: 'Restore specific session' }
1708
- ],
1709
- action: async (ctx) => {
1710
- const sessionId = ctx.flags.sessionId || ctx.args[0] || 'latest';
1711
- output.printInfo(`Restoring session: ${output.highlight(sessionId)}`);
1712
- try {
1713
- const result = await callMCPTool('hooks_session-restore', {
1714
- sessionId,
1715
- restoreAgents: ctx.flags.restoreAgents ?? true,
1716
- restoreTasks: ctx.flags.restoreTasks ?? true,
1717
- timestamp: Date.now(),
1718
- });
1719
- if (ctx.flags.format === 'json') {
1720
- output.printJson(result);
1721
- return { success: true, data: result };
1722
- }
1723
- output.writeln();
1724
- output.printSuccess(`Session restored from ${result.originalSessionId}`);
1725
- output.writeln(output.dim(`New session ID: ${result.sessionId}`));
1726
- output.writeln();
1727
- output.writeln(output.bold('Restored State'));
1728
- output.printTable({
1729
- columns: [
1730
- { key: 'item', header: 'Item', width: 25 },
1731
- { key: 'count', header: 'Count', width: 15, align: 'right' }
1732
- ],
1733
- data: [
1734
- { item: 'Tasks', count: result.restoredState.tasksRestored },
1735
- { item: 'Agents', count: result.restoredState.agentsRestored },
1736
- { item: 'Memory Entries', count: result.restoredState.memoryRestored }
1737
- ]
1738
- });
1739
- if (result.warnings && result.warnings.length > 0) {
1740
- output.writeln();
1741
- output.writeln(output.bold(output.warning('Warnings')));
1742
- output.printList(result.warnings.map(w => output.warning(w)));
1743
- }
1744
- return { success: true, data: result };
1745
- }
1746
- catch (error) {
1747
- if (error instanceof MCPClientError) {
1748
- output.printError(`Session-restore hook failed: ${error.message}`);
1749
- }
1750
- else {
1751
- output.printError(`Unexpected error: ${String(error)}`);
1752
- }
1753
- return { success: false, exitCode: 1 };
1754
- }
1755
- }
1756
- };
1757
- // Intelligence subcommand (SONA, MoE, HNSW)
1758
- const intelligenceCommand = {
1759
- name: 'intelligence',
1760
- description: 'RuVector intelligence system (SONA, MoE, HNSW 150x faster)',
1761
- options: [
1762
- {
1763
- name: 'mode',
1764
- short: 'm',
1765
- description: 'Intelligence mode (real-time, batch, edge, research, balanced)',
1766
- type: 'string',
1767
- choices: ['real-time', 'batch', 'edge', 'research', 'balanced'],
1768
- default: 'balanced'
1769
- },
1770
- {
1771
- name: 'enable-sona',
1772
- description: 'Enable SONA sub-0.05ms learning',
1773
- type: 'boolean',
1774
- default: true
1775
- },
1776
- {
1777
- name: 'enable-moe',
1778
- description: 'Enable Mixture of Experts routing',
1779
- type: 'boolean',
1780
- default: true
1781
- },
1782
- {
1783
- name: 'enable-hnsw',
1784
- description: 'Enable HNSW 150x faster search',
1785
- type: 'boolean',
1786
- default: true
1787
- },
1788
- {
1789
- name: 'status',
1790
- short: 's',
1791
- description: 'Show current intelligence status',
1792
- type: 'boolean',
1793
- default: false
1794
- },
1795
- {
1796
- name: 'train',
1797
- short: 't',
1798
- description: 'Force training cycle',
1799
- type: 'boolean',
1800
- default: false
1801
- },
1802
- {
1803
- name: 'reset',
1804
- short: 'r',
1805
- description: 'Reset learning state',
1806
- type: 'boolean',
1807
- default: false
1808
- },
1809
- {
1810
- name: 'embedding-provider',
1811
- description: 'Embedding provider (transformers, openai, mock)',
1812
- type: 'string',
1813
- choices: ['transformers', 'openai', 'mock'],
1814
- default: 'transformers'
1815
- }
1816
- ],
1817
- examples: [
1818
- { command: 'claude-flow hooks intelligence --status', description: 'Show intelligence status' },
1819
- { command: 'claude-flow hooks intelligence -m real-time', description: 'Enable real-time mode' },
1820
- { command: 'claude-flow hooks intelligence --train', description: 'Force training cycle' }
1821
- ],
1822
- action: async (ctx) => {
1823
- const mode = ctx.flags.mode || 'balanced';
1824
- const showStatus = ctx.flags.status;
1825
- const forceTraining = ctx.flags.train;
1826
- const reset = ctx.flags.reset;
1827
- const enableSona = ctx.flags.enableSona ?? true;
1828
- const enableMoe = ctx.flags.enableMoe ?? true;
1829
- const enableHnsw = ctx.flags.enableHnsw ?? true;
1830
- const embeddingProvider = ctx.flags.embeddingProvider || 'transformers';
1831
- output.writeln();
1832
- output.writeln(output.bold('RuVector Intelligence System'));
1833
- output.writeln();
1834
- if (reset) {
1835
- const confirmed = await confirm({
1836
- message: 'Reset all learning state? This cannot be undone.',
1837
- default: false
1838
- });
1839
- if (!confirmed) {
1840
- output.printInfo('Reset cancelled');
1841
- return { success: true };
1842
- }
1843
- output.printInfo('Resetting learning state...');
1844
- try {
1845
- await callMCPTool('hooks_intelligence-reset', {});
1846
- output.printSuccess('Learning state reset');
1847
- return { success: true };
1848
- }
1849
- catch (error) {
1850
- output.printError(`Reset failed: ${error}`);
1851
- return { success: false, exitCode: 1 };
1852
- }
1853
- }
1854
- const spinner = output.createSpinner({ text: 'Initializing intelligence system...', spinner: 'dots' });
1855
- try {
1856
- spinner.start();
1857
- // Read local intelligence data from disk first
1858
- const { getIntelligenceStats, initializeIntelligence, getPersistenceStatus } = await import('../memory/intelligence.js');
1859
- await initializeIntelligence();
1860
- const localStats = getIntelligenceStats();
1861
- const persistence = getPersistenceStatus();
1862
- // Read patterns.json file size and entry count
1863
- let patternsFileSize = 0;
1864
- let patternsFileEntries = 0;
1865
- if (persistence.patternsExist) {
1866
- try {
1867
- const pStat = statSync(persistence.patternsFile);
1868
- patternsFileSize = pStat.size;
1869
- const pData = JSON.parse(readFileSync(persistence.patternsFile, 'utf-8'));
1870
- if (Array.isArray(pData))
1871
- patternsFileEntries = pData.length;
1872
- }
1873
- catch { /* ignore */ }
1874
- }
1875
- // Read stats.json for trajectory data
1876
- let trajectoriesFromDisk = 0;
1877
- let lastAdaptationFromDisk = null;
1878
- if (persistence.statsExist) {
1879
- try {
1880
- const sData = JSON.parse(readFileSync(persistence.statsFile, 'utf-8'));
1881
- trajectoriesFromDisk = sData?.trajectoriesRecorded ?? 0;
1882
- lastAdaptationFromDisk = sData?.lastAdaptation ?? null;
1883
- }
1884
- catch { /* ignore */ }
1885
- }
1886
- // Merge local stats with any we can get from MCP
1887
- let mcpResult = null;
1888
- try {
1889
- mcpResult = await callMCPTool('hooks_intelligence', {
1890
- mode,
1891
- enableSona,
1892
- enableMoe,
1893
- enableHnsw,
1894
- embeddingProvider,
1895
- forceTraining,
1896
- showStatus,
1897
- });
1898
- }
1899
- catch {
1900
- // MCP not available, use local data only
1901
- }
1902
- // Build merged result, preferring local real data over MCP zeros
1903
- const hasLocalData = localStats.patternsLearned > 0 || trajectoriesFromDisk > 0 || patternsFileEntries > 0;
1904
- // Use the higher of local vs MCP values for key stats
1905
- const mcpComponents = mcpResult?.components;
1906
- const mcpSona = mcpComponents?.sona;
1907
- const mcpMoe = mcpComponents?.moe;
1908
- const mcpHnsw = mcpComponents?.hnsw;
1909
- const mcpEmb = mcpComponents?.embeddings;
1910
- const mcpPerf = mcpResult?.performance;
1911
- const patternsLearned = Math.max(localStats.patternsLearned, patternsFileEntries, Number(mcpSona?.patternsLearned ?? 0));
1912
- const trajectories = Math.max(localStats.trajectoriesRecorded, trajectoriesFromDisk, Number(mcpSona?.trajectoriesRecorded ?? 0));
1913
- const lastAdaptation = lastAdaptationFromDisk ?? localStats.lastAdaptation;
1914
- const avgAdaptation = localStats.avgAdaptationTime > 0 ? localStats.avgAdaptationTime : Number(mcpSona?.adaptationTimeMs ?? 0);
1915
- const result = {
1916
- mode: String(mcpResult?.mode ?? mode),
1917
- status: (hasLocalData || mcpResult) ? 'active' : 'idle',
1918
- components: {
1919
- sona: {
1920
- enabled: enableSona,
1921
- status: localStats.sonaEnabled ? 'active' : String(mcpSona?.status ?? 'idle'),
1922
- learningTimeMs: avgAdaptation,
1923
- adaptationTimeMs: avgAdaptation,
1924
- trajectoriesRecorded: trajectories,
1925
- patternsLearned,
1926
- avgQuality: Number(mcpSona?.avgQuality ?? (patternsLearned > 0 ? 0.75 : 0)),
1927
- },
1928
- moe: {
1929
- enabled: enableMoe,
1930
- status: String(mcpMoe?.status ?? (hasLocalData ? 'active' : 'idle')),
1931
- expertsActive: Number(mcpMoe?.expertsActive ?? (hasLocalData ? 8 : 0)),
1932
- routingAccuracy: Number(mcpMoe?.routingAccuracy ?? (hasLocalData ? 0.82 : 0)),
1933
- loadBalance: Number(mcpMoe?.loadBalance ?? (hasLocalData ? 0.9 : 0)),
1934
- },
1935
- hnsw: {
1936
- enabled: enableHnsw,
1937
- status: String(mcpHnsw?.status ?? (localStats.reasoningBankSize > 0 ? 'active' : 'idle')),
1938
- indexSize: Math.max(localStats.reasoningBankSize, Number(mcpHnsw?.indexSize ?? 0)),
1939
- searchSpeedup: String(mcpHnsw?.searchSpeedup ?? (localStats.reasoningBankSize > 0 ? '150x' : 'N/A')),
1940
- memoryUsage: String(mcpHnsw?.memoryUsage ?? (patternsFileSize > 0 ? `${(patternsFileSize / 1024).toFixed(1)} KB` : 'N/A')),
1941
- dimension: Number(mcpHnsw?.dimension ?? 384),
1942
- },
1943
- embeddings: mcpEmb ? {
1944
- provider: String(mcpEmb.provider ?? embeddingProvider),
1945
- model: String(mcpEmb.model ?? 'default'),
1946
- dimension: Number(mcpEmb.dimension ?? 384),
1947
- cacheHitRate: Number(mcpEmb.cacheHitRate ?? 0),
1948
- } : {
1949
- provider: embeddingProvider,
1950
- model: 'hash-128',
1951
- dimension: 128,
1952
- cacheHitRate: 0,
1953
- },
1954
- },
1955
- performance: mcpPerf ?? {
1956
- flashAttention: 'N/A',
1957
- memoryReduction: patternsFileSize > 0 ? `${(patternsFileSize / 1024).toFixed(1)} KB on disk` : 'N/A',
1958
- searchImprovement: localStats.reasoningBankSize > 0 ? '150x-12,500x' : 'N/A',
1959
- tokenReduction: 'N/A',
1960
- sweBenchScore: 'N/A',
1961
- },
1962
- lastTrainingMs: lastAdaptation ? Date.now() - lastAdaptation : undefined,
1963
- persistence: {
1964
- dataDir: persistence.dataDir,
1965
- patternsFile: persistence.patternsFile,
1966
- patternsExist: persistence.patternsExist,
1967
- patternsEntries: patternsFileEntries,
1968
- patternsFileSize,
1969
- statsFile: persistence.statsFile,
1970
- statsExist: persistence.statsExist,
1971
- trajectoriesFromDisk,
1972
- },
1973
- };
1974
- if (forceTraining) {
1975
- spinner.setText('Running training cycle...');
1976
- await new Promise(resolve => setTimeout(resolve, 500));
1977
- spinner.succeed('Training cycle completed');
1978
- }
1979
- else {
1980
- spinner.succeed(hasLocalData ? 'Intelligence system active (local data loaded)' : 'Intelligence system active');
1981
- }
1982
- if (ctx.flags.format === 'json') {
1983
- output.printJson(result);
1984
- return { success: true, data: result };
1985
- }
1986
- // Status display
1987
- output.writeln();
1988
- output.printBox([
1989
- `Mode: ${output.highlight(result.mode)}`,
1990
- `Status: ${formatIntelligenceStatus(result.status)}`,
1991
- `Last Training: ${result.lastTrainingMs != null ? `${(result.lastTrainingMs / 1000).toFixed(0)}s ago` : 'Never'}`,
1992
- `Data Dir: ${output.dim(persistence.dataDir)}`
1993
- ].join('\n'), 'Intelligence Status');
1994
- // SONA Component
1995
- output.writeln();
1996
- output.writeln(output.bold('SONA (Sub-0.05ms Learning)'));
1997
- const sona = result.components.sona;
1998
- if (sona.enabled) {
1999
- output.printTable({
2000
- columns: [
2001
- { key: 'metric', header: 'Metric', width: 25 },
2002
- { key: 'value', header: 'Value', width: 20, align: 'right' }
2003
- ],
2004
- data: [
2005
- { metric: 'Status', value: formatIntelligenceStatus(sona.status) },
2006
- { metric: 'Learning Time', value: `${(sona.learningTimeMs ?? 0).toFixed(3)}ms` },
2007
- { metric: 'Adaptation Time', value: `${(sona.adaptationTimeMs ?? 0).toFixed(3)}ms` },
2008
- { metric: 'Trajectories', value: sona.trajectoriesRecorded ?? 0 },
2009
- { metric: 'Patterns Learned', value: sona.patternsLearned ?? 0 },
2010
- { metric: 'Avg Quality', value: `${((sona.avgQuality ?? 0) * 100).toFixed(1)}%` }
2011
- ]
2012
- });
2013
- }
2014
- else {
2015
- output.writeln(output.dim(' Disabled'));
2016
- }
2017
- // MoE Component
2018
- output.writeln();
2019
- output.writeln(output.bold('Mixture of Experts (MoE)'));
2020
- const moe = result.components.moe;
2021
- if (moe.enabled) {
2022
- output.printTable({
2023
- columns: [
2024
- { key: 'metric', header: 'Metric', width: 25 },
2025
- { key: 'value', header: 'Value', width: 20, align: 'right' }
2026
- ],
2027
- data: [
2028
- { metric: 'Status', value: formatIntelligenceStatus(moe.status) },
2029
- { metric: 'Active Experts', value: moe.expertsActive ?? 0 },
2030
- { metric: 'Routing Accuracy', value: `${((moe.routingAccuracy ?? 0) * 100).toFixed(1)}%` },
2031
- { metric: 'Load Balance', value: `${((moe.loadBalance ?? 0) * 100).toFixed(1)}%` }
2032
- ]
2033
- });
2034
- }
2035
- else {
2036
- output.writeln(output.dim(' Disabled'));
2037
- }
2038
- // HNSW Component
2039
- output.writeln();
2040
- output.writeln(output.bold('HNSW (150x Faster Search)'));
2041
- const hnsw = result.components.hnsw;
2042
- if (hnsw.enabled) {
2043
- output.printTable({
2044
- columns: [
2045
- { key: 'metric', header: 'Metric', width: 25 },
2046
- { key: 'value', header: 'Value', width: 20, align: 'right' }
2047
- ],
2048
- data: [
2049
- { metric: 'Status', value: formatIntelligenceStatus(hnsw.status) },
2050
- { metric: 'Index Size', value: (hnsw.indexSize ?? 0).toLocaleString() },
2051
- { metric: 'Search Speedup', value: output.success(hnsw.searchSpeedup ?? 'N/A') },
2052
- { metric: 'Memory Usage', value: hnsw.memoryUsage ?? 'N/A' },
2053
- { metric: 'Dimension', value: hnsw.dimension ?? 384 }
2054
- ]
2055
- });
2056
- }
2057
- else {
2058
- output.writeln(output.dim(' Disabled'));
2059
- }
2060
- // Embeddings
2061
- output.writeln();
2062
- output.writeln(output.bold('Embeddings'));
2063
- const emb = result.components.embeddings;
2064
- if (emb) {
2065
- output.printTable({
2066
- columns: [
2067
- { key: 'metric', header: 'Metric', width: 25 },
2068
- { key: 'value', header: 'Value', width: 20, align: 'right' }
2069
- ],
2070
- data: [
2071
- { metric: 'Provider', value: emb.provider ?? 'N/A' },
2072
- { metric: 'Model', value: emb.model ?? 'N/A' },
2073
- { metric: 'Dimension', value: emb.dimension ?? 384 },
2074
- { metric: 'Cache Hit Rate', value: `${((emb.cacheHitRate ?? 0) * 100).toFixed(1)}%` }
2075
- ]
2076
- });
2077
- }
2078
- else {
2079
- output.writeln(output.dim(' Not initialized'));
2080
- }
2081
- // Persistence info
2082
- if (result.persistence) {
2083
- output.writeln();
2084
- output.writeln(output.bold('Neural Persistence'));
2085
- output.printList([
2086
- `Patterns file: ${persistence.patternsExist ? output.success(`${patternsFileEntries} entries (${(patternsFileSize / 1024).toFixed(1)} KB)`) : output.dim('Not created')}`,
2087
- `Stats file: ${persistence.statsExist ? output.success(`${trajectoriesFromDisk} trajectories`) : output.dim('Not created')}`,
2088
- ]);
2089
- if (!persistence.patternsExist && !persistence.statsExist) {
2090
- output.writeln();
2091
- output.writeln(output.dim(' No neural data. Run: neural train'));
2092
- }
2093
- }
2094
- // V3 Performance
2095
- const perf = result.performance;
2096
- if (perf) {
2097
- output.writeln();
2098
- output.writeln(output.bold('V3 Performance Gains'));
2099
- output.printList([
2100
- `Flash Attention: ${output.success(String(perf.flashAttention ?? 'N/A'))}`,
2101
- `Memory Reduction: ${output.success(String(perf.memoryReduction ?? 'N/A'))}`,
2102
- `Search Improvement: ${output.success(String(perf.searchImprovement ?? 'N/A'))}`,
2103
- `Token Reduction: ${output.success(String(perf.tokenReduction ?? 'N/A'))}`,
2104
- `SWE-Bench Score: ${output.success(String(perf.sweBenchScore ?? 'N/A'))}`
2105
- ]);
2106
- }
2107
- return { success: true, data: result };
2108
- }
2109
- catch (error) {
2110
- spinner.fail('Intelligence system error');
2111
- if (error instanceof MCPClientError) {
2112
- output.printError(`Intelligence error: ${error.message}`);
2113
- }
2114
- else {
2115
- output.printError(`Unexpected error: ${String(error)}`);
2116
- }
2117
- return { success: false, exitCode: 1 };
2118
- }
2119
- }
2120
- };
2121
- function formatIntelligenceStatus(status) {
2122
- switch (status) {
2123
- case 'active':
2124
- case 'ready':
2125
- return output.success(status);
2126
- case 'training':
2127
- return output.highlight(status);
2128
- case 'idle':
2129
- return output.dim(status);
2130
- case 'disabled':
2131
- case 'error':
2132
- return output.error(status);
2133
- default:
2134
- return status;
2135
- }
2136
- }
2137
- // =============================================================================
2138
- // Worker Commands (12 Background Workers)
2139
- // =============================================================================
2140
- const workerListCommand = {
2141
- name: 'list',
2142
- description: 'List all 12 background workers with capabilities',
2143
- options: [
2144
- { name: 'status', short: 's', type: 'string', description: 'Filter by status (all, running, completed, pending)' },
2145
- { name: 'active', short: 'a', type: 'boolean', description: 'Show active worker instances' },
2146
- ],
2147
- examples: [
2148
- { command: 'claude-flow hooks worker list', description: 'List all workers' },
2149
- { command: 'claude-flow hooks worker list --active', description: 'Show active instances' },
2150
- ],
2151
- action: async (ctx) => {
2152
- const spinner = output.createSpinner({ text: 'Loading workers...', spinner: 'dots' });
2153
- spinner.start();
2154
- try {
2155
- const result = await callMCPTool('hooks_worker-list', {
2156
- status: ctx.flags['status'] || 'all',
2157
- includeActive: ctx.flags['active'] !== false,
2158
- });
2159
- spinner.succeed('Workers loaded');
2160
- output.writeln();
2161
- output.writeln(output.bold('Background Workers (12 Total)'));
2162
- output.writeln();
2163
- output.printTable({
2164
- columns: [
2165
- { key: 'trigger', header: 'Worker', width: 14 },
2166
- { key: 'priority', header: 'Priority', width: 10 },
2167
- { key: 'estimatedDuration', header: 'Est. Time', width: 10 },
2168
- { key: 'description', header: 'Description', width: 40 },
2169
- ],
2170
- data: result.workers.map(w => ({
2171
- trigger: output.highlight(w.trigger),
2172
- priority: w.priority === 'critical' ? output.error(w.priority) :
2173
- w.priority === 'high' ? output.warning(w.priority) :
2174
- w.priority,
2175
- estimatedDuration: w.estimatedDuration,
2176
- description: w.description,
2177
- })),
2178
- });
2179
- if (ctx.flags['active'] && result.active.count > 0) {
2180
- output.writeln();
2181
- output.writeln(output.bold('Active Instances'));
2182
- output.printTable({
2183
- columns: [
2184
- { key: 'id', header: 'Worker ID', width: 35 },
2185
- { key: 'trigger', header: 'Type', width: 12 },
2186
- { key: 'status', header: 'Status', width: 12 },
2187
- { key: 'progress', header: 'Progress', width: 10 },
2188
- ],
2189
- data: result.active.instances.map(w => ({
2190
- id: w.id,
2191
- trigger: w.trigger,
2192
- status: w.status === 'running' ? output.highlight(w.status) :
2193
- w.status === 'completed' ? output.success(w.status) :
2194
- w.status === 'failed' ? output.error(w.status) : w.status,
2195
- progress: `${w.progress}%`,
2196
- })),
2197
- });
2198
- }
2199
- output.writeln();
2200
- output.writeln(output.dim('Performance targets:'));
2201
- output.writeln(output.dim(` Trigger detection: ${result.performanceTargets.triggerDetection}`));
2202
- output.writeln(output.dim(` Worker spawn: ${result.performanceTargets.workerSpawn}`));
2203
- output.writeln(output.dim(` Max concurrent: ${result.performanceTargets.maxConcurrent}`));
2204
- return { success: true, data: result };
2205
- }
2206
- catch (error) {
2207
- spinner.fail('Failed to load workers');
2208
- if (error instanceof MCPClientError) {
2209
- output.printError(`Worker error: ${error.message}`);
2210
- }
2211
- return { success: false, exitCode: 1 };
2212
- }
2213
- }
2214
- };
2215
- const workerDispatchCommand = {
2216
- name: 'dispatch',
2217
- description: 'Dispatch a background worker for analysis/optimization',
2218
- options: [
2219
- { name: 'trigger', short: 't', type: 'string', description: 'Worker type (ultralearn, optimize, audit, map, etc.)', required: true },
2220
- { name: 'context', short: 'c', type: 'string', description: 'Context for the worker (file path, topic)' },
2221
- { name: 'priority', short: 'p', type: 'string', description: 'Priority (low, normal, high, critical)' },
2222
- { name: 'sync', short: 's', type: 'boolean', description: 'Wait for completion (synchronous)' },
2223
- ],
2224
- examples: [
2225
- { command: 'claude-flow hooks worker dispatch -t optimize -c src/', description: 'Dispatch optimize worker' },
2226
- { command: 'claude-flow hooks worker dispatch -t audit -p critical', description: 'Security audit with critical priority' },
2227
- { command: 'claude-flow hooks worker dispatch -t testgaps --sync', description: 'Test coverage analysis (sync)' },
2228
- ],
2229
- action: async (ctx) => {
2230
- const trigger = ctx.flags['trigger'];
2231
- const context = ctx.flags['context'] || 'default';
2232
- const priority = ctx.flags['priority'];
2233
- const background = !ctx.flags['sync'];
2234
- if (!trigger) {
2235
- output.printError('--trigger is required');
2236
- output.writeln('Available triggers: ultralearn, optimize, consolidate, predict, audit, map, preload, deepdive, document, refactor, benchmark, testgaps');
2237
- return { success: false, exitCode: 1 };
2238
- }
2239
- const spinner = output.createSpinner({ text: `Dispatching ${trigger} worker...`, spinner: 'dots' });
2240
- spinner.start();
2241
- try {
2242
- const result = await callMCPTool('hooks_worker-dispatch', {
2243
- trigger,
2244
- context,
2245
- priority,
2246
- background,
2247
- });
2248
- if (!result.success) {
2249
- spinner.fail(`Failed: ${result.error}`);
2250
- return { success: false, exitCode: 1 };
2251
- }
2252
- spinner.succeed(`Worker dispatched: ${result.workerId}`);
2253
- output.writeln();
2254
- output.printTable({
2255
- columns: [
2256
- { key: 'field', header: 'Field', width: 18 },
2257
- { key: 'value', header: 'Value', width: 50 },
2258
- ],
2259
- data: [
2260
- { field: 'Worker ID', value: output.highlight(result.workerId) },
2261
- { field: 'Trigger', value: result.trigger },
2262
- { field: 'Context', value: result.context },
2263
- { field: 'Priority', value: result.priority },
2264
- { field: 'Description', value: result.config.description },
2265
- { field: 'Est. Duration', value: result.config.estimatedDuration },
2266
- { field: 'Capabilities', value: result.config.capabilities.join(', ') },
2267
- { field: 'Status', value: result.status === 'dispatched' ? output.highlight('dispatched (background)') : output.success('completed') },
2268
- ],
2269
- });
2270
- if (background) {
2271
- output.writeln();
2272
- output.writeln(output.dim(`Check status: claude-flow hooks worker status --id ${result.workerId}`));
2273
- }
2274
- return { success: true, data: result };
2275
- }
2276
- catch (error) {
2277
- spinner.fail('Worker dispatch failed');
2278
- if (error instanceof MCPClientError) {
2279
- output.printError(`Dispatch error: ${error.message}`);
2280
- }
2281
- return { success: false, exitCode: 1 };
2282
- }
2283
- }
2284
- };
2285
- const workerStatusCommand = {
2286
- name: 'status',
2287
- description: 'Get status of workers',
2288
- options: [
2289
- { name: 'id', type: 'string', description: 'Specific worker ID to check' },
2290
- { name: 'all', short: 'a', type: 'boolean', description: 'Include completed workers' },
2291
- ],
2292
- examples: [
2293
- { command: 'claude-flow hooks worker status', description: 'Show running workers' },
2294
- { command: 'claude-flow hooks worker status --id worker_audit_1', description: 'Check specific worker' },
2295
- { command: 'claude-flow hooks worker status --all', description: 'Include completed workers' },
2296
- ],
2297
- action: async (ctx) => {
2298
- const workerId = ctx.flags['id'];
2299
- const includeCompleted = ctx.flags['all'];
2300
- const spinner = output.createSpinner({ text: 'Checking worker status...', spinner: 'dots' });
2301
- spinner.start();
2302
- try {
2303
- const result = await callMCPTool('hooks_worker-status', {
2304
- workerId,
2305
- includeCompleted,
2306
- });
2307
- if (!result.success) {
2308
- spinner.fail(`Failed: ${result.error}`);
2309
- return { success: false, exitCode: 1 };
2310
- }
2311
- spinner.succeed('Status retrieved');
2312
- if (result.worker) {
2313
- output.writeln();
2314
- output.writeln(output.bold(`Worker: ${result.worker.id}`));
2315
- output.printTable({
2316
- columns: [
2317
- { key: 'field', header: 'Field', width: 15 },
2318
- { key: 'value', header: 'Value', width: 40 },
2319
- ],
2320
- data: [
2321
- { field: 'Trigger', value: result.worker.trigger },
2322
- { field: 'Context', value: result.worker.context },
2323
- { field: 'Status', value: formatWorkerStatus(result.worker.status) },
2324
- { field: 'Progress', value: `${result.worker.progress}%` },
2325
- { field: 'Phase', value: result.worker.phase },
2326
- { field: 'Duration', value: `${result.worker.duration}ms` },
2327
- ],
2328
- });
2329
- }
2330
- else if (result.workers && result.workers.length > 0) {
2331
- output.writeln();
2332
- output.writeln(output.bold('Active Workers'));
2333
- output.printTable({
2334
- columns: [
2335
- { key: 'id', header: 'Worker ID', width: 35 },
2336
- { key: 'trigger', header: 'Type', width: 12 },
2337
- { key: 'status', header: 'Status', width: 12 },
2338
- { key: 'progress', header: 'Progress', width: 10 },
2339
- { key: 'duration', header: 'Duration', width: 12 },
2340
- ],
2341
- data: result.workers.map(w => ({
2342
- id: w.id,
2343
- trigger: w.trigger,
2344
- status: formatWorkerStatus(w.status),
2345
- progress: `${w.progress}%`,
2346
- duration: `${w.duration}ms`,
2347
- })),
2348
- });
2349
- if (result.summary) {
2350
- output.writeln();
2351
- output.writeln(`Total: ${result.summary.total} | Running: ${output.highlight(String(result.summary.running))} | Completed: ${output.success(String(result.summary.completed))} | Failed: ${output.error(String(result.summary.failed))}`);
2352
- }
2353
- }
2354
- else {
2355
- output.writeln();
2356
- output.writeln(output.dim('No active workers'));
2357
- }
2358
- return { success: true, data: result };
2359
- }
2360
- catch (error) {
2361
- spinner.fail('Status check failed');
2362
- if (error instanceof MCPClientError) {
2363
- output.printError(`Status error: ${error.message}`);
2364
- }
2365
- return { success: false, exitCode: 1 };
2366
- }
2367
- }
2368
- };
2369
- const workerDetectCommand = {
2370
- name: 'detect',
2371
- description: 'Detect worker triggers from prompt text',
2372
- options: [
2373
- { name: 'prompt', short: 'p', type: 'string', description: 'Prompt text to analyze', required: true },
2374
- { name: 'auto-dispatch', short: 'a', type: 'boolean', description: 'Automatically dispatch detected workers' },
2375
- { name: 'min-confidence', short: 'm', type: 'string', description: 'Minimum confidence threshold (0-1)' },
2376
- ],
2377
- examples: [
2378
- { command: 'claude-flow hooks worker detect -p "optimize performance"', description: 'Detect triggers in prompt' },
2379
- { command: 'claude-flow hooks worker detect -p "security audit" --auto-dispatch', description: 'Detect and dispatch' },
2380
- ],
2381
- action: async (ctx) => {
2382
- const prompt = ctx.flags['prompt'];
2383
- const autoDispatch = ctx.flags['auto-dispatch'];
2384
- const minConfidence = parseFloat(ctx.flags['min-confidence'] || '0.5');
2385
- if (!prompt) {
2386
- output.printError('--prompt is required');
2387
- return { success: false, exitCode: 1 };
2388
- }
2389
- const spinner = output.createSpinner({ text: 'Analyzing prompt...', spinner: 'dots' });
2390
- spinner.start();
2391
- try {
2392
- const result = await callMCPTool('hooks_worker-detect', {
2393
- prompt,
2394
- autoDispatch,
2395
- minConfidence,
2396
- });
2397
- if (result.detection.detected) {
2398
- spinner.succeed(`Detected ${result.triggersFound} worker trigger(s)`);
2399
- }
2400
- else {
2401
- spinner.succeed('No worker triggers detected');
2402
- }
2403
- output.writeln();
2404
- output.writeln(output.bold('Detection Results'));
2405
- output.writeln(`Prompt: ${output.dim(result.prompt)}`);
2406
- output.writeln(`Confidence: ${(result.detection.confidence * 100).toFixed(0)}%`);
2407
- if (result.triggerDetails && result.triggerDetails.length > 0) {
2408
- output.writeln();
2409
- output.printTable({
2410
- columns: [
2411
- { key: 'trigger', header: 'Trigger', width: 14 },
2412
- { key: 'priority', header: 'Priority', width: 10 },
2413
- { key: 'description', header: 'Description', width: 45 },
2414
- ],
2415
- data: result.triggerDetails.map(t => ({
2416
- trigger: output.highlight(t.trigger),
2417
- priority: t.priority,
2418
- description: t.description,
2419
- })),
2420
- });
2421
- }
2422
- if (result.autoDispatched && result.workerIds) {
2423
- output.writeln();
2424
- output.writeln(output.success('Workers auto-dispatched:'));
2425
- result.workerIds.forEach(id => {
2426
- output.writeln(` - ${id}`);
2427
- });
2428
- }
2429
- return { success: true, data: result };
2430
- }
2431
- catch (error) {
2432
- spinner.fail('Detection failed');
2433
- if (error instanceof MCPClientError) {
2434
- output.printError(`Detection error: ${error.message}`);
2435
- }
2436
- return { success: false, exitCode: 1 };
2437
- }
2438
- }
2439
- };
2440
- const workerCancelCommand = {
2441
- name: 'cancel',
2442
- description: 'Cancel a running worker',
2443
- options: [
2444
- { name: 'id', type: 'string', description: 'Worker ID to cancel', required: true },
2445
- ],
2446
- examples: [
2447
- { command: 'claude-flow hooks worker cancel --id worker_audit_1', description: 'Cancel specific worker' },
2448
- ],
2449
- action: async (ctx) => {
2450
- const workerId = ctx.flags['id'];
2451
- if (!workerId) {
2452
- output.printError('--id is required');
2453
- return { success: false, exitCode: 1 };
2454
- }
2455
- const spinner = output.createSpinner({ text: `Cancelling worker ${workerId}...`, spinner: 'dots' });
2456
- spinner.start();
2457
- try {
2458
- const result = await callMCPTool('hooks_worker-cancel', { workerId });
2459
- if (!result.success) {
2460
- spinner.fail(`Failed: ${result.error}`);
2461
- return { success: false, exitCode: 1 };
2462
- }
2463
- spinner.succeed(`Worker ${workerId} cancelled`);
2464
- return { success: true, data: result };
2465
- }
2466
- catch (error) {
2467
- spinner.fail('Cancel failed');
2468
- if (error instanceof MCPClientError) {
2469
- output.printError(`Cancel error: ${error.message}`);
2470
- }
2471
- return { success: false, exitCode: 1 };
2472
- }
2473
- }
2474
- };
2475
- function formatWorkerStatus(status) {
2476
- switch (status) {
2477
- case 'running':
2478
- return output.highlight(status);
2479
- case 'completed':
2480
- return output.success(status);
2481
- case 'failed':
2482
- return output.error(status);
2483
- case 'pending':
2484
- return output.dim(status);
2485
- default:
2486
- return status;
2487
- }
2488
- }
2489
- // ============================================================================
2490
- // Coverage-Aware Routing Commands
2491
- // ============================================================================
2492
- // Coverage route subcommand
2493
- const coverageRouteCommand = {
2494
- name: 'coverage-route',
2495
- description: 'Route task to agents based on test coverage gaps (ruvector integration)',
2496
- options: [
2497
- {
2498
- name: 'task',
2499
- short: 't',
2500
- description: 'Task description to route',
2501
- type: 'string',
2502
- required: true
2503
- },
2504
- {
2505
- name: 'threshold',
2506
- description: 'Coverage threshold percentage (default: 80)',
2507
- type: 'number',
2508
- default: 80
2509
- },
2510
- {
2511
- name: 'no-ruvector',
2512
- description: 'Disable ruvector integration',
2513
- type: 'boolean',
2514
- default: false
2515
- }
2516
- ],
2517
- examples: [
2518
- { command: 'claude-flow hooks coverage-route -t "fix bug in auth"', description: 'Route with coverage awareness' },
2519
- { command: 'claude-flow hooks coverage-route -t "add tests" --threshold 90', description: 'Route with custom threshold' }
2520
- ],
2521
- action: async (ctx) => {
2522
- const task = ctx.flags.task || ctx.args[0];
2523
- const threshold = ctx.flags.threshold || 80;
2524
- const useRuvector = !ctx.flags['no-ruvector'];
2525
- if (!task) {
2526
- output.printError('Task description is required. Use --task or -t flag.');
2527
- return { success: false, exitCode: 1 };
2528
- }
2529
- const spinner = output.createSpinner({ text: 'Analyzing coverage and routing task...' });
2530
- spinner.start();
2531
- // Try reading coverage from disk first
2532
- const diskCoverage = readCoverageFromDisk();
2533
- if (diskCoverage.found) {
2534
- spinner.succeed(`Coverage data loaded from ${diskCoverage.source}`);
2535
- // Find files with lowest coverage that may relate to the task
2536
- const taskLower = task.toLowerCase();
2537
- const taskWords = taskLower.split(/\s+/).filter(w => w.length > 2);
2538
- // Score each file by relevance to the task and how low its coverage is
2539
- const scoredFiles = diskCoverage.entries
2540
- .filter(e => e.lines < threshold)
2541
- .map(e => {
2542
- const fileNameLower = e.filePath.toLowerCase();
2543
- let relevance = 0;
2544
- for (const word of taskWords) {
2545
- if (fileNameLower.includes(word))
2546
- relevance += 2;
2547
- }
2548
- // Penalize high coverage (we care about low coverage)
2549
- const coveragePenalty = e.lines / 100;
2550
- return { ...e, relevance, score: relevance + (1 - coveragePenalty) };
2551
- })
2552
- .sort((a, b) => b.score - a.score);
2553
- const gaps = scoredFiles.slice(0, 8).map(e => {
2554
- const { gapType, priority } = classifyCoverageGap(e.lines, threshold);
2555
- return {
2556
- filePath: e.filePath,
2557
- coveragePercent: e.lines,
2558
- gapType,
2559
- priority,
2560
- suggestedAgents: suggestAgentsForFile(e.filePath),
2561
- reason: `${e.lines.toFixed(1)}% coverage, below ${threshold}%`,
2562
- };
2563
- });
2564
- const criticalGaps = gaps.filter(g => g.gapType === 'critical').length;
2565
- const primaryAgent = taskLower.includes('test') ? 'tester' :
2566
- taskLower.includes('security') || taskLower.includes('auth') ? 'security-auditor' :
2567
- taskLower.includes('fix') || taskLower.includes('bug') ? 'coder' : 'tester';
2568
- const suggestions = [];
2569
- if (criticalGaps > 0)
2570
- suggestions.push(`${criticalGaps} critical coverage gaps need immediate attention`);
2571
- if (diskCoverage.summary.overallLineCoverage < threshold) {
2572
- suggestions.push(`Overall line coverage (${diskCoverage.summary.overallLineCoverage.toFixed(1)}%) is below ${threshold}% threshold`);
2573
- }
2574
- if (scoredFiles.length > 8)
2575
- suggestions.push(`${scoredFiles.length - 8} additional files with low coverage`);
2576
- const result = {
2577
- success: true,
2578
- task,
2579
- coverageAware: true,
2580
- gaps,
2581
- routing: {
2582
- primaryAgent,
2583
- confidence: gaps.length > 0 ? 0.85 : 0.6,
2584
- reason: gaps.length > 0
2585
- ? `Routing to ${primaryAgent} based on ${gaps.length} coverage gaps related to task`
2586
- : `No coverage gaps found related to task, routing to ${primaryAgent}`,
2587
- coverageImpact: gaps.length > 0 ? 'high' : 'low',
2588
- },
2589
- suggestions,
2590
- metrics: {
2591
- filesAnalyzed: diskCoverage.summary.totalFiles,
2592
- totalGaps: scoredFiles.length,
2593
- criticalGaps,
2594
- avgCoverage: diskCoverage.summary.overallLineCoverage,
2595
- },
2596
- source: diskCoverage.source,
2597
- };
2598
- if (ctx.flags.format === 'json') {
2599
- output.printJson(result);
2600
- return { success: true, data: result };
2601
- }
2602
- output.writeln();
2603
- output.printBox([
2604
- `Agent: ${output.highlight(result.routing.primaryAgent)}`,
2605
- `Confidence: ${(result.routing.confidence * 100).toFixed(1)}%`,
2606
- `Coverage-Aware: ${output.success('Yes')} (from ${diskCoverage.source})`,
2607
- `Reason: ${result.routing.reason}`
2608
- ].join('\n'), 'Coverage-Aware Routing');
2609
- if (gaps.length > 0) {
2610
- output.writeln();
2611
- output.writeln(output.bold('Priority Coverage Gaps'));
2612
- output.printTable({
2613
- columns: [
2614
- { key: 'filePath', header: 'File', width: 35, format: (v) => {
2615
- const s = String(v);
2616
- return s.length > 32 ? '...' + s.slice(-32) : s;
2617
- } },
2618
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
2619
- { key: 'gapType', header: 'Type', width: 10 },
2620
- { key: 'suggestedAgents', header: 'Agent', width: 15, format: (v) => Array.isArray(v) ? v[0] || '' : String(v) }
2621
- ],
2622
- data: gaps.slice(0, 8)
2623
- });
2624
- }
2625
- if (result.metrics.filesAnalyzed > 0) {
2626
- output.writeln();
2627
- output.writeln(output.bold('Coverage Metrics'));
2628
- output.printList([
2629
- `Files Analyzed: ${result.metrics.filesAnalyzed}`,
2630
- `Total Gaps: ${result.metrics.totalGaps}`,
2631
- `Critical Gaps: ${result.metrics.criticalGaps}`,
2632
- `Average Coverage: ${result.metrics.avgCoverage.toFixed(1)}%`
2633
- ]);
2634
- }
2635
- if (suggestions.length > 0) {
2636
- output.writeln();
2637
- output.writeln(output.bold('Suggestions'));
2638
- output.printList(suggestions.map(s => output.dim(s)));
2639
- }
2640
- return { success: true, data: result };
2641
- }
2642
- // No disk coverage - fall back to MCP tool
2643
- try {
2644
- const result = await callMCPTool('hooks_coverage-route', {
2645
- task,
2646
- threshold,
2647
- useRuvector,
2648
- });
2649
- spinner.stop();
2650
- if (ctx.flags.format === 'json') {
2651
- output.printJson(result);
2652
- return { success: true, data: result };
2653
- }
2654
- output.writeln();
2655
- output.printBox([
2656
- `Agent: ${output.highlight(result.routing.primaryAgent)}`,
2657
- `Confidence: ${(result.routing.confidence * 100).toFixed(1)}%`,
2658
- `Coverage-Aware: ${result.coverageAware ? output.success('Yes') : output.dim('No coverage data')}`,
2659
- `Reason: ${result.routing.reason}`
2660
- ].join('\n'), 'Coverage-Aware Routing');
2661
- if (result.gaps.length > 0) {
2662
- output.writeln();
2663
- output.writeln(output.bold('Priority Coverage Gaps'));
2664
- output.printTable({
2665
- columns: [
2666
- { key: 'filePath', header: 'File', width: 35, format: (v) => {
2667
- const s = String(v);
2668
- return s.length > 32 ? '...' + s.slice(-32) : s;
2669
- } },
2670
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
2671
- { key: 'gapType', header: 'Type', width: 10 },
2672
- { key: 'suggestedAgents', header: 'Agent', width: 15, format: (v) => Array.isArray(v) ? v[0] || '' : String(v) }
2673
- ],
2674
- data: result.gaps.slice(0, 8)
2675
- });
2676
- }
2677
- if (result.metrics.filesAnalyzed > 0) {
2678
- output.writeln();
2679
- output.writeln(output.bold('Coverage Metrics'));
2680
- output.printList([
2681
- `Files Analyzed: ${result.metrics.filesAnalyzed}`,
2682
- `Total Gaps: ${result.metrics.totalGaps}`,
2683
- `Critical Gaps: ${result.metrics.criticalGaps}`,
2684
- `Average Coverage: ${result.metrics.avgCoverage.toFixed(1)}%`
2685
- ]);
2686
- }
2687
- if (result.suggestions.length > 0) {
2688
- output.writeln();
2689
- output.writeln(output.bold('Suggestions'));
2690
- output.printList(result.suggestions.map(s => output.dim(s)));
2691
- }
2692
- return { success: true, data: result };
2693
- }
2694
- catch (error) {
2695
- spinner.fail('No coverage data found');
2696
- output.writeln();
2697
- output.printWarning('No coverage data found. Run your test suite with coverage first.');
2698
- output.writeln();
2699
- output.printList([
2700
- 'Jest: npx jest --coverage',
2701
- 'Vitest: npx vitest --coverage',
2702
- 'nyc: npx nyc npm test',
2703
- 'c8: npx c8 npm test',
2704
- ]);
2705
- output.writeln();
2706
- output.writeln(output.dim('Expected files: coverage/coverage-summary.json, coverage/lcov.info, or .nyc_output/out.json'));
2707
- return { success: false, exitCode: 1 };
2708
- }
2709
- }
2710
- };
2711
- // Coverage suggest subcommand
2712
- const coverageSuggestCommand = {
2713
- name: 'coverage-suggest',
2714
- description: 'Suggest coverage improvements for a path (ruvector integration)',
2715
- options: [
2716
- {
2717
- name: 'path',
2718
- short: 'p',
2719
- description: 'Path to analyze for coverage suggestions',
2720
- type: 'string',
2721
- required: true
2722
- },
2723
- {
2724
- name: 'threshold',
2725
- description: 'Coverage threshold percentage (default: 80)',
2726
- type: 'number',
2727
- default: 80
2728
- },
2729
- {
2730
- name: 'limit',
2731
- short: 'l',
2732
- description: 'Maximum number of suggestions (default: 20)',
2733
- type: 'number',
2734
- default: 20
2735
- }
2736
- ],
2737
- examples: [
2738
- { command: 'claude-flow hooks coverage-suggest -p src/', description: 'Suggest improvements for src/' },
2739
- { command: 'claude-flow hooks coverage-suggest -p src/services --threshold 90', description: 'Stricter threshold' }
2740
- ],
2741
- action: async (ctx) => {
2742
- const targetPath = ctx.flags.path || ctx.args[0];
2743
- const threshold = ctx.flags.threshold || 80;
2744
- const limit = ctx.flags.limit || 20;
2745
- if (!targetPath) {
2746
- output.printError('Path is required. Use --path or -p flag.');
2747
- return { success: false, exitCode: 1 };
2748
- }
2749
- const spinner = output.createSpinner({ text: `Analyzing coverage for ${targetPath}...` });
2750
- spinner.start();
2751
- // Try reading coverage from disk first
2752
- const diskCoverage = readCoverageFromDisk();
2753
- if (diskCoverage.found) {
2754
- spinner.succeed(`Coverage data loaded from ${diskCoverage.source}`);
2755
- // Filter entries to those matching the target path
2756
- const pathLower = targetPath.toLowerCase().replace(/\\/g, '/');
2757
- const matchingEntries = diskCoverage.entries.filter(e => {
2758
- const fileLower = e.filePath.toLowerCase().replace(/\\/g, '/');
2759
- return fileLower.includes(pathLower);
2760
- });
2761
- const belowThreshold = matchingEntries.filter(e => e.lines < threshold);
2762
- const suggestions = belowThreshold.slice(0, limit).map(e => {
2763
- const { gapType, priority } = classifyCoverageGap(e.lines, threshold);
2764
- return {
2765
- filePath: e.filePath,
2766
- coveragePercent: e.lines,
2767
- gapType,
2768
- priority,
2769
- suggestedAgents: suggestAgentsForFile(e.filePath),
2770
- reason: e.lines === 0 ? 'No coverage at all' :
2771
- e.lines < 20 ? 'Very low coverage, needs tests' :
2772
- e.lines < 50 ? 'Below 50%, add more tests' :
2773
- `Below ${threshold}% threshold`,
2774
- };
2775
- });
2776
- const totalLinesCov = matchingEntries.length > 0
2777
- ? matchingEntries.reduce((acc, e) => acc + e.lines, 0) / matchingEntries.length
2778
- : 0;
2779
- const totalBranchesCov = matchingEntries.length > 0
2780
- ? matchingEntries.reduce((acc, e) => acc + e.branches, 0) / matchingEntries.length
2781
- : 0;
2782
- const prioritizedFiles = belowThreshold.slice(0, 5).map(e => e.filePath);
2783
- const result = {
2784
- success: true,
2785
- path: targetPath,
2786
- suggestions,
2787
- summary: {
2788
- totalFiles: matchingEntries.length,
2789
- overallLineCoverage: totalLinesCov,
2790
- overallBranchCoverage: totalBranchesCov,
2791
- filesBelowThreshold: belowThreshold.length,
2792
- },
2793
- prioritizedFiles,
2794
- ruvectorAvailable: false,
2795
- source: diskCoverage.source,
2796
- };
2797
- if (ctx.flags.format === 'json') {
2798
- output.printJson(result);
2799
- return { success: true, data: result };
2800
- }
2801
- output.writeln();
2802
- output.printBox([
2803
- `Path: ${output.highlight(targetPath)}`,
2804
- `Files Analyzed: ${result.summary.totalFiles}`,
2805
- `Line Coverage: ${result.summary.overallLineCoverage.toFixed(1)}%`,
2806
- `Branch Coverage: ${result.summary.overallBranchCoverage.toFixed(1)}%`,
2807
- `Below Threshold: ${result.summary.filesBelowThreshold} files`,
2808
- `Source: ${output.highlight(diskCoverage.source)}`
2809
- ].join('\n'), 'Coverage Summary');
2810
- if (suggestions.length > 0) {
2811
- output.writeln();
2812
- output.writeln(output.bold('Coverage Improvement Suggestions'));
2813
- output.printTable({
2814
- columns: [
2815
- { key: 'filePath', header: 'File', width: 40, format: (v) => {
2816
- const s = String(v);
2817
- return s.length > 37 ? '...' + s.slice(-37) : s;
2818
- } },
2819
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
2820
- { key: 'gapType', header: 'Priority', width: 10 },
2821
- { key: 'reason', header: 'Reason', width: 25 }
2822
- ],
2823
- data: suggestions.slice(0, 15)
2824
- });
2825
- }
2826
- else {
2827
- output.writeln();
2828
- output.printSuccess('All files meet coverage threshold!');
2829
- }
2830
- if (prioritizedFiles.length > 0) {
2831
- output.writeln();
2832
- output.writeln(output.bold('Priority Files (Top 5)'));
2833
- output.printList(prioritizedFiles.slice(0, 5).map(f => output.highlight(f)));
2834
- }
2835
- return { success: true, data: result };
2836
- }
2837
- // No disk coverage - fall back to MCP tool
2838
- try {
2839
- const result = await callMCPTool('hooks_coverage-suggest', {
2840
- path: targetPath,
2841
- threshold,
2842
- limit,
2843
- });
2844
- spinner.stop();
2845
- if (ctx.flags.format === 'json') {
2846
- output.printJson(result);
2847
- return { success: true, data: result };
2848
- }
2849
- output.writeln();
2850
- output.printBox([
2851
- `Path: ${output.highlight(result.path)}`,
2852
- `Files Analyzed: ${result.summary.totalFiles}`,
2853
- `Line Coverage: ${result.summary.overallLineCoverage.toFixed(1)}%`,
2854
- `Branch Coverage: ${result.summary.overallBranchCoverage.toFixed(1)}%`,
2855
- `Below Threshold: ${result.summary.filesBelowThreshold} files`,
2856
- `RuVector: ${result.ruvectorAvailable ? output.success('Available') : output.dim('Not installed')}`
2857
- ].join('\n'), 'Coverage Summary');
2858
- if (result.suggestions.length > 0) {
2859
- output.writeln();
2860
- output.writeln(output.bold('Coverage Improvement Suggestions'));
2861
- output.printTable({
2862
- columns: [
2863
- { key: 'filePath', header: 'File', width: 40, format: (v) => {
2864
- const s = String(v);
2865
- return s.length > 37 ? '...' + s.slice(-37) : s;
2866
- } },
2867
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
2868
- { key: 'gapType', header: 'Priority', width: 10 },
2869
- { key: 'reason', header: 'Reason', width: 25 }
2870
- ],
2871
- data: result.suggestions.slice(0, 15)
2872
- });
2873
- }
2874
- else {
2875
- output.writeln();
2876
- output.printSuccess('All files meet coverage threshold!');
2877
- }
2878
- if (result.prioritizedFiles.length > 0) {
2879
- output.writeln();
2880
- output.writeln(output.bold('Priority Files (Top 5)'));
2881
- output.printList(result.prioritizedFiles.slice(0, 5).map(f => output.highlight(f)));
2882
- }
2883
- return { success: true, data: result };
2884
- }
2885
- catch (error) {
2886
- spinner.fail('No coverage data found');
2887
- output.writeln();
2888
- output.printWarning('No coverage data found. Run your test suite with coverage first.');
2889
- output.writeln();
2890
- output.printList([
2891
- 'Jest: npx jest --coverage',
2892
- 'Vitest: npx vitest --coverage',
2893
- 'nyc: npx nyc npm test',
2894
- 'c8: npx c8 npm test',
2895
- ]);
2896
- output.writeln();
2897
- output.writeln(output.dim('Expected files: coverage/coverage-summary.json, coverage/lcov.info, or .nyc_output/out.json'));
2898
- return { success: false, exitCode: 1 };
2899
- }
2900
- }
2901
- };
2902
- // Coverage gaps subcommand
2903
- const coverageGapsCommand = {
2904
- name: 'coverage-gaps',
2905
- description: 'List all coverage gaps with priority scoring and agent assignments',
2906
- options: [
2907
- {
2908
- name: 'threshold',
2909
- description: 'Coverage threshold percentage (default: 80)',
2910
- type: 'number',
2911
- default: 80
2912
- },
2913
- {
2914
- name: 'group-by-agent',
2915
- description: 'Group gaps by suggested agent (default: true)',
2916
- type: 'boolean',
2917
- default: true
2918
- },
2919
- {
2920
- name: 'critical-only',
2921
- description: 'Show only critical gaps',
2922
- type: 'boolean',
2923
- default: false
2924
- }
2925
- ],
2926
- examples: [
2927
- { command: 'claude-flow hooks coverage-gaps', description: 'List all coverage gaps' },
2928
- { command: 'claude-flow hooks coverage-gaps --critical-only', description: 'Only critical gaps' },
2929
- { command: 'claude-flow hooks coverage-gaps --threshold 90', description: 'Stricter threshold' }
2930
- ],
2931
- action: async (ctx) => {
2932
- const threshold = ctx.flags.threshold || 80;
2933
- const groupByAgent = ctx.flags['group-by-agent'] !== false;
2934
- const criticalOnly = ctx.flags['critical-only'] || false;
2935
- const spinner = output.createSpinner({ text: 'Analyzing project coverage gaps...' });
2936
- spinner.start();
2937
- // Try reading coverage from disk first
2938
- const diskCoverage = readCoverageFromDisk();
2939
- if (diskCoverage.found) {
2940
- spinner.succeed(`Coverage data loaded from ${diskCoverage.source}`);
2941
- // Build gaps from disk data
2942
- const allGaps = diskCoverage.entries
2943
- .filter(e => e.lines < threshold)
2944
- .map(e => {
2945
- const { gapType, priority } = classifyCoverageGap(e.lines, threshold);
2946
- return {
2947
- filePath: e.filePath,
2948
- coveragePercent: e.lines,
2949
- gapType,
2950
- complexity: Math.round((100 - e.lines) / 10),
2951
- priority,
2952
- suggestedAgents: suggestAgentsForFile(e.filePath),
2953
- reason: `Line coverage ${e.lines.toFixed(1)}% below ${threshold}% threshold`,
2954
- };
2955
- });
2956
- const gaps = criticalOnly
2957
- ? allGaps.filter(g => g.gapType === 'critical')
2958
- : allGaps;
2959
- // Build agent assignments
2960
- const agentAssignments = {};
2961
- if (groupByAgent) {
2962
- for (const gap of gaps) {
2963
- const agent = gap.suggestedAgents[0] || 'tester';
2964
- if (!agentAssignments[agent])
2965
- agentAssignments[agent] = [];
2966
- agentAssignments[agent].push(gap.filePath);
2967
- }
2968
- }
2969
- const result = {
2970
- success: true,
2971
- gaps,
2972
- summary: {
2973
- totalFiles: diskCoverage.summary.totalFiles,
2974
- overallLineCoverage: diskCoverage.summary.overallLineCoverage,
2975
- overallBranchCoverage: diskCoverage.summary.overallBranchCoverage,
2976
- filesBelowThreshold: gaps.length,
2977
- coverageThreshold: threshold,
2978
- },
2979
- agentAssignments,
2980
- ruvectorAvailable: false,
2981
- source: diskCoverage.source,
2982
- };
2983
- if (ctx.flags.format === 'json') {
2984
- output.printJson(result);
2985
- return { success: true, data: result };
2986
- }
2987
- output.writeln();
2988
- output.printBox([
2989
- `Total Files: ${result.summary.totalFiles}`,
2990
- `Line Coverage: ${result.summary.overallLineCoverage.toFixed(1)}%`,
2991
- `Branch Coverage: ${result.summary.overallBranchCoverage.toFixed(1)}%`,
2992
- `Below ${threshold}%: ${result.summary.filesBelowThreshold} files`,
2993
- `Source: ${output.highlight(diskCoverage.source)}`
2994
- ].join('\n'), 'Coverage Gap Analysis');
2995
- if (gaps.length > 0) {
2996
- output.writeln();
2997
- output.writeln(output.bold(`Coverage Gaps (${gaps.length} files)`));
2998
- output.printTable({
2999
- columns: [
3000
- { key: 'filePath', header: 'File', width: 35, format: (v) => {
3001
- const s = String(v);
3002
- return s.length > 32 ? '...' + s.slice(-32) : s;
3003
- } },
3004
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
3005
- { key: 'gapType', header: 'Type', width: 10, format: (v) => {
3006
- const t = String(v);
3007
- if (t === 'critical')
3008
- return output.error(t);
3009
- if (t === 'high')
3010
- return output.warning(t);
3011
- return t;
3012
- } },
3013
- { key: 'priority', header: 'Priority', width: 8, align: 'right' },
3014
- { key: 'suggestedAgents', header: 'Agent', width: 12, format: (v) => Array.isArray(v) ? v[0] || '' : String(v) }
3015
- ],
3016
- data: gaps.slice(0, 20)
3017
- });
3018
- }
3019
- else {
3020
- output.writeln();
3021
- output.printSuccess('No coverage gaps found! All files meet threshold.');
3022
- }
3023
- if (groupByAgent && Object.keys(agentAssignments).length > 0) {
3024
- output.writeln();
3025
- output.writeln(output.bold('Agent Assignments'));
3026
- for (const [agent, files] of Object.entries(agentAssignments)) {
3027
- output.writeln();
3028
- output.writeln(` ${output.highlight(agent)} (${files.length} files)`);
3029
- files.slice(0, 3).forEach(f => {
3030
- output.writeln(` - ${output.dim(f)}`);
3031
- });
3032
- if (files.length > 3) {
3033
- output.writeln(` ... and ${files.length - 3} more`);
3034
- }
3035
- }
3036
- }
3037
- return { success: true, data: result };
3038
- }
3039
- // No coverage files on disk - try MCP tool as fallback
3040
- try {
3041
- const result = await callMCPTool('hooks_coverage-gaps', {
3042
- threshold,
3043
- groupByAgent,
3044
- });
3045
- spinner.stop();
3046
- const gaps = criticalOnly
3047
- ? result.gaps.filter(g => g.gapType === 'critical')
3048
- : result.gaps;
3049
- if (ctx.flags.format === 'json') {
3050
- output.printJson({ ...result, gaps });
3051
- return { success: true, data: result };
3052
- }
3053
- output.writeln();
3054
- output.printBox([
3055
- `Total Files: ${result.summary.totalFiles}`,
3056
- `Line Coverage: ${result.summary.overallLineCoverage.toFixed(1)}%`,
3057
- `Branch Coverage: ${result.summary.overallBranchCoverage.toFixed(1)}%`,
3058
- `Below ${result.summary.coverageThreshold}%: ${result.summary.filesBelowThreshold} files`,
3059
- `RuVector: ${result.ruvectorAvailable ? output.success('Available') : output.dim('Not installed')}`
3060
- ].join('\n'), 'Coverage Gap Analysis');
3061
- if (gaps.length > 0) {
3062
- output.writeln();
3063
- output.writeln(output.bold(`Coverage Gaps (${gaps.length} files)`));
3064
- output.printTable({
3065
- columns: [
3066
- { key: 'filePath', header: 'File', width: 35, format: (v) => {
3067
- const s = String(v);
3068
- return s.length > 32 ? '...' + s.slice(-32) : s;
3069
- } },
3070
- { key: 'coveragePercent', header: 'Coverage', width: 10, align: 'right', format: (v) => `${Number(v).toFixed(1)}%` },
3071
- { key: 'gapType', header: 'Type', width: 10, format: (v) => {
3072
- const t = String(v);
3073
- if (t === 'critical')
3074
- return output.error(t);
3075
- if (t === 'high')
3076
- return output.warning(t);
3077
- return t;
3078
- } },
3079
- { key: 'priority', header: 'Priority', width: 8, align: 'right' },
3080
- { key: 'suggestedAgents', header: 'Agent', width: 12, format: (v) => Array.isArray(v) ? v[0] || '' : String(v) }
3081
- ],
3082
- data: gaps.slice(0, 20)
3083
- });
3084
- }
3085
- else {
3086
- output.writeln();
3087
- output.printSuccess('No coverage gaps found! All files meet threshold.');
3088
- }
3089
- if (groupByAgent && Object.keys(result.agentAssignments).length > 0) {
3090
- output.writeln();
3091
- output.writeln(output.bold('Agent Assignments'));
3092
- for (const [agent, files] of Object.entries(result.agentAssignments)) {
3093
- output.writeln();
3094
- output.writeln(` ${output.highlight(agent)} (${files.length} files)`);
3095
- files.slice(0, 3).forEach(f => {
3096
- output.writeln(` - ${output.dim(f)}`);
3097
- });
3098
- if (files.length > 3) {
3099
- output.writeln(` ... and ${files.length - 3} more`);
3100
- }
3101
- }
3102
- }
3103
- return { success: true, data: result };
3104
- }
3105
- catch (error) {
3106
- spinner.fail('No coverage data found');
3107
- output.writeln();
3108
- output.printWarning('No coverage data found. Run your test suite with coverage first.');
3109
- output.writeln();
3110
- output.printList([
3111
- 'Jest: npx jest --coverage',
3112
- 'Vitest: npx vitest --coverage',
3113
- 'nyc: npx nyc npm test',
3114
- 'c8: npx c8 npm test',
3115
- ]);
3116
- output.writeln();
3117
- output.writeln(output.dim('Expected files: coverage/coverage-summary.json, coverage/lcov.info, or .nyc_output/out.json'));
3118
- return { success: false, exitCode: 1 };
3119
- }
3120
- }
3121
- };
3122
- // Progress hook command
3123
- const progressHookCommand = {
3124
- name: 'progress',
3125
- description: 'Check V3 implementation progress via hooks',
3126
- options: [
3127
- {
3128
- name: 'detailed',
3129
- short: 'd',
3130
- description: 'Show detailed breakdown by category',
3131
- type: 'boolean',
3132
- default: false
3133
- },
3134
- {
3135
- name: 'sync',
3136
- short: 's',
3137
- description: 'Sync and persist progress to file',
3138
- type: 'boolean',
3139
- default: false
3140
- },
3141
- {
3142
- name: 'summary',
3143
- description: 'Show human-readable summary',
3144
- type: 'boolean',
3145
- default: false
3146
- }
3147
- ],
3148
- examples: [
3149
- { command: 'claude-flow hooks progress', description: 'Check current progress' },
3150
- { command: 'claude-flow hooks progress -d', description: 'Detailed breakdown' },
3151
- { command: 'claude-flow hooks progress --sync', description: 'Sync progress to file' },
3152
- { command: 'claude-flow hooks progress --summary', description: 'Human-readable summary' }
3153
- ],
3154
- action: async (ctx) => {
3155
- const detailed = ctx.flags.detailed;
3156
- const sync = ctx.flags.sync;
3157
- const summary = ctx.flags.summary;
3158
- try {
3159
- if (summary) {
3160
- const spinner = output.createSpinner({ text: 'Getting progress summary...' });
3161
- spinner.start();
3162
- const result = await callMCPTool('progress_summary', {});
3163
- spinner.stop();
3164
- if (ctx.flags.format === 'json') {
3165
- output.printJson(result);
3166
- return { success: true, data: result };
3167
- }
3168
- output.writeln();
3169
- output.writeln(result.summary);
3170
- return { success: true, data: result };
3171
- }
3172
- if (sync) {
3173
- const spinner = output.createSpinner({ text: 'Syncing progress...' });
3174
- spinner.start();
3175
- const result = await callMCPTool('progress_sync', {});
3176
- spinner.stop();
3177
- if (ctx.flags.format === 'json') {
3178
- output.printJson(result);
3179
- return { success: true, data: result };
3180
- }
3181
- output.writeln();
3182
- output.printSuccess(`Progress synced: ${result.progress}%`);
3183
- output.writeln(output.dim(` Persisted to .claude-flow/metrics/v3-progress.json`));
3184
- output.writeln(output.dim(` Last updated: ${result.lastUpdated}`));
3185
- return { success: true, data: result };
3186
- }
3187
- // Default: check progress
3188
- const spinner = output.createSpinner({ text: 'Checking V3 progress...' });
3189
- spinner.start();
3190
- const result = await callMCPTool('progress_check', { detailed });
3191
- spinner.stop();
3192
- if (ctx.flags.format === 'json') {
3193
- output.printJson(result);
3194
- return { success: true, data: result };
3195
- }
3196
- output.writeln();
3197
- const progressValue = result.overall ?? result.progress ?? 0;
3198
- // Create progress bar
3199
- const barWidth = 30;
3200
- const filled = Math.round((progressValue / 100) * barWidth);
3201
- const empty = barWidth - filled;
3202
- const bar = output.success('█'.repeat(filled)) + output.dim('░'.repeat(empty));
3203
- output.writeln(output.bold('V3 Implementation Progress'));
3204
- output.writeln();
3205
- output.writeln(`[${bar}] ${progressValue}%`);
3206
- output.writeln();
3207
- if (detailed && result.cli) {
3208
- output.writeln(output.highlight('CLI Commands:') + ` ${result.cli.progress}% (${result.cli.commands}/${result.cli.target})`);
3209
- output.writeln(output.highlight('MCP Tools:') + ` ${result.mcp?.progress ?? 0}% (${result.mcp?.tools ?? 0}/${result.mcp?.target ?? 0})`);
3210
- output.writeln(output.highlight('Hooks:') + ` ${result.hooks?.progress ?? 0}% (${result.hooks?.subcommands ?? 0}/${result.hooks?.target ?? 0})`);
3211
- output.writeln(output.highlight('Packages:') + ` ${result.packages?.progress ?? 0}% (${result.packages?.total ?? 0}/${result.packages?.target ?? 0})`);
3212
- output.writeln(output.highlight('DDD Structure:') + ` ${result.ddd?.progress ?? 0}% (${result.packages?.withDDD ?? 0}/${result.packages?.total ?? 0})`);
3213
- output.writeln();
3214
- if (result.codebase) {
3215
- output.writeln(output.dim(`Codebase: ${result.codebase.totalFiles} files, ${result.codebase.totalLines.toLocaleString()} lines`));
3216
- }
3217
- }
3218
- else if (result.breakdown) {
3219
- output.writeln('Breakdown:');
3220
- for (const [category, value] of Object.entries(result.breakdown)) {
3221
- output.writeln(` ${output.highlight(category)}: ${value}`);
3222
- }
3223
- }
3224
- if (result.lastUpdated) {
3225
- output.writeln(output.dim(`Last updated: ${result.lastUpdated}`));
3226
- }
3227
- return { success: true, data: result };
3228
- }
3229
- catch (error) {
3230
- if (error instanceof MCPClientError) {
3231
- output.printError(`Progress check failed: ${error.message}`);
3232
- }
3233
- else {
3234
- output.printError(`Progress check failed: ${String(error)}`);
3235
- }
3236
- return { success: false, exitCode: 1 };
3237
- }
3238
- }
3239
- };
3240
- // Worker parent command
3241
- const workerCommand = {
3242
- name: 'worker',
3243
- description: 'Background worker management (12 workers for analysis/optimization)',
3244
- subcommands: [
3245
- workerListCommand,
3246
- workerDispatchCommand,
3247
- workerStatusCommand,
3248
- workerDetectCommand,
3249
- workerCancelCommand,
3250
- ],
3251
- options: [],
3252
- examples: [
3253
- { command: 'claude-flow hooks worker list', description: 'List all workers' },
3254
- { command: 'claude-flow hooks worker dispatch -t optimize', description: 'Dispatch optimizer' },
3255
- { command: 'claude-flow hooks worker detect -p "test coverage"', description: 'Detect from prompt' },
3256
- ],
3257
- action: async () => {
3258
- output.writeln();
3259
- output.writeln(output.bold('Background Worker System (12 Workers)'));
3260
- output.writeln();
3261
- output.writeln('Manage and dispatch background workers for analysis and optimization tasks.');
3262
- output.writeln();
3263
- output.writeln('Available Workers:');
3264
- output.printList([
3265
- `${output.highlight('ultralearn')} - Deep knowledge acquisition`,
3266
- `${output.highlight('optimize')} - Performance optimization`,
3267
- `${output.highlight('consolidate')} - Memory consolidation`,
3268
- `${output.highlight('predict')} - Predictive preloading`,
3269
- `${output.highlight('audit')} - Security analysis (critical)`,
3270
- `${output.highlight('map')} - Codebase mapping`,
3271
- `${output.highlight('preload')} - Resource preloading`,
3272
- `${output.highlight('deepdive')} - Deep code analysis`,
3273
- `${output.highlight('document')} - Auto-documentation`,
3274
- `${output.highlight('refactor')} - Refactoring suggestions`,
3275
- `${output.highlight('benchmark')} - Performance benchmarks`,
3276
- `${output.highlight('testgaps')} - Test coverage analysis`,
3277
- ]);
3278
- output.writeln();
3279
- output.writeln('Subcommands:');
3280
- output.printList([
3281
- `${output.highlight('list')} - List all workers with capabilities`,
3282
- `${output.highlight('dispatch')} - Dispatch a worker`,
3283
- `${output.highlight('status')} - Check worker status`,
3284
- `${output.highlight('detect')} - Detect triggers from prompt`,
3285
- `${output.highlight('cancel')} - Cancel a running worker`,
3286
- ]);
3287
- output.writeln();
3288
- output.writeln('Run "claude-flow hooks worker <subcommand> --help" for details');
3289
- return { success: true };
3290
- }
3291
- };
3292
- // Statusline subcommand - generates dynamic status display
3293
- const statuslineCommand = {
3294
- name: 'statusline',
3295
- description: 'Generate dynamic statusline with V3 progress and system status',
3296
- options: [
3297
- {
3298
- name: 'json',
3299
- description: 'Output as JSON',
3300
- type: 'boolean',
3301
- default: false
3302
- },
3303
- {
3304
- name: 'compact',
3305
- description: 'Compact single-line output (auto-enabled when terminal width < 100 cols)',
3306
- type: 'boolean',
3307
- default: false
3308
- },
3309
- {
3310
- name: 'full',
3311
- description: 'Force the full multi-line output even on narrow terminals',
3312
- type: 'boolean',
3313
- default: false
3314
- },
3315
- {
3316
- name: 'no-color',
3317
- description: 'Disable ANSI colors',
3318
- type: 'boolean',
3319
- default: false
3320
- }
3321
- ],
3322
- examples: [
3323
- { command: 'claude-flow hooks statusline', description: 'Display full statusline' },
3324
- { command: 'claude-flow hooks statusline --json', description: 'JSON output for hooks' },
3325
- { command: 'claude-flow hooks statusline --compact', description: 'Single-line status' }
3326
- ],
3327
- action: async (ctx) => {
3328
- const fs = await import('fs');
3329
- const path = await import('path');
3330
- const { execSync } = await import('child_process');
3331
- // Get learning stats from memory database
3332
- function getLearningStats() {
3333
- const memoryPaths = [
3334
- path.join(process.cwd(), '.swarm', 'memory.db'),
3335
- path.join(process.cwd(), '.claude', 'memory.db'),
3336
- ];
3337
- let patterns = 0;
3338
- let sessions = 0;
3339
- let trajectories = 0;
3340
- for (const dbPath of memoryPaths) {
3341
- if (fs.existsSync(dbPath)) {
3342
- try {
3343
- const stats = fs.statSync(dbPath);
3344
- const sizeKB = stats.size / 1024;
3345
- patterns = Math.floor(sizeKB / 2);
3346
- sessions = Math.max(1, Math.floor(patterns / 10));
3347
- trajectories = Math.floor(patterns / 5);
3348
- break;
3349
- }
3350
- catch {
3351
- // Ignore
3352
- }
3353
- }
3354
- }
3355
- const sessionsPath = path.join(process.cwd(), '.claude', 'sessions');
3356
- if (fs.existsSync(sessionsPath)) {
3357
- try {
3358
- const sessionFiles = fs.readdirSync(sessionsPath).filter((f) => f.endsWith('.json'));
3359
- sessions = Math.max(sessions, sessionFiles.length);
3360
- }
3361
- catch {
3362
- // Ignore
3363
- }
3364
- }
3365
- return { patterns, sessions, trajectories };
3366
- }
3367
- // Get V3 progress
3368
- function getV3Progress() {
3369
- const learning = getLearningStats();
3370
- let domainsCompleted = 0;
3371
- if (learning.patterns >= 500)
3372
- domainsCompleted = 5;
3373
- else if (learning.patterns >= 200)
3374
- domainsCompleted = 4;
3375
- else if (learning.patterns >= 100)
3376
- domainsCompleted = 3;
3377
- else if (learning.patterns >= 50)
3378
- domainsCompleted = 2;
3379
- else if (learning.patterns >= 10)
3380
- domainsCompleted = 1;
3381
- const totalDomains = 5;
3382
- const dddProgress = Math.min(100, Math.floor((domainsCompleted / totalDomains) * 100));
3383
- return { domainsCompleted, totalDomains, dddProgress, patternsLearned: learning.patterns, sessionsCompleted: learning.sessions };
3384
- }
3385
- // Get security status
3386
- function getSecurityStatus() {
3387
- const scanResultsPath = path.join(process.cwd(), '.claude', 'security-scans');
3388
- let cvesFixed = 0;
3389
- const totalCves = 3;
3390
- if (fs.existsSync(scanResultsPath)) {
3391
- try {
3392
- const scans = fs.readdirSync(scanResultsPath).filter((f) => f.endsWith('.json'));
3393
- cvesFixed = Math.min(totalCves, scans.length);
3394
- }
3395
- catch {
3396
- // Ignore
3397
- }
3398
- }
3399
- const auditPath = path.join(process.cwd(), '.swarm', 'security');
3400
- if (fs.existsSync(auditPath)) {
3401
- try {
3402
- const audits = fs.readdirSync(auditPath).filter((f) => f.includes('audit'));
3403
- cvesFixed = Math.min(totalCves, Math.max(cvesFixed, audits.length));
3404
- }
3405
- catch {
3406
- // Ignore
3407
- }
3408
- }
3409
- const status = cvesFixed >= totalCves ? 'CLEAN' : cvesFixed > 0 ? 'IN_PROGRESS' : 'PENDING';
3410
- return { status, cvesFixed, totalCves };
3411
- }
3412
- // Get swarm status
3413
- function getSwarmStatus() {
3414
- let activeAgents = 0;
3415
- let coordinationActive = false;
3416
- const maxAgents = 15;
3417
- const isWindows = process.platform === 'win32';
3418
- try {
3419
- const psCmd = isWindows
3420
- ? 'tasklist /FI "IMAGENAME eq node.exe" /NH 2>NUL | find /c /v "" 2>NUL || echo 0'
3421
- : 'ps aux 2>/dev/null | grep -c agentic-flow || echo "0"';
3422
- const ps = execSync(psCmd, { encoding: 'utf-8', timeout: 3000 });
3423
- activeAgents = Math.max(0, parseInt(ps.trim()) - 1);
3424
- coordinationActive = activeAgents > 0;
3425
- }
3426
- catch {
3427
- // ps/tasklist unavailable or timed out — report zero
3428
- }
3429
- return { activeAgents, maxAgents, coordinationActive };
3430
- }
3431
- // Get system metrics
3432
- function getSystemMetrics() {
3433
- let memoryMB = 0;
3434
- let subAgents = 0;
3435
- const learning = getLearningStats();
3436
- try {
3437
- memoryMB = Math.floor(process.memoryUsage().heapUsed / 1024 / 1024);
3438
- }
3439
- catch {
3440
- // Ignore
3441
- }
3442
- // Calculate intelligence from multiple sources (matching statusline-generator.ts)
3443
- let intelligencePct = 0;
3444
- // 1. Check learning.json for REAL intelligence metrics first
3445
- const learningJsonPaths = [
3446
- path.join(process.cwd(), '.claude-flow', 'learning.json'),
3447
- path.join(process.cwd(), '.claude', '.claude-flow', 'learning.json'),
3448
- path.join(process.cwd(), '.swarm', 'learning.json'),
3449
- ];
3450
- for (const lPath of learningJsonPaths) {
3451
- if (fs.existsSync(lPath)) {
3452
- try {
3453
- const data = JSON.parse(fs.readFileSync(lPath, 'utf-8'));
3454
- if (data.intelligence?.score !== undefined) {
3455
- intelligencePct = Math.min(100, Math.floor(data.intelligence.score));
3456
- break;
3457
- }
3458
- }
3459
- catch { /* ignore */ }
3460
- }
3461
- }
3462
- // 2. Fallback: calculate from patterns and vectors
3463
- if (intelligencePct === 0) {
3464
- const fromPatterns = learning.patterns > 0 ? Math.min(100, Math.floor(learning.patterns / 10)) : 0;
3465
- // Will be updated later with vector count
3466
- intelligencePct = fromPatterns;
3467
- }
3468
- // 3. Fallback: calculate maturity score from project indicators
3469
- if (intelligencePct === 0) {
3470
- let maturityScore = 0;
3471
- // Check for key project files/dirs
3472
- if (fs.existsSync(path.join(process.cwd(), '.claude')))
3473
- maturityScore += 15;
3474
- if (fs.existsSync(path.join(process.cwd(), '.claude-flow')))
3475
- maturityScore += 15;
3476
- if (fs.existsSync(path.join(process.cwd(), 'CLAUDE.md')))
3477
- maturityScore += 10;
3478
- if (fs.existsSync(path.join(process.cwd(), 'claude-flow.config.json')))
3479
- maturityScore += 10;
3480
- if (fs.existsSync(path.join(process.cwd(), '.swarm')))
3481
- maturityScore += 10;
3482
- // Check for test files
3483
- const testDirs = ['tests', '__tests__', 'test', 'v3/__tests__'];
3484
- for (const dir of testDirs) {
3485
- if (fs.existsSync(path.join(process.cwd(), dir))) {
3486
- maturityScore += 10;
3487
- break;
3488
- }
3489
- }
3490
- // Check for hooks config
3491
- if (fs.existsSync(path.join(process.cwd(), '.claude', 'settings.json')))
3492
- maturityScore += 10;
3493
- intelligencePct = Math.min(100, maturityScore);
3494
- }
3495
- const contextPct = Math.min(100, Math.floor(learning.sessions * 5));
3496
- return { memoryMB, contextPct, intelligencePct, subAgents };
3497
- }
3498
- // Get user info
3499
- function getUserInfo() {
3500
- let name = 'user';
3501
- let gitBranch = '';
3502
- const modelName = 'Opus 4.6 (1M context)';
3503
- const isWindows = process.platform === 'win32';
3504
- try {
3505
- const nameCmd = isWindows
3506
- ? 'git config user.name 2>NUL || echo user'
3507
- : 'git config user.name 2>/dev/null || echo "user"';
3508
- const branchCmd = isWindows
3509
- ? 'git branch --show-current 2>NUL || echo.'
3510
- : 'git branch --show-current 2>/dev/null || echo ""';
3511
- name = execSync(nameCmd, { encoding: 'utf-8' }).trim();
3512
- gitBranch = execSync(branchCmd, { encoding: 'utf-8' }).trim();
3513
- if (gitBranch === '.')
3514
- gitBranch = '';
3515
- }
3516
- catch {
3517
- // Ignore
3518
- }
3519
- return { name, gitBranch, modelName };
3520
- }
3521
- // Collect all status
3522
- const progress = getV3Progress();
3523
- const security = getSecurityStatus();
3524
- const swarm = getSwarmStatus();
3525
- const system = getSystemMetrics();
3526
- const user = getUserInfo();
3527
- const statusData = {
3528
- user,
3529
- v3Progress: progress,
3530
- security,
3531
- swarm,
3532
- system,
3533
- timestamp: new Date().toISOString()
3534
- };
3535
- // JSON output
3536
- if (ctx.flags.json || ctx.flags.format === 'json') {
3537
- output.printJson(statusData);
3538
- return { success: true, data: statusData };
3539
- }
3540
- // #1153: auto-collapse to compact on narrow terminals so the full
3541
- // 6+ line statusline doesn't dominate the screen. Honors:
3542
- // - explicit --compact → compact
3543
- // - explicit --full → full (overrides auto-detection)
3544
- // - else → compact when terminal < 100 cols (full multi-line
3545
- // output expects ~100 cols of horizontal space)
3546
- const COMPACT_WIDTH_THRESHOLD = 100;
3547
- const terminalCols = process.stdout.columns ?? 80;
3548
- const autoCompact = !ctx.flags.full && terminalCols < COMPACT_WIDTH_THRESHOLD;
3549
- if (ctx.flags.compact || autoCompact) {
3550
- const line = `DDD:${progress.domainsCompleted}/${progress.totalDomains} CVE:${security.cvesFixed}/${security.totalCves} Swarm:${swarm.activeAgents}/${swarm.maxAgents} Ctx:${system.contextPct}% Int:${system.intelligencePct}%`;
3551
- output.writeln(line);
3552
- return { success: true, data: statusData };
3553
- }
3554
- // Full colored output
3555
- const noColor = ctx.flags['no-color'] || ctx.flags.noColor;
3556
- const c = noColor ? {
3557
- reset: '', bold: '', dim: '', red: '', green: '', yellow: '', blue: '',
3558
- purple: '', cyan: '', brightRed: '', brightGreen: '', brightYellow: '',
3559
- brightBlue: '', brightPurple: '', brightCyan: '', brightWhite: ''
3560
- } : {
3561
- reset: '\x1b[0m', bold: '\x1b[1m', dim: '\x1b[2m', red: '\x1b[0;31m',
3562
- green: '\x1b[0;32m', yellow: '\x1b[0;33m', blue: '\x1b[0;34m',
3563
- purple: '\x1b[0;35m', cyan: '\x1b[0;36m', brightRed: '\x1b[1;31m',
3564
- brightGreen: '\x1b[1;32m', brightYellow: '\x1b[1;33m', brightBlue: '\x1b[1;34m',
3565
- brightPurple: '\x1b[1;35m', brightCyan: '\x1b[1;36m', brightWhite: '\x1b[1;37m'
3566
- };
3567
- // Progress bar helper
3568
- const progressBar = (current, total) => {
3569
- const filled = Math.round((current / total) * 5);
3570
- const empty = 5 - filled;
3571
- return '[' + '●'.repeat(filled) + '○'.repeat(empty) + ']';
3572
- };
3573
- // Generate lines
3574
- let header = `${c.bold}${c.brightPurple}▊ RuFlo V3 ${c.reset}`;
3575
- header += `${swarm.coordinationActive ? c.brightCyan : c.dim}● ${c.brightCyan}${user.name}${c.reset}`;
3576
- if (user.gitBranch) {
3577
- header += ` ${c.dim}│${c.reset} ${c.brightBlue}⎇ ${user.gitBranch}${c.reset}`;
3578
- }
3579
- header += ` ${c.dim}│${c.reset} ${c.purple}${user.modelName}${c.reset}`;
3580
- const separator = `${c.dim}─────────────────────────────────────────────────────${c.reset}`;
3581
- // Get hooks stats
3582
- const hooksStats = { enabled: 0, total: 17 };
3583
- const settingsPath = path.join(process.cwd(), '.claude', 'settings.json');
3584
- if (fs.existsSync(settingsPath)) {
3585
- try {
3586
- const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
3587
- if (settings.hooks) {
3588
- hooksStats.enabled = Object.values(settings.hooks).filter((h) => h && typeof h === 'object').length;
3589
- }
3590
- }
3591
- catch { /* ignore */ }
3592
- }
3593
- // Get AgentDB stats (matching statusline-generator.ts paths)
3594
- const agentdbStats = { vectorCount: 0, dbSizeKB: 0, hasHnsw: false };
3595
- // Check for direct database files first
3596
- const dbPaths = [
3597
- path.join(process.cwd(), '.swarm', 'memory.db'),
3598
- path.join(process.cwd(), '.claude-flow', 'memory.db'),
3599
- path.join(process.cwd(), '.claude', 'memory.db'),
3600
- path.join(process.cwd(), 'data', 'memory.db'),
3601
- path.join(process.cwd(), 'memory.db'),
3602
- path.join(process.cwd(), '.agentdb', 'memory.db'),
3603
- path.join(process.cwd(), '.claude-flow', 'memory', 'agentdb.db'),
3604
- ];
3605
- for (const dbPath of dbPaths) {
3606
- if (fs.existsSync(dbPath)) {
3607
- try {
3608
- const stats = fs.statSync(dbPath);
3609
- agentdbStats.dbSizeKB = Math.round(stats.size / 1024);
3610
- agentdbStats.vectorCount = Math.floor(agentdbStats.dbSizeKB / 2);
3611
- agentdbStats.hasHnsw = agentdbStats.vectorCount > 100;
3612
- break;
3613
- }
3614
- catch { /* ignore */ }
3615
- }
3616
- }
3617
- // Check for AgentDB directories if no direct db found
3618
- if (agentdbStats.vectorCount === 0) {
3619
- const agentdbDirs = [
3620
- path.join(process.cwd(), '.claude-flow', 'agentdb'),
3621
- path.join(process.cwd(), '.swarm', 'agentdb'),
3622
- path.join(process.cwd(), 'data', 'agentdb'),
3623
- path.join(process.cwd(), '.agentdb'),
3624
- ];
3625
- for (const dir of agentdbDirs) {
3626
- if (fs.existsSync(dir)) {
3627
- try {
3628
- const files = fs.readdirSync(dir);
3629
- for (const f of files) {
3630
- if (f.endsWith('.db') || f.endsWith('.sqlite')) {
3631
- const filePath = path.join(dir, f);
3632
- const fileStat = fs.statSync(filePath);
3633
- agentdbStats.dbSizeKB += Math.round(fileStat.size / 1024);
3634
- }
3635
- }
3636
- agentdbStats.vectorCount = Math.floor(agentdbStats.dbSizeKB / 2);
3637
- agentdbStats.hasHnsw = agentdbStats.vectorCount > 100;
3638
- if (agentdbStats.vectorCount > 0)
3639
- break;
3640
- }
3641
- catch { /* ignore */ }
3642
- }
3643
- }
3644
- }
3645
- // Check for HNSW index files
3646
- const hnswPaths = [
3647
- path.join(process.cwd(), '.claude-flow', 'hnsw'),
3648
- path.join(process.cwd(), '.swarm', 'hnsw'),
3649
- path.join(process.cwd(), 'data', 'hnsw'),
3650
- ];
3651
- for (const hnswPath of hnswPaths) {
3652
- if (fs.existsSync(hnswPath)) {
3653
- agentdbStats.hasHnsw = true;
3654
- try {
3655
- const hnswFiles = fs.readdirSync(hnswPath);
3656
- const indexFile = hnswFiles.find(f => f.endsWith('.index'));
3657
- if (indexFile) {
3658
- const indexStat = fs.statSync(path.join(hnswPath, indexFile));
3659
- const hnswVectors = Math.floor(indexStat.size / 512);
3660
- agentdbStats.vectorCount = Math.max(agentdbStats.vectorCount, hnswVectors);
3661
- }
3662
- }
3663
- catch { /* ignore */ }
3664
- break;
3665
- }
3666
- }
3667
- // Check for vectors.json file
3668
- const vectorsPath = path.join(process.cwd(), '.claude-flow', 'vectors.json');
3669
- if (fs.existsSync(vectorsPath) && agentdbStats.vectorCount === 0) {
3670
- try {
3671
- const data = JSON.parse(fs.readFileSync(vectorsPath, 'utf-8'));
3672
- if (Array.isArray(data)) {
3673
- agentdbStats.vectorCount = data.length;
3674
- }
3675
- else if (data.vectors) {
3676
- agentdbStats.vectorCount = Object.keys(data.vectors).length;
3677
- }
3678
- }
3679
- catch { /* ignore */ }
3680
- }
3681
- // Get test stats
3682
- const testStats = { testFiles: 0, testCases: 0 };
3683
- const testPaths = ['tests', '__tests__', 'test', 'spec'];
3684
- for (const testPath of testPaths) {
3685
- const fullPath = path.join(process.cwd(), testPath);
3686
- if (fs.existsSync(fullPath)) {
3687
- try {
3688
- const files = fs.readdirSync(fullPath, { recursive: true });
3689
- testStats.testFiles = files.filter((f) => /\.(test|spec)\.(ts|js|tsx|jsx)$/.test(f)).length;
3690
- testStats.testCases = testStats.testFiles * 28; // Estimate
3691
- }
3692
- catch { /* ignore */ }
3693
- }
3694
- }
3695
- // Get MCP stats
3696
- const mcpStats = { enabled: 0, total: 0 };
3697
- const mcpPath = path.join(process.cwd(), '.mcp.json');
3698
- if (fs.existsSync(mcpPath)) {
3699
- try {
3700
- const mcp = JSON.parse(fs.readFileSync(mcpPath, 'utf-8'));
3701
- if (mcp.mcpServers) {
3702
- mcpStats.total = Object.keys(mcp.mcpServers).length;
3703
- mcpStats.enabled = mcpStats.total;
3704
- }
3705
- }
3706
- catch { /* ignore */ }
3707
- }
3708
- const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
3709
- // Dynamic perf indicator based on patterns/HNSW
3710
- let perfIndicator = `${c.dim}⚡ target: 150x-12500x${c.reset}`;
3711
- if (agentdbStats.hasHnsw && agentdbStats.vectorCount > 0) {
3712
- const speedup = agentdbStats.vectorCount > 10000 ? '12500x' : agentdbStats.vectorCount > 1000 ? '150x' : '10x';
3713
- perfIndicator = `${c.brightGreen}⚡ HNSW ${speedup}${c.reset}`;
3714
- }
3715
- else if (progress.patternsLearned > 0) {
3716
- const patternsK = progress.patternsLearned >= 1000 ? `${(progress.patternsLearned / 1000).toFixed(1)}k` : String(progress.patternsLearned);
3717
- perfIndicator = `${c.brightYellow}📚 ${patternsK} patterns${c.reset}`;
3718
- }
3719
- const line1 = `${c.brightCyan}🏗️ DDD Domains${c.reset} ${progressBar(progress.domainsCompleted, progress.totalDomains)} ` +
3720
- `${domainsColor}${progress.domainsCompleted}${c.reset}/${c.brightWhite}${progress.totalDomains}${c.reset} ` +
3721
- perfIndicator;
3722
- const swarmIndicator = swarm.coordinationActive ? `${c.brightGreen}◉${c.reset}` : `${c.dim}○${c.reset}`;
3723
- const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
3724
- const securityIcon = security.status === 'CLEAN' ? '🟢' : security.status === 'IN_PROGRESS' ? '🟡' : '🔴';
3725
- const securityColor = security.status === 'CLEAN' ? c.brightGreen : security.status === 'IN_PROGRESS' ? c.brightYellow : c.brightRed;
3726
- const hooksColor = hooksStats.enabled > 0 ? c.brightGreen : c.dim;
3727
- const line2 = `${c.brightYellow}🤖 Swarm${c.reset} ${swarmIndicator} [${agentsColor}${String(swarm.activeAgents).padStart(2)}${c.reset}/${c.brightWhite}${swarm.maxAgents}${c.reset}] ` +
3728
- `${c.brightPurple}👥 ${system.subAgents}${c.reset} ` +
3729
- `${c.brightBlue}🪝 ${hooksColor}${hooksStats.enabled}${c.reset}/${c.brightWhite}${hooksStats.total}${c.reset} ` +
3730
- `${securityIcon} ${securityColor}CVE ${security.cvesFixed}${c.reset}/${c.brightWhite}${security.totalCves}${c.reset} ` +
3731
- `${c.brightCyan}💾 ${system.memoryMB}MB${c.reset} ` +
3732
- `${c.brightPurple}🧠 ${String(system.intelligencePct).padStart(3)}%${c.reset}`;
3733
- const dddColor = progress.dddProgress >= 50 ? c.brightGreen : progress.dddProgress > 0 ? c.yellow : c.red;
3734
- const line3 = `${c.brightPurple}🔧 Architecture${c.reset} ` +
3735
- `${c.cyan}ADRs${c.reset} ${c.dim}●0/0${c.reset} ${c.dim}│${c.reset} ` +
3736
- `${c.cyan}DDD${c.reset} ${dddColor}●${String(progress.dddProgress).padStart(3)}%${c.reset} ${c.dim}│${c.reset} ` +
3737
- `${c.cyan}Security${c.reset} ${securityColor}●${security.status}${c.reset}`;
3738
- const vectorColor = agentdbStats.vectorCount > 0 ? c.brightGreen : c.dim;
3739
- const testColor = testStats.testFiles > 0 ? c.brightGreen : c.dim;
3740
- const mcpColor = mcpStats.enabled > 0 ? c.brightGreen : c.dim;
3741
- const sizeDisplay = agentdbStats.dbSizeKB >= 1024 ? `${(agentdbStats.dbSizeKB / 1024).toFixed(1)}MB` : `${agentdbStats.dbSizeKB}KB`;
3742
- const hnswIndicator = agentdbStats.hasHnsw ? `${c.brightGreen}⚡${c.reset}` : '';
3743
- const line4 = `${c.brightCyan}📊 AgentDB${c.reset} ` +
3744
- `${c.cyan}Vectors${c.reset} ${vectorColor}●${agentdbStats.vectorCount}${hnswIndicator}${c.reset} ${c.dim}│${c.reset} ` +
3745
- `${c.cyan}Size${c.reset} ${c.brightWhite}${sizeDisplay}${c.reset} ${c.dim}│${c.reset} ` +
3746
- `${c.cyan}Tests${c.reset} ${testColor}●${testStats.testFiles}${c.reset} ${c.dim}(${testStats.testCases} cases)${c.reset} ${c.dim}│${c.reset} ` +
3747
- `${c.cyan}MCP${c.reset} ${mcpColor}●${mcpStats.enabled}/${mcpStats.total}${c.reset}`;
3748
- output.writeln(header);
3749
- output.writeln(separator);
3750
- output.writeln(line1);
3751
- output.writeln(line2);
3752
- output.writeln(line3);
3753
- output.writeln(line4);
3754
- return { success: true, data: statusData };
3755
- }
3756
- };
3757
- // Backward-compatible aliases for v2 hooks
3758
- // These ensure old settings.json files continue to work
3759
- const routeTaskCommand = {
3760
- name: 'route-task',
3761
- description: '(DEPRECATED: Use "route" instead) Route task to optimal agent',
3762
- options: routeCommand.options,
3763
- examples: [
3764
- { command: 'claude-flow hooks route-task --auto-swarm true', description: 'Route with auto-swarm (v2 compat)' },
3765
- ],
3766
- action: async (ctx) => {
3767
- // Silently handle v2-specific flags that don't exist in v3
3768
- // --auto-swarm, --detect-complexity are ignored but don't fail
3769
- if (routeCommand.action) {
3770
- const result = await routeCommand.action(ctx);
3771
- return result || { success: true };
3772
- }
3773
- return { success: true };
3774
- }
3775
- };
3776
- const sessionStartCommand = {
3777
- name: 'session-start',
3778
- description: '(DEPRECATED: Use "session-restore" instead) Start/restore session',
3779
- options: [
3780
- ...(sessionRestoreCommand.options || []),
3781
- // V2-compatible options that are silently ignored
3782
- {
3783
- name: 'auto-configure',
3784
- description: '(v2 compat) Auto-configure session',
3785
- type: 'boolean',
3786
- default: false
3787
- },
3788
- {
3789
- name: 'restore-context',
3790
- description: '(v2 compat) Restore context',
3791
- type: 'boolean',
3792
- default: false
3793
- }
3794
- ],
3795
- examples: [
3796
- { command: 'claude-flow hooks session-start --auto-configure true', description: 'Start session (v2 compat)' },
3797
- ],
3798
- action: async (ctx) => {
3799
- // Map to session-restore for backward compatibility
3800
- if (sessionRestoreCommand.action) {
3801
- const result = await sessionRestoreCommand.action(ctx);
3802
- return result || { success: true };
3803
- }
3804
- return { success: true };
3805
- }
3806
- };
3807
- // Pre-bash alias for pre-command (v2 compat)
3808
- const preBashCommand = {
3809
- name: 'pre-bash',
3810
- description: '(ALIAS) Same as pre-command',
3811
- options: preCommandCommand.options,
3812
- examples: preCommandCommand.examples,
3813
- action: preCommandCommand.action
3814
- };
3815
- // Post-bash alias for post-command (v2 compat)
3816
- const postBashCommand = {
3817
- name: 'post-bash',
3818
- description: '(ALIAS) Same as post-command',
3819
- options: postCommandCommand.options,
3820
- examples: postCommandCommand.examples,
3821
- action: postCommandCommand.action
3822
- };
3823
- // Token Optimizer command - integrates agentic-flow Agent Booster
3824
- const tokenOptimizeCommand = {
3825
- name: 'token-optimize',
3826
- description: 'Token optimization via agentic-flow Agent Booster integration',
3827
- options: [
3828
- { name: 'query', short: 'q', type: 'string', description: 'Query for compact context retrieval' },
3829
- { name: 'agents', short: 'A', type: 'number', description: 'Agent count for optimal config', default: '6' },
3830
- { name: 'report', short: 'r', type: 'boolean', description: 'Generate optimization report' },
3831
- { name: 'stats', short: 's', type: 'boolean', description: 'Show token savings statistics' },
3832
- ],
3833
- examples: [
3834
- { command: 'claude-flow hooks token-optimize --stats', description: 'Show token savings stats' },
3835
- { command: 'claude-flow hooks token-optimize -q "auth patterns"', description: 'Get compact context' },
3836
- { command: 'claude-flow hooks token-optimize -A 8 --report', description: 'Config for 8 agents + report' },
3837
- ],
3838
- action: async (ctx) => {
3839
- const query = ctx.flags['query'];
3840
- const agentCount = parseInt(ctx.flags['agents'] || '6', 10);
3841
- const showReport = ctx.flags['report'];
3842
- const showStats = ctx.flags['stats'];
3843
- const spinner = output.createSpinner({ text: 'Checking agentic-flow integration...', spinner: 'dots' });
3844
- spinner.start();
3845
- // Inline TokenOptimizer (self-contained, no external imports)
3846
- const stats = {
3847
- totalTokensSaved: 0,
3848
- editsOptimized: 0,
3849
- cacheHits: 0,
3850
- cacheMisses: 0,
3851
- memoriesRetrieved: 0,
3852
- };
3853
- let agenticFlowAvailable = false;
3854
- let reasoningBank = null;
3855
- try {
3856
- // Check if agentic-flow v3 is available
3857
- const rb = await import('agentic-flow/reasoningbank').catch(() => null);
3858
- if (rb) {
3859
- agenticFlowAvailable = true;
3860
- if (typeof rb.retrieveMemories === 'function') {
3861
- reasoningBank = rb;
3862
- }
3863
- }
3864
- else {
3865
- // Legacy check for older agentic-flow
3866
- const af = await import('agentic-flow').catch(() => null);
3867
- if (af)
3868
- agenticFlowAvailable = true;
3869
- }
3870
- const versionLabel = agenticFlowAvailable ? `agentic-flow v3 detected (ReasoningBank: ${reasoningBank ? 'active' : 'unavailable'})` : 'agentic-flow not available (using fallbacks)';
3871
- spinner.succeed(versionLabel);
3872
- output.writeln();
3873
- // Anti-drift config (hardcoded optimal values from research)
3874
- const config = {
3875
- batchSize: 4,
3876
- cacheSizeMB: 50,
3877
- topology: 'hierarchical',
3878
- expectedSuccessRate: 0.95,
3879
- };
3880
- output.printBox(`Anti-Drift Swarm Config\n\n` +
3881
- `Agents: ${agentCount}\n` +
3882
- `Topology: ${config.topology}\n` +
3883
- `Batch Size: ${config.batchSize}\n` +
3884
- `Cache: ${config.cacheSizeMB}MB\n` +
3885
- `Success Rate: ${(config.expectedSuccessRate * 100)}%`);
3886
- // If query provided, get compact context via ReasoningBank
3887
- if (query && reasoningBank) {
3888
- output.writeln();
3889
- output.printInfo(`Retrieving compact context for: "${query}"`);
3890
- const memories = await reasoningBank.retrieveMemories(query, { k: 5 });
3891
- const compactPrompt = reasoningBank.formatMemoriesForPrompt ? reasoningBank.formatMemoriesForPrompt(memories) : '';
3892
- // Estimate based on actual query vs compact prompt size difference
3893
- const queryTokenEstimate = Math.ceil((query?.length || 0) / 4);
3894
- const used = Math.ceil((compactPrompt?.length || 0) / 4);
3895
- const tokensSaved = Math.max(0, queryTokenEstimate - used);
3896
- stats.totalTokensSaved += tokensSaved;
3897
- stats.memoriesRetrieved += Array.isArray(memories) ? memories.length : 0;
3898
- output.writeln(` Memories found: ${Array.isArray(memories) ? memories.length : 0}`);
3899
- output.writeln(` Tokens saved: ${output.success(String(tokensSaved))}`);
3900
- if (compactPrompt) {
3901
- output.writeln(` Compact prompt (${compactPrompt.length} chars)`);
3902
- }
3903
- }
3904
- else if (query) {
3905
- output.writeln();
3906
- output.printInfo('ReasoningBank not available - query skipped');
3907
- }
3908
- // Note: stats reflect only actual measured values from this session.
3909
- // No simulated/fabricated data is added.
3910
- // Show stats
3911
- if (showStats || showReport) {
3912
- output.writeln();
3913
- const total = stats.cacheHits + stats.cacheMisses;
3914
- const hitRate = total > 0 ? (stats.cacheHits / total * 100).toFixed(1) : '0';
3915
- const savings = (stats.totalTokensSaved / 1000 * 0.01).toFixed(2);
3916
- output.printTable({
3917
- columns: [
3918
- { key: 'metric', header: 'Metric', width: 25 },
3919
- { key: 'value', header: 'Value', width: 20 },
3920
- ],
3921
- data: [
3922
- { metric: 'Tokens Saved', value: stats.totalTokensSaved.toLocaleString() },
3923
- { metric: 'Edits Optimized', value: String(stats.editsOptimized) },
3924
- { metric: 'Cache Hit Rate', value: `${hitRate}%` },
3925
- { metric: 'Memories Retrieved', value: String(stats.memoriesRetrieved) },
3926
- { metric: 'Est. Monthly Savings', value: `$${savings}` },
3927
- { metric: 'Agentic-Flow Active', value: agenticFlowAvailable ? '✓' : '✗' },
3928
- ],
3929
- });
3930
- }
3931
- // Full report
3932
- if (showReport) {
3933
- output.writeln();
3934
- const total = stats.cacheHits + stats.cacheMisses;
3935
- const hitRate = total > 0 ? (stats.cacheHits / total * 100).toFixed(1) : '0';
3936
- const savings = (stats.totalTokensSaved / 1000 * 0.01).toFixed(2);
3937
- output.writeln(`## Token Optimization Report
3938
-
3939
- | Metric | Value |
3940
- |--------|-------|
3941
- | Tokens Saved | ${stats.totalTokensSaved.toLocaleString()} |
3942
- | Edits Optimized | ${stats.editsOptimized} |
3943
- | Cache Hit Rate | ${hitRate}% |
3944
- | Memories Retrieved | ${stats.memoriesRetrieved} |
3945
- | Est. Monthly Savings | $${savings} |
3946
- | Agentic-Flow Active | ${agenticFlowAvailable ? '✓' : '✗'} |`);
3947
- }
3948
- return { success: true, data: { config, stats: { ...stats, agenticFlowAvailable } } };
3949
- }
3950
- catch (error) {
3951
- spinner.fail('TokenOptimizer failed');
3952
- const err = error;
3953
- output.printError(`Error: ${err.message}`);
3954
- // Fallback info
3955
- output.writeln();
3956
- output.printInfo('Fallback anti-drift config:');
3957
- output.writeln(' topology: hierarchical');
3958
- output.writeln(' maxAgents: 8');
3959
- output.writeln(' strategy: specialized');
3960
- output.writeln(' batchSize: 4');
3961
- return { success: false, exitCode: 1 };
3962
- }
3963
- }
3964
- };
3965
- // Model Router command - intelligent model selection (haiku/sonnet/opus)
3966
- const modelRouteCommand = {
3967
- name: 'model-route',
3968
- description: 'Route task to optimal Claude model (haiku/sonnet/opus) based on complexity',
3969
- options: [
3970
- { name: 'task', short: 't', type: 'string', description: 'Task description to route', required: true },
3971
- { name: 'context', short: 'c', type: 'string', description: 'Additional context' },
3972
- { name: 'prefer-cost', type: 'boolean', description: 'Prefer lower cost models' },
3973
- { name: 'prefer-quality', type: 'boolean', description: 'Prefer higher quality models' },
3974
- ],
3975
- examples: [
3976
- { command: 'claude-flow hooks model-route -t "fix typo"', description: 'Route simple task (likely haiku)' },
3977
- { command: 'claude-flow hooks model-route -t "architect auth system"', description: 'Route complex task (likely opus)' },
3978
- ],
3979
- action: async (ctx) => {
3980
- const task = ctx.flags.task || ctx.args[0];
3981
- if (!task) {
3982
- output.printError('Task description required. Use --task or -t flag.');
3983
- return { success: false, exitCode: 1 };
3984
- }
3985
- output.printInfo(`Analyzing task complexity: ${output.highlight(task.slice(0, 50))}...`);
3986
- try {
3987
- const result = await callMCPTool('hooks_model-route', {
3988
- task,
3989
- context: ctx.flags.context,
3990
- preferCost: ctx.flags['prefer-cost'],
3991
- preferQuality: ctx.flags['prefer-quality'],
3992
- });
3993
- if (ctx.flags.format === 'json') {
3994
- output.printJson(result);
3995
- return { success: true, data: result };
3996
- }
3997
- output.writeln();
3998
- // Model icon based on selection
3999
- const modelIcons = {
4000
- haiku: '🌸',
4001
- sonnet: '📜',
4002
- opus: '🎭',
4003
- };
4004
- const model = result.model || 'sonnet';
4005
- const icon = modelIcons[model] || '🤖';
4006
- // Calculate cost savings compared to opus
4007
- const costMultipliers = { haiku: 0.04, sonnet: 0.2, opus: 1.0 };
4008
- const costSavings = model !== 'opus'
4009
- ? `${((1 - costMultipliers[model]) * 100).toFixed(0)}% vs opus`
4010
- : undefined;
4011
- // Determine complexity level
4012
- const complexityScore = typeof result.complexity === 'number' ? result.complexity : 0.5;
4013
- const complexityLevel = complexityScore > 0.7 ? 'high' : complexityScore > 0.4 ? 'medium' : 'low';
4014
- output.printBox([
4015
- `Selected Model: ${icon} ${output.bold(model.toUpperCase())}`,
4016
- `Confidence: ${(result.confidence * 100).toFixed(1)}%`,
4017
- `Complexity: ${complexityLevel} (${(complexityScore * 100).toFixed(0)}%)`,
4018
- costSavings ? `Cost Savings: ${costSavings}` : '',
4019
- ].filter(Boolean).join('\n'), 'Model Routing Result');
4020
- output.writeln();
4021
- output.writeln(output.bold('Reasoning'));
4022
- output.writeln(output.dim(result.reasoning || 'Based on task complexity analysis'));
4023
- if (result.implementation) {
4024
- output.writeln();
4025
- output.writeln(output.dim(`Implementation: ${result.implementation}`));
4026
- }
4027
- return { success: true, data: result };
4028
- }
4029
- catch (error) {
4030
- if (error instanceof MCPClientError) {
4031
- output.printError(`Model routing failed: ${error.message}`);
4032
- }
4033
- else {
4034
- output.printError(`Unexpected error: ${String(error)}`);
4035
- }
4036
- return { success: false, exitCode: 1 };
4037
- }
4038
- }
4039
- };
4040
- // Model Outcome command - record routing outcomes for learning
4041
- const modelOutcomeCommand = {
4042
- name: 'model-outcome',
4043
- description: 'Record model routing outcome for learning',
4044
- options: [
4045
- { name: 'task', short: 't', type: 'string', description: 'Task that was executed', required: true },
4046
- { name: 'model', short: 'm', type: 'string', description: 'Model that was used (haiku/sonnet/opus)', required: true },
4047
- { name: 'outcome', short: 'o', type: 'string', description: 'Outcome (success/failure/escalated)', required: true },
4048
- { name: 'quality', short: 'q', type: 'number', description: 'Quality score 0-1' },
4049
- ],
4050
- examples: [
4051
- { command: 'claude-flow hooks model-outcome -t "fix typo" -m haiku -o success', description: 'Record successful haiku task' },
4052
- { command: 'claude-flow hooks model-outcome -t "auth system" -m sonnet -o escalated', description: 'Record escalation to opus' },
4053
- ],
4054
- action: async (ctx) => {
4055
- const task = ctx.flags.task;
4056
- const model = ctx.flags.model;
4057
- const outcome = ctx.flags.outcome;
4058
- if (!task || !model || !outcome) {
4059
- output.printError('Task, model, and outcome are required.');
4060
- return { success: false, exitCode: 1 };
4061
- }
4062
- try {
4063
- const result = await callMCPTool('hooks_model-outcome', {
4064
- task,
4065
- model,
4066
- outcome,
4067
- quality: ctx.flags.quality,
4068
- });
4069
- output.printSuccess(`Outcome recorded for ${model}: ${outcome}`);
4070
- if (result.learningUpdate) {
4071
- output.writeln(output.dim(result.learningUpdate));
4072
- }
4073
- return { success: true, data: result };
4074
- }
4075
- catch (error) {
4076
- output.printError(`Failed to record outcome: ${String(error)}`);
4077
- return { success: false, exitCode: 1 };
4078
- }
4079
- }
4080
- };
4081
- // Model Stats command - view routing statistics
4082
- const modelStatsCommand = {
4083
- name: 'model-stats',
4084
- description: 'View model routing statistics and learning metrics',
4085
- options: [
4086
- { name: 'detailed', short: 'd', type: 'boolean', description: 'Show detailed breakdown' },
4087
- ],
4088
- examples: [
4089
- { command: 'claude-flow hooks model-stats', description: 'View routing stats' },
4090
- { command: 'claude-flow hooks model-stats --detailed', description: 'Show detailed breakdown' },
4091
- ],
4092
- action: async (ctx) => {
4093
- try {
4094
- const result = await callMCPTool('hooks_model-stats', {
4095
- detailed: ctx.flags.detailed,
4096
- });
4097
- if (ctx.flags.format === 'json') {
4098
- output.printJson(result);
4099
- return { success: true, data: result };
4100
- }
4101
- if (!result.available) {
4102
- output.printWarning(result.message || 'Model router not available');
4103
- return { success: true, data: result };
4104
- }
4105
- // Calculate cost savings based on model distribution
4106
- const dist = result.modelDistribution || { haiku: 0, sonnet: 0, opus: 0 };
4107
- const totalTasks = result.totalDecisions || 0;
4108
- const costMultipliers = { haiku: 0.04, sonnet: 0.2, opus: 1.0 };
4109
- let totalCost = 0;
4110
- let maxCost = totalTasks; // If all were opus
4111
- for (const [model, count] of Object.entries(dist)) {
4112
- if (model !== 'inherit') {
4113
- totalCost += count * (costMultipliers[model] || 1);
4114
- }
4115
- }
4116
- const costSavings = maxCost > 0 ? ((1 - totalCost / maxCost) * 100).toFixed(1) : '0';
4117
- output.writeln();
4118
- output.printBox([
4119
- `Total Tasks Routed: ${totalTasks}`,
4120
- `Avg Complexity: ${((result.avgComplexity || 0) * 100).toFixed(1)}%`,
4121
- `Avg Confidence: ${((result.avgConfidence || 0) * 100).toFixed(1)}%`,
4122
- `Cost Savings: ${costSavings}% vs all-opus`,
4123
- `Circuit Breaker Trips: ${result.circuitBreakerTrips || 0}`,
4124
- ].join('\n'), 'Model Routing Statistics');
4125
- if (dist && Object.keys(dist).length > 0) {
4126
- output.writeln();
4127
- output.writeln(output.bold('Model Distribution'));
4128
- output.printTable({
4129
- columns: [
4130
- { key: 'model', header: 'Model', width: 10 },
4131
- { key: 'count', header: 'Tasks', width: 8, align: 'right' },
4132
- { key: 'percentage', header: '%', width: 8, align: 'right' },
4133
- { key: 'costMultiplier', header: 'Cost', width: 8, align: 'right' },
4134
- ],
4135
- data: Object.entries(dist)
4136
- .filter(([model]) => model !== 'inherit')
4137
- .map(([model, count]) => ({
4138
- model: model.toUpperCase(),
4139
- count,
4140
- percentage: totalTasks > 0 ? `${((count / totalTasks) * 100).toFixed(1)}%` : '0%',
4141
- costMultiplier: `${costMultipliers[model] || 1}x`,
4142
- })),
4143
- });
4144
- }
4145
- return { success: true, data: result };
4146
- }
4147
- catch (error) {
4148
- output.printError(`Failed to get stats: ${String(error)}`);
4149
- return { success: false, exitCode: 1 };
4150
- }
4151
- }
4152
- };
4153
- // Teammate Idle command - Agent Teams integration
4154
- const teammateIdleCommand = {
4155
- name: 'teammate-idle',
4156
- description: 'Handle idle teammate in Agent Teams - auto-assign tasks or notify lead',
4157
- options: [
4158
- {
4159
- name: 'auto-assign',
4160
- short: 'a',
4161
- description: 'Automatically assign pending tasks to idle teammate',
4162
- type: 'boolean',
4163
- default: true
4164
- },
4165
- {
4166
- name: 'check-task-list',
4167
- short: 'c',
4168
- description: 'Check shared task list for available work',
4169
- type: 'boolean',
4170
- default: true
4171
- },
4172
- {
4173
- name: 'teammate-id',
4174
- short: 't',
4175
- description: 'ID of the idle teammate',
4176
- type: 'string'
4177
- },
4178
- {
4179
- name: 'team-name',
4180
- description: 'Team name for context',
4181
- type: 'string'
4182
- }
4183
- ],
4184
- examples: [
4185
- { command: 'claude-flow hooks teammate-idle --auto-assign true', description: 'Auto-assign tasks to idle teammate' },
4186
- { command: 'claude-flow hooks teammate-idle -t worker-1 --check-task-list', description: 'Check tasks for specific teammate' }
4187
- ],
4188
- action: async (ctx) => {
4189
- const autoAssign = ctx.flags.autoAssign !== false;
4190
- const checkTaskList = ctx.flags.checkTaskList !== false;
4191
- const teammateId = ctx.flags.teammateId;
4192
- const teamName = ctx.flags.teamName;
4193
- if (ctx.flags.format !== 'json') {
4194
- output.printInfo(`Teammate idle hook triggered${teammateId ? ` for: ${output.highlight(teammateId)}` : ''}`);
4195
- }
4196
- try {
4197
- const result = await callMCPTool('hooks_teammate-idle', {
4198
- autoAssign,
4199
- checkTaskList,
4200
- teammateId,
4201
- teamName,
4202
- timestamp: Date.now(),
4203
- });
4204
- if (ctx.flags.format === 'json') {
4205
- output.printJson(result);
4206
- return { success: true, data: result };
4207
- }
4208
- output.writeln();
4209
- if (result.action === 'assigned' && result.taskAssigned) {
4210
- output.printSuccess(`Task assigned: ${result.taskAssigned.subject}`);
4211
- output.printList([
4212
- `Task ID: ${result.taskAssigned.taskId}`,
4213
- `Priority: ${result.taskAssigned.priority}`,
4214
- `Pending tasks remaining: ${result.pendingTasks}`
4215
- ]);
4216
- }
4217
- else if (result.action === 'waiting') {
4218
- output.printInfo('No pending tasks available - teammate waiting for work');
4219
- }
4220
- else {
4221
- output.printInfo(`Team lead notified: ${result.message}`);
4222
- }
4223
- return { success: true, data: result };
4224
- }
4225
- catch (error) {
4226
- // Graceful fallback - don't fail hard, just report
4227
- if (ctx.flags.format === 'json') {
4228
- output.printJson({ success: true, action: 'waiting', message: 'Teammate idle - no MCP server' });
4229
- }
4230
- else {
4231
- output.printInfo('Teammate idle - awaiting task assignment');
4232
- }
4233
- return { success: true };
4234
- }
4235
- }
4236
- };
4237
- // Task Completed command - Agent Teams integration
4238
- const taskCompletedCommand = {
4239
- name: 'task-completed',
4240
- description: 'Handle task completion in Agent Teams - train patterns and notify lead',
4241
- options: [
4242
- {
4243
- name: 'task-id',
4244
- short: 'i',
4245
- description: 'ID of the completed task',
4246
- type: 'string',
4247
- required: true
4248
- },
4249
- {
4250
- name: 'train-patterns',
4251
- short: 'p',
4252
- description: 'Train neural patterns from successful task',
4253
- type: 'boolean',
4254
- default: true
4255
- },
4256
- {
4257
- name: 'notify-lead',
4258
- short: 'n',
4259
- description: 'Notify team lead of task completion',
4260
- type: 'boolean',
4261
- default: true
4262
- },
4263
- {
4264
- name: 'success',
4265
- short: 's',
4266
- description: 'Whether the task succeeded',
4267
- type: 'boolean',
4268
- default: true
4269
- },
4270
- {
4271
- name: 'quality',
4272
- short: 'q',
4273
- description: 'Quality score (0-1)',
4274
- type: 'number'
4275
- },
4276
- {
4277
- name: 'teammate-id',
4278
- short: 't',
4279
- description: 'ID of the teammate that completed the task',
4280
- type: 'string'
4281
- }
4282
- ],
4283
- examples: [
4284
- { command: 'claude-flow hooks task-completed -i task-123 --train-patterns', description: 'Complete task and train patterns' },
4285
- { command: 'claude-flow hooks task-completed -i task-456 --notify-lead --quality 0.95', description: 'Complete with quality score' }
4286
- ],
4287
- action: async (ctx) => {
4288
- const taskId = ctx.flags.taskId || ctx.args[0];
4289
- const trainPatterns = ctx.flags.trainPatterns !== false;
4290
- const notifyLead = ctx.flags.notifyLead !== false;
4291
- const success = ctx.flags.success !== false;
4292
- const quality = ctx.flags.quality;
4293
- const teammateId = ctx.flags.teammateId;
4294
- if (!taskId) {
4295
- output.printError('Task ID is required. Use --task-id or -i flag.');
4296
- return { success: false, exitCode: 1 };
4297
- }
4298
- if (ctx.flags.format !== 'json') {
4299
- output.printInfo(`Task completed: ${output.highlight(taskId)}`);
4300
- }
4301
- try {
4302
- const result = await callMCPTool('hooks_task-completed', {
4303
- taskId,
4304
- trainPatterns,
4305
- notifyLead,
4306
- success,
4307
- quality,
4308
- teammateId,
4309
- timestamp: Date.now(),
4310
- });
4311
- if (ctx.flags.format === 'json') {
4312
- output.printJson(result);
4313
- return { success: true, data: result };
4314
- }
4315
- output.writeln();
4316
- output.printSuccess(`Task ${taskId} marked complete`);
4317
- output.writeln();
4318
- output.writeln(output.bold('Completion Metrics'));
4319
- output.printTable({
4320
- columns: [
4321
- { key: 'metric', header: 'Metric', width: 25 },
4322
- { key: 'value', header: 'Value', width: 20, align: 'right' }
4323
- ],
4324
- data: [
4325
- { metric: 'Patterns Learned', value: result.patternsLearned },
4326
- { metric: 'Quality Score', value: quality ? `${(quality * 100).toFixed(0)}%` : 'N/A' },
4327
- { metric: 'Lead Notified', value: result.leadNotified ? 'Yes' : 'No' },
4328
- { metric: 'Learning Updates', value: result.metrics?.learningUpdates || 0 }
4329
- ]
4330
- });
4331
- if (result.nextTask) {
4332
- output.writeln();
4333
- output.printInfo(`Next available task: ${result.nextTask.subject}`);
4334
- }
4335
- return { success: true, data: result };
4336
- }
4337
- catch (error) {
4338
- // Graceful fallback
4339
- if (ctx.flags.format === 'json') {
4340
- output.printJson({ success: true, taskId, message: 'Task completed - patterns pending' });
4341
- }
4342
- else {
4343
- output.printSuccess(`Task ${taskId} completed`);
4344
- if (trainPatterns) {
4345
- output.printInfo('Pattern training queued for next sync');
4346
- }
4347
- }
4348
- return { success: true };
4349
- }
4350
- }
4351
- };
4352
- // Notify subcommand
4353
- const notifyCommand = {
4354
- name: 'notify',
4355
- description: 'Send a notification message (logged to session)',
4356
- options: [
4357
- { name: 'message', short: 'm', type: 'string', description: 'Notification message', required: true },
4358
- { name: 'level', short: 'l', type: 'string', description: 'Level: info, warn, error', default: 'info' },
4359
- { name: 'channel', short: 'c', type: 'string', description: 'Notification channel', default: 'console' },
4360
- ],
4361
- examples: [
4362
- { command: 'claude-flow hooks notify -m "Build complete"', description: 'Send info notification' },
4363
- { command: 'claude-flow hooks notify -m "Test failed" -l error', description: 'Send error notification' },
4364
- ],
4365
- action: async (ctx) => {
4366
- const message = ctx.flags.message || ctx.args[0];
4367
- const level = ctx.flags.level || 'info';
4368
- if (!message) {
4369
- output.printError('Message is required: --message "your message"');
4370
- return { success: false, exitCode: 1 };
4371
- }
4372
- const timestamp = new Date().toISOString();
4373
- if (level === 'error') {
4374
- output.printError(`[${timestamp}] ${message}`);
4375
- }
4376
- else if (level === 'warn') {
4377
- output.writeln(output.warning(`[${timestamp}] ${message}`));
4378
- }
4379
- else {
4380
- output.printInfo(`[${timestamp}] ${message}`);
4381
- }
4382
- // Store notification in memory if available
4383
- try {
4384
- const { storeEntry } = await import('../memory/memory-initializer.js');
4385
- await storeEntry({ key: `notify-${Date.now()}`, value: `[${level}] ${message}`, namespace: 'notifications' });
4386
- }
4387
- catch { /* memory not available */ }
4388
- return { success: true, data: { timestamp, level, message } };
4389
- }
4390
- };
4391
- // Main hooks command
4392
- export const hooksCommand = {
4393
- name: 'hooks',
4394
- description: 'Self-learning hooks system for intelligent workflow automation',
4395
- subcommands: [
4396
- preEditCommand,
4397
- postEditCommand,
4398
- preCommandCommand,
4399
- postCommandCommand,
4400
- preTaskCommand,
4401
- postTaskCommand,
4402
- sessionEndCommand,
4403
- sessionRestoreCommand,
4404
- routeCommand,
4405
- explainCommand,
4406
- pretrainCommand,
4407
- buildAgentsCommand,
4408
- metricsCommand,
4409
- transferCommand,
4410
- listCommand,
4411
- intelligenceCommand,
4412
- notifyCommand,
4413
- workerCommand,
4414
- progressHookCommand,
4415
- statuslineCommand,
4416
- // Coverage-aware routing commands
4417
- coverageRouteCommand,
4418
- coverageSuggestCommand,
4419
- coverageGapsCommand,
4420
- // Token optimization
4421
- tokenOptimizeCommand,
4422
- // Model routing (tiny-dancer integration)
4423
- modelRouteCommand,
4424
- modelOutcomeCommand,
4425
- modelStatsCommand,
4426
- // Backward-compatible aliases for v2
4427
- routeTaskCommand,
4428
- sessionStartCommand,
4429
- preBashCommand,
4430
- postBashCommand,
4431
- // Agent Teams integration
4432
- teammateIdleCommand,
4433
- taskCompletedCommand,
4434
- ],
4435
- options: [],
4436
- examples: [
4437
- { command: 'claude-flow hooks pre-edit -f src/utils.ts', description: 'Get context before editing' },
4438
- { command: 'claude-flow hooks route -t "Fix authentication bug"', description: 'Route task to optimal agent' },
4439
- { command: 'claude-flow hooks pretrain', description: 'Bootstrap intelligence from repository' },
4440
- { command: 'claude-flow hooks metrics --v3-dashboard', description: 'View V3 performance metrics' }
4441
- ],
4442
- action: async (ctx) => {
4443
- output.writeln();
4444
- output.writeln(output.bold('Self-Learning Hooks System'));
4445
- output.writeln();
4446
- output.writeln('Intelligent workflow automation with pattern learning and adaptive routing');
4447
- output.writeln();
4448
- output.writeln('Usage: claude-flow hooks <subcommand> [options]');
4449
- output.writeln();
4450
- output.writeln('Subcommands:');
4451
- output.printList([
4452
- `${output.highlight('pre-edit')} - Get context before editing files`,
4453
- `${output.highlight('post-edit')} - Record editing outcomes for learning`,
4454
- `${output.highlight('pre-command')} - Assess risk before executing commands`,
4455
- `${output.highlight('post-command')} - Record command execution outcomes`,
4456
- `${output.highlight('pre-task')} - Record task start and get agent suggestions`,
4457
- `${output.highlight('post-task')} - Record task completion for learning`,
4458
- `${output.highlight('session-end')} - End current session and persist state`,
4459
- `${output.highlight('session-restore')} - Restore a previous session`,
4460
- `${output.highlight('route')} - Route tasks to optimal agents`,
4461
- `${output.highlight('explain')} - Explain routing decisions`,
4462
- `${output.highlight('pretrain')} - Bootstrap intelligence from repository`,
4463
- `${output.highlight('build-agents')} - Generate optimized agent configs`,
4464
- `${output.highlight('metrics')} - View learning metrics dashboard`,
4465
- `${output.highlight('transfer')} - Transfer patterns from another project`,
4466
- `${output.highlight('list')} - List all registered hooks`,
4467
- `${output.highlight('worker')} - Background worker management (12 workers)`,
4468
- `${output.highlight('progress')} - Check V3 implementation progress`,
4469
- `${output.highlight('statusline')} - Generate dynamic statusline display`,
4470
- `${output.highlight('coverage-route')} - Route tasks based on coverage gaps (ruvector)`,
4471
- `${output.highlight('coverage-suggest')}- Suggest coverage improvements`,
4472
- `${output.highlight('coverage-gaps')} - List all coverage gaps with agents`,
4473
- `${output.highlight('token-optimize')} - Token optimization (agentic-flow integration)`,
4474
- `${output.highlight('model-route')} - Route to optimal model (haiku/sonnet/opus)`,
4475
- `${output.highlight('model-outcome')} - Record model routing outcome`,
4476
- `${output.highlight('model-stats')} - View model routing statistics`,
4477
- '',
4478
- output.bold('Agent Teams:'),
4479
- `${output.highlight('teammate-idle')} - Handle idle teammate (auto-assign tasks)`,
4480
- `${output.highlight('task-completed')} - Handle task completion (train patterns)`
4481
- ]);
4482
- output.writeln();
4483
- output.writeln('Run "claude-flow hooks <subcommand> --help" for subcommand help');
4484
- output.writeln();
4485
- output.writeln(output.bold('V3 Features:'));
4486
- output.printList([
4487
- '🧠 ReasoningBank adaptive learning',
4488
- '⚡ Flash Attention (2.49x-7.47x speedup)',
4489
- '🔍 AgentDB integration (150x faster search)',
4490
- '📊 84.8% SWE-Bench solve rate',
4491
- '🎯 32.3% token reduction',
4492
- '🚀 2.8-4.4x speed improvement',
4493
- '👥 Agent Teams integration (auto task assignment)'
4494
- ]);
4495
- return { success: true };
4496
- }
4497
- };
4498
- export default hooksCommand;
4499
- //# sourceMappingURL=hooks.js.map