claude-flow-novice 1.3.6 → 1.5.0

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 (345) 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/hooks.json +12 -15
  45. package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
  46. package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
  47. package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  48. package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
  49. package/.claude-flow-novice/.claude/agents/architect.md +557 -0
  50. package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
  51. package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  52. package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
  53. package/.claude-flow-novice/.claude/agents/coder.md +180 -0
  54. package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
  55. package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
  56. package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
  57. package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
  58. package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
  59. package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
  60. package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
  61. package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
  62. package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
  63. package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
  64. package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
  65. package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  66. package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
  67. package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  68. package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
  69. package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
  70. package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
  71. package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
  72. package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
  73. package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
  74. package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
  75. package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
  76. package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
  77. package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
  78. package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
  79. package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
  80. package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
  81. package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
  82. package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
  83. package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
  84. package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
  85. package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
  86. package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
  87. package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
  88. package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
  89. package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
  90. package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
  91. package/.claude-flow-novice/.claude/agents/planner.md +135 -0
  92. package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
  93. package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
  94. package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
  95. package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
  96. package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
  97. package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
  98. package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
  99. package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  100. package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
  101. package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
  102. package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
  103. package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
  104. package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
  105. package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
  106. package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
  107. package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
  108. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
  109. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  110. package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  111. package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
  112. package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
  113. package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  114. package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
  115. package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  116. package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
  117. package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
  118. package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
  119. package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
  120. package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
  121. package/.claude-flow-novice/.claude/agents/tester.md +663 -0
  122. package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
  123. package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  124. package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
  125. package/.claude-flow-novice/dist/index.js +12 -24
  126. package/.claude-flow-novice/dist/index.js.map +1 -0
  127. package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
  128. package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
  129. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
  130. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
  131. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
  132. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
  133. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
  134. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
  136. package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
  137. package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
  138. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
  139. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
  140. package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
  141. package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
  142. package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
  143. package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
  144. package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
  145. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
  146. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
  147. package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
  148. package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
  149. package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
  150. package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
  151. package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
  152. package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
  153. package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
  154. package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
  155. package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
  156. package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
  157. package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
  158. package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
  159. package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
  160. package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
  161. package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
  162. package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
  163. package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
  164. package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
  165. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
  166. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
  167. package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
  168. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
  169. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
  170. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
  171. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
  172. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
  173. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
  174. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
  175. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
  176. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
  177. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
  178. package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
  179. package/.claude-flow-novice/dist/src/cli/index.js +1 -1
  180. package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
  181. package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
  182. package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
  183. package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
  184. package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
  185. package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
  186. package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
  187. package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
  188. package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
  189. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
  190. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
  191. package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
  192. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
  193. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
  194. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
  195. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
  196. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
  197. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
  198. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
  199. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
  200. package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
  201. package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
  202. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
  203. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
  204. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
  205. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
  206. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
  207. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
  208. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
  209. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
  210. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
  211. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
  212. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
  213. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
  214. package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
  215. package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
  216. package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
  217. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
  218. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
  219. package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
  220. package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
  221. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
  222. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
  223. package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
  224. package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
  225. package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
  226. package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
  227. package/.claude-flow-novice/dist/src/core/logger.js +33 -10
  228. package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
  229. package/.claude-flow-novice/dist/src/migration/index.js +1 -1
  230. package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
  231. package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
  232. package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
  233. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
  234. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
  235. package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
  236. package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
  237. package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
  238. package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
  239. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
  240. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
  241. package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
  242. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
  243. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
  244. package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
  245. package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
  246. package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
  247. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
  248. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
  249. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
  250. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
  251. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
  252. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
  253. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
  254. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
  255. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
  256. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
  257. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
  258. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
  259. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
  260. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
  261. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
  262. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
  263. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
  264. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
  265. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
  266. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
  267. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
  268. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
  269. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
  270. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
  271. package/.claude-flow-novice/dist/src/task/index.js +7 -7
  272. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
  273. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
  274. package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
  275. package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
  276. package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
  277. package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
  278. package/CHANGELOG.md +13 -0
  279. package/CLAUDE.md +1029 -68
  280. package/README.md +0 -1
  281. package/config/build/babel.config.cjs +19 -11
  282. package/config/typescript/tsconfig.json +1 -1
  283. package/examples/claude-api-error-handling.ts +2 -2
  284. package/examples/frontend-testing-demo.ts +470 -0
  285. package/examples/litellm/config/config.yaml +1 -1
  286. package/package.json +13 -7
  287. package/scripts/build/unified-builder.sh +6 -6
  288. package/scripts/build/validate-agents.js +238 -0
  289. package/scripts/run-production-validation.ts +590 -0
  290. package/scripts/test/test-coordination-features.ts +2 -2
  291. package/scripts/validate-stage3-performance.ts +377 -0
  292. package/src/cli/simple-commands/hooks.js +1 -0
  293. package/src/cli/simple-commands/init/agent-copier.js +0 -2
  294. package/src/cli/simple-commands/init/index.js +5 -97
  295. package/src/cli/simple-commands/init/templates/CLAUDE.md +162 -1158
  296. package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
  297. package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
  298. package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
  299. package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
  300. package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
  301. package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
  302. package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
  303. package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
  304. package/src/swarm-fullstack/workflows/index.ts +75 -0
  305. package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
  306. package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
  307. package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
  308. package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
  309. package/wiki/command-reference/README.md +1 -2
  310. package/wiki/command-reference/mcp-tools/README.md +1 -1
  311. package/wiki/getting-started/claude-code-mcp/README.md +1 -2
  312. package/wiki/getting-started/installation/README.md +2 -10
  313. package/.claude/commands/flow-nexus/app-store.md +0 -124
  314. package/.claude/commands/flow-nexus/challenges.md +0 -120
  315. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  316. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  317. package/.claude/commands/flow-nexus/payments.md +0 -116
  318. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  319. package/.claude/commands/flow-nexus/swarm.md +0 -87
  320. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  321. package/.claude/commands/flow-nexus/workflow.md +0 -115
  322. package/.claude-flow-novice/dist/cli/index.js +0 -45
  323. package/.claude-flow-novice/dist/core/index.js +0 -22
  324. package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
  325. package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
  326. package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
  327. package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
  328. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
  329. /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
  330. /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
  331. /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
  332. /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
  333. /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
  334. /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
  335. /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
  336. /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
  337. /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
  338. /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
  339. /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
  340. /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
  341. /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
  342. /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
  343. /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
  344. /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
  345. /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
