claude-flow-novice 1.3.6 → 1.5.1

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 (347) hide show
  1. package/.claude/agents/analysis/code-analyzer.md +3 -20
  2. package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
  3. package/.claude/agents/analyst.md +208 -550
  4. package/.claude/agents/architect.md +136 -469
  5. package/.claude/agents/architecture/system-architect.md +20 -1
  6. package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
  7. package/.claude/agents/base-template-generator.md +24 -1
  8. package/.claude/agents/coder.md +87 -303
  9. package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
  10. package/.claude/agents/consensus/consensus-builder.md +3 -20
  11. package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
  12. package/.claude/agents/consensus/gossip-coordinator.md +4 -21
  13. package/.claude/agents/consensus/performance-benchmarker.md +4 -21
  14. package/.claude/agents/consensus/quorum-manager.md +4 -21
  15. package/.claude/agents/consensus/raft-manager.md +4 -21
  16. package/.claude/agents/consensus/security-manager.md +4 -21
  17. package/.claude/agents/coordinator.md +22 -11
  18. package/.claude/agents/data/ml/data-ml-model.md +2 -2
  19. package/.claude/agents/development/backend/dev-backend-api.md +2 -2
  20. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
  21. package/.claude/agents/devops/devops-engineer.md +134 -402
  22. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
  23. package/.claude/agents/github/code-review-swarm.md +1 -1
  24. package/.claude/agents/github/github-specialist.md +856 -0
  25. package/.claude/agents/github/pr-manager.md +1 -1
  26. package/.claude/agents/github/release-manager.md +1 -1
  27. package/.claude/agents/neural/neural-pattern-agent.md +762 -0
  28. package/.claude/agents/optimization/benchmark-suite.md +1 -1
  29. package/.claude/agents/optimization/perf-analyzer.md +1 -1
  30. package/.claude/agents/optimization/performance-monitor.md +1 -1
  31. package/.claude/agents/planner.md +135 -0
  32. package/.claude/agents/researcher.md +22 -9
  33. package/.claude/agents/reviewer.md +291 -0
  34. package/.claude/agents/security/security-specialist.md +1 -1
  35. package/.claude/agents/sparc/architecture.md +1 -1
  36. package/.claude/agents/sparc/pseudocode.md +1 -1
  37. package/.claude/agents/sparc/refinement.md +1 -1
  38. package/.claude/agents/sparc/specification.md +1 -1
  39. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
  40. package/.claude/agents/tester.md +21 -11
  41. package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
  42. package/.claude/agents/testing/validation/production-validator.md +1 -1
  43. package/.claude/commands/claude-soul.js +1 -1
  44. package/.claude/commands/fullstack.md +134 -0
  45. package/.claude/commands/index.js +4 -0
  46. package/.claude/hooks.json +12 -15
  47. package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
  48. package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
  49. package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  50. package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
  51. package/.claude-flow-novice/.claude/agents/architect.md +557 -0
  52. package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
  53. package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  54. package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
  55. package/.claude-flow-novice/.claude/agents/coder.md +180 -0
  56. package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
  57. package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
  58. package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
  59. package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
  60. package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
  61. package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
  62. package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
  63. package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
  64. package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
  65. package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
  66. package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
  67. package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  68. package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
  69. package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  70. package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
  71. package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
  72. package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
  73. package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
  74. package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
  75. package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
  76. package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
  77. package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
  78. package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
  79. package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
  80. package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
  81. package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
  82. package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
  83. package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
  84. package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
  85. package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
  86. package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
  87. package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
  88. package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
  89. package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
  90. package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
  91. package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
  92. package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
  93. package/.claude-flow-novice/.claude/agents/planner.md +135 -0
  94. package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
  95. package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
  96. package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
  97. package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
  98. package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
  99. package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
  100. package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
  101. package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  102. package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
  103. package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
  104. package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
  105. package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
  106. package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
  107. package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
  108. package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
  109. package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
  110. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
  111. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  112. package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  113. package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
  114. package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
  115. package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  116. package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
  117. package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  118. package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
  119. package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
  120. package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
  121. package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
  122. package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
  123. package/.claude-flow-novice/.claude/agents/tester.md +663 -0
  124. package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
  125. package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  126. package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
  127. package/.claude-flow-novice/dist/index.js +12 -24
  128. package/.claude-flow-novice/dist/index.js.map +1 -0
  129. package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
  130. package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
  131. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
  132. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
  133. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
  134. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
  136. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
  137. package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
  138. package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
  139. package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
  140. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
  141. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
  142. package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
  143. package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
  144. package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
  145. package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
  146. package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
  147. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
  148. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
  149. package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
  150. package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
  151. package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
  152. package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
  153. package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
  154. package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
  155. package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
  156. package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
  157. package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
  158. package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
  159. package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
  160. package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
  161. package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
  162. package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
  163. package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
  164. package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
  165. package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
  166. package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
  167. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
  168. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
  169. package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
  170. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
  171. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
  172. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
  173. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
  174. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
  175. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
  176. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
  177. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
  178. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
  179. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
  180. package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
  181. package/.claude-flow-novice/dist/src/cli/index.js +1 -1
  182. package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
  183. package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
  184. package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
  185. package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
  186. package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
  187. package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
  188. package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
  189. package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
  190. package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
  191. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
  192. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
  193. package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
  194. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
  195. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
  196. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
  197. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
  198. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
  199. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
  200. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
  201. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
  202. package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
  203. package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
  204. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
  205. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
  206. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
  207. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
  208. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
  209. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
  210. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
  211. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
  212. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
  213. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
  214. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
  215. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
  216. package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
  217. package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
  218. package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
  219. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
  220. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
  221. package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
  222. package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
  223. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
  224. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
  225. package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
  226. package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
  227. package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
  228. package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
  229. package/.claude-flow-novice/dist/src/core/logger.js +33 -10
  230. package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
  231. package/.claude-flow-novice/dist/src/migration/index.js +1 -1
  232. package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
  233. package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
  234. package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
  235. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
  236. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
  237. package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
  238. package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
  239. package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
  240. package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
  241. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
  242. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
  243. package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
  244. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
  245. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
  246. package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
  247. package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
  248. package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
  249. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
  250. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
  251. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
  252. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
  253. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
  254. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
  255. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
  256. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
  257. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
  258. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
  259. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
  260. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
  261. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
  262. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
  263. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
  264. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
  265. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
  266. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
  267. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
  268. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
  269. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
  270. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
  271. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
  272. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
  273. package/.claude-flow-novice/dist/src/task/index.js +7 -7
  274. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
  275. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
  276. package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
  277. package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
  278. package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
  279. package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
  280. package/CHANGELOG.md +26 -0
  281. package/CLAUDE.md +1967 -68
  282. package/README.md +0 -1
  283. package/config/build/babel.config.cjs +19 -11
  284. package/config/typescript/tsconfig.json +1 -1
  285. package/examples/claude-api-error-handling.ts +2 -2
  286. package/examples/frontend-testing-demo.ts +470 -0
  287. package/examples/litellm/config/config.yaml +1 -1
  288. package/package.json +13 -7
  289. package/scripts/build/unified-builder.sh +6 -6
  290. package/scripts/build/validate-agents.js +238 -0
  291. package/scripts/run-production-validation.ts +590 -0
  292. package/scripts/test/test-coordination-features.ts +2 -2
  293. package/scripts/validate-stage3-performance.ts +377 -0
  294. package/src/cli/simple-commands/hooks.js +1 -0
  295. package/src/cli/simple-commands/init/agent-copier.js +0 -2
  296. package/src/cli/simple-commands/init/index.js +5 -97
  297. package/src/cli/simple-commands/init/templates/CLAUDE.md +163 -1158
  298. package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
  299. package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
  300. package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
  301. package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
  302. package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
  303. package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
  304. package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
  305. package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
  306. package/src/swarm-fullstack/workflows/index.ts +75 -0
  307. package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
  308. package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
  309. package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
  310. package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
  311. package/wiki/command-reference/README.md +1 -2
  312. package/wiki/command-reference/mcp-tools/README.md +1 -1
  313. package/wiki/getting-started/claude-code-mcp/README.md +1 -2
  314. package/wiki/getting-started/installation/README.md +2 -10
  315. package/.claude/commands/flow-nexus/app-store.md +0 -124
  316. package/.claude/commands/flow-nexus/challenges.md +0 -120
  317. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  318. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  319. package/.claude/commands/flow-nexus/payments.md +0 -116
  320. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  321. package/.claude/commands/flow-nexus/swarm.md +0 -87
  322. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  323. package/.claude/commands/flow-nexus/workflow.md +0 -115
  324. package/.claude-flow-novice/dist/cli/index.js +0 -45
  325. package/.claude-flow-novice/dist/core/index.js +0 -22
  326. package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
  327. package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
  328. package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
  329. package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
  330. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
  331. /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
  332. /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
  333. /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
  334. /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
  335. /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
  336. /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
  337. /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
  338. /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
  339. /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
  340. /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
  341. /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
  342. /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
  343. /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
  344. /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
  345. /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
  346. /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
  347. /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
