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,521 @@
1
+ /**
2
+ * Ultra-Fast Communication Bus
3
+ * Zero-latency message routing with lock-free data structures
4
+ * Target: <1ms P95 message delivery
5
+ */ import { Worker } from "worker_threads";
6
+ import { performance } from "perf_hooks";
7
+ // Ultra-optimized lock-free ring buffer with SPSC design
8
+ let UltraFastLockFreeRingBuffer = class UltraFastLockFreeRingBuffer {
9
+ buffer;
10
+ capacity;
11
+ mask;
12
+ // Cache-aligned atomic indices with false sharing prevention
13
+ writeIndex;
14
+ readIndex;
15
+ writeView;
16
+ readView;
17
+ // Pre-allocated padding to prevent false sharing
18
+ paddingSize = 64;
19
+ constructor(capacity = 65536){
20
+ // Ensure power of 2 for efficient modulo operations
21
+ this.capacity = Math.pow(2, Math.ceil(Math.log2(capacity)));
22
+ this.mask = this.capacity - 1;
23
+ this.buffer = new Array(this.capacity);
24
+ // Allocate cache-aligned shared buffers to prevent false sharing
25
+ this.writeIndex = new SharedArrayBuffer(this.paddingSize);
26
+ this.readIndex = new SharedArrayBuffer(this.paddingSize);
27
+ this.writeView = new BigUint64Array(this.writeIndex);
28
+ this.readView = new BigUint64Array(this.readIndex);
29
+ // Initialize atomic counters
30
+ Atomics.store(this.writeView, 0, 0n);
31
+ Atomics.store(this.readView, 0, 0n);
32
+ }
33
+ enqueue(item) {
34
+ const writePos = Number(Atomics.load(this.writeView, 0));
35
+ const nextWritePos = writePos + 1 & this.mask;
36
+ const readPos = Number(Atomics.load(this.readView, 0));
37
+ // Check if buffer is full (leave one slot empty for full/empty distinction)
38
+ if (nextWritePos === readPos) {
39
+ return false;
40
+ }
41
+ // Store item first, then update index with memory barrier
42
+ this.buffer[writePos] = item;
43
+ // Compiler fence to prevent reordering
44
+ Atomics.store(this.writeView, 0, BigInt(nextWritePos));
45
+ return true;
46
+ }
47
+ dequeue() {
48
+ const readPos = Number(Atomics.load(this.readView, 0));
49
+ const writePos = Number(Atomics.load(this.writeView, 0));
50
+ // Check if buffer is empty
51
+ if (readPos === writePos) {
52
+ return null;
53
+ }
54
+ const item = this.buffer[readPos];
55
+ const nextReadPos = readPos + 1 & this.mask;
56
+ // Clear the slot to avoid memory leaks
57
+ this.buffer[readPos] = undefined;
58
+ // Update read position with memory barrier
59
+ Atomics.store(this.readView, 0, BigInt(nextReadPos));
60
+ return item;
61
+ }
62
+ size() {
63
+ const writePos = Number(Atomics.load(this.writeView, 0));
64
+ const readPos = Number(Atomics.load(this.readView, 0));
65
+ return writePos - readPos & this.mask;
66
+ }
67
+ isEmpty() {
68
+ return this.size() === 0;
69
+ }
70
+ isFull() {
71
+ return this.size() === this.capacity - 1;
72
+ }
73
+ };
74
+ // Ultra-fast memory pool with thread-local caching
75
+ let UltraFastMessagePool = class UltraFastMessagePool {
76
+ pool;
77
+ available;
78
+ poolSize;
79
+ threadLocalCache = new Map();
80
+ cacheSize = 64;
81
+ constructor(poolSize = 50000){
82
+ this.poolSize = poolSize;
83
+ this.pool = new Array(poolSize);
84
+ this.available = new UltraFastLockFreeRingBuffer(poolSize);
85
+ // Pre-allocate all messages with optimized structure
86
+ for(let i = 0; i < poolSize; i++){
87
+ this.pool[i] = this.createOptimizedMessage();
88
+ this.available.enqueue(i);
89
+ }
90
+ }
91
+ createOptimizedMessage() {
92
+ return {
93
+ id: 0n,
94
+ type: 0,
95
+ timestamp: 0n,
96
+ payload: new ArrayBuffer(8192),
97
+ routingKey: "",
98
+ priority: 0
99
+ };
100
+ }
101
+ acquire() {
102
+ const threadId = this.getThreadId();
103
+ let threadCache = this.threadLocalCache.get(threadId);
104
+ // Try thread-local cache first for ultra-fast access
105
+ if (threadCache && threadCache.length > 0) {
106
+ return threadCache.pop();
107
+ }
108
+ // Fall back to global pool
109
+ const index = this.available.dequeue();
110
+ if (index === null) {
111
+ // Pool exhausted - create emergency message
112
+ return this.createOptimizedMessage();
113
+ }
114
+ return this.pool[index];
115
+ }
116
+ release(message) {
117
+ const threadId = this.getThreadId();
118
+ let threadCache = this.threadLocalCache.get(threadId);
119
+ if (!threadCache) {
120
+ threadCache = [];
121
+ this.threadLocalCache.set(threadId, threadCache);
122
+ }
123
+ // Return to thread-local cache if space available
124
+ if (threadCache.length < this.cacheSize) {
125
+ // Reset message for reuse
126
+ message.id = 0n;
127
+ message.timestamp = 0n;
128
+ message.routingKey = "";
129
+ message.priority = 0;
130
+ threadCache.push(message);
131
+ return;
132
+ }
133
+ // Return to global pool
134
+ const index = this.pool.indexOf(message);
135
+ if (index >= 0) {
136
+ this.available.enqueue(index);
137
+ }
138
+ }
139
+ getThreadId() {
140
+ // Simple thread ID approximation
141
+ return process.hrtime.bigint() % 8n ? Number(process.hrtime.bigint() % 8n) : 0;
142
+ }
143
+ };
144
+ // Ultra-optimized topic matcher with hash-based routing
145
+ let OptimizedTopicMatcher = class OptimizedTopicMatcher {
146
+ patterns = new Map();
147
+ exactMatches = new Map();
148
+ wildcardPatterns = new Map();
149
+ hashTable = new Map();
150
+ compiledPatternCache = new Map();
151
+ addRoute(pattern, target) {
152
+ if (pattern.includes("*") || pattern.includes("#")) {
153
+ // Wildcard pattern
154
+ const regex = this.compilePattern(pattern);
155
+ this.patterns.set(pattern, regex);
156
+ if (!this.wildcardPatterns.has(regex)) {
157
+ this.wildcardPatterns.set(regex, new Set());
158
+ }
159
+ this.wildcardPatterns.get(regex).add(target);
160
+ } else {
161
+ // Exact match with hash optimization
162
+ const hash = this.fastHash(pattern);
163
+ if (!this.hashTable.has(hash)) {
164
+ this.hashTable.set(hash, new Set());
165
+ }
166
+ this.hashTable.get(hash).add(target);
167
+ if (!this.exactMatches.has(pattern)) {
168
+ this.exactMatches.set(pattern, new Set());
169
+ }
170
+ this.exactMatches.get(pattern).add(target);
171
+ }
172
+ }
173
+ compilePattern(pattern) {
174
+ // Convert MQTT-style wildcards to regex
175
+ const escaped = pattern.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\\\*/g, "[^/]*").replace(/\\#/g, ".*");
176
+ return new RegExp(`^${escaped}$`);
177
+ }
178
+ match(topic) {
179
+ const results = new Set();
180
+ const topicHash = this.fastHash(topic);
181
+ // Check hash-based exact matches first (O(1))
182
+ const hashTargets = this.hashTable.get(topicHash);
183
+ if (hashTargets) {
184
+ hashTargets.forEach((target)=>results.add(target));
185
+ }
186
+ // Check exact matches (fallback for hash collisions)
187
+ const exactTargets = this.exactMatches.get(topic);
188
+ if (exactTargets) {
189
+ exactTargets.forEach((target)=>results.add(target));
190
+ }
191
+ // Check wildcard patterns (optimized with early termination)
192
+ for (const [regex, targets] of this.wildcardPatterns){
193
+ if (regex.test(topic)) {
194
+ targets.forEach((target)=>results.add(target));
195
+ if (results.size > 1000) break; // Prevent DoS from too many matches
196
+ }
197
+ }
198
+ return results;
199
+ }
200
+ fastHash(str) {
201
+ let hash = 5381;
202
+ for(let i = 0; i < str.length; i++){
203
+ hash = (hash << 5) + hash + str.charCodeAt(i);
204
+ }
205
+ return hash >>> 0; // Convert to unsigned 32-bit
206
+ }
207
+ };
208
+ // Ultra-optimized communication bus with sub-millisecond guarantees
209
+ export class UltraFastCommunicationBus {
210
+ messageQueues = new Map();
211
+ messagePool;
212
+ topicMatcher;
213
+ workers = [];
214
+ batchProcessor;
215
+ performanceMonitor;
216
+ // High-resolution metrics with atomic operations
217
+ metrics = {
218
+ messagesProcessed: new SharedArrayBuffer(8),
219
+ totalLatency: new SharedArrayBuffer(8),
220
+ lastFlushTime: new SharedArrayBuffer(8),
221
+ p95Latency: new SharedArrayBuffer(8),
222
+ p99Latency: new SharedArrayBuffer(8)
223
+ };
224
+ metricsViews = {
225
+ messagesProcessed: new BigUint64Array(this.metrics.messagesProcessed),
226
+ totalLatency: new BigUint64Array(this.metrics.totalLatency),
227
+ lastFlushTime: new BigUint64Array(this.metrics.lastFlushTime),
228
+ p95Latency: new BigUint64Array(this.metrics.p95Latency),
229
+ p99Latency: new BigUint64Array(this.metrics.p99Latency)
230
+ };
231
+ constructor(){
232
+ this.messagePool = new UltraFastMessagePool(100000);
233
+ this.topicMatcher = new OptimizedTopicMatcher();
234
+ this.batchProcessor = new BatchMessageProcessor();
235
+ this.performanceMonitor = new RealTimePerformanceMonitor();
236
+ // Initialize atomic metrics
237
+ Atomics.store(this.metricsViews.messagesProcessed, 0, 0n);
238
+ Atomics.store(this.metricsViews.totalLatency, 0, 0n);
239
+ Atomics.store(this.metricsViews.lastFlushTime, 0, BigInt(Math.floor(performance.now() * 1000000)));
240
+ this.initializeOptimizedWorkerPool();
241
+ this.startMetricsCollection();
242
+ }
243
+ initializeOptimizedWorkerPool() {
244
+ const cpuCount = require("os").cpus().length;
245
+ const workerCount = Math.min(cpuCount - 1, 8); // Reserve one core for main thread
246
+ for(let i = 0; i < workerCount; i++){
247
+ const worker = new Worker(`
248
+ const { parentPort } = require('worker_threads');
249
+
250
+ // Batch message processing for better throughput
251
+ let messageBuffer = [];
252
+ let processingScheduled = false;
253
+
254
+ function processBatch() {
255
+ const startTime = process.hrtime.bigint();
256
+ const batch = messageBuffer;
257
+ messageBuffer = [];
258
+ processingScheduled = false;
259
+
260
+ const results = batch.map(msg => ({
261
+ type: 'processed',
262
+ messageId: msg.id,
263
+ latency: Number(process.hrtime.bigint() - startTime)
264
+ }));
265
+
266
+ parentPort.postMessage({
267
+ type: 'batch_processed',
268
+ results
269
+ });
270
+ }
271
+
272
+ parentPort.on('message', (msg) => {
273
+ messageBuffer.push(msg);
274
+
275
+ // Schedule batch processing
276
+ if (!processingScheduled) {
277
+ processingScheduled = true;
278
+ setImmediate(processBatch);
279
+ }
280
+ });
281
+ `, {
282
+ eval: true
283
+ });
284
+ // Setup worker message handling
285
+ worker.on("message", (msg)=>{
286
+ this.handleWorkerMessage(msg, i);
287
+ });
288
+ // Pin worker to specific CPU core if possible
289
+ this.pinWorkerToCPU(worker, i);
290
+ this.workers.push(worker);
291
+ }
292
+ }
293
+ pinWorkerToCPU(worker, cpuIndex) {
294
+ // This would require native bindings or Linux-specific calls
295
+ // For now, we'll use thread affinity hints
296
+ try {
297
+ const binding = require("cpu-features");
298
+ if (binding && binding.setAffinity) {
299
+ binding.setAffinity(worker.threadId, 1 << cpuIndex);
300
+ }
301
+ } catch (error) {
302
+ // CPU pinning not available, continue without it
303
+ }
304
+ }
305
+ // Ultra-fast message publishing with zero-copy semantics
306
+ publish(topic, payload, priority = 0) {
307
+ const startTime = process.hrtime.bigint();
308
+ // Acquire message from pool
309
+ const message = this.messagePool.acquire();
310
+ if (!message) {
311
+ return false; // Pool exhausted
312
+ }
313
+ // Populate message (reuse existing object)
314
+ message.id = BigInt(Date.now()) * 1000000n + BigInt(Math.random() * 1000000);
315
+ message.type = 1;
316
+ message.timestamp = startTime;
317
+ message.payload = payload; // Zero-copy reference
318
+ message.routingKey = topic;
319
+ message.priority = priority;
320
+ // Route to subscribers
321
+ const targets = this.topicMatcher.match(topic);
322
+ let delivered = false;
323
+ for (const target of targets){
324
+ const queue = this.messageQueues.get(target);
325
+ if (queue && queue.enqueue(message)) {
326
+ delivered = true;
327
+ }
328
+ }
329
+ // Update metrics atomically
330
+ const endTime = process.hrtime.bigint();
331
+ const latency = endTime - startTime;
332
+ Atomics.add(new BigUint64Array(new SharedArrayBuffer(8)), 0, 1n); // Message count
333
+ Atomics.add(new BigUint64Array(new SharedArrayBuffer(8)), 0, latency); // Total latency
334
+ return delivered;
335
+ }
336
+ // Subscribe with dedicated queue
337
+ subscribe(topic, queueId) {
338
+ if (!this.messageQueues.has(queueId)) {
339
+ this.messageQueues.set(queueId, new UltraFastLockFreeRingBuffer(65536));
340
+ }
341
+ this.topicMatcher.addRoute(topic, queueId);
342
+ }
343
+ // High-performance message consumption
344
+ consume(queueId, maxBatch = 32) {
345
+ const queue = this.messageQueues.get(queueId);
346
+ if (!queue) {
347
+ return [];
348
+ }
349
+ const batch = [];
350
+ let message;
351
+ while(batch.length < maxBatch && (message = queue.dequeue()) !== null){
352
+ batch.push(message);
353
+ }
354
+ return batch;
355
+ }
356
+ // Batch processing for maximum throughput
357
+ processBatch(queueId, processor) {
358
+ const batch = this.consume(queueId, 64);
359
+ if (batch.length > 0) {
360
+ const startTime = process.hrtime.bigint();
361
+ processor(batch);
362
+ const endTime = process.hrtime.bigint();
363
+ // Release messages back to pool
364
+ batch.forEach((msg)=>this.messagePool.release(msg));
365
+ // Update processing metrics
366
+ this.metrics.messagesProcessed += BigInt(batch.length);
367
+ this.metrics.totalLatency += endTime - startTime;
368
+ }
369
+ }
370
+ // Performance metrics
371
+ getMetrics() {
372
+ const now = BigInt(Math.floor(performance.now() * 1000000));
373
+ const timeDiff = now - this.metrics.lastFlushTime;
374
+ const messagesPerSecond = timeDiff > 0n ? Number(this.metrics.messagesProcessed * 1000000000n / timeDiff) : 0;
375
+ const averageLatencyNs = this.metrics.messagesProcessed > 0n ? Number(this.metrics.totalLatency / this.metrics.messagesProcessed) : 0;
376
+ const queueSizes = new Map();
377
+ for (const [queueId, queue] of this.messageQueues){
378
+ queueSizes.set(queueId, queue.size());
379
+ }
380
+ const p95LatencyNs = Number(Atomics.load(this.metricsViews.p95Latency, 0));
381
+ const p99LatencyNs = Number(Atomics.load(this.metricsViews.p99Latency, 0));
382
+ return {
383
+ messagesPerSecond,
384
+ averageLatencyNs,
385
+ p95LatencyNs,
386
+ p99LatencyNs,
387
+ queueSizes,
388
+ poolUtilization: this.calculatePoolUtilization(),
389
+ totalAgentsSupported: this.messageQueues.size
390
+ };
391
+ }
392
+ startMetricsCollection() {
393
+ setInterval(()=>{
394
+ const metrics = this.getMetrics();
395
+ if (metrics.averageLatencyNs > 1000000) {
396
+ // > 1ms
397
+ console.warn(`High latency detected: ${metrics.averageLatencyNs}ns`);
398
+ }
399
+ }, 1000);
400
+ }
401
+ calculatePoolUtilization() {
402
+ // Estimate pool utilization based on message throughput
403
+ const currentTime = BigInt(Math.floor(performance.now() * 1000000));
404
+ const lastFlushTime = Atomics.load(this.metricsViews.lastFlushTime, 0);
405
+ const timeDiff = currentTime - lastFlushTime;
406
+ if (timeDiff > 0n) {
407
+ const messagesProcessed = Atomics.load(this.metricsViews.messagesProcessed, 0);
408
+ const messageRate = Number(messagesProcessed * 1000000000n / timeDiff);
409
+ // Estimate utilization based on processing rate vs. pool capacity
410
+ return Math.min(0.95, messageRate / 1000000); // Cap at 95% to prevent thrashing
411
+ }
412
+ return 0.1; // Default low utilization
413
+ }
414
+ handleWorkerMessage(message, workerId) {
415
+ if (message.type === "batch_processed") {
416
+ message.results.forEach((result)=>{
417
+ // Update per-message metrics
418
+ this.performanceMonitor.recordLatency(result.latency);
419
+ });
420
+ }
421
+ }
422
+ // Support for 100+ simultaneous agents
423
+ getAgentCapacity() {
424
+ return Math.floor(this.messageQueues.size * 1.5); // Allow for growth
425
+ }
426
+ canSupportAgents(count) {
427
+ return count <= this.getAgentCapacity() && this.calculatePoolUtilization() < 0.8;
428
+ }
429
+ // Emergency scaling for high-load scenarios
430
+ scaleForHighLoad() {
431
+ const currentCapacity = this.messageQueues.size;
432
+ const targetCapacity = Math.min(200, currentCapacity * 2);
433
+ console.log(`Scaling communication bus from ${currentCapacity} to ${targetCapacity} agents`);
434
+ // Pre-allocate additional queues for quick agent onboarding
435
+ for(let i = currentCapacity; i < targetCapacity; i++){
436
+ const queueId = `agent-${i}`;
437
+ this.messageQueues.set(queueId, new UltraFastLockFreeRingBuffer(131072));
438
+ }
439
+ }
440
+ // Graceful shutdown
441
+ async shutdown() {
442
+ // Drain all queues
443
+ for (const [queueId, queue] of this.messageQueues){
444
+ while(!queue.isEmpty()){
445
+ const message = queue.dequeue();
446
+ if (message) {
447
+ this.messagePool.release(message);
448
+ }
449
+ }
450
+ }
451
+ // Terminate workers
452
+ await Promise.all(this.workers.map((worker)=>worker.terminate()));
453
+ }
454
+ }
455
+ // Batch message processor for maximum throughput
456
+ let BatchMessageProcessor = class BatchMessageProcessor {
457
+ batchSize = 64;
458
+ processingQueues = new Map();
459
+ processBatch(queueId, messages) {
460
+ // Process messages in batches for better cache locality
461
+ const batches = this.createBatches(messages, this.batchSize);
462
+ for (const batch of batches){
463
+ this.processSingleBatch(batch);
464
+ }
465
+ }
466
+ createBatches(array, size) {
467
+ const batches = [];
468
+ for(let i = 0; i < array.length; i += size){
469
+ batches.push(array.slice(i, i + size));
470
+ }
471
+ return batches;
472
+ }
473
+ processSingleBatch(batch) {
474
+ // Vectorized processing for better CPU utilization
475
+ const startTime = process.hrtime.bigint();
476
+ // Sort batch by priority for optimal processing order
477
+ batch.sort((a, b)=>a.priority - b.priority);
478
+ // Process all messages in the batch
479
+ batch.forEach((message)=>{
480
+ // Processing logic would go here
481
+ });
482
+ const processingTime = process.hrtime.bigint() - startTime;
483
+ // Update metrics atomically
484
+ }
485
+ };
486
+ // Real-time performance monitoring system
487
+ let RealTimePerformanceMonitor = class RealTimePerformanceMonitor {
488
+ latencySamples;
489
+ sampleIndex = 0;
490
+ maxSamples = 10000;
491
+ alertThresholds = {
492
+ p95Latency: 1000000,
493
+ p99Latency: 5000000,
494
+ errorRate: 0.001
495
+ };
496
+ constructor(){
497
+ this.latencySamples = new Float64Array(this.maxSamples);
498
+ }
499
+ recordLatency(latencyNs) {
500
+ this.latencySamples[this.sampleIndex % this.maxSamples] = latencyNs;
501
+ // Check for performance alerts
502
+ if (latencyNs > this.alertThresholds.p95Latency) {
503
+ this.emitPerformanceAlert("high_latency", {
504
+ latency: latencyNs
505
+ });
506
+ }
507
+ }
508
+ getPercentile(percentile) {
509
+ const sorted = Array.from(this.latencySamples).sort((a, b)=>a - b);
510
+ const index = Math.floor(percentile / 100 * sorted.length);
511
+ return sorted[index] || 0;
512
+ }
513
+ emitPerformanceAlert(type, data) {
514
+ // Emit performance alert - could integrate with monitoring systems
515
+ console.warn(`Performance Alert [${type}]:`, data);
516
+ }
517
+ };
518
+ // Export singleton instance
519
+ export const communicationBus = new UltraFastCommunicationBus();
520
+
521
+ //# sourceMappingURL=ultra-fast-communication-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/communication/ultra-fast-communication-bus.ts"],"names":["Worker","performance","UltraFastLockFreeRingBuffer","buffer","capacity","mask","writeIndex","readIndex","writeView","readView","paddingSize","Math","pow","ceil","log2","Array","SharedArrayBuffer","BigUint64Array","Atomics","store","enqueue","item","writePos","Number","load","nextWritePos","readPos","BigInt","dequeue","nextReadPos","undefined","size","isEmpty","isFull","UltraFastMessagePool","pool","available","poolSize","threadLocalCache","Map","cacheSize","i","createOptimizedMessage","id","type","timestamp","payload","ArrayBuffer","routingKey","priority","acquire","threadId","getThreadId","threadCache","get","length","pop","index","release","message","set","push","indexOf","process","hrtime","bigint","OptimizedTopicMatcher","patterns","exactMatches","wildcardPatterns","hashTable","compiledPatternCache","addRoute","pattern","target","includes","regex","compilePattern","has","Set","add","hash","fastHash","escaped","replace","RegExp","match","topic","results","topicHash","hashTargets","forEach","exactTargets","targets","test","str","charCodeAt","UltraFastCommunicationBus","messageQueues","messagePool","topicMatcher","workers","batchProcessor","performanceMonitor","metrics","messagesProcessed","totalLatency","lastFlushTime","p95Latency","p99Latency","metricsViews","BatchMessageProcessor","RealTimePerformanceMonitor","floor","now","initializeOptimizedWorkerPool","startMetricsCollection","cpuCount","require","cpus","workerCount","min","worker","eval","on","msg","handleWorkerMessage","pinWorkerToCPU","cpuIndex","binding","setAffinity","error","publish","startTime","Date","random","delivered","queue","endTime","latency","subscribe","queueId","consume","maxBatch","batch","processBatch","processor","getMetrics","timeDiff","messagesPerSecond","averageLatencyNs","queueSizes","p95LatencyNs","p99LatencyNs","poolUtilization","calculatePoolUtilization","totalAgentsSupported","setInterval","console","warn","currentTime","messageRate","workerId","result","recordLatency","getAgentCapacity","canSupportAgents","count","scaleForHighLoad","currentCapacity","targetCapacity","log","shutdown","Promise","all","map","terminate","batchSize","processingQueues","messages","batches","createBatches","processSingleBatch","array","slice","sort","a","b","processingTime","latencySamples","sampleIndex","maxSamples","alertThresholds","errorRate","Float64Array","latencyNs","emitPerformanceAlert","getPercentile","percentile","sorted","from","data","communicationBus"],"mappings":"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"}