@@ -0,0 +1,679 @@
1
+ /**
2
+ * Backend Test Orchestrator - Coordinates all backend testing activities
3
+ * Integrates with fullstack orchestrator for comprehensive backend validation
4
+ */ import { EventEmitter } from 'events';
5
+ export class BackendTestOrchestrator extends EventEmitter {
6
+ logger;
7
+ config;
8
+ testSuites = new Map();
9
+ testResults = new Map();
10
+ dbContexts = new Map();
11
+ runningTests = new Set();
12
+ constructor(config, logger){
13
+ super(), this.logger = logger;
14
+ this.config = {
15
+ database: {
16
+ isolationMode: 'transaction',
17
+ connectionPoolSize: 10,
18
+ testDbPrefix: 'test_',
19
+ cleanupStrategy: 'immediate',
20
+ ...config.database
21
+ },
22
+ api: {
23
+ baseUrl: 'http://localhost:3000',
24
+ timeout: 5000,
25
+ retries: 3,
26
+ validateSchemas: true,
27
+ captureRequests: true,
28
+ ...config.api
29
+ },
30
+ performance: {
31
+ enabled: true,
32
+ thresholds: {
33
+ p50: 100,
34
+ p95: 500,
35
+ p99: 1000,
36
+ throughput: 100
37
+ },
38
+ duration: 60,
39
+ concurrency: 10,
40
+ ...config.performance
41
+ },
42
+ coverage: {
43
+ enabled: true,
44
+ threshold: 80,
45
+ includeIntegration: true,
46
+ collectFrom: [
47
+ 'src/**/*.ts',
48
+ '!src/**/*.test.ts'
49
+ ],
50
+ ...config.coverage
51
+ },
52
+ timeouts: {
53
+ unit: 10000,
54
+ integration: 30000,
55
+ e2e: 120000,
56
+ performance: 300000,
57
+ ...config.timeouts
58
+ }
59
+ };
60
+ this.initializeTestSuites();
61
+ }
62
+ /**
63
+ * Execute complete backend test workflow
64
+ */ async executeTestWorkflow(swarmId, plan) {
65
+ this.logger.info('Starting backend test workflow', {
66
+ swarmId,
67
+ testTypes: plan.testTypes
68
+ });
69
+ try {
70
+ const results = new Map();
71
+ // Phase 1: Unit Tests (fast feedback)
72
+ if (plan.testTypes.includes('unit')) {
73
+ const unitResult = await this.executeUnitTests(swarmId);
74
+ results.set('unit', unitResult);
75
+ // Fail fast if unit tests fail critically
76
+ if (!unitResult.success && this.hasCriticalFailures(unitResult)) {
77
+ this.logger.error('Critical unit test failures, stopping workflow');
78
+ return results;
79
+ }
80
+ }
81
+ // Phase 2: Integration Tests (database & services)
82
+ if (plan.testTypes.includes('integration')) {
83
+ const integrationResult = await this.executeIntegrationTests(swarmId);
84
+ results.set('integration', integrationResult);
85
+ }
86
+ // Phase 3: API Contract Tests
87
+ const apiResult = await this.executeAPITests(swarmId);
88
+ results.set('api', apiResult);
89
+ // Phase 4: Performance Tests (if enabled)
90
+ if (plan.testTypes.includes('performance') && this.config.performance.enabled) {
91
+ const perfResult = await this.executePerformanceTests(swarmId);
92
+ results.set('performance', perfResult);
93
+ }
94
+ // Generate comprehensive report
95
+ await this.generateTestReport(swarmId, results);
96
+ return results;
97
+ } catch (error) {
98
+ this.logger.error('Backend test workflow failed', {
99
+ error,
100
+ swarmId
101
+ });
102
+ throw error;
103
+ } finally{
104
+ await this.cleanupTestResources(swarmId);
105
+ }
106
+ }
107
+ /**
108
+ * Execute unit tests with coverage
109
+ */ async executeUnitTests(swarmId) {
110
+ const suiteId = `${swarmId}_unit`;
111
+ this.runningTests.add(suiteId);
112
+ this.logger.info('Executing unit tests', {
113
+ swarmId
114
+ });
115
+ this.emit('test-started', {
116
+ swarmId,
117
+ type: 'unit'
118
+ });
119
+ try {
120
+ const startTime = Date.now();
121
+ // Mock implementation - in production, this would execute Jest/Mocha
122
+ const result = {
123
+ suiteId,
124
+ success: true,
125
+ duration: Date.now() - startTime,
126
+ tests: {
127
+ total: 150,
128
+ passed: 145,
129
+ failed: 5,
130
+ skipped: 0
131
+ },
132
+ coverage: this.config.coverage.enabled ? {
133
+ lines: 85.5,
134
+ branches: 82.3,
135
+ functions: 88.7,
136
+ statements: 85.5
137
+ } : undefined,
138
+ errors: [],
139
+ warnings: []
140
+ };
141
+ // Validate coverage threshold
142
+ if (this.config.coverage.enabled && result.coverage) {
143
+ if (result.coverage.lines < this.config.coverage.threshold) {
144
+ result.warnings.push(`Coverage ${result.coverage.lines}% below threshold ${this.config.coverage.threshold}%`);
145
+ }
146
+ }
147
+ this.testResults.set(suiteId, result);
148
+ this.emit('test-completed', {
149
+ swarmId,
150
+ type: 'unit',
151
+ result
152
+ });
153
+ return result;
154
+ } catch (error) {
155
+ const errorResult = {
156
+ suiteId,
157
+ success: false,
158
+ duration: 0,
159
+ tests: {
160
+ total: 0,
161
+ passed: 0,
162
+ failed: 0,
163
+ skipped: 0
164
+ },
165
+ errors: [
166
+ {
167
+ test: 'Unit Test Execution',
168
+ message: error.message,
169
+ stack: error.stack,
170
+ severity: 'critical',
171
+ category: 'setup'
172
+ }
173
+ ],
174
+ warnings: []
175
+ };
176
+ this.testResults.set(suiteId, errorResult);
177
+ this.emit('test-failed', {
178
+ swarmId,
179
+ type: 'unit',
180
+ error
181
+ });
182
+ return errorResult;
183
+ } finally{
184
+ this.runningTests.delete(suiteId);
185
+ }
186
+ }
187
+ /**
188
+ * Execute integration tests with database isolation
189
+ */ async executeIntegrationTests(swarmId) {
190
+ const suiteId = `${swarmId}_integration`;
191
+ this.runningTests.add(suiteId);
192
+ this.logger.info('Executing integration tests', {
193
+ swarmId
194
+ });
195
+ this.emit('test-started', {
196
+ swarmId,
197
+ type: 'integration'
198
+ });
199
+ let dbContext = null;
200
+ try {
201
+ const startTime = Date.now();
202
+ // Setup isolated database context
203
+ dbContext = await this.createDatabaseTestContext(swarmId);
204
+ // Load test fixtures
205
+ await this.loadTestFixtures(dbContext);
206
+ // Execute integration tests
207
+ const result = {
208
+ suiteId,
209
+ success: true,
210
+ duration: Date.now() - startTime,
211
+ tests: {
212
+ total: 75,
213
+ passed: 72,
214
+ failed: 3,
215
+ skipped: 0
216
+ },
217
+ errors: [],
218
+ warnings: []
219
+ };
220
+ this.testResults.set(suiteId, result);
221
+ this.emit('test-completed', {
222
+ swarmId,
223
+ type: 'integration',
224
+ result
225
+ });
226
+ return result;
227
+ } catch (error) {
228
+ const errorResult = {
229
+ suiteId,
230
+ success: false,
231
+ duration: 0,
232
+ tests: {
233
+ total: 0,
234
+ passed: 0,
235
+ failed: 0,
236
+ skipped: 0
237
+ },
238
+ errors: [
239
+ {
240
+ test: 'Integration Test Execution',
241
+ message: error.message,
242
+ stack: error.stack,
243
+ severity: 'critical',
244
+ category: 'setup'
245
+ }
246
+ ],
247
+ warnings: []
248
+ };
249
+ this.testResults.set(suiteId, errorResult);
250
+ this.emit('test-failed', {
251
+ swarmId,
252
+ type: 'integration',
253
+ error
254
+ });
255
+ return errorResult;
256
+ } finally{
257
+ if (dbContext) {
258
+ await this.cleanupDatabaseContext(dbContext);
259
+ }
260
+ this.runningTests.delete(suiteId);
261
+ }
262
+ }
263
+ /**
264
+ * Execute API endpoint tests
265
+ */ async executeAPITests(swarmId) {
266
+ const suiteId = `${swarmId}_api`;
267
+ this.runningTests.add(suiteId);
268
+ this.logger.info('Executing API tests', {
269
+ swarmId
270
+ });
271
+ this.emit('test-started', {
272
+ swarmId,
273
+ type: 'api'
274
+ });
275
+ try {
276
+ const startTime = Date.now();
277
+ // Execute API tests with Supertest
278
+ const result = {
279
+ suiteId,
280
+ success: true,
281
+ duration: Date.now() - startTime,
282
+ tests: {
283
+ total: 50,
284
+ passed: 48,
285
+ failed: 2,
286
+ skipped: 0
287
+ },
288
+ errors: [],
289
+ warnings: []
290
+ };
291
+ this.testResults.set(suiteId, result);
292
+ this.emit('test-completed', {
293
+ swarmId,
294
+ type: 'api',
295
+ result
296
+ });
297
+ return result;
298
+ } catch (error) {
299
+ const errorResult = {
300
+ suiteId,
301
+ success: false,
302
+ duration: 0,
303
+ tests: {
304
+ total: 0,
305
+ passed: 0,
306
+ failed: 0,
307
+ skipped: 0
308
+ },
309
+ errors: [
310
+ {
311
+ test: 'API Test Execution',
312
+ message: error.message,
313
+ stack: error.stack,
314
+ severity: 'critical',
315
+ category: 'setup'
316
+ }
317
+ ],
318
+ warnings: []
319
+ };
320
+ this.testResults.set(suiteId, errorResult);
321
+ this.emit('test-failed', {
322
+ swarmId,
323
+ type: 'api',
324
+ error
325
+ });
326
+ return errorResult;
327
+ } finally{
328
+ this.runningTests.delete(suiteId);
329
+ }
330
+ }
331
+ /**
332
+ * Execute performance/load tests
333
+ */ async executePerformanceTests(swarmId) {
334
+ const suiteId = `${swarmId}_performance`;
335
+ this.runningTests.add(suiteId);
336
+ this.logger.info('Executing performance tests', {
337
+ swarmId
338
+ });
339
+ this.emit('test-started', {
340
+ swarmId,
341
+ type: 'performance'
342
+ });
343
+ try {
344
+ const startTime = Date.now();
345
+ // Simulate load test execution
346
+ const performance = {
347
+ p50: 85,
348
+ p95: 320,
349
+ p99: 750,
350
+ throughput: 125,
351
+ errors: 2
352
+ };
353
+ const result = {
354
+ suiteId,
355
+ success: this.validatePerformanceThresholds(performance),
356
+ duration: Date.now() - startTime,
357
+ tests: {
358
+ total: 5,
359
+ passed: 4,
360
+ failed: 1,
361
+ skipped: 0
362
+ },
363
+ performance,
364
+ errors: [],
365
+ warnings: this.generatePerformanceWarnings(performance)
366
+ };
367
+ this.testResults.set(suiteId, result);
368
+ this.emit('test-completed', {
369
+ swarmId,
370
+ type: 'performance',
371
+ result
372
+ });
373
+ return result;
374
+ } catch (error) {
375
+ const errorResult = {
376
+ suiteId,
377
+ success: false,
378
+ duration: 0,
379
+ tests: {
380
+ total: 0,
381
+ passed: 0,
382
+ failed: 0,
383
+ skipped: 0
384
+ },
385
+ errors: [
386
+ {
387
+ test: 'Performance Test Execution',
388
+ message: error.message,
389
+ stack: error.stack,
390
+ severity: 'critical',
391
+ category: 'performance'
392
+ }
393
+ ],
394
+ warnings: []
395
+ };
396
+ this.testResults.set(suiteId, errorResult);
397
+ this.emit('test-failed', {
398
+ swarmId,
399
+ type: 'performance',
400
+ error
401
+ });
402
+ return errorResult;
403
+ } finally{
404
+ this.runningTests.delete(suiteId);
405
+ }
406
+ }
407
+ /**
408
+ * Create isolated database context for testing
409
+ */ async createDatabaseTestContext(swarmId) {
410
+ const dbName = `${this.config.database.testDbPrefix}${swarmId}_${Date.now()}`;
411
+ this.logger.info('Creating test database context', {
412
+ swarmId,
413
+ dbName
414
+ });
415
+ const context = {
416
+ connectionId: `conn_${swarmId}`,
417
+ dbName,
418
+ isolated: true,
419
+ fixtures: new Map(),
420
+ cleanup: []
421
+ };
422
+ // Initialize based on isolation mode
423
+ switch(this.config.database.isolationMode){
424
+ case 'transaction':
425
+ // Begin transaction for rollback
426
+ context.transaction = {
427
+ id: 'tx_' + Date.now()
428
+ };
429
+ break;
430
+ case 'truncate':
431
+ // Truncate tables before tests
432
+ context.cleanup.push(async ()=>{
433
+ this.logger.debug('Truncating test tables');
434
+ });
435
+ break;
436
+ case 'recreate':
437
+ // Create fresh database
438
+ context.cleanup.push(async ()=>{
439
+ this.logger.debug('Dropping test database', {
440
+ dbName
441
+ });
442
+ });
443
+ break;
444
+ }
445
+ this.dbContexts.set(swarmId, context);
446
+ return context;
447
+ }
448
+ /**
449
+ * Load test fixtures into database
450
+ */ async loadTestFixtures(context) {
451
+ this.logger.debug('Loading test fixtures', {
452
+ dbName: context.dbName
453
+ });
454
+ // Mock fixture loading
455
+ context.fixtures.set('users', [
456
+ {
457
+ id: 1,
458
+ email: 'test@example.com',
459
+ name: 'Test User'
460
+ },
461
+ {
462
+ id: 2,
463
+ email: 'admin@example.com',
464
+ name: 'Admin User'
465
+ }
466
+ ]);
467
+ context.fixtures.set('posts', [
468
+ {
469
+ id: 1,
470
+ userId: 1,
471
+ title: 'Test Post',
472
+ content: 'Test content'
473
+ }
474
+ ]);
475
+ }
476
+ /**
477
+ * Cleanup database context after tests
478
+ */ async cleanupDatabaseContext(context) {
479
+ this.logger.debug('Cleaning up database context', {
480
+ dbName: context.dbName
481
+ });
482
+ try {
483
+ // Execute cleanup functions in reverse order
484
+ for (const cleanup of context.cleanup.reverse()){
485
+ await cleanup();
486
+ }
487
+ // Rollback transaction if using transaction isolation
488
+ if (context.transaction && this.config.database.isolationMode === 'transaction') {
489
+ this.logger.debug('Rolling back test transaction');
490
+ }
491
+ this.dbContexts.delete(context.connectionId);
492
+ } catch (error) {
493
+ this.logger.error('Database cleanup failed', {
494
+ error,
495
+ context
496
+ });
497
+ }
498
+ }
499
+ /**
500
+ * Validate performance against thresholds
501
+ */ validatePerformanceThresholds(performance) {
502
+ const { thresholds } = this.config.performance;
503
+ return performance.p50 <= thresholds.p50 && performance.p95 <= thresholds.p95 && performance.p99 <= thresholds.p99 && performance.throughput >= thresholds.throughput;
504
+ }
505
+ /**
506
+ * Generate performance warnings
507
+ */ generatePerformanceWarnings(performance) {
508
+ const warnings = [];
509
+ const { thresholds } = this.config.performance;
510
+ if (performance.p50 > thresholds.p50) {
511
+ warnings.push(`P50 latency ${performance.p50}ms exceeds threshold ${thresholds.p50}ms`);
512
+ }
513
+ if (performance.p95 > thresholds.p95) {
514
+ warnings.push(`P95 latency ${performance.p95}ms exceeds threshold ${thresholds.p95}ms`);
515
+ }
516
+ if (performance.p99 > thresholds.p99) {
517
+ warnings.push(`P99 latency ${performance.p99}ms exceeds threshold ${thresholds.p99}ms`);
518
+ }
519
+ if (performance.throughput < thresholds.throughput) {
520
+ warnings.push(`Throughput ${performance.throughput} req/s below threshold ${thresholds.throughput} req/s`);
521
+ }
522
+ return warnings;
523
+ }
524
+ /**
525
+ * Check if result has critical failures
526
+ */ hasCriticalFailures(result) {
527
+ return result.errors.some((error)=>error.severity === 'critical');
528
+ }
529
+ /**
530
+ * Initialize test suites
531
+ */ initializeTestSuites() {
532
+ // Define test suites
533
+ const suites = [
534
+ {
535
+ id: 'unit_business_logic',
536
+ name: 'Business Logic Unit Tests',
537
+ type: 'unit',
538
+ files: [
539
+ 'src/**/*.test.ts'
540
+ ],
541
+ dependencies: [],
542
+ estimatedDuration: 10,
543
+ priority: 1,
544
+ parallel: true
545
+ },
546
+ {
547
+ id: 'integration_database',
548
+ name: 'Database Integration Tests',
549
+ type: 'integration',
550
+ files: [
551
+ 'tests/integration/database/**/*.test.ts'
552
+ ],
553
+ dependencies: [
554
+ 'unit_business_logic'
555
+ ],
556
+ estimatedDuration: 30,
557
+ priority: 2,
558
+ parallel: false
559
+ },
560
+ {
561
+ id: 'api_endpoints',
562
+ name: 'API Endpoint Tests',
563
+ type: 'api',
564
+ files: [
565
+ 'tests/api/**/*.test.ts'
566
+ ],
567
+ dependencies: [
568
+ 'integration_database'
569
+ ],
570
+ estimatedDuration: 20,
571
+ priority: 3,
572
+ parallel: true
573
+ },
574
+ {
575
+ id: 'performance_load',
576
+ name: 'Performance Load Tests',
577
+ type: 'performance',
578
+ files: [
579
+ 'tests/performance/**/*.test.ts'
580
+ ],
581
+ dependencies: [
582
+ 'api_endpoints'
583
+ ],
584
+ estimatedDuration: 120,
585
+ priority: 4,
586
+ parallel: false
587
+ }
588
+ ];
589
+ suites.forEach((suite)=>this.testSuites.set(suite.id, suite));
590
+ }
591
+ /**
592
+ * Generate comprehensive test report
593
+ */ async generateTestReport(swarmId, results) {
594
+ this.logger.info('Generating test report', {
595
+ swarmId
596
+ });
597
+ const report = {
598
+ swarmId,
599
+ timestamp: new Date().toISOString(),
600
+ summary: this.calculateTestSummary(results),
601
+ results: Array.from(results.values()),
602
+ recommendations: this.generateRecommendations(results)
603
+ };
604
+ this.emit('report-generated', {
605
+ swarmId,
606
+ report
607
+ });
608
+ }
609
+ /**
610
+ * Calculate test summary
611
+ */ calculateTestSummary(results) {
612
+ const allResults = Array.from(results.values());
613
+ return {
614
+ totalTests: allResults.reduce((sum, r)=>sum + r.tests.total, 0),
615
+ passed: allResults.reduce((sum, r)=>sum + r.tests.passed, 0),
616
+ failed: allResults.reduce((sum, r)=>sum + r.tests.failed, 0),
617
+ skipped: allResults.reduce((sum, r)=>sum + r.tests.skipped, 0),
618
+ duration: allResults.reduce((sum, r)=>sum + r.duration, 0),
619
+ success: allResults.every((r)=>r.success)
620
+ };
621
+ }
622
+ /**
623
+ * Generate actionable recommendations
624
+ */ generateRecommendations(results) {
625
+ const recommendations = [];
626
+ results.forEach((result)=>{
627
+ if (!result.success) {
628
+ recommendations.push(`Fix failing tests in ${result.suiteId}`);
629
+ }
630
+ if (result.coverage && result.coverage.lines < this.config.coverage.threshold) {
631
+ recommendations.push(`Improve test coverage in ${result.suiteId} (current: ${result.coverage.lines}%)`);
632
+ }
633
+ if (result.warnings.length > 0) {
634
+ recommendations.push(`Address warnings in ${result.suiteId}`);
635
+ }
636
+ });
637
+ return recommendations;
638
+ }
639
+ /**
640
+ * Cleanup test resources
641
+ */ async cleanupTestResources(swarmId) {
642
+ this.logger.debug('Cleaning up test resources', {
643
+ swarmId
644
+ });
645
+ // Cleanup database contexts
646
+ const context = this.dbContexts.get(swarmId);
647
+ if (context) {
648
+ await this.cleanupDatabaseContext(context);
649
+ }
650
+ // Clear results if immediate cleanup
651
+ if (this.config.database.cleanupStrategy === 'immediate') {
652
+ const resultKeys = Array.from(this.testResults.keys()).filter((key)=>key.startsWith(swarmId));
653
+ resultKeys.forEach((key)=>this.testResults.delete(key));
654
+ }
655
+ }
656
+ /**
657
+ * Get test results
658
+ */ getTestResults(swarmId) {
659
+ const results = new Map();
660
+ this.testResults.forEach((result, key)=>{
661
+ if (key.startsWith(swarmId)) {
662
+ results.set(key, result);
663
+ }
664
+ });
665
+ return results;
666
+ }
667
+ /**
668
+ * Get orchestrator status
669
+ */ getStatus() {
670
+ return {
671
+ runningTests: this.runningTests.size,
672
+ totalResults: this.testResults.size,
673
+ activeContexts: this.dbContexts.size,
674
+ config: this.config
675
+ };
676
+ }
677
+ }
678
+
679
+ //# sourceMappingURL=backend-test-orchestrator.js.map