@@ -0,0 +1,344 @@
1
+ import { Worker, isMainThread, parentPort, workerData } from 'worker_threads';
2
+ import { WebSocketServer, WebSocket } from 'ws';
3
+ import { createServer } from 'http';
4
+ import { SharedBufferBus } from './shared-buffer-bus';
5
+ export class WebSocketCluster {
6
+ workers = new Map();
7
+ sharedBus;
8
+ loadBalancer;
9
+ healthMonitor;
10
+ metrics;
11
+ workerCount;
12
+ basePort;
13
+ constructor(options = {}){
14
+ this.workerCount = options.workerCount || Math.max(2, require('os').cpus().length);
15
+ this.basePort = options.basePort || 8080;
16
+ this.sharedBus = new SharedBufferBus();
17
+ this.loadBalancer = new LoadBalancer(this.workerCount);
18
+ this.healthMonitor = new HealthMonitor();
19
+ this.metrics = {
20
+ totalConnections: 0,
21
+ activeConnections: 0,
22
+ messagesPerSecond: 0,
23
+ averageLatency: 0,
24
+ errorRate: 0
25
+ };
26
+ }
27
+ async start() {
28
+ if (!isMainThread) {
29
+ throw new Error('WebSocketCluster must run in main thread');
30
+ }
31
+ console.log(`Starting WebSocket cluster with ${this.workerCount} workers`);
32
+ // Start worker processes
33
+ for(let i = 0; i < this.workerCount; i++){
34
+ await this.startWorker(i);
35
+ }
36
+ // Start health monitoring
37
+ this.healthMonitor.start(this.workers);
38
+ // Start metrics collection
39
+ this.startMetricsCollection();
40
+ console.log('WebSocket cluster started successfully');
41
+ }
42
+ async startWorker(workerId) {
43
+ const worker = new Worker(__filename, {
44
+ workerData: {
45
+ workerId,
46
+ port: this.basePort + workerId,
47
+ sharedBuffer: this.sharedBus.getSharedBuffer(),
48
+ connectionLimit: Math.floor(10000 / this.workerCount)
49
+ }
50
+ });
51
+ worker.on('message', (message)=>{
52
+ this.handleWorkerMessage(workerId, message);
53
+ });
54
+ worker.on('error', (error)=>{
55
+ console.error(`Worker ${workerId} error:`, error);
56
+ this.restartWorker(workerId);
57
+ });
58
+ worker.on('exit', (code)=>{
59
+ if (code !== 0) {
60
+ console.error(`Worker ${workerId} exited with code ${code}`);
61
+ this.restartWorker(workerId);
62
+ }
63
+ });
64
+ this.workers.set(workerId, worker);
65
+ // Wait for worker to be ready
66
+ return new Promise((resolve)=>{
67
+ const readyHandler = (message)=>{
68
+ if (message.type === 'ready' && message.workerId === workerId) {
69
+ worker.off('message', readyHandler);
70
+ resolve();
71
+ }
72
+ };
73
+ worker.on('message', readyHandler);
74
+ });
75
+ }
76
+ async restartWorker(workerId) {
77
+ const worker = this.workers.get(workerId);
78
+ if (worker) {
79
+ worker.terminate();
80
+ this.workers.delete(workerId);
81
+ }
82
+ // Add backoff delay before restarting
83
+ await new Promise((resolve)=>setTimeout(resolve, 1000));
84
+ await this.startWorker(workerId);
85
+ }
86
+ handleWorkerMessage(workerId, message) {
87
+ switch(message.type){
88
+ case 'metrics':
89
+ this.updateMetrics(workerId, message.data);
90
+ break;
91
+ case 'broadcast':
92
+ this.broadcastToAllWorkers(message.data, workerId);
93
+ break;
94
+ case 'route':
95
+ this.routeMessage(message.data);
96
+ break;
97
+ }
98
+ }
99
+ broadcastToAllWorkers(data, excludeWorkerId) {
100
+ for (const [workerId, worker] of this.workers){
101
+ if (workerId !== excludeWorkerId) {
102
+ worker.postMessage({
103
+ type: 'broadcast',
104
+ data
105
+ });
106
+ }
107
+ }
108
+ }
109
+ routeMessage(data) {
110
+ const targetWorker = this.loadBalancer.selectWorker(data.targetId);
111
+ const worker = this.workers.get(targetWorker);
112
+ if (worker) {
113
+ worker.postMessage({
114
+ type: 'route',
115
+ data
116
+ });
117
+ }
118
+ }
119
+ updateMetrics(workerId, workerMetrics) {
120
+ // Aggregate metrics from all workers
121
+ this.metrics.totalConnections += workerMetrics.connections || 0;
122
+ this.metrics.messagesPerSecond += workerMetrics.messagesPerSecond || 0;
123
+ this.metrics.averageLatency = Math.max(this.metrics.averageLatency, workerMetrics.averageLatency || 0);
124
+ }
125
+ startMetricsCollection() {
126
+ setInterval(()=>{
127
+ // Collect and log cluster metrics
128
+ console.log(`Cluster Metrics:`, {
129
+ activeWorkers: this.workers.size,
130
+ totalConnections: this.metrics.totalConnections,
131
+ messagesPerSecond: this.metrics.messagesPerSecond,
132
+ averageLatency: `${this.metrics.averageLatency.toFixed(2)}ms`
133
+ });
134
+ // Reset counters for next interval
135
+ this.metrics.totalConnections = 0;
136
+ this.metrics.messagesPerSecond = 0;
137
+ }, 5000);
138
+ }
139
+ getMetrics() {
140
+ return {
141
+ ...this.metrics
142
+ };
143
+ }
144
+ async stop() {
145
+ console.log('Stopping WebSocket cluster...');
146
+ for (const [workerId, worker] of this.workers){
147
+ worker.postMessage({
148
+ type: 'shutdown'
149
+ });
150
+ await worker.terminate();
151
+ }
152
+ this.workers.clear();
153
+ this.healthMonitor.stop();
154
+ console.log('WebSocket cluster stopped');
155
+ }
156
+ }
157
+ // Worker thread implementation
158
+ if (!isMainThread && parentPort) {
159
+ const config = workerData;
160
+ const workerBus = new SharedBufferBus();
161
+ let WebSocketWorker = class WebSocketWorker {
162
+ server;
163
+ connections = new Map();
164
+ metrics = {
165
+ connections: 0,
166
+ messagesPerSecond: 0,
167
+ averageLatency: 0
168
+ };
169
+ constructor(){
170
+ this.setupWebSocketServer();
171
+ this.startMessageProcessor();
172
+ this.startMetricsReporting();
173
+ }
174
+ setupWebSocketServer() {
175
+ const httpServer = createServer();
176
+ this.server = new WebSocketServer({
177
+ server: httpServer,
178
+ perMessageDeflate: {
179
+ zlibDeflateOptions: {
180
+ windowBits: 13,
181
+ memLevel: 7
182
+ }
183
+ }
184
+ });
185
+ this.server.on('connection', this.handleConnection.bind(this));
186
+ httpServer.listen(config.port, ()=>{
187
+ parentPort?.postMessage({
188
+ type: 'ready',
189
+ workerId: config.workerId
190
+ });
191
+ });
192
+ }
193
+ handleConnection(ws, request) {
194
+ const connectionId = `${config.workerId}-${Date.now()}-${Math.random()}`;
195
+ this.connections.set(connectionId, ws);
196
+ this.metrics.connections++;
197
+ ws.on('message', async (data)=>{
198
+ const startTime = performance.now();
199
+ try {
200
+ // Parse message and route through shared buffer bus
201
+ const message = JSON.parse(data.toString());
202
+ const binaryData = new TextEncoder().encode(JSON.stringify(message));
203
+ await workerBus.sendMessage(message.type || 0, binaryData, message.priority || 0, message.targetId);
204
+ const latency = performance.now() - startTime;
205
+ this.metrics.averageLatency = this.metrics.averageLatency * 0.9 + latency * 0.1;
206
+ this.metrics.messagesPerSecond++;
207
+ } catch (error) {
208
+ console.error(`Worker ${config.workerId} message error:`, error);
209
+ }
210
+ });
211
+ ws.on('close', ()=>{
212
+ this.connections.delete(connectionId);
213
+ this.metrics.connections--;
214
+ });
215
+ ws.on('error', (error)=>{
216
+ console.error(`Worker ${config.workerId} connection error:`, error);
217
+ this.connections.delete(connectionId);
218
+ this.metrics.connections--;
219
+ });
220
+ }
221
+ startMessageProcessor() {
222
+ // Process messages from shared buffer bus
223
+ setImmediate(async ()=>{
224
+ while(true){
225
+ const message = await workerBus.receiveMessage(100);
226
+ if (message) {
227
+ this.broadcastToConnections(message);
228
+ }
229
+ }
230
+ });
231
+ }
232
+ broadcastToConnections(message) {
233
+ const data = JSON.stringify({
234
+ type: message.type,
235
+ data: new TextDecoder().decode(message.data),
236
+ timestamp: Date.now()
237
+ });
238
+ for (const [connectionId, ws] of this.connections){
239
+ if (ws.readyState === WebSocket.OPEN) {
240
+ try {
241
+ ws.send(data);
242
+ } catch (error) {
243
+ console.error(`Failed to send to connection ${connectionId}:`, error);
244
+ this.connections.delete(connectionId);
245
+ this.metrics.connections--;
246
+ }
247
+ }
248
+ }
249
+ }
250
+ startMetricsReporting() {
251
+ setInterval(()=>{
252
+ parentPort?.postMessage({
253
+ type: 'metrics',
254
+ data: {
255
+ ...this.metrics
256
+ }
257
+ });
258
+ // Reset message counter
259
+ this.metrics.messagesPerSecond = 0;
260
+ }, 1000);
261
+ }
262
+ };
263
+ // Handle messages from main thread
264
+ parentPort.on('message', (message)=>{
265
+ switch(message.type){
266
+ case 'broadcast':
267
+ break;
268
+ case 'route':
269
+ break;
270
+ case 'shutdown':
271
+ process.exit(0);
272
+ break;
273
+ }
274
+ });
275
+ new WebSocketWorker();
276
+ }
277
+ let LoadBalancer = class LoadBalancer {
278
+ workerCount;
279
+ currentWorker = 0;
280
+ workerLoads;
281
+ constructor(workerCount){
282
+ this.workerCount = workerCount;
283
+ this.workerLoads = new Array(workerCount).fill(0);
284
+ }
285
+ selectWorker(targetId) {
286
+ if (targetId !== undefined && targetId >= 0 && targetId < this.workerCount) {
287
+ return targetId;
288
+ }
289
+ // Round-robin with load consideration
290
+ let selectedWorker = this.currentWorker;
291
+ let minLoad = this.workerLoads[selectedWorker];
292
+ for(let i = 0; i < this.workerCount; i++){
293
+ if (this.workerLoads[i] < minLoad) {
294
+ minLoad = this.workerLoads[i];
295
+ selectedWorker = i;
296
+ }
297
+ }
298
+ this.currentWorker = (this.currentWorker + 1) % this.workerCount;
299
+ this.workerLoads[selectedWorker]++;
300
+ return selectedWorker;
301
+ }
302
+ updateWorkerLoad(workerId, load) {
303
+ if (workerId >= 0 && workerId < this.workerCount) {
304
+ this.workerLoads[workerId] = load;
305
+ }
306
+ }
307
+ };
308
+ let HealthMonitor = class HealthMonitor {
309
+ healthCheckInterval;
310
+ workers = new Map();
311
+ start(workers) {
312
+ this.workers = workers;
313
+ this.healthCheckInterval = setInterval(()=>{
314
+ this.performHealthCheck();
315
+ }, 10000); // Health check every 10 seconds
316
+ }
317
+ performHealthCheck() {
318
+ for (const [workerId, worker] of this.workers){
319
+ // Send ping to worker
320
+ worker.postMessage({
321
+ type: 'ping',
322
+ timestamp: Date.now()
323
+ });
324
+ // Set timeout for response
325
+ const timeout = setTimeout(()=>{
326
+ console.warn(`Worker ${workerId} health check timeout`);
327
+ }, 5000);
328
+ const responseHandler = (message)=>{
329
+ if (message.type === 'pong' && message.workerId === workerId) {
330
+ clearTimeout(timeout);
331
+ worker.off('message', responseHandler);
332
+ }
333
+ };
334
+ worker.on('message', responseHandler);
335
+ }
336
+ }
337
+ stop() {
338
+ if (this.healthCheckInterval) {
339
+ clearInterval(this.healthCheckInterval);
340
+ }
341
+ }
342
+ };
343
+
344
+ //# sourceMappingURL=websocket-cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/communication/websocket-cluster.ts"],"names":["Worker","isMainThread","parentPort","workerData","WebSocketServer","WebSocket","createServer","SharedBufferBus","WebSocketCluster","workers","Map","sharedBus","loadBalancer","healthMonitor","metrics","workerCount","basePort","options","Math","max","require","cpus","length","LoadBalancer","HealthMonitor","totalConnections","activeConnections","messagesPerSecond","averageLatency","errorRate","start","Error","console","log","i","startWorker","startMetricsCollection","workerId","worker","__filename","port","sharedBuffer","getSharedBuffer","connectionLimit","floor","on","message","handleWorkerMessage","error","restartWorker","code","set","Promise","resolve","readyHandler","type","off","get","terminate","delete","setTimeout","updateMetrics","data","broadcastToAllWorkers","routeMessage","excludeWorkerId","postMessage","targetWorker","selectWorker","targetId","workerMetrics","connections","setInterval","activeWorkers","size","toFixed","getMetrics","stop","clear","config","workerBus","WebSocketWorker","server","setupWebSocketServer","startMessageProcessor","startMetricsReporting","httpServer","perMessageDeflate","zlibDeflateOptions","windowBits","memLevel","handleConnection","bind","listen","ws","request","connectionId","Date","now","random","startTime","performance","JSON","parse","toString","binaryData","TextEncoder","encode","stringify","sendMessage","priority","latency","setImmediate","receiveMessage","broadcastToConnections","TextDecoder","decode","timestamp","readyState","OPEN","send","process","exit","currentWorker","workerLoads","Array","fill","undefined","selectedWorker","minLoad","updateWorkerLoad","load","healthCheckInterval","performHealthCheck","timeout","warn","responseHandler","clearTimeout","clearInterval"],"mappings":"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"}