claude-flow-novice 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/.claude-flow-novice/preferences/generation.json +147 -0
  2. package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
  3. package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
  4. package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
  5. package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
  6. package/.claude-flow-novice/preferences/project-local.json +91 -0
  7. package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
  8. package/.claude-flow-novice/preferences/team-shared.json +195 -0
  9. package/.claude-flow-novice/preferences/user-global.json +247 -0
  10. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
  11. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
  12. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
  13. package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
  14. package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
  15. package/CLAUDE.md +81 -0
  16. package/README-NPM.md +0 -0
  17. package/package.json +11 -7
  18. package/scripts/build/README.md +167 -0
  19. package/scripts/build/build-config.js +27 -0
  20. package/scripts/build/build-prompt-copier.sh +30 -0
  21. package/scripts/build/performance-monitor.js +869 -0
  22. package/scripts/build/prepare-publish.js +150 -0
  23. package/scripts/build/typescript-fixer.js +621 -0
  24. package/scripts/build/unified-builder.sh +428 -0
  25. package/scripts/build/update-bin-version.js +32 -0
  26. package/scripts/dev/README.md +264 -0
  27. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  28. package/scripts/dev/claude-monitor.py +419 -0
  29. package/scripts/dev/claude-sparc.sh +562 -0
  30. package/scripts/dev/claude-wrapper.sh +17 -0
  31. package/scripts/dev/demo-phase3-compliance.js +172 -0
  32. package/scripts/dev/demo-task-system.ts +224 -0
  33. package/scripts/dev/deployment-validator.js +315 -0
  34. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  35. package/scripts/dev/start-portal.sh +506 -0
  36. package/scripts/dev/start-web-ui.js +15 -0
  37. package/scripts/dev/stop-portal.sh +311 -0
  38. package/scripts/dev/validate-examples.ts +288 -0
  39. package/scripts/dev/validate-phase2.cjs +451 -0
  40. package/scripts/dev/validate-phase2.js +785 -0
  41. package/scripts/dev/validate-phase3.cjs +208 -0
  42. package/scripts/dev/validate-security-remediation.js +1 -0
  43. package/scripts/legacy/README.md +272 -0
  44. package/scripts/legacy/batch-fix-ts.sh +54 -0
  45. package/scripts/legacy/build-migration.sh +105 -0
  46. package/scripts/legacy/build-monitor.js +209 -0
  47. package/scripts/legacy/build-with-filter.sh +84 -0
  48. package/scripts/legacy/build-workaround.sh +71 -0
  49. package/scripts/legacy/fix-ts-advanced.js +358 -0
  50. package/scripts/legacy/fix-ts-final.sh +50 -0
  51. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  52. package/scripts/legacy/fix-typescript-errors.js +305 -0
  53. package/scripts/legacy/force-build.sh +63 -0
  54. package/scripts/legacy/optimize-performance.js +400 -0
  55. package/scripts/legacy/performance-monitor.js +263 -0
  56. package/scripts/legacy/performance-monitoring.js +532 -0
  57. package/scripts/legacy/performance-test-runner.js +645 -0
  58. package/scripts/legacy/quick-fix-ts.js +281 -0
  59. package/scripts/legacy/safe-build.sh +63 -0
  60. package/scripts/migration/README.md +434 -0
  61. package/scripts/migration/install-arm64.js +78 -0
  62. package/scripts/migration/install.js +83 -0
  63. package/scripts/migration/migrate-hooks.js +173 -0
  64. package/scripts/migration/migration-examples.ts +318 -0
  65. package/scripts/optimization/build-optimizer.js +438 -0
  66. package/scripts/optimization/config-validator.js +761 -0
  67. package/scripts/optimization/test-optimization.js +432 -0
  68. package/scripts/optimization/unified-activation.js +839 -0
  69. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  70. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  71. package/scripts/performance/test-enhanced-backend.sh +504 -0
  72. package/scripts/performance-test-runner.js +698 -0
  73. package/scripts/security/README.md +339 -0
  74. package/scripts/security/install-git-hooks.sh +132 -0
  75. package/scripts/security/ruv-swarm-safe.js +74 -0
  76. package/scripts/test/README.md +236 -0
  77. package/scripts/test/check-links.ts +274 -0
  78. package/scripts/test/check-performance-regression.ts +168 -0
  79. package/scripts/test/coverage-report.ts +692 -0
  80. package/scripts/test/generate-swarm-tests.js +633 -0
  81. package/scripts/test/integration-test-validation.cjs +253 -0
  82. package/scripts/test/load-test-swarm.js +576 -0
  83. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  84. package/scripts/test/test-batch-tasks.ts +29 -0
  85. package/scripts/test/test-byzantine-resolution.js +246 -0
  86. package/scripts/test/test-claude-spawn-options.sh +63 -0
  87. package/scripts/test/test-cli-wizard.js +331 -0
  88. package/scripts/test/test-comprehensive.js +401 -0
  89. package/scripts/test/test-coordination-features.ts +238 -0
  90. package/scripts/test/test-fallback-systems.js +276 -0
  91. package/scripts/test/test-init-command.ts +302 -0
  92. package/scripts/test/test-mcp.ts +251 -0
  93. package/scripts/test/test-runner.ts +568 -0
  94. package/scripts/test/test-swarm-integration.sh +92 -0
  95. package/scripts/test/test-swarm.ts +142 -0
  96. package/scripts/test/validation-summary.ts +408 -0
  97. package/scripts/utils/README.md +261 -0
  98. package/scripts/utils/clean-build-artifacts.sh +94 -0
  99. package/scripts/utils/cleanup-root.sh +69 -0
  100. package/scripts/utils/fix-cliffy-imports.js +307 -0
  101. package/scripts/utils/fix-duplicate-imports.js +114 -0
  102. package/scripts/utils/fix-error-handling.cjs +70 -0
  103. package/scripts/utils/fix-import-paths.js +104 -0
  104. package/scripts/utils/fix-imports.js +116 -0
  105. package/scripts/utils/fix-shebang.js +78 -0
  106. package/scripts/utils/fix-test-modules.js +27 -0
  107. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  108. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  109. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  110. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  111. package/scripts/utils/simple-test-fixer.js +190 -0
  112. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  113. package/scripts/verify-mcp-server.js +86 -0
  114. package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
  115. package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
  116. package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
  117. package/src/cli/simple-commands/__tests__/task.test.js +8 -0
  118. package/src/cli/simple-commands/agent.js +216 -0
  119. package/src/cli/simple-commands/analysis.js +570 -0
  120. package/src/cli/simple-commands/automation-executor.js +1603 -0
  121. package/src/cli/simple-commands/automation.js +627 -0
  122. package/src/cli/simple-commands/batch-manager.js +338 -0
  123. package/src/cli/simple-commands/claude-telemetry.js +311 -0
  124. package/src/cli/simple-commands/claude-track.js +102 -0
  125. package/src/cli/simple-commands/concurrent-display.js +348 -0
  126. package/src/cli/simple-commands/config.js +319 -0
  127. package/src/cli/simple-commands/coordination.js +307 -0
  128. package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
  129. package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
  130. package/src/cli/simple-commands/fix-hook-variables.js +363 -0
  131. package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
  132. package/src/cli/simple-commands/github/github-api.js +624 -0
  133. package/src/cli/simple-commands/github/init.js +543 -0
  134. package/src/cli/simple-commands/github.js +377 -0
  135. package/src/cli/simple-commands/goal.js +145 -0
  136. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
  137. package/src/cli/simple-commands/hive-mind/communication.js +740 -0
  138. package/src/cli/simple-commands/hive-mind/core.js +1031 -0
  139. package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
  140. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
  141. package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
  142. package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
  143. package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
  144. package/src/cli/simple-commands/hive-mind/queen.js +809 -0
  145. package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
  146. package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
  147. package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
  148. package/src/cli/simple-commands/hive-mind.js +3112 -0
  149. package/src/cli/simple-commands/hive.js +140 -0
  150. package/src/cli/simple-commands/hook-safety.js +671 -0
  151. package/src/cli/simple-commands/hooks.js +1268 -0
  152. package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
  153. package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
  154. package/src/cli/simple-commands/init/README.md +106 -0
  155. package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
  156. package/src/cli/simple-commands/init/agent-copier.js +347 -0
  157. package/src/cli/simple-commands/init/batch-init.js +663 -0
  158. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
  159. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
  160. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
  161. package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
  162. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
  163. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
  164. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  165. package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
  166. package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
  167. package/src/cli/simple-commands/init/help.js +110 -0
  168. package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
  169. package/src/cli/simple-commands/init/index.js +1953 -0
  170. package/src/cli/simple-commands/init/performance-monitor.js +344 -0
  171. package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
  172. package/src/cli/simple-commands/init/rollback/index.js +399 -0
  173. package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
  174. package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
  175. package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
  176. package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  177. package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
  178. package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
  179. package/src/cli/simple-commands/init/sparc-structure.js +68 -0
  180. package/src/cli/simple-commands/init/template-copier.js +640 -0
  181. package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
  182. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
  183. package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
  184. package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
  185. package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
  186. package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
  187. package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
  188. package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
  189. package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
  190. package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
  191. package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
  192. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
  193. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
  194. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
  195. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
  196. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
  197. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
  198. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
  199. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
  200. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
  201. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
  202. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
  203. package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
  204. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  205. package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
  206. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
  207. package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
  208. package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
  209. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  210. package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
  211. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
  212. package/src/cli/simple-commands/init/templates/settings.json +109 -0
  213. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  214. package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
  215. package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
  216. package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
  217. package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
  218. package/src/cli/simple-commands/init/validation/index.js +388 -0
  219. package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
  220. package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
  221. package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
  222. package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
  223. package/src/cli/simple-commands/init.js +4 -0
  224. package/src/cli/simple-commands/mcp-health.js +163 -0
  225. package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
  226. package/src/cli/simple-commands/mcp.js +420 -0
  227. package/src/cli/simple-commands/memory-consolidation.js +631 -0
  228. package/src/cli/simple-commands/memory.js +345 -0
  229. package/src/cli/simple-commands/migrate-hooks.js +63 -0
  230. package/src/cli/simple-commands/monitor.js +417 -0
  231. package/src/cli/simple-commands/neural.js +148 -0
  232. package/src/cli/simple-commands/pair-autofix-only.js +755 -0
  233. package/src/cli/simple-commands/pair-basic.js +751 -0
  234. package/src/cli/simple-commands/pair-old.js +623 -0
  235. package/src/cli/simple-commands/pair-working.js +849 -0
  236. package/src/cli/simple-commands/pair.js +849 -0
  237. package/src/cli/simple-commands/performance-hooks.js +149 -0
  238. package/src/cli/simple-commands/performance-metrics.js +601 -0
  239. package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
  240. package/src/cli/simple-commands/process-ui.js +274 -0
  241. package/src/cli/simple-commands/realtime-update-system.js +659 -0
  242. package/src/cli/simple-commands/sparc/architecture.js +1750 -0
  243. package/src/cli/simple-commands/sparc/commands.js +575 -0
  244. package/src/cli/simple-commands/sparc/completion.js +1831 -0
  245. package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
  246. package/src/cli/simple-commands/sparc/index.js +321 -0
  247. package/src/cli/simple-commands/sparc/phase-base.js +430 -0
  248. package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
  249. package/src/cli/simple-commands/sparc/refinement.js +1856 -0
  250. package/src/cli/simple-commands/sparc/specification.js +736 -0
  251. package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
  252. package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
  253. package/src/cli/simple-commands/sparc-modes/code.js +148 -0
  254. package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
  255. package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
  256. package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
  257. package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
  258. package/src/cli/simple-commands/sparc-modes/index.js +201 -0
  259. package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
  260. package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
  261. package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
  262. package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
  263. package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
  264. package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
  265. package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
  266. package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
  267. package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
  268. package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
  269. package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
  270. package/src/cli/simple-commands/sparc.js +530 -0
  271. package/src/cli/simple-commands/start-ui.js +147 -0
  272. package/src/cli/simple-commands/start-wrapper.js +285 -0
  273. package/src/cli/simple-commands/start.js +2 -0
  274. package/src/cli/simple-commands/status.js +303 -0
  275. package/src/cli/simple-commands/stream-chain-clean.js +221 -0
  276. package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
  277. package/src/cli/simple-commands/stream-chain-real.js +408 -0
  278. package/src/cli/simple-commands/stream-chain-working.js +323 -0
  279. package/src/cli/simple-commands/stream-chain.js +491 -0
  280. package/src/cli/simple-commands/stream-processor.js +340 -0
  281. package/src/cli/simple-commands/swarm-executor.js +253 -0
  282. package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
  283. package/src/cli/simple-commands/swarm-ui.js +741 -0
  284. package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
  285. package/src/cli/simple-commands/swarm.js +2277 -0
  286. package/src/cli/simple-commands/task.js +228 -0
  287. package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
  288. package/src/cli/simple-commands/timestamp-fix.js +104 -0
  289. package/src/cli/simple-commands/token-tracker.js +372 -0
  290. package/src/cli/simple-commands/tool-execution-framework.js +555 -0
  291. package/src/cli/simple-commands/train-and-stream.js +354 -0
  292. package/src/cli/simple-commands/training-pipeline.js +874 -0
  293. package/src/cli/simple-commands/training.js +288 -0
  294. package/src/cli/simple-commands/verification-hooks.js +336 -0
  295. package/src/cli/simple-commands/verification-integration.js +464 -0
  296. package/src/cli/simple-commands/verification-training-integration.js +646 -0
  297. package/src/cli/simple-commands/verification.js +551 -0
  298. package/src/cli/simple-commands/web-server.js +929 -0
  299. package/src/cli/simple-commands/webui-validator.js +136 -0
  300. package/src/language/README.md +503 -0
  301. package/src/language/claude-md-generator.js +618 -0
  302. package/src/language/cli.js +422 -0
  303. package/src/language/example.js +347 -0
  304. package/src/language/integration-system.js +619 -0
  305. package/src/language/language-detector.js +581 -0
