claude-flow 3.10.1 → 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 (2681) hide show
  1. package/.claude/helpers/statusline.cjs +299 -606
  2. package/README.md +1 -0
  3. package/package.json +1 -1
  4. package/v3/@claude-flow/cli/README.md +1 -0
  5. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +0 -1
  6. package/v3/@claude-flow/cli/dist/src/commands/memory.js +37 -15
  7. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +287 -642
  8. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +1 -1
  9. package/v3/@claude-flow/cli/dist/src/memory/embedding-quantization.js +9 -0
  10. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +9 -0
  11. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +18 -0
  12. package/v3/@claude-flow/cli/package.json +5 -5
  13. package/.claude/settings.local.json +0 -10
  14. package/.claude/worktrees/adr-120-impl/.agents/README.md +0 -38
  15. package/.claude/worktrees/adr-120-impl/.agents/config.toml +0 -298
  16. package/.claude/worktrees/adr-120-impl/.agents/skills/memory-management/scripts/memory-backup.sh +0 -16
  17. package/.claude/worktrees/adr-120-impl/.agents/skills/memory-management/scripts/memory-consolidate.sh +0 -11
  18. package/.claude/worktrees/adr-120-impl/.agents/skills/security-audit/scripts/cve-remediate.sh +0 -16
  19. package/.claude/worktrees/adr-120-impl/.agents/skills/security-audit/scripts/security-scan.sh +0 -33
  20. package/.claude/worktrees/adr-120-impl/.agents/skills/sparc-methodology/scripts/sparc-init.sh +0 -21
  21. package/.claude/worktrees/adr-120-impl/.agents/skills/sparc-methodology/scripts/sparc-review.sh +0 -18
  22. package/.claude/worktrees/adr-120-impl/.agents/skills/swarm-orchestration/scripts/swarm-monitor.sh +0 -8
  23. package/.claude/worktrees/adr-120-impl/.agents/skills/swarm-orchestration/scripts/swarm-start.sh +0 -14
  24. package/.claude/worktrees/adr-120-impl/.claude/checkpoints/1767754460.json +0 -8
  25. package/.claude/worktrees/adr-120-impl/.claude/commands/agents/README.md +0 -10
  26. package/.claude/worktrees/adr-120-impl/.claude/commands/analysis/README.md +0 -9
  27. package/.claude/worktrees/adr-120-impl/.claude/commands/automation/README.md +0 -9
  28. package/.claude/worktrees/adr-120-impl/.claude/commands/coordination/README.md +0 -9
  29. package/.claude/worktrees/adr-120-impl/.claude/commands/github/README.md +0 -11
  30. package/.claude/worktrees/adr-120-impl/.claude/commands/hive-mind/README.md +0 -17
  31. package/.claude/worktrees/adr-120-impl/.claude/commands/hooks/README.md +0 -11
  32. package/.claude/worktrees/adr-120-impl/.claude/commands/memory/README.md +0 -9
  33. package/.claude/worktrees/adr-120-impl/.claude/commands/monitoring/README.md +0 -9
  34. package/.claude/worktrees/adr-120-impl/.claude/commands/optimization/README.md +0 -9
  35. package/.claude/worktrees/adr-120-impl/.claude/commands/pair/README.md +0 -261
  36. package/.claude/worktrees/adr-120-impl/.claude/commands/swarm/README.md +0 -15
  37. package/.claude/worktrees/adr-120-impl/.claude/commands/training/README.md +0 -9
  38. package/.claude/worktrees/adr-120-impl/.claude/commands/workflows/README.md +0 -9
  39. package/.claude/worktrees/adr-120-impl/.claude/config/v3-dependency-optimization.json +0 -266
  40. package/.claude/worktrees/adr-120-impl/.claude/config/v3-performance-targets.json +0 -251
  41. package/.claude/worktrees/adr-120-impl/.claude/helpers/README.md +0 -97
  42. package/.claude/worktrees/adr-120-impl/.claude/helpers/adr-compliance.sh +0 -186
  43. package/.claude/worktrees/adr-120-impl/.claude/helpers/aggressive-microcompact.mjs +0 -36
  44. package/.claude/worktrees/adr-120-impl/.claude/helpers/auto-commit.sh +0 -178
  45. package/.claude/worktrees/adr-120-impl/.claude/helpers/auto-memory-hook.mjs +0 -564
  46. package/.claude/worktrees/adr-120-impl/.claude/helpers/checkpoint-manager.sh +0 -251
  47. package/.claude/worktrees/adr-120-impl/.claude/helpers/context-persistence-hook.mjs +0 -1979
  48. package/.claude/worktrees/adr-120-impl/.claude/helpers/daemon-manager.sh +0 -252
  49. package/.claude/worktrees/adr-120-impl/.claude/helpers/ddd-tracker.sh +0 -144
  50. package/.claude/worktrees/adr-120-impl/.claude/helpers/github-safe.js +0 -106
  51. package/.claude/worktrees/adr-120-impl/.claude/helpers/github-setup.sh +0 -28
  52. package/.claude/worktrees/adr-120-impl/.claude/helpers/guidance-hook.sh +0 -13
  53. package/.claude/worktrees/adr-120-impl/.claude/helpers/guidance-hooks.sh +0 -102
  54. package/.claude/worktrees/adr-120-impl/.claude/helpers/health-monitor.sh +0 -108
  55. package/.claude/worktrees/adr-120-impl/.claude/helpers/hook-handler.cjs +0 -266
  56. package/.claude/worktrees/adr-120-impl/.claude/helpers/intelligence.cjs +0 -230
  57. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-hooks.sh +0 -329
  58. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-optimizer.sh +0 -127
  59. package/.claude/worktrees/adr-120-impl/.claude/helpers/learning-service.mjs +0 -1144
  60. package/.claude/worktrees/adr-120-impl/.claude/helpers/memory.cjs +0 -84
  61. package/.claude/worktrees/adr-120-impl/.claude/helpers/metrics-db.mjs +0 -488
  62. package/.claude/worktrees/adr-120-impl/.claude/helpers/patch-aggressive-prune.mjs +0 -184
  63. package/.claude/worktrees/adr-120-impl/.claude/helpers/pattern-consolidator.sh +0 -86
  64. package/.claude/worktrees/adr-120-impl/.claude/helpers/perf-worker.sh +0 -160
  65. package/.claude/worktrees/adr-120-impl/.claude/helpers/quick-start.sh +0 -19
  66. package/.claude/worktrees/adr-120-impl/.claude/helpers/router.cjs +0 -62
  67. package/.claude/worktrees/adr-120-impl/.claude/helpers/security-scanner.sh +0 -127
  68. package/.claude/worktrees/adr-120-impl/.claude/helpers/session.cjs +0 -125
  69. package/.claude/worktrees/adr-120-impl/.claude/helpers/setup-mcp.sh +0 -18
  70. package/.claude/worktrees/adr-120-impl/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  71. package/.claude/worktrees/adr-120-impl/.claude/helpers/statusline.cjs +0 -830
  72. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-comms.sh +0 -353
  73. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-hooks.sh +0 -761
  74. package/.claude/worktrees/adr-120-impl/.claude/helpers/swarm-monitor.sh +0 -211
  75. package/.claude/worktrees/adr-120-impl/.claude/helpers/sync-v3-metrics.sh +0 -245
  76. package/.claude/worktrees/adr-120-impl/.claude/helpers/update-v3-progress.sh +0 -166
  77. package/.claude/worktrees/adr-120-impl/.claude/helpers/v3-quick-status.sh +0 -58
  78. package/.claude/worktrees/adr-120-impl/.claude/helpers/v3.sh +0 -111
  79. package/.claude/worktrees/adr-120-impl/.claude/helpers/validate-v3-config.sh +0 -216
  80. package/.claude/worktrees/adr-120-impl/.claude/helpers/worker-manager.sh +0 -170
  81. package/.claude/worktrees/adr-120-impl/.claude/mcp.json +0 -13
  82. package/.claude/worktrees/adr-120-impl/.claude/scheduled_tasks.lock +0 -1
  83. package/.claude/worktrees/adr-120-impl/.claude/settings.json +0 -285
  84. package/.claude/worktrees/adr-120-impl/.claude/settings.json.bak +0 -526
  85. package/.claude/worktrees/adr-120-impl/.claude/settings.local.json +0 -10
  86. package/.claude/worktrees/adr-120-impl/.claude/skills/dual-mode/README.md +0 -71
  87. package/.claude/worktrees/adr-120-impl/.claude/statusline-command.sh +0 -176
  88. package/.claude/worktrees/adr-120-impl/.claude/statusline.mjs +0 -109
  89. package/.claude/worktrees/adr-120-impl/.claude/statusline.sh +0 -431
  90. package/.claude/worktrees/adr-120-impl/.claude-flow/data/pending-insights.jsonl +0 -9
  91. package/.claude/worktrees/adr-120-impl/.claude-plugin/README.md +0 -720
  92. package/.claude/worktrees/adr-120-impl/.claude-plugin/hooks/hooks.json +0 -75
  93. package/.claude/worktrees/adr-120-impl/.claude-plugin/marketplace.json +0 -170
  94. package/.claude/worktrees/adr-120-impl/.claude-plugin/plugin.json +0 -71
  95. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/install.sh +0 -234
  96. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/ruflo-hook.sh +0 -33
  97. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/uninstall.sh +0 -36
  98. package/.claude/worktrees/adr-120-impl/.claude-plugin/scripts/verify.sh +0 -108
  99. package/.claude/worktrees/adr-120-impl/.githooks/pre-commit +0 -25
  100. package/.claude/worktrees/adr-120-impl/LICENSE +0 -21
  101. package/.claude/worktrees/adr-120-impl/README.md +0 -405
  102. package/.claude/worktrees/adr-120-impl/agentdb.rvf +0 -0
  103. package/.claude/worktrees/adr-120-impl/agentdb.rvf.lock +0 -0
  104. package/.claude/worktrees/adr-120-impl/bin/cli.js +0 -11
  105. package/.claude/worktrees/adr-120-impl/bin/npx-repair.js +0 -7
  106. package/.claude/worktrees/adr-120-impl/bin/npx-safe-launch.js +0 -9
  107. package/.claude/worktrees/adr-120-impl/package-lock.json +0 -13907
  108. package/.claude/worktrees/adr-120-impl/package.json +0 -158
  109. package/.claude/worktrees/adr-120-impl/plugin/.claude-plugin/plugin.json +0 -45
  110. package/.claude/worktrees/adr-120-impl/plugin/hooks/hooks.json +0 -225
  111. package/.claude/worktrees/adr-120-impl/plugin/scripts/ruflo-hook.sh +0 -33
  112. package/.claude/worktrees/adr-120-impl/plugins/README.md +0 -155
  113. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/.claude-plugin/plugin.json +0 -22
  114. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/README.md +0 -86
  115. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/import.mjs +0 -283
  116. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/smoke.sh +0 -130
  117. package/.claude/worktrees/adr-120-impl/plugins/ruflo-adr/scripts/verify.mjs +0 -121
  118. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/.claude-plugin/plugin.json +0 -25
  119. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/README.md +0 -99
  120. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agent/scripts/smoke.sh +0 -104
  121. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/.claude-plugin/plugin.json +0 -24
  122. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/README.md +0 -221
  123. package/.claude/worktrees/adr-120-impl/plugins/ruflo-agentdb/scripts/smoke.sh +0 -204
  124. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/.claude-plugin/plugin.json +0 -22
  125. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/README.md +0 -79
  126. package/.claude/worktrees/adr-120-impl/plugins/ruflo-aidefence/scripts/smoke.sh +0 -84
  127. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/.claude-plugin/plugin.json +0 -22
  128. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/README.md +0 -76
  129. package/.claude/worktrees/adr-120-impl/plugins/ruflo-autopilot/scripts/smoke.sh +0 -76
  130. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/.claude-plugin/plugin.json +0 -24
  131. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/README.md +0 -129
  132. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/SITES.txt +0 -18
  133. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/replay-spike.sh +0 -155
  134. package/.claude/worktrees/adr-120-impl/plugins/ruflo-browser/scripts/smoke.sh +0 -143
  135. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/.claude-plugin/plugin.json +0 -21
  136. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/README.md +0 -72
  137. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/hooks/hooks.json +0 -75
  138. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/ruflo-hook.sh +0 -33
  139. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/smoke.sh +0 -95
  140. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-cli-no-crash.mjs +0 -103
  141. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-consensus-transport.mjs +0 -108
  142. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-hooks.mjs +0 -129
  143. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-mcp-protocol.mjs +0 -66
  144. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-mcp-roundtrips.mjs +0 -141
  145. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/test-memory-import.mjs +0 -174
  146. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/history.mjs +0 -105
  147. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/init.mjs +0 -83
  148. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/lib.mjs +0 -300
  149. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/perf.mjs +0 -201
  150. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/regen.mjs +0 -94
  151. package/.claude/worktrees/adr-120-impl/plugins/ruflo-core/scripts/witness/verify.mjs +0 -155
  152. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/.claude-plugin/plugin.json +0 -36
  153. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/README.md +0 -166
  154. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/bench/booster-corpus.json +0 -244
  155. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/bench.mjs +0 -422
  156. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/budget.mjs +0 -231
  157. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/compact.mjs +0 -153
  158. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/conversation.mjs +0 -106
  159. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/export.mjs +0 -146
  160. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/federation.mjs +0 -134
  161. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/outcome.mjs +0 -43
  162. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/smoke.sh +0 -439
  163. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/summary.mjs +0 -182
  164. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/track.mjs +0 -198
  165. package/.claude/worktrees/adr-120-impl/plugins/ruflo-cost-tracker/scripts/trend.mjs +0 -128
  166. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/.claude-plugin/plugin.json +0 -21
  167. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/README.md +0 -69
  168. package/.claude/worktrees/adr-120-impl/plugins/ruflo-daa/scripts/smoke.sh +0 -77
  169. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/.claude-plugin/plugin.json +0 -23
  170. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/README.md +0 -95
  171. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ddd/scripts/smoke.sh +0 -72
  172. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/.claude-plugin/plugin.json +0 -20
  173. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/README.md +0 -72
  174. package/.claude/worktrees/adr-120-impl/plugins/ruflo-docs/scripts/smoke.sh +0 -71
  175. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/.claude-plugin/plugin.json +0 -26
  176. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/README.md +0 -99
  177. package/.claude/worktrees/adr-120-impl/plugins/ruflo-federation/scripts/smoke.sh +0 -86
  178. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/.claude-plugin/plugin.json +0 -26
  179. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/README.md +0 -89
  180. package/.claude/worktrees/adr-120-impl/plugins/ruflo-goals/scripts/smoke.sh +0 -87
  181. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/.claude-plugin/plugin.json +0 -26
  182. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/README.md +0 -143
  183. package/.claude/worktrees/adr-120-impl/plugins/ruflo-intelligence/scripts/smoke.sh +0 -152
  184. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/.claude-plugin/plugin.json +0 -26
  185. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/README.md +0 -181
  186. package/.claude/worktrees/adr-120-impl/plugins/ruflo-iot-cognitum/scripts/smoke.sh +0 -95
  187. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/.claude-plugin/plugin.json +0 -22
  188. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/README.md +0 -75
  189. package/.claude/worktrees/adr-120-impl/plugins/ruflo-jujutsu/scripts/smoke.sh +0 -75
  190. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/.claude-plugin/plugin.json +0 -21
  191. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/README.md +0 -99
  192. package/.claude/worktrees/adr-120-impl/plugins/ruflo-knowledge-graph/scripts/smoke.sh +0 -87
  193. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/.claude-plugin/plugin.json +0 -22
  194. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/README.md +0 -95
  195. package/.claude/worktrees/adr-120-impl/plugins/ruflo-loop-workers/scripts/smoke.sh +0 -95
  196. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/.claude-plugin/plugin.json +0 -21
  197. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/README.md +0 -98
  198. package/.claude/worktrees/adr-120-impl/plugins/ruflo-market-data/scripts/smoke.sh +0 -88
  199. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/.claude-plugin/plugin.json +0 -21
  200. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/README.md +0 -95
  201. package/.claude/worktrees/adr-120-impl/plugins/ruflo-migrations/scripts/smoke.sh +0 -86
  202. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/.claude-plugin/plugin.json +0 -26
  203. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/README.md +0 -232
  204. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/scripts/runtime-smoke.sh +0 -118
  205. package/.claude/worktrees/adr-120-impl/plugins/ruflo-neural-trader/scripts/smoke.sh +0 -86
  206. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/.claude-plugin/plugin.json +0 -22
  207. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/README.md +0 -98
  208. package/.claude/worktrees/adr-120-impl/plugins/ruflo-observability/scripts/smoke.sh +0 -86
  209. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/.claude-plugin/plugin.json +0 -21
  210. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/README.md +0 -75
  211. package/.claude/worktrees/adr-120-impl/plugins/ruflo-plugin-creator/scripts/smoke.sh +0 -83
  212. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/.claude-plugin/plugin.json +0 -22
  213. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/README.md +0 -202
  214. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rag-memory/scripts/smoke.sh +0 -84
  215. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/.claude-plugin/plugin.json +0 -23
  216. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/README.md +0 -262
  217. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvector/scripts/smoke.sh +0 -76
  218. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/.claude-plugin/plugin.json +0 -22
  219. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/README.md +0 -68
  220. package/.claude/worktrees/adr-120-impl/plugins/ruflo-ruvllm/scripts/smoke.sh +0 -77
  221. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/.claude-plugin/plugin.json +0 -22
  222. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/README.md +0 -78
  223. package/.claude/worktrees/adr-120-impl/plugins/ruflo-rvf/scripts/smoke.sh +0 -79
  224. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/.claude-plugin/plugin.json +0 -22
  225. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/README.md +0 -69
  226. package/.claude/worktrees/adr-120-impl/plugins/ruflo-security-audit/scripts/smoke.sh +0 -79
  227. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/.claude-plugin/plugin.json +0 -22
  228. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/README.md +0 -111
  229. package/.claude/worktrees/adr-120-impl/plugins/ruflo-sparc/scripts/smoke.sh +0 -91
  230. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/.claude-plugin/plugin.json +0 -22
  231. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/README.md +0 -86
  232. package/.claude/worktrees/adr-120-impl/plugins/ruflo-swarm/scripts/smoke.sh +0 -93
  233. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/.claude-plugin/plugin.json +0 -21
  234. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/README.md +0 -74
  235. package/.claude/worktrees/adr-120-impl/plugins/ruflo-testgen/scripts/smoke.sh +0 -79
  236. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/.claude-plugin/plugin.json +0 -22
  237. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/README.md +0 -92
  238. package/.claude/worktrees/adr-120-impl/plugins/ruflo-workflows/scripts/smoke.sh +0 -88
  239. package/.claude/worktrees/adr-120-impl/pnpm-lock.yaml +0 -7395
  240. package/.claude/worktrees/adr-120-impl/ruflo/.env.example +0 -58
  241. package/.claude/worktrees/adr-120-impl/ruflo/README.md +0 -395
  242. package/.claude/worktrees/adr-120-impl/ruflo/assets/ruFlo.png +0 -0
  243. package/.claude/worktrees/adr-120-impl/ruflo/assets/ruflo-small.jpeg +0 -0
  244. package/.claude/worktrees/adr-120-impl/ruflo/bin/ruflo.js +0 -57
  245. package/.claude/worktrees/adr-120-impl/ruflo/docker-compose.yml +0 -109
  246. package/.claude/worktrees/adr-120-impl/ruflo/package.json +0 -98
  247. package/.claude/worktrees/adr-120-impl/ruflo/rvf.manifest.json +0 -253
  248. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/Dockerfile +0 -25
  249. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/patch-mcp-url-safety.sh +0 -28
  250. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/static/chatui/icon-144x144.png +0 -0
  251. package/.claude/worktrees/adr-120-impl/ruflo/src/chat-ui/static/chatui/omni-welcome.gif +0 -0
  252. package/.claude/worktrees/adr-120-impl/ruflo/src/config/config.example.json +0 -76
  253. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/Dockerfile +0 -45
  254. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/index.js +0 -1668
  255. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/mcp-stdio-kernel.js +0 -159
  256. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/package.json +0 -17
  257. package/.claude/worktrees/adr-120-impl/ruflo/src/mcp-bridge/test-harness.js +0 -470
  258. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/Dockerfile +0 -10
  259. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/nginx.conf +0 -67
  260. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/favicon-dark.svg +0 -4
  261. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/favicon.svg +0 -4
  262. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/icon.svg +0 -5
  263. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/logo.svg +0 -9
  264. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/manifest.json +0 -22
  265. package/.claude/worktrees/adr-120-impl/ruflo/src/nginx/static/welcome.js +0 -184
  266. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.devcontainer/Dockerfile +0 -9
  267. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.devcontainer/devcontainer.json +0 -36
  268. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.dockerignore +0 -17
  269. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.eslintignore +0 -13
  270. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.gcloudignore +0 -18
  271. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.husky/lint-stage-config.js +0 -4
  272. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.husky/pre-commit +0 -2
  273. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.prettierignore +0 -14
  274. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/.prettierrc +0 -7
  275. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/Dockerfile +0 -96
  276. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/LICENSE +0 -203
  277. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/README.md +0 -164
  278. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/Chart.yaml +0 -5
  279. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/env/dev.yaml +0 -260
  280. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/env/prod.yaml +0 -273
  281. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/_helpers.tpl +0 -22
  282. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/config.yaml +0 -10
  283. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/deployment.yaml +0 -81
  284. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/hpa.yaml +0 -45
  285. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/infisical.yaml +0 -24
  286. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/ingress-internal.yaml +0 -32
  287. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/ingress.yaml +0 -32
  288. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/network-policy.yaml +0 -36
  289. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service-account.yaml +0 -13
  290. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service-monitor.yaml +0 -17
  291. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/templates/service.yaml +0 -21
  292. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/chart/values.yaml +0 -73
  293. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/cloudbuild.yaml +0 -68
  294. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/config/branding.env.example +0 -19
  295. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/docker-compose.yml +0 -21
  296. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/entrypoint.sh +0 -19
  297. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/Dockerfile +0 -45
  298. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/cloudbuild.yaml +0 -49
  299. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/index.js +0 -1878
  300. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/mcp-stdio-kernel.js +0 -159
  301. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/package-lock.json +0 -762
  302. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/package.json +0 -17
  303. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/mcp-bridge/test-harness.js +0 -470
  304. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/models/add-your-models-here.txt +0 -1
  305. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/package-lock.json +0 -11741
  306. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/package.json +0 -121
  307. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/postcss.config.js +0 -6
  308. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/rvf.manifest.json +0 -204
  309. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/config.ts +0 -64
  310. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/generate-welcome.mjs +0 -181
  311. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/populate.ts +0 -288
  312. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/samples.txt +0 -194
  313. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/setups/vitest-setup-client.ts +0 -0
  314. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/setups/vitest-setup-server.ts +0 -44
  315. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/scripts/updateLocalEnv.ts +0 -48
  316. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/ambient.d.ts +0 -7
  317. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/app.d.ts +0 -29
  318. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/app.html +0 -53
  319. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/hooks.server.ts +0 -32
  320. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/hooks.ts +0 -6
  321. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/APIClient.ts +0 -148
  322. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/actions/clickOutside.ts +0 -18
  323. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/actions/snapScrollToBottom.ts +0 -346
  324. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/buildPrompt.ts +0 -33
  325. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/AnnouncementBanner.svelte +0 -20
  326. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/BackgroundGenerationPoller.svelte +0 -168
  327. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/CodeBlock.svelte +0 -73
  328. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/CopyToClipBoardBtn.svelte +0 -92
  329. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/DeleteConversationModal.svelte +0 -75
  330. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/EditConversationModal.svelte +0 -100
  331. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ExpandNavigation.svelte +0 -22
  332. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/FoundationBackground.svelte +0 -242
  333. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/HoverTooltip.svelte +0 -44
  334. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/HtmlPreviewModal.svelte +0 -143
  335. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/InfiniteScroll.svelte +0 -50
  336. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/MobileNav.svelte +0 -300
  337. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Modal.svelte +0 -115
  338. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ModelCardMetadata.svelte +0 -71
  339. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/NavConversationItem.svelte +0 -151
  340. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/NavMenu.svelte +0 -313
  341. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Pagination.svelte +0 -97
  342. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/PaginationArrow.svelte +0 -27
  343. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Portal.svelte +0 -24
  344. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RetryBtn.svelte +0 -18
  345. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RuFloUniverse.svelte +0 -185
  346. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/RufloHelpModal.svelte +0 -411
  347. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ScrollToBottomBtn.svelte +0 -47
  348. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ScrollToPreviousBtn.svelte +0 -77
  349. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/ShareConversationModal.svelte +0 -182
  350. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/StopGeneratingBtn.svelte +0 -69
  351. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/SubscribeModal.svelte +0 -87
  352. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Switch.svelte +0 -36
  353. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/SystemPromptModal.svelte +0 -44
  354. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Toast.svelte +0 -27
  355. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/Tooltip.svelte +0 -30
  356. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/WelcomeModal.svelte +0 -46
  357. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/Alternatives.svelte +0 -77
  358. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/BlockWrapper.svelte +0 -72
  359. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatInput.svelte +0 -490
  360. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatIntroduction.svelte +0 -123
  361. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatMessage.svelte +0 -548
  362. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ChatWindow.svelte +0 -1057
  363. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/FileDropzone.svelte +0 -92
  364. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ImageLightbox.svelte +0 -66
  365. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MarkdownBlock.svelte +0 -23
  366. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MarkdownRenderer.svelte +0 -69
  367. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/MessageAvatar.svelte +0 -103
  368. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ModelSwitch.svelte +0 -64
  369. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/OpenReasoningResults.svelte +0 -81
  370. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/TaskGroup.svelte +0 -88
  371. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/ToolUpdate.svelte +0 -273
  372. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/UploadedFile.svelte +0 -253
  373. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/UrlFetchModal.svelte +0 -203
  374. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/chat/VoiceRecorder.svelte +0 -214
  375. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconBurger.svelte +0 -20
  376. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconCheap.svelte +0 -20
  377. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconChevron.svelte +0 -24
  378. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconDazzled.svelte +0 -40
  379. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconFast.svelte +0 -20
  380. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconLoading.svelte +0 -22
  381. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconMCP.svelte +0 -28
  382. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconMoon.svelte +0 -21
  383. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconNew.svelte +0 -20
  384. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconOmni.svelte +0 -90
  385. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconPaperclip.svelte +0 -24
  386. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconPro.svelte +0 -37
  387. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconShare.svelte +0 -21
  388. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/IconSun.svelte +0 -93
  389. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/Logo.svelte +0 -68
  390. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/icons/LogoHuggingFaceBorderless.svelte +0 -54
  391. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/AddServerForm.svelte +0 -250
  392. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/MCPServerManager.svelte +0 -185
  393. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/mcp/ServerCard.svelte +0 -203
  394. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/players/AudioPlayer.svelte +0 -82
  395. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/voice/AudioWaveform.svelte +0 -96
  396. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/components/wasm/GalleryPanel.svelte +0 -357
  397. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/mcpExamples.ts +0 -114
  398. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/mime.ts +0 -11
  399. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/pagination.ts +0 -1
  400. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/publicSepToken.ts +0 -1
  401. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/routerExamples.ts +0 -133
  402. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/constants/rvagentPresets.ts +0 -206
  403. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/createShareLink.ts +0 -27
  404. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/jobs/refresh-conversation-stats.ts +0 -297
  405. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/lock.ts +0 -56
  406. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/migrations.ts +0 -109
  407. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/01-update-search-assistants.ts +0 -50
  408. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/02-update-assistants-models.ts +0 -48
  409. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/04-update-message-updates.ts +0 -151
  410. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/05-update-message-files.ts +0 -56
  411. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/06-trim-message-updates.ts +0 -56
  412. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/08-update-featured-to-review.ts +0 -32
  413. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/09-delete-empty-conversations.ts +0 -88
  414. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/10-update-reports-assistantid.ts +0 -29
  415. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/migrations/routines/index.ts +0 -15
  416. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/abortRegistry.ts +0 -57
  417. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/abortedGenerations.ts +0 -43
  418. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/adminToken.ts +0 -62
  419. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/types.ts +0 -37
  420. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/requireAuth.ts +0 -22
  421. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/resolveConversation.ts +0 -69
  422. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/resolveModel.ts +0 -27
  423. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/api/utils/superjsonResponse.ts +0 -15
  424. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/apiToken.ts +0 -11
  425. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/auth.ts +0 -554
  426. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/config.ts +0 -187
  427. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/conversation.ts +0 -83
  428. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database/postgres.ts +0 -700
  429. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database/rvf.ts +0 -1078
  430. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/database.ts +0 -145
  431. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/document.ts +0 -68
  432. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/endpoints.ts +0 -43
  433. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/images.ts +0 -211
  434. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/endpointOai.ts +0 -266
  435. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/openAIChatToTextGenerationStream.ts +0 -212
  436. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/openai/openAICompletionToTextGenerationStream.ts +0 -32
  437. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/endpoints/preprocessMessages.ts +0 -61
  438. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/exitHandler.ts +0 -59
  439. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/files/downloadFile.ts +0 -34
  440. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/files/uploadFile.ts +0 -29
  441. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/findRepoRoot.ts +0 -13
  442. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Black.ttf +0 -0
  443. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Bold.ttf +0 -0
  444. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-ExtraBold.ttf +0 -0
  445. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-ExtraLight.ttf +0 -0
  446. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Light.ttf +0 -0
  447. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Medium.ttf +0 -0
  448. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Regular.ttf +0 -0
  449. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-SemiBold.ttf +0 -0
  450. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/fonts/Inter-Thin.ttf +0 -0
  451. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/generateFromDefaultEndpoint.ts +0 -46
  452. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/error.ts +0 -37
  453. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/fetch.ts +0 -22
  454. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/handle.ts +0 -250
  455. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/hooks/init.ts +0 -51
  456. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/isURLLocal.ts +0 -74
  457. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/logger.ts +0 -42
  458. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/clientPool.ts +0 -0
  459. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/hf.ts +0 -32
  460. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/httpClient.ts +0 -122
  461. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/registry.ts +0 -76
  462. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/mcp/tools.ts +0 -196
  463. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/metrics.ts +0 -255
  464. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/models.ts +0 -518
  465. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/requestContext.ts +0 -55
  466. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/arch.ts +0 -230
  467. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/endpoint.ts +0 -316
  468. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/multimodal.ts +0 -28
  469. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/policy.ts +0 -49
  470. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/toolsRoute.ts +0 -51
  471. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/router/types.ts +0 -21
  472. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/sendSlack.ts +0 -23
  473. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/generate.ts +0 -258
  474. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/index.ts +0 -96
  475. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/fileRefs.ts +0 -155
  476. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/routerResolution.ts +0 -108
  477. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/runMcpFlow.ts +0 -831
  478. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/mcp/toolInvocation.ts +0 -349
  479. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/reasoning.ts +0 -23
  480. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/title.ts +0 -83
  481. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/types.ts +0 -28
  482. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/prepareFiles.ts +0 -88
  483. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/routing.ts +0 -21
  484. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/textGeneration/utils/toolPrompt.ts +0 -49
  485. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/urlSafety.ts +0 -77
  486. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/server/usageLimits.ts +0 -30
  487. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/autopilotStore.svelte.ts +0 -175
  488. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/backgroundGenerations.svelte.ts +0 -32
  489. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/backgroundGenerations.ts +0 -1
  490. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/errors.ts +0 -9
  491. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/isAborted.ts +0 -3
  492. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/isPro.ts +0 -4
  493. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/loading.ts +0 -3
  494. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/mcpServers.ts +0 -534
  495. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/pendingChatInput.ts +0 -3
  496. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/pendingMessage.ts +0 -9
  497. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/settings.ts +0 -182
  498. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/shareModal.ts +0 -13
  499. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/titleUpdate.ts +0 -8
  500. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/stores/wasmMcp.ts +0 -472
  501. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/switchTheme.ts +0 -124
  502. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/AbortedGeneration.ts +0 -8
  503. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Assistant.ts +0 -31
  504. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/AssistantStats.ts +0 -11
  505. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConfigKey.ts +0 -4
  506. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConvSidebar.ts +0 -9
  507. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Conversation.ts +0 -27
  508. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/ConversationStats.ts +0 -13
  509. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Message.ts +0 -41
  510. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MessageEvent.ts +0 -10
  511. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MessageUpdate.ts +0 -139
  512. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/MigrationResult.ts +0 -7
  513. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Model.ts +0 -23
  514. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Report.ts +0 -12
  515. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Review.ts +0 -6
  516. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Semaphore.ts +0 -19
  517. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Session.ts +0 -22
  518. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Settings.ts +0 -93
  519. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/SharedConversation.ts +0 -9
  520. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Template.ts +0 -6
  521. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Timestamps.ts +0 -4
  522. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/TokenCache.ts +0 -6
  523. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/Tool.ts +0 -77
  524. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/UrlDependency.ts +0 -5
  525. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/types/User.ts +0 -14
  526. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/PublicConfig.svelte.ts +0 -75
  527. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/auth.ts +0 -17
  528. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/chunk.ts +0 -33
  529. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/cookiesAreEnabled.ts +0 -13
  530. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/debounce.ts +0 -17
  531. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/deepestChild.ts +0 -6
  532. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/favicon.ts +0 -21
  533. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/fetchJSON.ts +0 -23
  534. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/file2base64.ts +0 -14
  535. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/formatUserCount.ts +0 -37
  536. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/generationState.ts +0 -26
  537. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/getHref.ts +0 -41
  538. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/getReturnFromGenerator.ts +0 -7
  539. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/haptics.ts +0 -64
  540. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/hashConv.ts +0 -12
  541. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/hf.ts +0 -17
  542. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isDesktop.ts +0 -7
  543. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isUrl.ts +0 -8
  544. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/isVirtualKeyboard.ts +0 -16
  545. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/loadAttachmentsFromUrls.ts +0 -115
  546. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/marked.ts +0 -531
  547. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mcpValidation.ts +0 -147
  548. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mergeAsyncGenerators.ts +0 -38
  549. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/messageUpdates.ts +0 -324
  550. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/mime.ts +0 -56
  551. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/models.ts +0 -14
  552. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseBlocks.ts +0 -120
  553. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseIncompleteMarkdown.ts +0 -644
  554. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/parseStringToList.ts +0 -10
  555. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/randomUuid.ts +0 -14
  556. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/searchTokens.ts +0 -33
  557. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/sha256.ts +0 -7
  558. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/stringifyError.ts +0 -12
  559. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/sum.ts +0 -3
  560. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/template.ts +0 -53
  561. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/timeout.ts +0 -9
  562. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/toolProgress.ts +0 -11
  563. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/addChildren.ts +0 -48
  564. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/addSibling.ts +0 -41
  565. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/buildSubtree.ts +0 -24
  566. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/convertLegacyConversation.ts +0 -36
  567. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/isMessageId.ts +0 -5
  568. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/tree/tree.d.ts +0 -14
  569. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/updates.ts +0 -39
  570. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/utils/urlParams.ts +0 -13
  571. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/idb.ts +0 -438
  572. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/index.ts +0 -1213
  573. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/wasm.worker.ts +0 -332
  574. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/wasm/workerClient.ts +0 -166
  575. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/autopilotWorker.ts +0 -221
  576. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/detailFetchWorker.ts +0 -100
  577. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/lib/workers/markdownWorker.ts +0 -61
  578. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+error.svelte +0 -20
  579. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+layout.svelte +0 -324
  580. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+layout.ts +0 -91
  581. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/+page.svelte +0 -168
  582. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/.well-known/oauth-cimd/+server.ts +0 -37
  583. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/__debug/openai/+server.ts +0 -21
  584. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/admin/export/+server.ts +0 -159
  585. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/admin/stats/compute/+server.ts +0 -16
  586. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversation/[id]/+server.ts +0 -40
  587. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversation/[id]/message/[messageId]/+server.ts +0 -42
  588. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/conversations/+server.ts +0 -48
  589. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/fetch-url/+server.ts +0 -147
  590. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/mcp/health/+server.ts +0 -292
  591. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/mcp/servers/+server.ts +0 -32
  592. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/models/+server.ts +0 -25
  593. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/transcribe/+server.ts +0 -104
  594. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/user/+server.ts +0 -15
  595. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/user/validate-token/+server.ts +0 -20
  596. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/+server.ts +0 -48
  597. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/[id]/+server.ts +0 -94
  598. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/[id]/message/[messageId]/+server.ts +0 -43
  599. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/conversations/import-share/+server.ts +0 -23
  600. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/debug/config/+server.ts +0 -16
  601. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/debug/refresh/+server.ts +0 -30
  602. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/export/+server.ts +0 -196
  603. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/feature-flags/+server.ts +0 -14
  604. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/+server.ts +0 -38
  605. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/+server.ts +0 -8
  606. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/[model]/+server.ts +0 -8
  607. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/[model]/subscribe/+server.ts +0 -28
  608. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/[namespace]/subscribe/+server.ts +0 -28
  609. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/old/+server.ts +0 -7
  610. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/models/refresh/+server.ts +0 -33
  611. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/public-config/+server.ts +0 -7
  612. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/+server.ts +0 -17
  613. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/billing-orgs/+server.ts +0 -73
  614. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/reports/+server.ts +0 -17
  615. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/api/v2/user/settings/+server.ts +0 -110
  616. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/+server.ts +0 -115
  617. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+page.svelte +0 -586
  618. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+page.ts +0 -60
  619. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/+server.ts +0 -740
  620. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/message/[messageId]/prompt/+server.ts +0 -66
  621. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/share/+server.ts +0 -69
  622. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/conversation/[id]/stop-generating/+server.ts +0 -35
  623. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/healthcheck/+server.ts +0 -3
  624. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/+server.ts +0 -5
  625. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/callback/+server.ts +0 -103
  626. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/login/callback/updateUser.ts +0 -215
  627. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/logout/+server.ts +0 -18
  628. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/metrics/+server.ts +0 -18
  629. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/+page.svelte +0 -233
  630. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/+page.svelte +0 -161
  631. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/+page.ts +0 -14
  632. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/thumbnail.png/+server.ts +0 -64
  633. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/models/[...model]/thumbnail.png/ModelThumbnail.svelte +0 -28
  634. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/privacy/+page.svelte +0 -11
  635. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/r/[id]/+page.ts +0 -34
  636. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+layout.svelte +0 -282
  637. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+layout.ts +0 -1
  638. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+page.svelte +0 -0
  639. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/+server.ts +0 -59
  640. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/[...model]/+page.svelte +0 -464
  641. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/[...model]/+page.ts +0 -14
  642. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/(nav)/application/+page.svelte +0 -362
  643. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/routes/settings/+layout.svelte +0 -40
  644. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/styles/highlight-js.css +0 -195
  645. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/src/styles/main.css +0 -144
  646. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/apple-touch-icon.png +0 -0
  647. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon-dark.svg +0 -3
  648. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon-dev.svg +0 -3
  649. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon.ico +0 -0
  650. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/favicon.svg +0 -3
  651. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-128x128.png +0 -0
  652. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-144x144.png +0 -0
  653. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-192x192.png +0 -0
  654. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-256x256.png +0 -0
  655. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-36x36.png +0 -0
  656. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-48x48.png +0 -0
  657. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-512x512.png +0 -0
  658. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-72x72.png +0 -0
  659. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon-96x96.png +0 -0
  660. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/icon.svg +0 -3
  661. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/logo.svg +0 -7
  662. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/manifest.json +0 -54
  663. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/omni-welcome.gif +0 -0
  664. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/omni-welcome.png +0 -0
  665. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/welcome.js +0 -184
  666. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/chatui/welcome.svg +0 -1
  667. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/apple-touch-icon.png +0 -0
  668. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/assistants-thumbnail.png +0 -0
  669. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/castle-example.jpg +0 -0
  670. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon-dark.svg +0 -4
  671. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon-dev.svg +0 -4
  672. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon.ico +0 -0
  673. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/favicon.svg +0 -4
  674. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/fulltext-logo.svg +0 -2
  675. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-128x128.png +0 -0
  676. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-144x144.png +0 -0
  677. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-192x192.png +0 -0
  678. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-256x256.png +0 -0
  679. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-36x36.png +0 -0
  680. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-48x48.png +0 -0
  681. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-512x512.png +0 -0
  682. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-72x72.png +0 -0
  683. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon-96x96.png +0 -0
  684. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/icon.svg +0 -4
  685. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/logo.svg +0 -4
  686. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/manifest.json +0 -54
  687. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/omni-welcome.gif +0 -0
  688. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/routes.chat.json +0 -226
  689. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/thumbnail.png +0 -0
  690. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/huggingchat/tools-thumbnail.png +0 -0
  691. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/robots.txt +0 -10
  692. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/wasm/rvagent_wasm.js +0 -1539
  693. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/static/wasm/rvagent_wasm_bg.wasm +0 -0
  694. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/stub/@reflink/reflink/index.js +0 -0
  695. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/stub/@reflink/reflink/package.json +0 -5
  696. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/svelte.config.js +0 -53
  697. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/tailwind.config.cjs +0 -30
  698. package/.claude/worktrees/adr-120-impl/ruflo/src/ruvocal/vite.config.ts +0 -87
  699. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/deploy.sh +0 -116
  700. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/generate-config.js +0 -245
  701. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/generate-welcome.js +0 -187
  702. package/.claude/worktrees/adr-120-impl/ruflo/src/scripts/package-rvf.sh +0 -116
  703. package/.claude/worktrees/adr-120-impl/ruflo-plugins.gif +0 -0
  704. package/.claude/worktrees/adr-120-impl/scripts/audit-cli-mcp-tools.mjs +0 -156
  705. package/.claude/worktrees/adr-120-impl/scripts/audit-codex-integration.mjs +0 -116
  706. package/.claude/worktrees/adr-120-impl/scripts/audit-fix-invariants.mjs +0 -305
  707. package/.claude/worktrees/adr-120-impl/scripts/audit-hook-commands.mjs +0 -117
  708. package/.claude/worktrees/adr-120-impl/scripts/audit-hook-handler-prompt.mjs +0 -87
  709. package/.claude/worktrees/adr-120-impl/scripts/audit-neural-trader-safety.mjs +0 -116
  710. package/.claude/worktrees/adr-120-impl/scripts/audit-plugin-packages.mjs +0 -209
  711. package/.claude/worktrees/adr-120-impl/scripts/audit-tool-descriptions.mjs +0 -146
  712. package/.claude/worktrees/adr-120-impl/scripts/audit-vector-dim.mjs +0 -132
  713. package/.claude/worktrees/adr-120-impl/scripts/bulk-fix-tool-descriptions.mjs +0 -187
  714. package/.claude/worktrees/adr-120-impl/scripts/cleanup-v3.sh +0 -222
  715. package/.claude/worktrees/adr-120-impl/scripts/install.sh +0 -392
  716. package/.claude/worktrees/adr-120-impl/scripts/inventory-capabilities.mjs +0 -236
  717. package/.claude/worktrees/adr-120-impl/scripts/regen-witness.mjs +0 -70
  718. package/.claude/worktrees/adr-120-impl/scripts/regenerate-witness.mjs +0 -102
  719. package/.claude/worktrees/adr-120-impl/scripts/sign-witness-from-inventory.mjs +0 -113
  720. package/.claude/worktrees/adr-120-impl/scripts/verify-appliance.sh +0 -592
  721. package/.claude/worktrees/adr-120-impl/scripts/verify-federation-plugin.sh +0 -105
  722. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/dedup-json.json +0 -35
  723. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/empty.json +0 -1
  724. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-hash.json +0 -10
  725. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-session.json +0 -29
  726. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/json-store.json +0 -14
  727. package/.claude/worktrees/adr-120-impl/tests/.tmp-ctx-test/test-transcript.jsonl +0 -3
  728. package/.claude/worktrees/adr-120-impl/tests/context-persistence-hook.test.mjs +0 -1161
  729. package/.claude/worktrees/adr-120-impl/tests/docker-regression/Dockerfile +0 -94
  730. package/.claude/worktrees/adr-120-impl/tests/docker-regression/Makefile +0 -118
  731. package/.claude/worktrees/adr-120-impl/tests/docker-regression/README.md +0 -233
  732. package/.claude/worktrees/adr-120-impl/tests/docker-regression/docker-compose.yml +0 -148
  733. package/.claude/worktrees/adr-120-impl/tests/docker-regression/fixtures/sample-code.ts +0 -167
  734. package/.claude/worktrees/adr-120-impl/tests/docker-regression/fixtures/sample-patterns.json +0 -90
  735. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-all-tests.sh +0 -311
  736. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-benchmark-tests.sh +0 -30
  737. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-integration-tests.sh +0 -197
  738. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-security-tests.sh +0 -36
  739. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/run-unit-tests.sh +0 -140
  740. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-agents.sh +0 -193
  741. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-cli-commands.sh +0 -131
  742. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-hooks.sh +0 -186
  743. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-mcp-server.sh +0 -131
  744. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-memory.sh +0 -201
  745. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-performance.sh +0 -197
  746. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-plugins.sh +0 -230
  747. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-security.sh +0 -205
  748. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-swarm.sh +0 -148
  749. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-utils.sh +0 -210
  750. package/.claude/worktrees/adr-120-impl/tests/docker-regression/scripts/test-workers.sh +0 -215
  751. package/.claude/worktrees/adr-120-impl/v3/.agentic-flow/intelligence.json +0 -24
  752. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/architect.yaml +0 -11
  753. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/coder.yaml +0 -11
  754. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/reviewer.yaml +0 -10
  755. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/security-architect.yaml +0 -10
  756. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/agents/tester.yaml +0 -10
  757. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/README.md +0 -630
  758. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/architect.yaml +0 -11
  759. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/coder.yaml +0 -11
  760. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/reviewer.yaml +0 -10
  761. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/security-architect.yaml +0 -10
  762. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/agents/tester.yaml +0 -10
  763. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/package.json +0 -76
  764. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/entities/index.ts +0 -1
  765. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/entities/threat.ts +0 -81
  766. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/index.ts +0 -2
  767. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/threat-detection-service.ts +0 -467
  768. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/domain/services/threat-learning-service.ts +0 -409
  769. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/src/index.ts +0 -344
  770. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/aidefence/tmp.json +0 -0
  771. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/README.md +0 -730
  772. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/architect.yaml +0 -11
  773. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/coder.yaml +0 -11
  774. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/reviewer.yaml +0 -10
  775. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/security-architect.yaml +0 -10
  776. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/agents/tester.yaml +0 -10
  777. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/Dockerfile +0 -22
  778. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/docker-compose.yml +0 -52
  779. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/docker/test-fixtures/index.html +0 -61
  780. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/package.json +0 -56
  781. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/agent/index.ts +0 -35
  782. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/application/browser-service.ts +0 -570
  783. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/domain/types.ts +0 -324
  784. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/index.ts +0 -156
  785. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/agent-browser-adapter.ts +0 -654
  786. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/hooks-integration.ts +0 -170
  787. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/memory-integration.ts +0 -449
  788. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/reasoningbank-adapter.ts +0 -282
  789. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/security-integration.ts +0 -528
  790. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/infrastructure/workflow-templates.ts +0 -479
  791. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/mcp-tools/browser-tools.ts +0 -1256
  792. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/mcp-tools/index.ts +0 -6
  793. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/src/skill/index.ts +0 -24
  794. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/browser/tmp.json +0 -0
  795. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/README.md +0 -261
  796. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/package.json +0 -84
  797. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/cli-commands.ts +0 -1459
  798. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/cli-types.ts +0 -154
  799. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/index.ts +0 -24
  800. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/api/mcp-tools.ts +0 -1977
  801. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/claim-service.ts +0 -753
  802. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/index.ts +0 -46
  803. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/load-balancer.ts +0 -840
  804. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/application/work-stealing-service.ts +0 -825
  805. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/events.ts +0 -779
  806. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/index.ts +0 -214
  807. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/repositories.ts +0 -239
  808. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/rules.ts +0 -526
  809. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/domain/types.ts +0 -826
  810. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/index.ts +0 -79
  811. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/claim-repository.ts +0 -358
  812. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/event-store.ts +0 -297
  813. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federated-claim-repository.ts +0 -174
  814. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federated-event-store.ts +0 -330
  815. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/federation-bridge.ts +0 -160
  816. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/hlc.ts +0 -198
  817. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/index.ts +0 -74
  818. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/src/infrastructure/vector-clock.ts +0 -136
  819. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/claims/tmp.json +0 -0
  820. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/agents/browser/browser-agent.yaml +0 -182
  821. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/agents/tmp.json +0 -0
  822. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/agents/README.md +0 -50
  823. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/analysis/README.md +0 -9
  824. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/automation/README.md +0 -9
  825. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/coordination/README.md +0 -9
  826. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/github/README.md +0 -11
  827. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/hive-mind/README.md +0 -17
  828. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/hooks/README.md +0 -11
  829. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/memory/README.md +0 -9
  830. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/monitoring/README.md +0 -9
  831. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/optimization/README.md +0 -9
  832. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/pair/README.md +0 -261
  833. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/swarm/README.md +0 -15
  834. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/training/README.md +0 -9
  835. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/commands/workflows/README.md +0 -9
  836. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/README.md +0 -97
  837. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/adr-compliance.sh +0 -186
  838. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/auto-commit.sh +0 -178
  839. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/auto-memory-hook.mjs +0 -368
  840. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/checkpoint-manager.sh +0 -251
  841. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/daemon-manager.sh +0 -252
  842. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/ddd-tracker.sh +0 -144
  843. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/github-safe.js +0 -121
  844. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/github-setup.sh +0 -28
  845. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/guidance-hook.sh +0 -13
  846. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/guidance-hooks.sh +0 -102
  847. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/health-monitor.sh +0 -108
  848. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/hook-handler.cjs +0 -282
  849. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/intelligence.cjs +0 -1031
  850. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-hooks.sh +0 -329
  851. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-optimizer.sh +0 -127
  852. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/learning-service.mjs +0 -1144
  853. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/memory.js +0 -83
  854. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/metrics-db.mjs +0 -488
  855. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/pattern-consolidator.sh +0 -86
  856. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/perf-worker.sh +0 -160
  857. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/post-commit +0 -16
  858. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/pre-commit +0 -26
  859. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/quick-start.sh +0 -19
  860. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/router.js +0 -66
  861. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/security-scanner.sh +0 -127
  862. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/session.js +0 -135
  863. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/setup-mcp.sh +0 -18
  864. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  865. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline-hook.sh +0 -21
  866. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline.cjs +0 -604
  867. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/statusline.js +0 -352
  868. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-comms.sh +0 -353
  869. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-hooks.sh +0 -761
  870. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/swarm-monitor.sh +0 -211
  871. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/sync-v3-metrics.sh +0 -245
  872. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/update-v3-progress.sh +0 -166
  873. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/v3-quick-status.sh +0 -58
  874. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/v3.sh +0 -111
  875. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/validate-v3-config.sh +0 -216
  876. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/helpers/worker-manager.sh +0 -170
  877. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/.claude/settings.json +0 -182
  878. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/README.md +0 -395
  879. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/architect.yaml +0 -11
  880. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/browser-agent.yaml +0 -182
  881. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/coder.yaml +0 -11
  882. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/reviewer.yaml +0 -10
  883. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/security-architect.yaml +0 -10
  884. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/agents/tester.yaml +0 -10
  885. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/cli.js +0 -233
  886. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/mcp-server.js +0 -224
  887. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/bin/preinstall.cjs +0 -2
  888. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/deploy.sh +0 -51
  889. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/index.js +0 -499
  890. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/package.json +0 -15
  891. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/cloud-functions/publish-registry/tmp.json +0 -0
  892. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/data/model-registry.json +0 -470
  893. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +0 -91
  894. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +0 -425
  895. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +0 -102
  896. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +0 -292
  897. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +0 -44
  898. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +0 -329
  899. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +0 -97
  900. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +0 -370
  901. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +0 -111
  902. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +0 -393
  903. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +0 -69
  904. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +0 -237
  905. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +0 -123
  906. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +0 -347
  907. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +0 -77
  908. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/autopilot-state.js +0 -271
  909. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  910. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +0 -404
  911. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +0 -14
  912. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +0 -333
  913. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +0 -8
  914. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/agent.js +0 -927
  915. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +0 -19
  916. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/analyze.js +0 -2048
  917. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +0 -9
  918. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +0 -215
  919. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +0 -8
  920. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/appliance.js +0 -404
  921. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +0 -15
  922. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/autopilot.js +0 -362
  923. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +0 -10
  924. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/benchmark.js +0 -460
  925. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +0 -10
  926. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/claims.js +0 -620
  927. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +0 -13
  928. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/cleanup.js +0 -250
  929. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +0 -10
  930. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/completions.js +0 -539
  931. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/config.d.ts +0 -8
  932. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/config.js +0 -428
  933. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +0 -28
  934. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/daemon.js +0 -1093
  935. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +0 -10
  936. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/deployment.js +0 -672
  937. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +0 -10
  938. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/doctor.js +0 -885
  939. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +0 -18
  940. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/embeddings.js +0 -1623
  941. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +0 -8
  942. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/guidance.js +0 -556
  943. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +0 -11
  944. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +0 -1297
  945. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +0 -8
  946. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/hooks.js +0 -4499
  947. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/index.d.ts +0 -118
  948. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/index.js +0 -344
  949. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/init.d.ts +0 -8
  950. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/init.js +0 -997
  951. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +0 -21
  952. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/issues.js +0 -567
  953. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +0 -11
  954. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/mcp.js +0 -718
  955. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +0 -8
  956. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/memory.js +0 -1456
  957. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +0 -8
  958. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/migrate.js +0 -742
  959. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +0 -10
  960. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/neural.js +0 -1531
  961. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +0 -10
  962. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/performance.js +0 -583
  963. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +0 -11
  964. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/plugins.js +0 -826
  965. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/process.d.ts +0 -10
  966. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/process.js +0 -694
  967. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +0 -11
  968. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/progress.js +0 -259
  969. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +0 -10
  970. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/providers.js +0 -502
  971. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/route.d.ts +0 -16
  972. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/route.js +0 -813
  973. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +0 -11
  974. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +0 -747
  975. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +0 -11
  976. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +0 -490
  977. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +0 -18
  978. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +0 -373
  979. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +0 -29
  980. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +0 -129
  981. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +0 -11
  982. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +0 -467
  983. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +0 -11
  984. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +0 -498
  985. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +0 -11
  986. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +0 -505
  987. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.d.ts +0 -14
  988. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/pg-utils.js +0 -41
  989. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +0 -18
  990. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +0 -765
  991. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +0 -11
  992. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +0 -479
  993. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/security.d.ts +0 -10
  994. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/security.js +0 -920
  995. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/session.d.ts +0 -8
  996. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/session.js +0 -757
  997. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/start.d.ts +0 -8
  998. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/start.js +0 -418
  999. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/status.d.ts +0 -8
  1000. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/status.js +0 -591
  1001. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +0 -8
  1002. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/swarm.js +0 -887
  1003. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/task.d.ts +0 -8
  1004. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/task.js +0 -675
  1005. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +0 -13
  1006. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +0 -428
  1007. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/update.d.ts +0 -8
  1008. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/update.js +0 -276
  1009. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/verify.d.ts +0 -19
  1010. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/verify.js +0 -261
  1011. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +0 -8
  1012. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/commands/workflow.js +0 -617
  1013. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +0 -15
  1014. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/config-adapter.js +0 -186
  1015. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/encryption/vault.d.ts +0 -94
  1016. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/encryption/vault.js +0 -172
  1017. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/fs-secure.d.ts +0 -67
  1018. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/fs-secure.js +0 -74
  1019. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/index.d.ts +0 -81
  1020. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/index.js +0 -538
  1021. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  1022. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +0 -264
  1023. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +0 -16
  1024. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +0 -363
  1025. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/executor.d.ts +0 -41
  1026. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/executor.js +0 -1904
  1027. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +0 -60
  1028. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +0 -1185
  1029. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/index.d.ts +0 -13
  1030. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/index.js +0 -15
  1031. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +0 -26
  1032. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +0 -116
  1033. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +0 -14
  1034. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/settings-generator.js +0 -456
  1035. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +0 -28
  1036. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +0 -937
  1037. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/types.d.ts +0 -308
  1038. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/init/types.js +0 -263
  1039. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/log-filters.d.ts +0 -22
  1040. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/log-filters.js +0 -36
  1041. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +0 -92
  1042. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-client.js +0 -287
  1043. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +0 -163
  1044. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-server.js +0 -732
  1045. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.d.ts +0 -92
  1046. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-execute-core.js +0 -328
  1047. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -9
  1048. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +0 -716
  1049. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +0 -33
  1050. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +0 -867
  1051. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
  1052. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +0 -346
  1053. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.d.ts +0 -83
  1054. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/auto-install.js +0 -131
  1055. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.d.ts +0 -12
  1056. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.js +0 -231
  1057. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.d.ts +0 -23
  1058. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-session-tools.js +0 -313
  1059. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.d.ts +0 -13
  1060. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +0 -757
  1061. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +0 -12
  1062. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +0 -863
  1063. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +0 -8
  1064. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +0 -411
  1065. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
  1066. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +0 -729
  1067. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.d.ts +0 -13
  1068. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +0 -534
  1069. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
  1070. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +0 -904
  1071. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.d.ts +0 -9
  1072. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +0 -659
  1073. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.d.ts +0 -15
  1074. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.js +0 -639
  1075. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
  1076. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +0 -953
  1077. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -46
  1078. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +0 -3939
  1079. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +0 -27
  1080. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +0 -26
  1081. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.d.ts +0 -22
  1082. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/managed-agent-tools.js +0 -357
  1083. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -14
  1084. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +0 -1240
  1085. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +0 -16
  1086. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +0 -793
  1087. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -16
  1088. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +0 -675
  1089. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +0 -14
  1090. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +0 -348
  1091. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.d.ts +0 -17
  1092. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/request-tracker.js +0 -27
  1093. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.d.ts +0 -9
  1094. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.js +0 -339
  1095. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +0 -18
  1096. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +0 -556
  1097. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +0 -8
  1098. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +0 -517
  1099. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  1100. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +0 -388
  1101. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +0 -13
  1102. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +0 -674
  1103. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +0 -8
  1104. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +0 -487
  1105. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.d.ts +0 -8
  1106. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/terminal-tools.js +0 -306
  1107. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
  1108. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.js +0 -447
  1109. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +0 -8
  1110. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +0 -8
  1111. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.d.ts +0 -9
  1112. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.js +0 -9
  1113. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -9
  1114. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +0 -291
  1115. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  1116. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +0 -884
  1117. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +0 -295
  1118. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +0 -601
  1119. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +0 -357
  1120. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/intelligence.js +0 -1200
  1121. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +0 -492
  1122. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +0 -2101
  1123. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +0 -420
  1124. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +0 -2376
  1125. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.d.ts +0 -48
  1126. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.js +0 -87
  1127. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/rabitq-index.d.ts +0 -60
  1128. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +0 -242
  1129. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +0 -267
  1130. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +0 -779
  1131. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/output.d.ts +0 -9
  1132. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/output.js +0 -9
  1133. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/parser.d.ts +0 -69
  1134. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/parser.js +0 -470
  1135. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +0 -133
  1136. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/manager.js +0 -402
  1137. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +0 -91
  1138. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +0 -1202
  1139. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +0 -76
  1140. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/index.js +0 -141
  1141. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +0 -46
  1142. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/search.js +0 -230
  1143. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +0 -274
  1144. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/store/types.js +0 -7
  1145. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  1146. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  1147. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  1148. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +0 -188
  1149. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  1150. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
  1151. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +0 -101
  1152. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +0 -241
  1153. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +0 -92
  1154. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/error-handler.js +0 -299
  1155. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/index.d.ts +0 -23
  1156. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/index.js +0 -18
  1157. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +0 -161
  1158. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/monitoring.js +0 -356
  1159. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +0 -80
  1160. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +0 -201
  1161. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/retry.d.ts +0 -48
  1162. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/production/retry.js +0 -179
  1163. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/prompt.d.ts +0 -44
  1164. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/prompt.js +0 -501
  1165. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +0 -60
  1166. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/runtime/headless.js +0 -284
  1167. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +0 -193
  1168. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +0 -354
  1169. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  1170. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +0 -277
  1171. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +0 -160
  1172. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +0 -531
  1173. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +0 -33
  1174. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +0 -157
  1175. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +0 -175
  1176. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +0 -699
  1177. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.d.ts +0 -78
  1178. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/diskann-backend.js +0 -310
  1179. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  1180. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +0 -529
  1181. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  1182. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +0 -929
  1183. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.d.ts +0 -79
  1184. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/graph-backend.js +0 -220
  1185. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +0 -38
  1186. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/index.js +0 -82
  1187. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +0 -240
  1188. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +0 -550
  1189. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +0 -241
  1190. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +0 -608
  1191. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +0 -211
  1192. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +0 -681
  1193. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +0 -179
  1194. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +0 -367
  1195. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +0 -77
  1196. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +0 -178
  1197. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +0 -73
  1198. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +0 -264
  1199. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
  1200. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +0 -95
  1201. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +0 -204
  1202. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/claim-service.js +0 -818
  1203. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +0 -37
  1204. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +0 -224
  1205. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  1206. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +0 -583
  1207. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +0 -310
  1208. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +0 -1058
  1209. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/index.d.ts +0 -13
  1210. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/index.js +0 -11
  1211. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +0 -58
  1212. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/registry-api.js +0 -146
  1213. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +0 -222
  1214. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +0 -688
  1215. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +0 -323
  1216. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +0 -1323
  1217. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +0 -194
  1218. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/services/worker-queue.js +0 -513
  1219. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/suggest.d.ts +0 -53
  1220. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/suggest.js +0 -200
  1221. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +0 -25
  1222. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +0 -175
  1223. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  1224. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +0 -205
  1225. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +0 -25
  1226. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/export.js +0 -113
  1227. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +0 -12
  1228. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/index.js +0 -31
  1229. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +0 -109
  1230. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +0 -307
  1231. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +0 -95
  1232. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +0 -413
  1233. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +0 -72
  1234. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +0 -373
  1235. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +0 -49
  1236. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +0 -183
  1237. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +0 -82
  1238. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +0 -272
  1239. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +0 -6
  1240. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +0 -6
  1241. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +0 -84
  1242. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +0 -382
  1243. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +0 -70
  1244. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/download.js +0 -334
  1245. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +0 -84
  1246. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/index.js +0 -153
  1247. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +0 -76
  1248. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +0 -294
  1249. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +0 -58
  1250. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +0 -285
  1251. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +0 -54
  1252. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/search.js +0 -232
  1253. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  1254. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +0 -190
  1255. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +0 -193
  1256. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/store/types.js +0 -6
  1257. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
  1258. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +0 -105
  1259. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
  1260. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +0 -214
  1261. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +0 -245
  1262. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/transfer/types.js +0 -6
  1263. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/types.d.ts +0 -13
  1264. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/types.js +0 -13
  1265. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/checker.d.ts +0 -34
  1266. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/checker.js +0 -191
  1267. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/executor.d.ts +0 -33
  1268. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/executor.js +0 -217
  1269. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/index.d.ts +0 -33
  1270. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/index.js +0 -64
  1271. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +0 -20
  1272. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +0 -96
  1273. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/validator.d.ts +0 -17
  1274. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/src/update/validator.js +0 -123
  1275. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/dist/tsconfig.tsbuildinfo +0 -1
  1276. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/.dockerignore +0 -66
  1277. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile +0 -128
  1278. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.appliance +0 -148
  1279. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.full +0 -68
  1280. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/Dockerfile.headless +0 -112
  1281. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/docker-compose.workers.yml +0 -159
  1282. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/docker/docker-compose.yml +0 -117
  1283. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/package.json +0 -130
  1284. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/deploy-ipfs-node.sh +0 -153
  1285. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/postinstall.cjs +0 -153
  1286. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/publish-registry.ts +0 -345
  1287. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/scripts/publish.sh +0 -57
  1288. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/gguf-engine.ts +0 -453
  1289. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/ruvllm-bridge.ts +0 -345
  1290. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-builder.ts +0 -394
  1291. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-distribution.ts +0 -406
  1292. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-format.ts +0 -500
  1293. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-runner.ts +0 -282
  1294. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/appliance/rvfa-signing.ts +0 -461
  1295. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/autopilot-state.ts +0 -317
  1296. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/data/pretrain-corpus.json +0 -99
  1297. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/data/training-patterns.json +0 -171
  1298. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/benchmarks/pretrain/index.ts +0 -546
  1299. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/agent-wasm.ts +0 -367
  1300. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/agent.ts +0 -1068
  1301. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/analyze.ts +0 -2343
  1302. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/appliance-advanced.ts +0 -219
  1303. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/appliance.ts +0 -443
  1304. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/autopilot.ts +0 -404
  1305. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/benchmark.ts +0 -513
  1306. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/claims.ts +0 -677
  1307. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/cleanup.ts +0 -269
  1308. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/completions.ts +0 -558
  1309. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/config.ts +0 -441
  1310. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/daemon.ts +0 -1171
  1311. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/deployment.ts +0 -770
  1312. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/doctor.ts +0 -926
  1313. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/embeddings.ts +0 -1796
  1314. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/guidance.ts +0 -626
  1315. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/hive-mind.ts +0 -1455
  1316. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/hooks.ts +0 -5329
  1317. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/index.ts +0 -388
  1318. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/init.ts +0 -1142
  1319. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/issues.ts +0 -642
  1320. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/mcp.ts +0 -812
  1321. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/memory.ts +0 -1668
  1322. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/migrate.ts +0 -783
  1323. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/neural.ts +0 -1792
  1324. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/performance.ts +0 -655
  1325. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/plugins.ts +0 -942
  1326. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/process.ts +0 -738
  1327. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/progress.ts +0 -298
  1328. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/providers.ts +0 -571
  1329. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/route.ts +0 -905
  1330. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/backup.ts +0 -806
  1331. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/benchmark.ts +0 -531
  1332. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/import.ts +0 -428
  1333. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/index.ts +0 -137
  1334. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/init.ts +0 -515
  1335. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/migrate.ts +0 -541
  1336. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/optimize.ts +0 -576
  1337. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/pg-utils.ts +0 -46
  1338. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/setup.ts +0 -783
  1339. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/ruvector/status.ts +0 -500
  1340. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/security.ts +0 -963
  1341. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/session.ts +0 -905
  1342. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/start.ts +0 -478
  1343. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/status.ts +0 -742
  1344. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/swarm.ts +0 -943
  1345. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/task.ts +0 -796
  1346. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/transfer-store.ts +0 -493
  1347. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/update.ts +0 -340
  1348. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/verify.ts +0 -313
  1349. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/commands/workflow.ts +0 -742
  1350. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/config-adapter.ts +0 -211
  1351. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/encryption/vault.ts +0 -192
  1352. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/fs-secure.ts +0 -130
  1353. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/index.ts +0 -739
  1354. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/infrastructure/in-memory-repositories.ts +0 -310
  1355. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/claudemd-generator.ts +0 -388
  1356. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/executor.ts +0 -2082
  1357. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/helpers-generator.ts +0 -1203
  1358. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/index.ts +0 -63
  1359. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/mcp-generator.ts +0 -146
  1360. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/settings-generator.ts +0 -490
  1361. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/statusline-generator.ts +0 -942
  1362. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/init/types.ts +0 -570
  1363. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/log-filters.ts +0 -35
  1364. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-client.ts +0 -326
  1365. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-server.ts +0 -895
  1366. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agent-execute-core.ts +0 -427
  1367. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agent-tools.ts +0 -787
  1368. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/agentdb-tools.ts +0 -817
  1369. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/analyze-tools.ts +0 -354
  1370. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/auto-install.ts +0 -163
  1371. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/autopilot-tools.ts +0 -252
  1372. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/browser-session-tools.ts +0 -330
  1373. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/browser-tools.ts +0 -704
  1374. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/claims-tools.ts +0 -922
  1375. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/config-tools.ts +0 -450
  1376. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/coordination-tools.ts +0 -826
  1377. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/daa-tools.ts +0 -566
  1378. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts +0 -982
  1379. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/github-tools.ts +0 -610
  1380. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/guidance-tools.ts +0 -682
  1381. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/hive-mind-tools.ts +0 -1073
  1382. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/hooks-tools.ts +0 -4149
  1383. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/index.ts +0 -27
  1384. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/managed-agent-tools.ts +0 -359
  1385. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/memory-tools.ts +0 -1267
  1386. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/neural-tools.ts +0 -823
  1387. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/performance-tools.ts +0 -724
  1388. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/progress-tools.ts +0 -387
  1389. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/request-tracker.ts +0 -36
  1390. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/ruvllm-tools.ts +0 -314
  1391. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/security-tools.ts +0 -558
  1392. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/session-tools.ts +0 -560
  1393. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/swarm-tools.ts +0 -436
  1394. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/system-tools.ts +0 -705
  1395. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/task-tools.ts +0 -534
  1396. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/terminal-tools.ts +0 -352
  1397. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/transfer-tools.ts +0 -419
  1398. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/types.ts +0 -8
  1399. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/validate-input.ts +0 -9
  1400. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/wasm-agent-tools.ts +0 -236
  1401. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/mcp-tools/workflow-tools.ts +0 -953
  1402. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/ewc-consolidation.ts +0 -819
  1403. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/intelligence.ts +0 -1449
  1404. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/memory-bridge.ts +0 -2404
  1405. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/memory-initializer.ts +0 -2913
  1406. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/neural-package-bridge.ts +0 -91
  1407. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/rabitq-index.ts +0 -312
  1408. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/memory/sona-optimizer.ts +0 -988
  1409. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/output.ts +0 -9
  1410. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/parser.ts +0 -543
  1411. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/manager.ts +0 -539
  1412. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/discovery.ts +0 -1261
  1413. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/index.ts +0 -178
  1414. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/search.ts +0 -304
  1415. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/store/types.ts +0 -346
  1416. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/demo-plugin-store.ts +0 -139
  1417. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/standalone-test.ts +0 -201
  1418. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/plugins/tests/test-plugin-store.ts +0 -330
  1419. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/circuit-breaker.ts +0 -322
  1420. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/error-handler.ts +0 -398
  1421. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/index.ts +0 -23
  1422. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/monitoring.ts +0 -488
  1423. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/rate-limiter.ts +0 -282
  1424. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/production/retry.ts +0 -270
  1425. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/prompt.ts +0 -619
  1426. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/runtime/headless.ts +0 -352
  1427. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/README.md +0 -673
  1428. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/agent-wasm.ts +0 -429
  1429. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/ast-analyzer.ts +0 -312
  1430. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/coverage-router.ts +0 -653
  1431. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/coverage-tools.ts +0 -173
  1432. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/diff-classifier.ts +0 -786
  1433. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/diskann-backend.ts +0 -375
  1434. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/enhanced-model-router.ts +0 -674
  1435. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/graph-analyzer.ts +0 -1240
  1436. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/graph-backend.ts +0 -271
  1437. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/index.ts +0 -227
  1438. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/lora-adapter.ts +0 -696
  1439. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/model-router.ts +0 -827
  1440. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/q-learning-router.ts +0 -882
  1441. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/ruvllm-wasm.ts +0 -485
  1442. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/semantic-router.ts +0 -228
  1443. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/ruvector/vector-db.ts +0 -323
  1444. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/agentic-flow-bridge.ts +0 -109
  1445. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/claim-service.ts +0 -1117
  1446. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/config-file-manager.ts +0 -235
  1447. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/container-worker-pool.ts +0 -784
  1448. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/headless-worker-executor.ts +0 -1395
  1449. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/index.ts +0 -64
  1450. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/registry-api.ts +0 -203
  1451. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/ruvector-training.ts +0 -943
  1452. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/worker-daemon.ts +0 -1512
  1453. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/services/worker-queue.ts +0 -702
  1454. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/suggest.ts +0 -245
  1455. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/tmp.json +0 -0
  1456. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/anonymization/index.ts +0 -207
  1457. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/deploy-seraphine.ts +0 -239
  1458. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/export.ts +0 -158
  1459. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/exports/seraphine-genesis.cfp.json +0 -350
  1460. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/index.ts +0 -128
  1461. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/ipfs/client.ts +0 -387
  1462. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/ipfs/upload.ts +0 -542
  1463. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/models/seraphine.ts +0 -397
  1464. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/serialization/cfp.ts +0 -216
  1465. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/storage/gcs.ts +0 -345
  1466. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/storage/index.ts +0 -6
  1467. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/discovery.ts +0 -462
  1468. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/download.ts +0 -417
  1469. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/index.ts +0 -254
  1470. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/publish.ts +0 -383
  1471. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/registry.ts +0 -334
  1472. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/search.ts +0 -307
  1473. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/tests/standalone-test.ts +0 -207
  1474. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/store/types.ts +0 -235
  1475. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/test-seraphine.ts +0 -112
  1476. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/tests/test-store.ts +0 -336
  1477. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/tmp.json +0 -0
  1478. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/transfer/types.ts +0 -288
  1479. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/types/optional-modules.d.ts +0 -438
  1480. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/types.ts +0 -13
  1481. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/checker.ts +0 -267
  1482. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/executor.ts +0 -287
  1483. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/index.ts +0 -114
  1484. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/rate-limiter.ts +0 -122
  1485. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli/src/update/validator.ts +0 -179
  1486. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/README.md +0 -64
  1487. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/package.json +0 -58
  1488. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/scripts/cold-cache-bench.sh +0 -66
  1489. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/scripts/migrate-plugin-call-sites.mjs +0 -137
  1490. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/commands/memory.ts +0 -204
  1491. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/index.ts +0 -131
  1492. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/hooks-defs.ts +0 -128
  1493. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/index.ts +0 -26
  1494. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/memory-defs.ts +0 -112
  1495. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/types.ts +0 -46
  1496. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/mcp-tools/validate-input.ts +0 -256
  1497. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/memory/backend.ts +0 -115
  1498. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/memory/json-backend.ts +0 -205
  1499. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/output.ts +0 -640
  1500. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/cli-core/src/types.ts +0 -287
  1501. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/.agents/config.toml +0 -135
  1502. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/README.md +0 -1043
  1503. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/architect.yaml +0 -11
  1504. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/coder.yaml +0 -11
  1505. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/reviewer.yaml +0 -10
  1506. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/security-architect.yaml +0 -10
  1507. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/agents/tester.yaml +0 -10
  1508. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/package.json +0 -102
  1509. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/cli.ts +0 -713
  1510. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/cli.ts +0 -292
  1511. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/index.ts +0 -14
  1512. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/dual-mode/orchestrator.ts +0 -492
  1513. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/agents-md.ts +0 -695
  1514. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/config-toml.ts +0 -1016
  1515. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/index.ts +0 -9
  1516. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/generators/skill-md.ts +0 -990
  1517. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/index.ts +0 -97
  1518. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/initializer.ts +0 -743
  1519. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/loop/cli.ts +0 -130
  1520. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/loop/index.ts +0 -310
  1521. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/migrations/index.ts +0 -1026
  1522. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/templates/index.ts +0 -295
  1523. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/types.ts +0 -253
  1524. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/src/validators/index.ts +0 -1089
  1525. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/codex/tmp.json +0 -0
  1526. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/README.md +0 -333
  1527. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/basic-release.ts +0 -92
  1528. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/dry-run.ts +0 -70
  1529. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/examples/prerelease-workflow.ts +0 -98
  1530. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/package.json +0 -27
  1531. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/index.ts +0 -88
  1532. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/publisher.ts +0 -273
  1533. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/release-manager.ts +0 -380
  1534. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/types.ts +0 -159
  1535. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/src/validator.ts +0 -310
  1536. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/deployment/tmp.json +0 -0
  1537. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/README.md +0 -651
  1538. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/architect.yaml +0 -11
  1539. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/coder.yaml +0 -11
  1540. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/reviewer.yaml +0 -10
  1541. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/security-architect.yaml +0 -10
  1542. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/agents/tester.yaml +0 -10
  1543. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/package.json +0 -73
  1544. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/chunking.ts +0 -353
  1545. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/embedding-service.ts +0 -1169
  1546. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/hyperbolic.ts +0 -458
  1547. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/index.ts +0 -126
  1548. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/neural-integration.ts +0 -340
  1549. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/normalization.ts +0 -267
  1550. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/persistent-cache.ts +0 -410
  1551. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/rvf-embedding-cache.ts +0 -578
  1552. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/rvf-embedding-service.ts +0 -377
  1553. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/transformers-loader.ts +0 -89
  1554. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/src/types.ts +0 -300
  1555. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/embeddings/tmp.json +0 -0
  1556. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/README.md +0 -1195
  1557. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/architect.yaml +0 -11
  1558. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/coder.yaml +0 -11
  1559. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/reviewer.yaml +0 -10
  1560. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/security-architect.yaml +0 -10
  1561. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/agents/tester.yaml +0 -10
  1562. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/package.json +0 -198
  1563. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/scripts/analyze-claude-md.ts +0 -174
  1564. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/adversarial.ts +0 -801
  1565. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/analyzer.ts +0 -3237
  1566. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/artifacts.ts +0 -556
  1567. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/authority.ts +0 -768
  1568. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/capabilities.ts +0 -639
  1569. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/coherence.ts +0 -534
  1570. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/compiler.ts +0 -532
  1571. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/conformance-kit.ts +0 -1000
  1572. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/continue-gate.ts +0 -533
  1573. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/crypto-utils.ts +0 -26
  1574. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/evolution.ts +0 -799
  1575. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/gates.ts +0 -339
  1576. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/gateway.ts +0 -630
  1577. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/generators.ts +0 -894
  1578. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/headless.ts +0 -525
  1579. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/hooks.ts +0 -465
  1580. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/index.ts +0 -754
  1581. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/ledger.ts +0 -461
  1582. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/manifest-validator.ts +0 -1139
  1583. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/memory-gate.ts +0 -584
  1584. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/meta-governance.ts +0 -573
  1585. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/optimizer.ts +0 -435
  1586. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/persistence.ts +0 -564
  1587. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/proof.ts +0 -369
  1588. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/retriever.ts +0 -482
  1589. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/ruvbot-integration.ts +0 -1045
  1590. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/temporal.ts +0 -902
  1591. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/trust.ts +0 -634
  1592. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/truth-anchors.ts +0 -677
  1593. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/types.ts +0 -435
  1594. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/uncertainty.ts +0 -855
  1595. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/src/wasm-kernel.ts +0 -205
  1596. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/tmp.json +0 -0
  1597. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/.cargo/config.toml +0 -18
  1598. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/Cargo.lock +0 -565
  1599. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/Cargo.toml +0 -30
  1600. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/gates.rs +0 -133
  1601. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/lib.rs +0 -149
  1602. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/proof.rs +0 -173
  1603. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-kernel/src/scoring.rs +0 -170
  1604. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel.d.ts +0 -53
  1605. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel.js +0 -320
  1606. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel_bg.wasm +0 -0
  1607. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/guidance_kernel_bg.wasm.d.ts +0 -16
  1608. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/guidance/wasm-pkg/package.json +0 -12
  1609. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/README.md +0 -440
  1610. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/bin/hooks-daemon.js +0 -199
  1611. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/bin/statusline.js +0 -77
  1612. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/package.json +0 -103
  1613. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/bridge/official-hooks-bridge.ts +0 -378
  1614. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/cli/guidance-cli.ts +0 -524
  1615. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/daemons/index.ts +0 -556
  1616. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/executor/index.ts +0 -420
  1617. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/index.ts +0 -242
  1618. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/llm/index.ts +0 -11
  1619. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/llm/llm-hooks.ts +0 -552
  1620. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/mcp/index.ts +0 -586
  1621. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/reasoningbank/guidance-provider.ts +0 -416
  1622. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/reasoningbank/index.ts +0 -1090
  1623. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/registry/index.ts +0 -267
  1624. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/statusline/index.ts +0 -701
  1625. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/swarm/index.ts +0 -901
  1626. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/types.ts +0 -658
  1627. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/index.ts +0 -2075
  1628. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/mcp-tools.ts +0 -462
  1629. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/src/workers/session-hook.ts +0 -220
  1630. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/hooks/tmp.json +0 -0
  1631. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/README.md +0 -270
  1632. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/package.json +0 -55
  1633. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agent-adapter.ts +0 -651
  1634. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agentic-flow-agent.ts +0 -802
  1635. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/agentic-flow-bridge.ts +0 -803
  1636. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/attention-coordinator.ts +0 -679
  1637. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/feature-flags.ts +0 -485
  1638. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/index.ts +0 -466
  1639. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/long-running-worker.ts +0 -871
  1640. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/multi-model-router.ts +0 -1079
  1641. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/provider-adapter.ts +0 -1168
  1642. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/sdk-bridge.ts +0 -436
  1643. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/sona-adapter.ts +0 -824
  1644. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/specialized-worker.ts +0 -864
  1645. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/swarm-adapter.ts +0 -1112
  1646. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/token-optimizer.ts +0 -316
  1647. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/types.ts +0 -494
  1648. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/worker-base.ts +0 -822
  1649. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/src/worker-pool.ts +0 -933
  1650. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/integration/tmp.json +0 -0
  1651. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/analysis/README.md +0 -9
  1652. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/automation/README.md +0 -9
  1653. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/github/README.md +0 -11
  1654. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/hooks/README.md +0 -11
  1655. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/monitoring/README.md +0 -9
  1656. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/commands/optimization/README.md +0 -9
  1657. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/README.md +0 -97
  1658. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/adr-compliance.sh +0 -186
  1659. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/auto-commit.sh +0 -178
  1660. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/checkpoint-manager.sh +0 -251
  1661. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/daemon-manager.sh +0 -252
  1662. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/ddd-tracker.sh +0 -144
  1663. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/github-safe.js +0 -106
  1664. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/github-setup.sh +0 -28
  1665. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/guidance-hook.sh +0 -13
  1666. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/guidance-hooks.sh +0 -102
  1667. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/health-monitor.sh +0 -108
  1668. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-hooks.sh +0 -329
  1669. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-optimizer.sh +0 -127
  1670. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/learning-service.mjs +0 -1144
  1671. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/memory.js +0 -83
  1672. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/metrics-db.mjs +0 -488
  1673. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/pattern-consolidator.sh +0 -86
  1674. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/perf-worker.sh +0 -160
  1675. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/post-commit +0 -16
  1676. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/pre-commit +0 -26
  1677. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/quick-start.sh +0 -19
  1678. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/router.js +0 -66
  1679. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/security-scanner.sh +0 -127
  1680. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/session.js +0 -127
  1681. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/setup-mcp.sh +0 -18
  1682. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/standard-checkpoint-hooks.sh +0 -189
  1683. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline-hook.sh +0 -21
  1684. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline.cjs +0 -509
  1685. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/statusline.js +0 -316
  1686. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-comms.sh +0 -353
  1687. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-hooks.sh +0 -761
  1688. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/swarm-monitor.sh +0 -211
  1689. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/sync-v3-metrics.sh +0 -245
  1690. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/update-v3-progress.sh +0 -166
  1691. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/v3-quick-status.sh +0 -58
  1692. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/v3.sh +0 -111
  1693. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/validate-v3-config.sh +0 -216
  1694. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/helpers/worker-manager.sh +0 -170
  1695. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/.claude/settings.json +0 -237
  1696. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/README.md +0 -428
  1697. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/package.json +0 -44
  1698. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/pnpm-lock.yaml +0 -1646
  1699. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/connection-pool.ts +0 -344
  1700. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/index.ts +0 -253
  1701. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/oauth.ts +0 -447
  1702. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/prompt-registry.ts +0 -296
  1703. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/rate-limiter.ts +0 -266
  1704. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/resource-registry.ts +0 -530
  1705. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/sampling.ts +0 -363
  1706. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/schema-validator.ts +0 -213
  1707. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/server.ts +0 -1131
  1708. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/session-manager.ts +0 -339
  1709. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/task-manager.ts +0 -427
  1710. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/tool-registry.ts +0 -475
  1711. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/http.ts +0 -532
  1712. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/index.ts +0 -233
  1713. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/stdio.ts +0 -252
  1714. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/transport/websocket.ts +0 -396
  1715. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/src/types.ts +0 -669
  1716. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/mcp/tmp.json +0 -0
  1717. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/README.md +0 -587
  1718. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/architect.yaml +0 -11
  1719. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/coder.yaml +0 -11
  1720. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/reviewer.yaml +0 -10
  1721. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/security-architect.yaml +0 -10
  1722. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/agents/tester.yaml +0 -10
  1723. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/cache-hit-rate.bench.ts +0 -535
  1724. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/hnsw-indexing.bench.ts +0 -552
  1725. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/adapters/agentdb-adapter.ts +0 -102
  1726. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/adapters/baseline-adapter.ts +0 -104
  1727. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/harness.ts +0 -374
  1728. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/results/.gitkeep +0 -0
  1729. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/scripts/download-dataset.sh +0 -28
  1730. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/scripts/run-benchmark.sh +0 -46
  1731. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/longmemeval/types.ts +0 -120
  1732. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/memory-write.bench.ts +0 -469
  1733. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/benchmarks/vector-search.bench.ts +0 -449
  1734. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/examples/agentdb-example.ts +0 -345
  1735. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/examples/cross-platform-usage.ts +0 -326
  1736. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/framework/benchmark.ts +0 -112
  1737. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/package.json +0 -48
  1738. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/scripts/smoke-no-bsqlite.mjs +0 -77
  1739. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agent-memory-scope.ts +0 -308
  1740. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agentdb-adapter.ts +0 -1037
  1741. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agentdb-backend.ts +0 -1080
  1742. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/architect.yaml +0 -11
  1743. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/coder.yaml +0 -11
  1744. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/reviewer.yaml +0 -10
  1745. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/security-architect.yaml +0 -10
  1746. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/agents/tester.yaml +0 -10
  1747. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/commands/delete-memory.command.ts +0 -172
  1748. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/commands/store-memory.command.ts +0 -103
  1749. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/index.ts +0 -36
  1750. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/queries/search-memory.query.ts +0 -237
  1751. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/application/services/memory-application-service.ts +0 -236
  1752. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/auto-memory-bridge.ts +0 -966
  1753. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/cache-manager.ts +0 -516
  1754. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/controller-registry.ts +0 -1029
  1755. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/database-provider.ts +0 -540
  1756. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/entities/memory-entry.ts +0 -289
  1757. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/index.ts +0 -35
  1758. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/repositories/memory-repository.interface.ts +0 -120
  1759. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/domain/services/memory-domain-service.ts +0 -403
  1760. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hnsw-index.ts +0 -1209
  1761. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hnsw-lite.ts +0 -190
  1762. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/hybrid-backend.ts +0 -789
  1763. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/index.ts +0 -606
  1764. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/infrastructure/index.ts +0 -23
  1765. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/infrastructure/repositories/hybrid-memory-repository.ts +0 -516
  1766. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/json-security.ts +0 -21
  1767. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/learning-bridge.ts +0 -453
  1768. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/memory-graph.ts +0 -392
  1769. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/migration.ts +0 -669
  1770. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/persistent-sona.ts +0 -439
  1771. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/query-builder.ts +0 -542
  1772. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-backend.ts +0 -527
  1773. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-learning-store.ts +0 -410
  1774. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/rvf-migration.ts +0 -254
  1775. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/smart-retrieval.ts +0 -433
  1776. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/sqlite-backend.ts +0 -746
  1777. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/sqljs-backend.ts +0 -767
  1778. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/tmp.json +0 -0
  1779. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/src/types.ts +0 -752
  1780. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/tmp.json +0 -0
  1781. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/memory/verify-cross-platform.ts +0 -170
  1782. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/README.md +0 -222
  1783. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/examples/sona-usage.ts +0 -318
  1784. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/package.json +0 -134
  1785. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.d.ts +0 -86
  1786. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.js +0 -361
  1787. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/a2c.ts +0 -478
  1788. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.d.ts +0 -82
  1789. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.js +0 -392
  1790. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/curiosity.ts +0 -509
  1791. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.d.ts +0 -82
  1792. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.js +0 -415
  1793. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/decision-transformer.ts +0 -521
  1794. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.d.ts +0 -72
  1795. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.js +0 -303
  1796. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/dqn.ts +0 -382
  1797. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.d.ts +0 -32
  1798. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.js +0 -74
  1799. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/index.ts +0 -122
  1800. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.d.ts +0 -72
  1801. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.js +0 -331
  1802. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/ppo.ts +0 -429
  1803. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.d.ts +0 -77
  1804. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.js +0 -259
  1805. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/q-learning.ts +0 -333
  1806. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.d.ts +0 -82
  1807. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.js +0 -297
  1808. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/sarsa.ts +0 -383
  1809. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/algorithms/tmp.json +0 -0
  1810. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/application/index.ts +0 -11
  1811. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/application/services/neural-application-service.ts +0 -217
  1812. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/entities/pattern.ts +0 -169
  1813. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/index.ts +0 -18
  1814. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/domain/services/learning-service.ts +0 -256
  1815. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/flash-attention.ts +0 -857
  1816. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/index.ts +0 -442
  1817. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.d.ts +0 -60
  1818. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.js +0 -234
  1819. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/balanced.ts +0 -299
  1820. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/base.ts +0 -163
  1821. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.d.ts +0 -82
  1822. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.js +0 -316
  1823. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/batch.ts +0 -434
  1824. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.d.ts +0 -85
  1825. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.js +0 -310
  1826. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/edge.ts +0 -409
  1827. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.d.ts +0 -55
  1828. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.js +0 -83
  1829. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/index.ts +0 -16
  1830. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.d.ts +0 -58
  1831. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.js +0 -196
  1832. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/real-time.ts +0 -257
  1833. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.d.ts +0 -79
  1834. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.js +0 -389
  1835. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/research.ts +0 -486
  1836. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/modes/tmp.json +0 -0
  1837. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/moe-router.ts +0 -822
  1838. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/pattern-learner.ts +0 -835
  1839. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/reasoning-bank.ts +0 -1362
  1840. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/reasoningbank-adapter.ts +0 -697
  1841. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/sona-integration.ts +0 -432
  1842. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/sona-manager.ts +0 -906
  1843. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/tmp.json +0 -0
  1844. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/types.ts +0 -590
  1845. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/rng.ts +0 -124
  1846. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/self-consistency.ts +0 -134
  1847. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/src/utils/serialize.ts +0 -91
  1848. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/neural/tmp.json +0 -0
  1849. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/README.md +0 -256
  1850. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/attention/memory-efficiency.bench.ts +0 -569
  1851. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/attention/multi-head-attention.bench.ts +0 -566
  1852. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/agent-spawn.bench.ts +0 -422
  1853. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/cli-cold-start.bench.ts +0 -327
  1854. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/cli-warm-start.bench.ts +0 -277
  1855. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/benchmarks/startup/mcp-server-init.bench.ts +0 -380
  1856. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/package.json +0 -29
  1857. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/attention-benchmarks.ts +0 -455
  1858. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/attention-integration.ts +0 -594
  1859. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/examples/flash-attention-demo.ts +0 -160
  1860. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/examples/quick-test.ts +0 -62
  1861. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/framework/benchmark.ts +0 -583
  1862. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/src/index.ts +0 -63
  1863. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/performance/tmp.json +0 -0
  1864. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/.claude-flow/data/pending-insights.jsonl +0 -1
  1865. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/.claude-flow/federation/key-test-node.json +0 -6
  1866. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/README.md +0 -45
  1867. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/package.json +0 -44
  1868. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/scripts/phase7-stage.mjs +0 -144
  1869. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/federation-breaker-service.ts +0 -375
  1870. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/federation-coordinator.ts +0 -638
  1871. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/inbound-dispatcher.ts +0 -208
  1872. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/policy-engine.ts +0 -248
  1873. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/spend-reporter.ts +0 -194
  1874. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/application/trust-evaluator.ts +0 -205
  1875. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/bin.ts +0 -203
  1876. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/cli-commands.ts +0 -206
  1877. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-envelope.ts +0 -125
  1878. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-node.ts +0 -226
  1879. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/federation-session.ts +0 -148
  1880. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/entities/trust-level.ts +0 -43
  1881. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/audit-service.ts +0 -256
  1882. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/discovery-service.ts +0 -198
  1883. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/handshake-service.ts +0 -164
  1884. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/pii-pipeline-service.ts +0 -296
  1885. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/routing-service.ts +0 -223
  1886. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-firewall-service.ts +0 -251
  1887. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-mesh-service.ts +0 -347
  1888. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/services/wg-witness-service.ts +0 -183
  1889. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/federation-budget.ts +0 -211
  1890. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/federation-node-state.ts +0 -129
  1891. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/domain/value-objects/wg-config.ts +0 -139
  1892. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/index.ts +0 -116
  1893. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/mcp-tools.ts +0 -467
  1894. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/plugin.ts +0 -478
  1895. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/src/transport/midstream-aware-loader.ts +0 -169
  1896. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-agent-federation/tsconfig.tsbuildinfo +0 -1
  1897. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/README.md +0 -93
  1898. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/package.json +0 -51
  1899. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/application/index.ts +0 -5
  1900. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/application/iot-coordinator.ts +0 -582
  1901. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/bin.ts +0 -259
  1902. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/cli-commands.ts +0 -542
  1903. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-agent.ts +0 -70
  1904. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-fleet.ts +0 -51
  1905. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/device-trust-level.ts +0 -28
  1906. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/index.ts +0 -28
  1907. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/entities/telemetry.ts +0 -49
  1908. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/device-repository.ts +0 -11
  1909. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/fleet-repository.ts +0 -9
  1910. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/index.ts +0 -10
  1911. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/telemetry-repository.ts +0 -12
  1912. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/repositories/trust-history-repository.ts +0 -20
  1913. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/anomaly-detection-service.ts +0 -159
  1914. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/device-lifecycle-service.ts +0 -293
  1915. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/firmware-orchestration-service.ts +0 -221
  1916. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/fleet-topology-service.ts +0 -140
  1917. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/index.ts +0 -58
  1918. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/mesh-service.ts +0 -132
  1919. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/sona-integration-service.ts +0 -113
  1920. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/telemetry-ingestion-service.ts +0 -61
  1921. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/telemetry-service.ts +0 -135
  1922. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/domain/services/witness-verification-service.ts +0 -108
  1923. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/index.ts +0 -25
  1924. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/agentdb-telemetry-repository.ts +0 -131
  1925. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-device-repository.ts +0 -38
  1926. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-fleet-repository.ts +0 -26
  1927. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/in-memory-trust-history-repository.ts +0 -44
  1928. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/index.ts +0 -13
  1929. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/infrastructure/seed-client-factory.ts +0 -94
  1930. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/mcp-tools.ts +0 -721
  1931. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts +0 -263
  1932. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/anomaly-scan-worker.ts +0 -52
  1933. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/firmware-watch-worker.ts +0 -57
  1934. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/health-probe-worker.ts +0 -62
  1935. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/mesh-sync-worker.ts +0 -60
  1936. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/telemetry-ingest-worker.ts +0 -50
  1937. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugin-iot-cognitum/src/workers/witness-audit-worker.ts +0 -64
  1938. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/README.md +0 -401
  1939. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/plugin-creator/index.ts +0 -636
  1940. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/README.md +0 -288
  1941. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/attention-patterns.ts +0 -394
  1942. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/basic-usage.ts +0 -288
  1943. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/docker-compose.yml +0 -75
  1944. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/gnn-analysis.ts +0 -501
  1945. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/hyperbolic-hierarchies.ts +0 -557
  1946. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/init-db.sql +0 -119
  1947. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/quantization.ts +0 -680
  1948. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/self-learning.ts +0 -447
  1949. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/semantic-search.ts +0 -576
  1950. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/streaming-large-data.ts +0 -507
  1951. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector/transactions.ts +0 -594
  1952. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/hook-pattern-library.ts +0 -486
  1953. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/index.ts +0 -79
  1954. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/intent-router.ts +0 -354
  1955. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/mcp-tool-optimizer.ts +0 -424
  1956. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/reasoning-bank.ts +0 -657
  1957. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/semantic-code-search.ts +0 -498
  1958. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/shared/index.ts +0 -20
  1959. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/shared/vector-utils.ts +0 -257
  1960. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/examples/ruvector-plugins/sona-learning.ts +0 -445
  1961. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/package.json +0 -97
  1962. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/collection-manager.ts +0 -661
  1963. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/index.ts +0 -56
  1964. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/collections/official/index.ts +0 -1040
  1965. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/core/base-plugin.ts +0 -416
  1966. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/core/plugin-interface.ts +0 -215
  1967. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/hooks/index.ts +0 -685
  1968. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/index.ts +0 -378
  1969. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/agentic-flow.ts +0 -743
  1970. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/index.ts +0 -88
  1971. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-advanced.ts +0 -1040
  1972. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-executor.ts +0 -782
  1973. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention-mechanisms.ts +0 -757
  1974. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/attention.ts +0 -1063
  1975. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/gnn.ts +0 -3050
  1976. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/hyperbolic.ts +0 -1948
  1977. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/index.ts +0 -394
  1978. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/001_create_extension.sql +0 -135
  1979. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/002_create_vector_tables.sql +0 -259
  1980. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/003_create_indices.sql +0 -328
  1981. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/004_create_functions.sql +0 -598
  1982. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/005_create_attention_functions.sql +0 -654
  1983. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/006_create_gnn_functions.sql +0 -728
  1984. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/007_create_hyperbolic_functions.sql +0 -762
  1985. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/index.ts +0 -35
  1986. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/migrations/migrations.ts +0 -647
  1987. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/quantization.ts +0 -2036
  1988. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/ruvector-bridge.ts +0 -2000
  1989. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/self-learning.ts +0 -2376
  1990. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/streaming.ts +0 -1737
  1991. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/integrations/ruvector/types.ts +0 -1945
  1992. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/providers/index.ts +0 -645
  1993. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/dependency-graph.ts +0 -568
  1994. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/enhanced-plugin-registry.ts +0 -1040
  1995. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/registry/plugin-registry.ts +0 -604
  1996. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/sdk/index.ts +0 -601
  1997. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/security/index.ts +0 -594
  1998. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/types/index.ts +0 -446
  1999. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/types/pg.d.ts +0 -7
  2000. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/src/workers/index.ts +0 -700
  2001. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/plugins/tmp.json +0 -0
  2002. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/README.md +0 -574
  2003. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/package.json +0 -70
  2004. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/anthropic-provider.ts +0 -435
  2005. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/base-provider.ts +0 -596
  2006. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/cohere-provider.ts +0 -423
  2007. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/google-provider.ts +0 -429
  2008. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/index.ts +0 -40
  2009. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/ollama-provider.ts +0 -408
  2010. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/openai-provider.ts +0 -490
  2011. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/provider-manager.ts +0 -538
  2012. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/ruvector-provider.ts +0 -721
  2013. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/src/types.ts +0 -435
  2014. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/providers/tmp.json +0 -0
  2015. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/README.md +0 -234
  2016. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/package.json +0 -27
  2017. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/CVE-REMEDIATION.ts +0 -251
  2018. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/application/index.ts +0 -10
  2019. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/application/services/security-application-service.ts +0 -193
  2020. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/credential-generator.ts +0 -368
  2021. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/entities/security-context.ts +0 -173
  2022. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/index.ts +0 -17
  2023. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/domain/services/security-domain-service.ts +0 -296
  2024. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/index.ts +0 -271
  2025. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/input-validator.ts +0 -466
  2026. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/password-hasher.ts +0 -277
  2027. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/path-validator.ts +0 -525
  2028. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/safe-executor.ts +0 -546
  2029. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/src/token-generator.ts +0 -463
  2030. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/security/tmp.json +0 -0
  2031. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/README.md +0 -323
  2032. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/package.json +0 -43
  2033. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/defaults.ts +0 -207
  2034. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/index.ts +0 -15
  2035. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/loader.ts +0 -287
  2036. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/schema.ts +0 -190
  2037. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/config/validator.ts +0 -209
  2038. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/event-bus.ts +0 -236
  2039. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/index.ts +0 -22
  2040. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/agent.interface.ts +0 -251
  2041. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/coordinator.interface.ts +0 -363
  2042. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/event.interface.ts +0 -267
  2043. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/index.ts +0 -19
  2044. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/memory.interface.ts +0 -332
  2045. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/interfaces/task.interface.ts +0 -223
  2046. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/event-coordinator.ts +0 -122
  2047. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/health-monitor.ts +0 -214
  2048. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/index.ts +0 -89
  2049. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/lifecycle-manager.ts +0 -263
  2050. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/session-manager.ts +0 -279
  2051. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/core/orchestrator/task-manager.ts +0 -317
  2052. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/domain-events.ts +0 -584
  2053. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/event-store.ts +0 -597
  2054. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/example-usage.ts +0 -293
  2055. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/index.ts +0 -94
  2056. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/projections.ts +0 -561
  2057. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/rvf-event-log.ts +0 -427
  2058. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events/state-reconstructor.ts +0 -349
  2059. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/events.ts +0 -367
  2060. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/README.md +0 -532
  2061. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/example-usage.ts +0 -499
  2062. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/executor.ts +0 -381
  2063. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/index.ts +0 -131
  2064. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/registry.ts +0 -333
  2065. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/bash-safety.ts +0 -604
  2066. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/file-organization.ts +0 -473
  2067. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/git-commit.ts +0 -623
  2068. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/safety/index.ts +0 -46
  2069. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/session-hooks.ts +0 -559
  2070. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/task-hooks.ts +0 -513
  2071. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/hooks/types.ts +0 -357
  2072. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/index.ts +0 -195
  2073. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/connection-pool.ts +0 -438
  2074. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/index.ts +0 -183
  2075. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/server.ts +0 -771
  2076. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/session-manager.ts +0 -428
  2077. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/tool-registry.ts +0 -566
  2078. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/http.ts +0 -557
  2079. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/index.ts +0 -294
  2080. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/stdio.ts +0 -324
  2081. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/transport/websocket.ts +0 -484
  2082. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/mcp/types.ts +0 -563
  2083. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-interface.ts +0 -663
  2084. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-loader.ts +0 -638
  2085. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugin-registry.ts +0 -604
  2086. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/index.ts +0 -34
  2087. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/hive-mind-plugin.ts +0 -330
  2088. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/index.ts +0 -24
  2089. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/official/maestro-plugin.ts +0 -508
  2090. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/plugins/types.ts +0 -108
  2091. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/bulkhead.ts +0 -277
  2092. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/circuit-breaker.ts +0 -326
  2093. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/index.ts +0 -26
  2094. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/rate-limiter.ts +0 -420
  2095. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/resilience/retry.ts +0 -224
  2096. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/index.ts +0 -39
  2097. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/input-validation.ts +0 -265
  2098. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/security/secure-random.ts +0 -159
  2099. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/services/index.ts +0 -16
  2100. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/services/v3-progress.service.ts +0 -505
  2101. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/agent.types.ts +0 -144
  2102. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/index.ts +0 -22
  2103. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/mcp.types.ts +0 -300
  2104. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/memory.types.ts +0 -263
  2105. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/swarm.types.ts +0 -255
  2106. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types/task.types.ts +0 -205
  2107. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/types.ts +0 -367
  2108. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.d.ts +0 -69
  2109. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.js +0 -208
  2110. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/src/utils/secure-logger.ts +0 -257
  2111. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/shared/tmp.json +0 -0
  2112. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/README.md +0 -634
  2113. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/package.json +0 -32
  2114. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/agent-pool.ts +0 -476
  2115. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/commands/create-task.command.ts +0 -124
  2116. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/commands/spawn-agent.command.ts +0 -122
  2117. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/index.ts +0 -30
  2118. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/application/services/swarm-application-service.ts +0 -200
  2119. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/attention-coordinator.ts +0 -1000
  2120. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/byzantine.ts +0 -514
  2121. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/federation-transport.ts +0 -185
  2122. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/gossip.ts +0 -599
  2123. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/index.ts +0 -296
  2124. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/raft.ts +0 -561
  2125. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/consensus/transport.ts +0 -284
  2126. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/agent-registry.ts +0 -544
  2127. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/index.ts +0 -23
  2128. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/swarm-hub.ts +0 -776
  2129. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/coordination/task-orchestrator.ts +0 -605
  2130. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.d.ts +0 -151
  2131. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.js +0 -280
  2132. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/agent.ts +0 -370
  2133. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.d.ts +0 -133
  2134. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.js +0 -261
  2135. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/entities/task.ts +0 -319
  2136. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/index.ts +0 -41
  2137. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.d.ts +0 -57
  2138. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.js +0 -9
  2139. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/agent-repository.interface.ts +0 -69
  2140. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.d.ts +0 -61
  2141. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.js +0 -9
  2142. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/repositories/task-repository.interface.ts +0 -75
  2143. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/domain/services/coordination-service.ts +0 -320
  2144. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.d.ts +0 -284
  2145. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.js +0 -692
  2146. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/federation-hub.ts +0 -979
  2147. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/index.ts +0 -348
  2148. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/message-bus.ts +0 -607
  2149. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/queen-coordinator.ts +0 -2025
  2150. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/shared/events.ts +0 -285
  2151. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/shared/types.ts +0 -389
  2152. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/topology-manager.ts +0 -656
  2153. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/types.ts +0 -545
  2154. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/unified-coordinator.ts +0 -1844
  2155. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/index.ts +0 -65
  2156. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.d.ts +0 -234
  2157. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.js +0 -842
  2158. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/src/workers/worker-dispatch.ts +0 -1076
  2159. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/swarm/tmp.json +0 -0
  2160. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/README.md +0 -547
  2161. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/package.json +0 -61
  2162. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/agent-fixtures.ts +0 -793
  2163. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/agents.ts +0 -212
  2164. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/configurations.ts +0 -491
  2165. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/index.ts +0 -21
  2166. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/mcp-fixtures.ts +0 -1030
  2167. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/memory-entries.ts +0 -328
  2168. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/memory-fixtures.ts +0 -750
  2169. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/swarm-fixtures.ts +0 -837
  2170. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/fixtures/tasks.ts +0 -309
  2171. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/assertion-helpers.ts +0 -616
  2172. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/assertions.ts +0 -286
  2173. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/create-mock.ts +0 -200
  2174. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/index.ts +0 -182
  2175. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/mock-factory.ts +0 -711
  2176. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/setup-teardown.ts +0 -678
  2177. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/swarm-instance.ts +0 -326
  2178. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/test-application.ts +0 -310
  2179. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/helpers/test-utils.ts +0 -670
  2180. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/index.ts +0 -232
  2181. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/index.ts +0 -29
  2182. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/mock-mcp-client.ts +0 -723
  2183. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/mocks/mock-services.ts +0 -793
  2184. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/api-contract.ts +0 -473
  2185. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/index.ts +0 -46
  2186. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/integration-regression.ts +0 -416
  2187. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/performance-baseline.ts +0 -356
  2188. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/regression-runner.ts +0 -339
  2189. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/regression/security-regression.ts +0 -331
  2190. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/setup.ts +0 -127
  2191. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/compatibility-validator.ts +0 -1072
  2192. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/index.ts +0 -58
  2193. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/src/v2-compat/report-generator.ts +0 -441
  2194. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/testing/tmp.json +0 -0
  2195. package/.claude/worktrees/adr-120-impl/v3/@claude-flow/tmp.json +0 -0
  2196. package/.claude/worktrees/adr-120-impl/v3/README.md +0 -493
  2197. package/.claude/worktrees/adr-120-impl/v3/agents/architect.yaml +0 -11
  2198. package/.claude/worktrees/adr-120-impl/v3/agents/coder.yaml +0 -11
  2199. package/.claude/worktrees/adr-120-impl/v3/agents/reviewer.yaml +0 -10
  2200. package/.claude/worktrees/adr-120-impl/v3/agents/security-architect.yaml +0 -10
  2201. package/.claude/worktrees/adr-120-impl/v3/agents/tester.yaml +0 -10
  2202. package/.claude/worktrees/adr-120-impl/v3/bunfig.toml +0 -14
  2203. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/.claude-flow/data/pending-insights.jsonl +0 -3
  2204. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/Cargo.lock +0 -3024
  2205. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/Cargo.toml +0 -53
  2206. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/src/bin.rs +0 -37
  2207. package/.claude/worktrees/adr-120-impl/v3/crates/ruflo-federation-peer/src/lib.rs +0 -382
  2208. package/.claude/worktrees/adr-120-impl/v3/goal_ui/README.md +0 -86
  2209. package/.claude/worktrees/adr-120-impl/v3/goal_ui/build-widget.sh +0 -28
  2210. package/.claude/worktrees/adr-120-impl/v3/goal_ui/components.json +0 -20
  2211. package/.claude/worktrees/adr-120-impl/v3/goal_ui/eslint.config.js +0 -26
  2212. package/.claude/worktrees/adr-120-impl/v3/goal_ui/example.env +0 -20
  2213. package/.claude/worktrees/adr-120-impl/v3/goal_ui/index.html +0 -41
  2214. package/.claude/worktrees/adr-120-impl/v3/goal_ui/netlify.toml +0 -49
  2215. package/.claude/worktrees/adr-120-impl/v3/goal_ui/package-lock.json +0 -7426
  2216. package/.claude/worktrees/adr-120-impl/v3/goal_ui/package.json +0 -91
  2217. package/.claude/worktrees/adr-120-impl/v3/goal_ui/postcss.config.js +0 -6
  2218. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/_headers +0 -26
  2219. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/_redirects +0 -8
  2220. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/favicon.svg +0 -4
  2221. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/og-image.png +0 -0
  2222. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/robots.txt +0 -14
  2223. package/.claude/worktrees/adr-120-impl/v3/goal_ui/public/widget-embed.html +0 -146
  2224. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/App.css +0 -42
  2225. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/App.tsx +0 -31
  2226. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/AgentStep.tsx +0 -343
  2227. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/DevelopmentStep.tsx +0 -294
  2228. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/GOAPConfigDisplay.tsx +0 -97
  2229. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/GoalInput.tsx +0 -185
  2230. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ResearchReportModal.tsx +0 -978
  2231. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ResearchReviewCard.tsx +0 -154
  2232. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ReviseResearchForm.tsx +0 -1115
  2233. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/StateAssessmentCard.tsx +0 -309
  2234. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/WidgetCustomizer.tsx +0 -454
  2235. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AdvancedSettingsModal.tsx +0 -658
  2236. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AgentActivityPanel.tsx +0 -203
  2237. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/AgentStatusCard.tsx +0 -52
  2238. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/CodePreview.tsx +0 -108
  2239. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/CommunicationLog.tsx +0 -87
  2240. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/DependencyGraph.tsx +0 -47
  2241. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/ExecutionDashboard.tsx +0 -403
  2242. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/ExecutionMonitor.tsx +0 -90
  2243. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/PlanVisualization.tsx +0 -201
  2244. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/QualityGates.tsx +0 -92
  2245. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/RealTimeEventLog.tsx +0 -139
  2246. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/StepExecutionPanel.tsx +0 -192
  2247. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/agents/TaskBoard.tsx +0 -89
  2248. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/accordion.tsx +0 -52
  2249. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/alert-dialog.tsx +0 -104
  2250. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/alert.tsx +0 -43
  2251. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/aspect-ratio.tsx +0 -5
  2252. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/avatar.tsx +0 -38
  2253. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/badge.tsx +0 -29
  2254. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/breadcrumb.tsx +0 -90
  2255. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/button.tsx +0 -47
  2256. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/calendar.tsx +0 -54
  2257. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/card.tsx +0 -43
  2258. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/carousel.tsx +0 -224
  2259. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/chart.tsx +0 -303
  2260. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/checkbox.tsx +0 -26
  2261. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/collapsible.tsx +0 -9
  2262. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/command.tsx +0 -132
  2263. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/context-menu.tsx +0 -178
  2264. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/dialog.tsx +0 -95
  2265. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/drawer.tsx +0 -87
  2266. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/dropdown-menu.tsx +0 -179
  2267. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/form.tsx +0 -129
  2268. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/hover-card.tsx +0 -27
  2269. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/input-otp.tsx +0 -61
  2270. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/input.tsx +0 -22
  2271. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/label.tsx +0 -17
  2272. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/menubar.tsx +0 -207
  2273. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/navigation-menu.tsx +0 -120
  2274. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/pagination.tsx +0 -81
  2275. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/popover.tsx +0 -29
  2276. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/progress.tsx +0 -23
  2277. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/radio-group.tsx +0 -36
  2278. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/resizable.tsx +0 -37
  2279. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/scroll-area.tsx +0 -38
  2280. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/select.tsx +0 -143
  2281. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/separator.tsx +0 -20
  2282. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sheet.tsx +0 -107
  2283. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sidebar.tsx +0 -637
  2284. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/skeleton.tsx +0 -7
  2285. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/slider.tsx +0 -23
  2286. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/sonner.tsx +0 -27
  2287. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/switch.tsx +0 -27
  2288. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/table.tsx +0 -72
  2289. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/tabs.tsx +0 -53
  2290. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/textarea.tsx +0 -21
  2291. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toast.tsx +0 -111
  2292. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toaster.tsx +0 -24
  2293. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toggle-group.tsx +0 -49
  2294. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/toggle.tsx +0 -37
  2295. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/tooltip.tsx +0 -28
  2296. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/components/ui/use-toast.ts +0 -3
  2297. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/hooks/use-mobile.tsx +0 -19
  2298. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/hooks/use-toast.ts +0 -186
  2299. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/index.css +0 -84
  2300. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/integrations/supabase/client.ts +0 -17
  2301. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/integrations/supabase/types.ts +0 -155
  2302. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/lib/goapPlanner.ts +0 -180
  2303. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/lib/utils.ts +0 -6
  2304. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/main.tsx +0 -5
  2305. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Agents.tsx +0 -1347
  2306. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Demo.tsx +0 -268
  2307. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/Index.tsx +0 -1655
  2308. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/pages/NotFound.tsx +0 -24
  2309. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/vite-env.d.ts +0 -1
  2310. package/.claude/worktrees/adr-120-impl/v3/goal_ui/src/widget.tsx +0 -115
  2311. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/config.toml +0 -7
  2312. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/generate-action-items/index.ts +0 -237
  2313. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/generate-research-goal/index.ts +0 -182
  2314. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/optimize-research-config/index.ts +0 -313
  2315. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/research-api/index.ts +0 -340
  2316. package/.claude/worktrees/adr-120-impl/v3/goal_ui/supabase/functions/research-step/index.ts +0 -398
  2317. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tailwind.config.ts +0 -166
  2318. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tsconfig.app.json +0 -30
  2319. package/.claude/worktrees/adr-120-impl/v3/goal_ui/tsconfig.node.json +0 -22
  2320. package/.claude/worktrees/adr-120-impl/v3/goal_ui/vite.config.ts +0 -73
  2321. package/.claude/worktrees/adr-120-impl/v3/helpers/README.md +0 -253
  2322. package/.claude/worktrees/adr-120-impl/v3/helpers/claude-flow-v3.ps1 +0 -334
  2323. package/.claude/worktrees/adr-120-impl/v3/helpers/claude-flow-v3.sh +0 -324
  2324. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/config-validator.sh +0 -120
  2325. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/progress-manager.ps1 +0 -98
  2326. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/progress-manager.sh +0 -90
  2327. package/.claude/worktrees/adr-120-impl/v3/helpers/templates/status-display.sh +0 -91
  2328. package/.claude/worktrees/adr-120-impl/v3/implementation/README.md +0 -108
  2329. package/.claude/worktrees/adr-120-impl/v3/implementation/adrs/README.md +0 -657
  2330. package/.claude/worktrees/adr-120-impl/v3/implementation/hooks/README.md +0 -589
  2331. package/.claude/worktrees/adr-120-impl/v3/implementation/init/README.md +0 -121
  2332. package/.claude/worktrees/adr-120-impl/v3/implementation/plugins/README.md +0 -374
  2333. package/.claude/worktrees/adr-120-impl/v3/implementation/v3-migration/README.md +0 -111
  2334. package/.claude/worktrees/adr-120-impl/v3/index.ts +0 -590
  2335. package/.claude/worktrees/adr-120-impl/v3/mcp/connection-pool.ts +0 -438
  2336. package/.claude/worktrees/adr-120-impl/v3/mcp/index.ts +0 -188
  2337. package/.claude/worktrees/adr-120-impl/v3/mcp/server-entry.ts +0 -320
  2338. package/.claude/worktrees/adr-120-impl/v3/mcp/server.ts +0 -792
  2339. package/.claude/worktrees/adr-120-impl/v3/mcp/session-manager.ts +0 -428
  2340. package/.claude/worktrees/adr-120-impl/v3/mcp/tmp.json +0 -0
  2341. package/.claude/worktrees/adr-120-impl/v3/mcp/tool-registry.ts +0 -602
  2342. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/README.md +0 -405
  2343. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.d.ts +0 -31
  2344. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.js +0 -420
  2345. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/agent-tools.ts +0 -528
  2346. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.d.ts +0 -26
  2347. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.js +0 -430
  2348. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/config-tools.ts +0 -611
  2349. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.d.ts +0 -28
  2350. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.js +0 -499
  2351. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/federation-tools.ts +0 -616
  2352. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.d.ts +0 -57
  2353. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.js +0 -1064
  2354. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/hooks-tools.ts +0 -1430
  2355. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.d.ts +0 -181
  2356. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.js +0 -300
  2357. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/index.ts +0 -445
  2358. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.d.ts +0 -27
  2359. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.js +0 -477
  2360. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/memory-tools.ts +0 -570
  2361. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.d.ts +0 -26
  2362. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.js +0 -691
  2363. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/session-tools.ts +0 -848
  2364. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.d.ts +0 -30
  2365. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.js +0 -684
  2366. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/sona-tools.ts +0 -1002
  2367. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.d.ts +0 -26
  2368. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.js +0 -417
  2369. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/swarm-tools.ts +0 -532
  2370. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.d.ts +0 -31
  2371. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.js +0 -725
  2372. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/system-tools.ts +0 -911
  2373. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.d.ts +0 -51
  2374. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.js +0 -1019
  2375. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/task-tools.ts +0 -1236
  2376. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.d.ts +0 -98
  2377. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.js +0 -578
  2378. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/v2-compat-tools.ts +0 -618
  2379. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.d.ts +0 -28
  2380. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.js +0 -468
  2381. package/.claude/worktrees/adr-120-impl/v3/mcp/tools/worker-tools.ts +0 -621
  2382. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/connection-pool.ts +0 -459
  2383. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/http.ts +0 -671
  2384. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/index.ts +0 -287
  2385. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/stdio.ts +0 -324
  2386. package/.claude/worktrees/adr-120-impl/v3/mcp/transport/websocket.ts +0 -513
  2387. package/.claude/worktrees/adr-120-impl/v3/mcp/types.js +0 -54
  2388. package/.claude/worktrees/adr-120-impl/v3/mcp/types.ts +0 -565
  2389. package/.claude/worktrees/adr-120-impl/v3/package-lock.json +0 -25146
  2390. package/.claude/worktrees/adr-120-impl/v3/package.json +0 -66
  2391. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/README.md +0 -318
  2392. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/architect.yaml +0 -11
  2393. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/coder.yaml +0 -11
  2394. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/reviewer.yaml +0 -10
  2395. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/security-architect.yaml +0 -10
  2396. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/agents/tester.yaml +0 -10
  2397. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/package.json +0 -96
  2398. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/plugin.yaml +0 -1095
  2399. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QECoreBridge.ts +0 -601
  2400. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEHiveBridge.ts +0 -611
  2401. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts +0 -542
  2402. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QEModelRoutingAdapter.ts +0 -385
  2403. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/QESecurityBridge.ts +0 -646
  2404. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/bridges/index.ts +0 -26
  2405. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/index.ts +0 -360
  2406. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/interfaces.ts +0 -1085
  2407. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/plugin.ts +0 -1331
  2408. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/schemas.ts +0 -635
  2409. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/chaos-resilience/chaos-inject.ts +0 -592
  2410. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/analyze-coverage.ts +0 -531
  2411. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/prioritize-gaps.ts +0 -579
  2412. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/coverage-analysis/track-trends.ts +0 -581
  2413. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/analyze-root-cause.ts +0 -734
  2414. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/find-similar-defects.ts +0 -565
  2415. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/defect-intelligence/predict-defects.ts +0 -604
  2416. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/index.ts +0 -307
  2417. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/assess-readiness.ts +0 -653
  2418. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/calculate-risk.ts +0 -594
  2419. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/quality-assessment/evaluate-quality-gate.ts +0 -564
  2420. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/audit-compliance.ts +0 -580
  2421. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/detect-secrets.ts +0 -497
  2422. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/security-compliance/security-scan.ts +0 -651
  2423. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/generate-tests.ts +0 -520
  2424. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/suggest-tests.ts +0 -500
  2425. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/tools/test-generation/tdd-cycle.ts +0 -557
  2426. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/src/types.ts +0 -1205
  2427. package/.claude/worktrees/adr-120-impl/v3/plugins/agentic-qe/tmp.json +0 -0
  2428. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/README.md +0 -381
  2429. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/package.json +0 -77
  2430. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/gnn-bridge.ts +0 -740
  2431. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/index.ts +0 -15
  2432. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/bridges/mincut-bridge.ts +0 -652
  2433. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/index.ts +0 -199
  2434. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/mcp-tools.ts +0 -1298
  2435. package/.claude/worktrees/adr-120-impl/v3/plugins/code-intelligence/src/types.ts +0 -966
  2436. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/README.md +0 -315
  2437. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/package-lock.json +0 -2052
  2438. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/package.json +0 -75
  2439. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/cognitive-bridge.ts +0 -446
  2440. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/index.ts +0 -24
  2441. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/bridges/sona-bridge.ts +0 -504
  2442. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/index.ts +0 -185
  2443. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/mcp-tools.ts +0 -1087
  2444. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/src/types.ts +0 -557
  2445. package/.claude/worktrees/adr-120-impl/v3/plugins/cognitive-kernel/tests/validate.ts +0 -230
  2446. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/README.md +0 -343
  2447. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/package-lock.json +0 -1875
  2448. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/package.json +0 -97
  2449. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/economy-bridge.ts +0 -574
  2450. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/index.ts +0 -18
  2451. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/bridges/sparse-bridge.ts +0 -562
  2452. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/index.ts +0 -201
  2453. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/mcp-tools.ts +0 -904
  2454. package/.claude/worktrees/adr-120-impl/v3/plugins/financial-risk/src/types.ts +0 -711
  2455. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/.size-limit.json +0 -61
  2456. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/Cargo.toml +0 -60
  2457. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/README.md +0 -649
  2458. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/architect.yaml +0 -11
  2459. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/coder.yaml +0 -11
  2460. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/reviewer.yaml +0 -10
  2461. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/security-architect.yaml +0 -10
  2462. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/agents/tester.yaml +0 -10
  2463. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/package-lock.json +0 -2407
  2464. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/package.json +0 -106
  2465. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/scripts/build-wasm.sh +0 -264
  2466. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/bd-bridge.ts +0 -1071
  2467. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/gt-bridge.ts +0 -879
  2468. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/index.ts +0 -79
  2469. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/bridges/sync-bridge.ts +0 -950
  2470. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/cache.ts +0 -1095
  2471. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/index.ts +0 -38
  2472. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/observer.ts +0 -1161
  2473. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/convoy/tracker.ts +0 -846
  2474. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/errors.ts +0 -700
  2475. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/formula/executor.ts +0 -1535
  2476. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/formula/index.ts +0 -29
  2477. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/adapter.ts +0 -718
  2478. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/index.ts +0 -74
  2479. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/gupp/state.ts +0 -756
  2480. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/index.ts +0 -1932
  2481. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/mcp-tools.ts +0 -1875
  2482. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/arena.ts +0 -503
  2483. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/index.ts +0 -385
  2484. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/lazy.ts +0 -579
  2485. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/monitor.ts +0 -622
  2486. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/memory/pool.ts +0 -629
  2487. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/sanitizers.ts +0 -667
  2488. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types/uuid.d.ts +0 -14
  2489. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types/wasm.d.ts +0 -52
  2490. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/types.ts +0 -878
  2491. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/validators.ts +0 -562
  2492. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/wasm/loader.ts +0 -340
  2493. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/src/wasm-loader.ts +0 -1285
  2494. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/tmp.json +0 -0
  2495. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/tsup.config.ts +0 -126
  2496. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/Cargo.toml +0 -72
  2497. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/Cargo.toml +0 -54
  2498. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/cooker.rs +0 -370
  2499. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/lib.rs +0 -312
  2500. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/molecule.rs +0 -267
  2501. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/gastown-formula-wasm/src/parser.rs +0 -366
  2502. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/Cargo.toml +0 -65
  2503. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/critical.rs +0 -365
  2504. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/dag.rs +0 -449
  2505. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/lib.rs +0 -293
  2506. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/ruvector-gnn-wasm/src/topo.rs +0 -393
  2507. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/Cargo.toml +0 -41
  2508. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/arena.rs +0 -143
  2509. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/hash.rs +0 -75
  2510. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/intern.rs +0 -155
  2511. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/lib.rs +0 -107
  2512. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/pool.rs +0 -167
  2513. package/.claude/worktrees/adr-120-impl/v3/plugins/gastown-bridge/wasm/shared/src/simd.rs +0 -214
  2514. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/README.md +0 -280
  2515. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/package-lock.json +0 -1874
  2516. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/package.json +0 -95
  2517. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/gnn-bridge.ts +0 -629
  2518. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/hnsw-bridge.ts +0 -488
  2519. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/bridges/index.ts +0 -16
  2520. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/index.ts +0 -192
  2521. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/mcp-tools.ts +0 -679
  2522. package/.claude/worktrees/adr-120-impl/v3/plugins/healthcare-clinical/src/types.ts +0 -643
  2523. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/README.md +0 -318
  2524. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/package-lock.json +0 -1998
  2525. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/package.json +0 -93
  2526. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/gnn-bridge.ts +0 -609
  2527. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/hyperbolic-bridge.ts +0 -614
  2528. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/bridges/index.ts +0 -22
  2529. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/index.ts +0 -200
  2530. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/mcp-tools.ts +0 -876
  2531. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/src/types.ts +0 -656
  2532. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/tests/__mocks__/gnn-wasm.ts +0 -29
  2533. package/.claude/worktrees/adr-120-impl/v3/plugins/hyperbolic-reasoning/tests/validate.ts +0 -241
  2534. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/README.md +0 -391
  2535. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/package.json +0 -78
  2536. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/attention-bridge.ts +0 -481
  2537. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/dag-bridge.ts +0 -583
  2538. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/bridges/index.ts +0 -15
  2539. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/index.ts +0 -189
  2540. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/mcp-tools.ts +0 -1237
  2541. package/.claude/worktrees/adr-120-impl/v3/plugins/legal-contracts/src/types.ts +0 -933
  2542. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/README.md +0 -265
  2543. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/package-lock.json +0 -2052
  2544. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/package.json +0 -76
  2545. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/attention-bridge.ts +0 -374
  2546. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/index.ts +0 -21
  2547. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/bridges/nervous-system-bridge.ts +0 -327
  2548. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/index.ts +0 -181
  2549. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/mcp-tools.ts +0 -1074
  2550. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/src/types.ts +0 -546
  2551. package/.claude/worktrees/adr-120-impl/v3/plugins/neural-coordination/tests/validate.ts +0 -238
  2552. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/README.md +0 -276
  2553. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/package-lock.json +0 -2052
  2554. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/package.json +0 -74
  2555. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/fpga-bridge.ts +0 -641
  2556. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/index.ts +0 -15
  2557. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/bridges/sparse-bridge.ts +0 -409
  2558. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/index.ts +0 -153
  2559. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/mcp-tools.ts +0 -1085
  2560. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/src/types.ts +0 -666
  2561. package/.claude/worktrees/adr-120-impl/v3/plugins/perf-optimizer/tests/validate.ts +0 -203
  2562. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/README.md +0 -361
  2563. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/package-lock.json +0 -1886
  2564. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/package.json +0 -83
  2565. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/plugin.yaml +0 -768
  2566. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CategoryEngine.ts +0 -382
  2567. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CausalEngine.ts +0 -434
  2568. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/CohomologyEngine.ts +0 -300
  2569. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/HottEngine.ts +0 -522
  2570. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/QuantumEngine.ts +0 -531
  2571. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/SpectralEngine.ts +0 -308
  2572. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/engines/index.ts +0 -18
  2573. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/index.ts +0 -366
  2574. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/interfaces.ts +0 -682
  2575. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/plugin.ts +0 -1325
  2576. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/schemas.ts +0 -453
  2577. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/causal-infer.ts +0 -451
  2578. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/coherence-check.ts +0 -237
  2579. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/consensus-verify.ts +0 -373
  2580. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/index.ts +0 -93
  2581. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/memory-gate.ts +0 -328
  2582. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/quantum-topology.ts +0 -487
  2583. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/spectral-analyze.ts +0 -339
  2584. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/tools/types.ts +0 -412
  2585. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/types.ts +0 -613
  2586. package/.claude/worktrees/adr-120-impl/v3/plugins/prime-radiant/src/wasm-bridge.ts +0 -482
  2587. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/README.md +0 -300
  2588. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/package-lock.json +0 -1880
  2589. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/package.json +0 -92
  2590. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/dag-bridge.ts +0 -622
  2591. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/exotic-bridge.ts +0 -604
  2592. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/bridges/index.ts +0 -23
  2593. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/index.ts +0 -173
  2594. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/mcp-tools.ts +0 -615
  2595. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/src/types.ts +0 -561
  2596. package/.claude/worktrees/adr-120-impl/v3/plugins/quantum-optimizer/tests/validate.ts +0 -221
  2597. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/README.md +0 -71
  2598. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/package.json +0 -109
  2599. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/attention.ts +0 -185
  2600. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/cognitive.ts +0 -343
  2601. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/exotic.ts +0 -277
  2602. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/gnn.ts +0 -177
  2603. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/hnsw.ts +0 -199
  2604. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/hyperbolic.ts +0 -268
  2605. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/learning.ts +0 -238
  2606. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/bridges/sona.ts +0 -418
  2607. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/index.ts +0 -22
  2608. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/registry.ts +0 -182
  2609. package/.claude/worktrees/adr-120-impl/v3/plugins/ruvector-upstream/src/types.ts +0 -146
  2610. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/README.md +0 -713
  2611. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/package-lock.json +0 -3782
  2612. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/package.json +0 -101
  2613. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/index.ts +0 -186
  2614. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/mcp-tools.ts +0 -916
  2615. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/semantic-router.ts +0 -585
  2616. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/teammate-bridge.ts +0 -2401
  2617. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/topology-optimizer.ts +0 -614
  2618. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/types.ts +0 -762
  2619. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/circuit-breaker.ts +0 -173
  2620. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/health-checker.ts +0 -182
  2621. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/index.ts +0 -17
  2622. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/metrics-collector.ts +0 -142
  2623. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/rate-limiter.ts +0 -102
  2624. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/src/utils/retry.ts +0 -103
  2625. package/.claude/worktrees/adr-120-impl/v3/plugins/teammate-plugin/tmp.json +0 -0
  2626. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/README.md +0 -409
  2627. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/package-lock.json +0 -2052
  2628. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/package.json +0 -74
  2629. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/index.ts +0 -15
  2630. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/learning-bridge.ts +0 -456
  2631. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/bridges/sona-bridge.ts +0 -556
  2632. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/index.ts +0 -135
  2633. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/mcp-tools.ts +0 -863
  2634. package/.claude/worktrees/adr-120-impl/v3/plugins/test-intelligence/src/types.ts +0 -498
  2635. package/.claude/worktrees/adr-120-impl/v3/pnpm-lock.yaml +0 -13618
  2636. package/.claude/worktrees/adr-120-impl/v3/pnpm-workspace.yaml +0 -2
  2637. package/.claude/worktrees/adr-120-impl/v3/scripts/prepare-publish.js +0 -173
  2638. package/.claude/worktrees/adr-120-impl/v3/scripts/quick-benchmark.mjs +0 -191
  2639. package/.claude/worktrees/adr-120-impl/v3/scripts/start-mcp.cmd +0 -141
  2640. package/.claude/worktrees/adr-120-impl/v3/scripts/start-mcp.sh +0 -294
  2641. package/.claude/worktrees/adr-120-impl/v3/src/agent-lifecycle/domain/Agent.ts +0 -186
  2642. package/.claude/worktrees/adr-120-impl/v3/src/coordination/application/SwarmCoordinator.ts +0 -479
  2643. package/.claude/worktrees/adr-120-impl/v3/src/coordination/application/index.ts +0 -6
  2644. package/.claude/worktrees/adr-120-impl/v3/src/index.ts +0 -32
  2645. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/MCPServer.ts +0 -120
  2646. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/index.ts +0 -8
  2647. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/AgentTools.ts +0 -138
  2648. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/ConfigTools.ts +0 -209
  2649. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/mcp/tools/MemoryTools.ts +0 -156
  2650. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/ExtensionPoint.ts +0 -46
  2651. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/Plugin.ts +0 -122
  2652. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/PluginManager.ts +0 -276
  2653. package/.claude/worktrees/adr-120-impl/v3/src/infrastructure/plugins/index.ts +0 -8
  2654. package/.claude/worktrees/adr-120-impl/v3/src/mcp/index.ts +0 -19
  2655. package/.claude/worktrees/adr-120-impl/v3/src/memory/domain/Memory.ts +0 -157
  2656. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/AgentDBBackend.ts +0 -206
  2657. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/HybridBackend.ts +0 -173
  2658. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/SQLiteBackend.ts +0 -157
  2659. package/.claude/worktrees/adr-120-impl/v3/src/memory/infrastructure/index.ts +0 -7
  2660. package/.claude/worktrees/adr-120-impl/v3/src/shared/types/index.ts +0 -427
  2661. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/application/WorkflowEngine.ts +0 -491
  2662. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/application/index.ts +0 -6
  2663. package/.claude/worktrees/adr-120-impl/v3/src/task-execution/domain/Task.ts +0 -203
  2664. package/.claude/worktrees/adr-120-impl/v3/swarm.config.ts +0 -455
  2665. package/.claude/worktrees/adr-120-impl/v3/tmp.json +0 -0
  2666. package/.claude/worktrees/adr-120-impl/v3/tsconfig.base.json +0 -24
  2667. package/.claude/worktrees/adr-120-impl/v3/tsconfig.vitest-temp.json +0 -104
  2668. package/.claude/worktrees/adr-120-impl/verification/README.md +0 -358
  2669. package/.claude/worktrees/adr-120-impl/verification/cli-mcp-tool-baseline.json +0 -6
  2670. package/.claude/worktrees/adr-120-impl/verification/inventory.json +0 -2236
  2671. package/.claude/worktrees/adr-120-impl/verification/linux/history.jsonl +0 -2
  2672. package/.claude/worktrees/adr-120-impl/verification/linux/manifest.md.json +0 -934
  2673. package/.claude/worktrees/adr-120-impl/verification/linux/performance.jsonl +0 -0
  2674. package/.claude/worktrees/adr-120-impl/verification/macos/history.jsonl +0 -27
  2675. package/.claude/worktrees/adr-120-impl/verification/macos/manifest.md.json +0 -934
  2676. package/.claude/worktrees/adr-120-impl/verification/macos/performance.jsonl +0 -3
  2677. package/.claude/worktrees/adr-120-impl/verification/mcp-tool-baseline.json +0 -8
  2678. package/.claude/worktrees/adr-120-impl/verification/windows/history.jsonl +0 -2
  2679. package/.claude/worktrees/adr-120-impl/verification/windows/manifest.md.json +0 -934
  2680. package/.claude/worktrees/adr-120-impl/verification/windows/performance.jsonl +0 -0
  2681. 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