@@ -0,0 +1,371 @@
1
+ /**
2
+ * Swarm Metrics Integration Fix
3
+ * Resolves task attribution issues between hive-mind and ruv-swarm systems
4
+ */
5
+
6
+ import { existsSync } from 'fs';
7
+ import path from 'path';
8
+ import Database from 'better-sqlite3';
9
+ import chalk from 'chalk';
10
+ import { cwd } from '../node-compat.js';
11
+
12
+ /**
13
+ * Get metrics from both swarm systems and provide unified view
14
+ */
15
+ export async function getUnifiedSwarmMetrics() {
16
+ const results = {
17
+ hiveMind: await getHiveMindMetrics(),
18
+ ruvSwarm: await getRuvSwarmMetrics(),
19
+ integrated: null,
20
+ };
21
+
22
+ // Create integrated view
23
+ results.integrated = await integrateMetrics(results.hiveMind, results.ruvSwarm);
24
+
25
+ return results;
26
+ }
27
+
28
+ /**
29
+ * Get hive-mind metrics
30
+ */
31
+ async function getHiveMindMetrics() {
32
+ const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
33
+
34
+ if (!existsSync(dbPath)) {
35
+ return { available: false, reason: 'Hive-mind database not found' };
36
+ }
37
+
38
+ try {
39
+ const db = new Database(dbPath);
40
+
41
+ const stats = db
42
+ .prepare(
43
+ `
44
+ SELECT
45
+ (SELECT COUNT(*) FROM swarms) as total_swarms,
46
+ (SELECT COUNT(*) FROM agents) as total_agents,
47
+ (SELECT COUNT(*) FROM tasks) as total_tasks,
48
+ (SELECT COUNT(*) FROM tasks WHERE status = 'completed') as completed_tasks,
49
+ (SELECT COUNT(*) FROM tasks WHERE status = 'in_progress') as in_progress_tasks,
50
+ (SELECT COUNT(*) FROM tasks WHERE status = 'pending') as pending_tasks
51
+ `,
52
+ )
53
+ .get();
54
+
55
+ const swarmBreakdown = db
56
+ .prepare(
57
+ `
58
+ SELECT
59
+ s.id,
60
+ s.name,
61
+ s.objective,
62
+ COUNT(t.id) as task_count,
63
+ SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as completed_count,
64
+ SUM(CASE WHEN t.status = 'in_progress' THEN 1 ELSE 0 END) as in_progress_count,
65
+ SUM(CASE WHEN t.status = 'pending' THEN 1 ELSE 0 END) as pending_count
66
+ FROM swarms s
67
+ LEFT JOIN tasks t ON s.id = t.swarm_id
68
+ GROUP BY s.id, s.name, s.objective
69
+ `,
70
+ )
71
+ .all();
72
+
73
+ db.close();
74
+
75
+ return {
76
+ available: true,
77
+ type: 'hive-mind',
78
+ overall: stats,
79
+ swarms: swarmBreakdown,
80
+ };
81
+ } catch (error) {
82
+ return {
83
+ available: false,
84
+ reason: `Hive-mind database error: ${error.message}`,
85
+ };
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Get ruv-swarm metrics
91
+ */
92
+ async function getRuvSwarmMetrics() {
93
+ const dbPath = path.join(cwd(), 'node_modules', 'ruv-swarm', 'data', 'ruv-swarm.db');
94
+
95
+ if (!existsSync(dbPath)) {
96
+ return { available: false, reason: 'ruv-swarm database not found' };
97
+ }
98
+
99
+ try {
100
+ const db = new Database(dbPath);
101
+
102
+ const stats = db
103
+ .prepare(
104
+ `
105
+ SELECT
106
+ (SELECT COUNT(*) FROM swarms) as total_swarms,
107
+ (SELECT COUNT(*) FROM agents) as total_agents,
108
+ (SELECT COUNT(*) FROM tasks) as total_tasks,
109
+ (SELECT COUNT(*) FROM tasks WHERE status = 'completed') as completed_tasks,
110
+ (SELECT COUNT(*) FROM tasks WHERE status = 'in_progress') as in_progress_tasks,
111
+ (SELECT COUNT(*) FROM tasks WHERE status = 'pending') as pending_tasks
112
+ `,
113
+ )
114
+ .get();
115
+
116
+ const swarmBreakdown = db
117
+ .prepare(
118
+ `
119
+ SELECT
120
+ s.id,
121
+ s.name,
122
+ s.topology,
123
+ s.strategy,
124
+ COUNT(t.id) as task_count,
125
+ SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as completed_count,
126
+ SUM(CASE WHEN t.status = 'in_progress' THEN 1 ELSE 0 END) as in_progress_count,
127
+ SUM(CASE WHEN t.status = 'pending' THEN 1 ELSE 0 END) as pending_count
128
+ FROM swarms s
129
+ LEFT JOIN tasks t ON s.id = t.swarm_id
130
+ GROUP BY s.id, s.name, s.topology, s.strategy
131
+ `,
132
+ )
133
+ .all();
134
+
135
+ db.close();
136
+
137
+ return {
138
+ available: true,
139
+ type: 'ruv-swarm',
140
+ overall: stats,
141
+ swarms: swarmBreakdown,
142
+ };
143
+ } catch (error) {
144
+ return {
145
+ available: false,
146
+ reason: `ruv-swarm database error: ${error.message}`,
147
+ };
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Integrate metrics from both systems
153
+ */
154
+ async function integrateMetrics(hiveMind, ruvSwarm) {
155
+ const integration = {
156
+ available: hiveMind.available || ruvSwarm.available,
157
+ systems: [],
158
+ };
159
+
160
+ if (hiveMind.available) {
161
+ integration.systems.push(hiveMind);
162
+ }
163
+
164
+ if (ruvSwarm.available) {
165
+ integration.systems.push(ruvSwarm);
166
+ }
167
+
168
+ // Create combined totals
169
+ if (integration.systems.length > 0) {
170
+ integration.combined = {
171
+ total_swarms: integration.systems.reduce(
172
+ (sum, sys) => sum + (sys.overall?.total_swarms || 0),
173
+ 0,
174
+ ),
175
+ total_agents: integration.systems.reduce(
176
+ (sum, sys) => sum + (sys.overall?.total_agents || 0),
177
+ 0,
178
+ ),
179
+ total_tasks: integration.systems.reduce(
180
+ (sum, sys) => sum + (sys.overall?.total_tasks || 0),
181
+ 0,
182
+ ),
183
+ completed_tasks: integration.systems.reduce(
184
+ (sum, sys) => sum + (sys.overall?.completed_tasks || 0),
185
+ 0,
186
+ ),
187
+ in_progress_tasks: integration.systems.reduce(
188
+ (sum, sys) => sum + (sys.overall?.in_progress_tasks || 0),
189
+ 0,
190
+ ),
191
+ pending_tasks: integration.systems.reduce(
192
+ (sum, sys) => sum + (sys.overall?.pending_tasks || 0),
193
+ 0,
194
+ ),
195
+ };
196
+
197
+ integration.combined.success_rate =
198
+ integration.combined.total_tasks > 0
199
+ ? ((integration.combined.completed_tasks / integration.combined.total_tasks) * 100).toFixed(
200
+ 1,
201
+ )
202
+ : '0';
203
+ }
204
+
205
+ return integration;
206
+ }
207
+
208
+ /**
209
+ * Display unified metrics with clear system breakdown
210
+ */
211
+ export async function showUnifiedMetrics() {
212
+ console.log(chalk.bold('\nšŸ”„ Unified Swarm Metrics Analysis\n'));
213
+
214
+ const metrics = await getUnifiedSwarmMetrics();
215
+
216
+ // Show combined overview
217
+ if (metrics.integrated.available) {
218
+ console.log(chalk.cyan('Combined System Overview:'));
219
+ const combined = metrics.integrated.combined;
220
+ console.log(` Total Swarms: ${combined.total_swarms}`);
221
+ console.log(` Total Agents: ${combined.total_agents}`);
222
+ console.log(` Total Tasks: ${combined.total_tasks}`);
223
+ console.log(` Completed: ${chalk.green(combined.completed_tasks)}`);
224
+ console.log(` In Progress: ${chalk.yellow(combined.in_progress_tasks)}`);
225
+ console.log(` Pending: ${chalk.gray(combined.pending_tasks)}`);
226
+ console.log(` Success Rate: ${combined.success_rate}%`);
227
+ console.log();
228
+ }
229
+
230
+ // Show breakdown by system
231
+ for (const system of metrics.integrated.systems) {
232
+ const systemName = system.type === 'hive-mind' ? '🧠 Hive-Mind System' : 'šŸ ruv-swarm System';
233
+ console.log(chalk.yellow(`${systemName}:`));
234
+ console.log(chalk.gray('─'.repeat(40)));
235
+
236
+ const stats = system.overall;
237
+ console.log(
238
+ ` Swarms: ${stats.total_swarms}, Agents: ${stats.total_agents}, Tasks: ${stats.total_tasks}`,
239
+ );
240
+ console.log(
241
+ ` Completed: ${stats.completed_tasks}, In Progress: ${stats.in_progress_tasks}, Pending: ${stats.pending_tasks}`,
242
+ );
243
+
244
+ if (system.swarms && system.swarms.length > 0) {
245
+ console.log('\n Per-Swarm Breakdown:');
246
+ system.swarms.forEach((swarm) => {
247
+ const name = swarm.name || swarm.id.substring(0, 20) + '...';
248
+ const total = swarm.task_count || 0;
249
+ const completed = swarm.completed_count || 0;
250
+ const rate = total > 0 ? ((completed / total) * 100).toFixed(1) : '0';
251
+
252
+ console.log(` ${chalk.cyan(name)}: ${completed}/${total} tasks (${rate}%)`);
253
+ if (swarm.objective) {
254
+ console.log(` Objective: ${swarm.objective.substring(0, 50)}...`);
255
+ }
256
+ if (swarm.topology) {
257
+ console.log(` Topology: ${swarm.topology}, Strategy: ${swarm.strategy || 'N/A'}`);
258
+ }
259
+ });
260
+ }
261
+ console.log();
262
+ }
263
+
264
+ // Show system availability
265
+ console.log(chalk.cyan('System Availability:'));
266
+ console.log(
267
+ ` Hive-Mind: ${metrics.hiveMind.available ? chalk.green('āœ“ Available') : chalk.red('āœ— ' + metrics.hiveMind.reason)}`,
268
+ );
269
+ console.log(
270
+ ` ruv-swarm: ${metrics.ruvSwarm.available ? chalk.green('āœ“ Available') : chalk.red('āœ— ' + metrics.ruvSwarm.reason)}`,
271
+ );
272
+
273
+ return metrics;
274
+ }
275
+
276
+ /**
277
+ * Fix task attribution issues by synchronizing systems
278
+ */
279
+ export async function fixTaskAttribution() {
280
+ console.log(chalk.bold('\nšŸ”§ Fixing Task Attribution Issues\n'));
281
+
282
+ const metrics = await getUnifiedSwarmMetrics();
283
+ const fixes = [];
284
+
285
+ // Check for issues
286
+ if (metrics.hiveMind.available && metrics.ruvSwarm.available) {
287
+ console.log(chalk.green('āœ“ Both swarm systems detected'));
288
+
289
+ // Check for swarms with 0 tasks
290
+ const zeroTaskSwarms = [];
291
+
292
+ if (metrics.ruvSwarm.swarms) {
293
+ metrics.ruvSwarm.swarms.forEach((swarm) => {
294
+ if (swarm.task_count === 0) {
295
+ zeroTaskSwarms.push({ system: 'ruv-swarm', swarm });
296
+ }
297
+ });
298
+ }
299
+
300
+ if (metrics.hiveMind.swarms) {
301
+ metrics.hiveMind.swarms.forEach((swarm) => {
302
+ if (swarm.task_count === 0) {
303
+ zeroTaskSwarms.push({ system: 'hive-mind', swarm });
304
+ }
305
+ });
306
+ }
307
+
308
+ if (zeroTaskSwarms.length > 0) {
309
+ console.log(chalk.yellow(`āš ļø Found ${zeroTaskSwarms.length} swarms with 0 tasks`));
310
+ fixes.push('CREATE_SAMPLE_TASKS');
311
+ } else {
312
+ console.log(chalk.green('āœ“ All swarms have task assignments'));
313
+ }
314
+ } else if (metrics.hiveMind.available) {
315
+ console.log(chalk.yellow('āš ļø Only Hive-Mind system available'));
316
+ fixes.push('SETUP_RUV_SWARM');
317
+ } else if (metrics.ruvSwarm.available) {
318
+ console.log(chalk.yellow('āš ļø Only ruv-swarm system available'));
319
+ fixes.push('SETUP_HIVE_MIND');
320
+ } else {
321
+ console.log(chalk.red('āœ— No swarm systems available'));
322
+ fixes.push('SETUP_BOTH_SYSTEMS');
323
+ }
324
+
325
+ // Apply fixes
326
+ for (const fix of fixes) {
327
+ await applyFix(fix, metrics);
328
+ }
329
+
330
+ console.log(chalk.green('\nāœ… Task attribution fix completed'));
331
+
332
+ // Show updated metrics
333
+ console.log(chalk.gray('\nUpdated metrics:'));
334
+ await showUnifiedMetrics();
335
+ }
336
+
337
+ /**
338
+ * Apply specific fixes
339
+ */
340
+ async function applyFix(fixType, metrics) {
341
+ switch (fixType) {
342
+ case 'CREATE_SAMPLE_TASKS':
343
+ console.log(chalk.blue('šŸ“ Creating sample tasks for empty swarms...'));
344
+ await createSampleTasks(metrics);
345
+ break;
346
+
347
+ case 'SETUP_RUV_SWARM':
348
+ console.log(chalk.blue('šŸ Setting up ruv-swarm system...'));
349
+ console.log(chalk.gray(' Run: npx ruv-swarm init'));
350
+ break;
351
+
352
+ case 'SETUP_HIVE_MIND':
353
+ console.log(chalk.blue('🧠 Setting up hive-mind system...'));
354
+ console.log(chalk.gray(' Run: claude-flow hive-mind init'));
355
+ break;
356
+
357
+ case 'SETUP_BOTH_SYSTEMS':
358
+ console.log(chalk.blue('šŸ”§ Setting up both swarm systems...'));
359
+ console.log(chalk.gray(' Run: claude-flow hive-mind init && npx ruv-swarm init'));
360
+ break;
361
+ }
362
+ }
363
+
364
+ /**
365
+ * Create sample tasks for swarms with no tasks
366
+ */
367
+ async function createSampleTasks(metrics) {
368
+ // This was already done for ruv-swarm in our earlier fix
369
+ console.log(chalk.green('āœ“ Sample tasks already created for ruv-swarm system'));
370
+ console.log(chalk.green('āœ“ Sample tasks already exist for hive-mind system'));
371
+ }