agentic-qe 1.0.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 (528) hide show
  1. package/.claude/agents/analysis/code-analyzer.md +209 -0
  2. package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  3. package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  4. package/.claude/agents/base-template-generator.md +42 -0
  5. package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
  6. package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
  7. package/.claude/agents/consensus/gossip-coordinator.md +63 -0
  8. package/.claude/agents/consensus/performance-benchmarker.md +851 -0
  9. package/.claude/agents/consensus/quorum-manager.md +823 -0
  10. package/.claude/agents/consensus/raft-manager.md +63 -0
  11. package/.claude/agents/consensus/security-manager.md +622 -0
  12. package/.claude/agents/core/coder.md +266 -0
  13. package/.claude/agents/core/planner.md +168 -0
  14. package/.claude/agents/core/researcher.md +190 -0
  15. package/.claude/agents/core/reviewer.md +326 -0
  16. package/.claude/agents/core/tester.md +319 -0
  17. package/.claude/agents/data/ml/data-ml-model.md +193 -0
  18. package/.claude/agents/development/backend/dev-backend-api.md +142 -0
  19. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  20. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  21. package/.claude/agents/flow-nexus/app-store.md +88 -0
  22. package/.claude/agents/flow-nexus/authentication.md +69 -0
  23. package/.claude/agents/flow-nexus/challenges.md +81 -0
  24. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  25. package/.claude/agents/flow-nexus/payments.md +83 -0
  26. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  27. package/.claude/agents/flow-nexus/swarm.md +76 -0
  28. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  29. package/.claude/agents/flow-nexus/workflow.md +84 -0
  30. package/.claude/agents/github/code-review-swarm.md +538 -0
  31. package/.claude/agents/github/github-modes.md +173 -0
  32. package/.claude/agents/github/issue-tracker.md +319 -0
  33. package/.claude/agents/github/multi-repo-swarm.md +553 -0
  34. package/.claude/agents/github/pr-manager.md +191 -0
  35. package/.claude/agents/github/project-board-sync.md +509 -0
  36. package/.claude/agents/github/release-manager.md +367 -0
  37. package/.claude/agents/github/release-swarm.md +583 -0
  38. package/.claude/agents/github/repo-architect.md +398 -0
  39. package/.claude/agents/github/swarm-issue.md +573 -0
  40. package/.claude/agents/github/swarm-pr.md +428 -0
  41. package/.claude/agents/github/sync-coordinator.md +452 -0
  42. package/.claude/agents/github/workflow-automation.md +635 -0
  43. package/.claude/agents/goal/code-goal-planner.md +446 -0
  44. package/.claude/agents/goal/goal-planner.md +168 -0
  45. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +130 -0
  46. package/.claude/agents/hive-mind/queen-coordinator.md +203 -0
  47. package/.claude/agents/hive-mind/scout-explorer.md +242 -0
  48. package/.claude/agents/hive-mind/swarm-memory-manager.md +193 -0
  49. package/.claude/agents/hive-mind/worker-specialist.md +217 -0
  50. package/.claude/agents/neural/safla-neural.md +74 -0
  51. package/.claude/agents/optimization/benchmark-suite.md +665 -0
  52. package/.claude/agents/optimization/load-balancer.md +431 -0
  53. package/.claude/agents/optimization/performance-monitor.md +672 -0
  54. package/.claude/agents/optimization/resource-allocator.md +674 -0
  55. package/.claude/agents/optimization/topology-optimizer.md +808 -0
  56. package/.claude/agents/qe-api-contract-validator.md +1088 -0
  57. package/.claude/agents/qe-chaos-engineer.md +736 -0
  58. package/.claude/agents/qe-coverage-analyzer.md +282 -0
  59. package/.claude/agents/qe-deployment-readiness.md +1109 -0
  60. package/.claude/agents/qe-flaky-test-hunter.md +1121 -0
  61. package/.claude/agents/qe-fleet-commander.md +641 -0
  62. package/.claude/agents/qe-performance-tester.md +354 -0
  63. package/.claude/agents/qe-production-intelligence.md +1162 -0
  64. package/.claude/agents/qe-quality-gate.md +294 -0
  65. package/.claude/agents/qe-regression-risk-analyzer.md +947 -0
  66. package/.claude/agents/qe-requirements-validator.md +691 -0
  67. package/.claude/agents/qe-security-scanner.md +430 -0
  68. package/.claude/agents/qe-test-data-architect.md +1007 -0
  69. package/.claude/agents/qe-test-executor.md +365 -0
  70. package/.claude/agents/qe-test-generator.md +332 -0
  71. package/.claude/agents/qe-visual-tester.md +754 -0
  72. package/.claude/agents/sparc/architecture.md +472 -0
  73. package/.claude/agents/sparc/pseudocode.md +318 -0
  74. package/.claude/agents/sparc/refinement.md +525 -0
  75. package/.claude/agents/sparc/specification.md +276 -0
  76. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  77. package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  78. package/.claude/agents/swarm/hierarchical-coordinator.md +327 -0
  79. package/.claude/agents/swarm/mesh-coordinator.md +392 -0
  80. package/.claude/agents/templates/automation-smart-agent.md +205 -0
  81. package/.claude/agents/templates/coordinator-swarm-init.md +105 -0
  82. package/.claude/agents/templates/github-pr-manager.md +177 -0
  83. package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  84. package/.claude/agents/templates/memory-coordinator.md +187 -0
  85. package/.claude/agents/templates/migration-plan.md +746 -0
  86. package/.claude/agents/templates/orchestrator-task.md +139 -0
  87. package/.claude/agents/templates/performance-analyzer.md +199 -0
  88. package/.claude/agents/templates/sparc-coordinator.md +183 -0
  89. package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  90. package/.claude/agents/testing/validation/production-validator.md +395 -0
  91. package/.claude/aqe-fleet.json +47 -0
  92. package/.claude/commands/README.md +106 -0
  93. package/.claude/commands/agents/README.md +10 -0
  94. package/.claude/commands/agents/agent-capabilities.md +21 -0
  95. package/.claude/commands/agents/agent-coordination.md +28 -0
  96. package/.claude/commands/agents/agent-spawning.md +28 -0
  97. package/.claude/commands/agents/agent-types.md +26 -0
  98. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  99. package/.claude/commands/analysis/README.md +9 -0
  100. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  101. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  102. package/.claude/commands/analysis/performance-report.md +25 -0
  103. package/.claude/commands/analysis/token-efficiency.md +45 -0
  104. package/.claude/commands/analysis/token-usage.md +25 -0
  105. package/.claude/commands/aqe-analyze.md +344 -0
  106. package/.claude/commands/aqe-benchmark.md +466 -0
  107. package/.claude/commands/aqe-chaos.md +443 -0
  108. package/.claude/commands/aqe-execute.md +322 -0
  109. package/.claude/commands/aqe-fleet-status.md +431 -0
  110. package/.claude/commands/aqe-generate.md +301 -0
  111. package/.claude/commands/aqe-optimize.md +361 -0
  112. package/.claude/commands/aqe-report.md +411 -0
  113. package/.claude/commands/automation/README.md +9 -0
  114. package/.claude/commands/automation/auto-agent.md +122 -0
  115. package/.claude/commands/automation/self-healing.md +106 -0
  116. package/.claude/commands/automation/session-memory.md +90 -0
  117. package/.claude/commands/automation/smart-agents.md +73 -0
  118. package/.claude/commands/automation/smart-spawn.md +25 -0
  119. package/.claude/commands/automation/workflow-select.md +25 -0
  120. package/.claude/commands/coordination/README.md +9 -0
  121. package/.claude/commands/coordination/agent-spawn.md +25 -0
  122. package/.claude/commands/coordination/init.md +44 -0
  123. package/.claude/commands/coordination/orchestrate.md +43 -0
  124. package/.claude/commands/coordination/spawn.md +45 -0
  125. package/.claude/commands/coordination/swarm-init.md +85 -0
  126. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  127. package/.claude/commands/flow-nexus/app-store.md +124 -0
  128. package/.claude/commands/flow-nexus/challenges.md +120 -0
  129. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  130. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  131. package/.claude/commands/flow-nexus/payments.md +116 -0
  132. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  133. package/.claude/commands/flow-nexus/swarm.md +87 -0
  134. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  135. package/.claude/commands/flow-nexus/workflow.md +115 -0
  136. package/.claude/commands/github/README.md +11 -0
  137. package/.claude/commands/github/code-review-swarm.md +514 -0
  138. package/.claude/commands/github/code-review.md +25 -0
  139. package/.claude/commands/github/github-modes.md +147 -0
  140. package/.claude/commands/github/github-swarm.md +121 -0
  141. package/.claude/commands/github/issue-tracker.md +292 -0
  142. package/.claude/commands/github/issue-triage.md +25 -0
  143. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  144. package/.claude/commands/github/pr-enhance.md +26 -0
  145. package/.claude/commands/github/pr-manager.md +170 -0
  146. package/.claude/commands/github/project-board-sync.md +471 -0
  147. package/.claude/commands/github/release-manager.md +338 -0
  148. package/.claude/commands/github/release-swarm.md +544 -0
  149. package/.claude/commands/github/repo-analyze.md +25 -0
  150. package/.claude/commands/github/repo-architect.md +367 -0
  151. package/.claude/commands/github/swarm-issue.md +482 -0
  152. package/.claude/commands/github/swarm-pr.md +285 -0
  153. package/.claude/commands/github/sync-coordinator.md +301 -0
  154. package/.claude/commands/github/workflow-automation.md +442 -0
  155. package/.claude/commands/hive-mind/README.md +17 -0
  156. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  157. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  158. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  159. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  160. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  161. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  162. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  163. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  164. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  165. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  166. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  167. package/.claude/commands/hooks/README.md +11 -0
  168. package/.claude/commands/hooks/overview.md +132 -0
  169. package/.claude/commands/hooks/post-edit.md +117 -0
  170. package/.claude/commands/hooks/post-task.md +112 -0
  171. package/.claude/commands/hooks/pre-edit.md +113 -0
  172. package/.claude/commands/hooks/pre-task.md +111 -0
  173. package/.claude/commands/hooks/session-end.md +118 -0
  174. package/.claude/commands/hooks/setup.md +103 -0
  175. package/.claude/commands/memory/README.md +9 -0
  176. package/.claude/commands/memory/memory-persist.md +25 -0
  177. package/.claude/commands/memory/memory-search.md +25 -0
  178. package/.claude/commands/memory/memory-usage.md +25 -0
  179. package/.claude/commands/memory/neural.md +47 -0
  180. package/.claude/commands/memory/usage.md +46 -0
  181. package/.claude/commands/monitoring/README.md +9 -0
  182. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  183. package/.claude/commands/monitoring/agents.md +44 -0
  184. package/.claude/commands/monitoring/real-time-view.md +25 -0
  185. package/.claude/commands/monitoring/status.md +46 -0
  186. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  187. package/.claude/commands/optimization/README.md +9 -0
  188. package/.claude/commands/optimization/auto-topology.md +62 -0
  189. package/.claude/commands/optimization/cache-manage.md +25 -0
  190. package/.claude/commands/optimization/parallel-execute.md +25 -0
  191. package/.claude/commands/optimization/parallel-execution.md +50 -0
  192. package/.claude/commands/optimization/topology-optimize.md +25 -0
  193. package/.claude/commands/pair/commands.md +546 -0
  194. package/.claude/commands/pair/config.md +510 -0
  195. package/.claude/commands/pair/examples.md +512 -0
  196. package/.claude/commands/pair/modes.md +348 -0
  197. package/.claude/commands/pair/session.md +407 -0
  198. package/.claude/commands/pair/start.md +209 -0
  199. package/.claude/commands/sparc/analyzer.md +52 -0
  200. package/.claude/commands/sparc/architect.md +53 -0
  201. package/.claude/commands/sparc/batch-executor.md +54 -0
  202. package/.claude/commands/sparc/coder.md +54 -0
  203. package/.claude/commands/sparc/debugger.md +54 -0
  204. package/.claude/commands/sparc/designer.md +53 -0
  205. package/.claude/commands/sparc/documenter.md +54 -0
  206. package/.claude/commands/sparc/innovator.md +54 -0
  207. package/.claude/commands/sparc/memory-manager.md +54 -0
  208. package/.claude/commands/sparc/optimizer.md +54 -0
  209. package/.claude/commands/sparc/orchestrator.md +132 -0
  210. package/.claude/commands/sparc/researcher.md +54 -0
  211. package/.claude/commands/sparc/reviewer.md +54 -0
  212. package/.claude/commands/sparc/sparc-modes.md +174 -0
  213. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  214. package/.claude/commands/sparc/tdd.md +54 -0
  215. package/.claude/commands/sparc/tester.md +54 -0
  216. package/.claude/commands/sparc/workflow-manager.md +54 -0
  217. package/.claude/commands/stream-chain/pipeline.md +121 -0
  218. package/.claude/commands/stream-chain/run.md +70 -0
  219. package/.claude/commands/swarm/README.md +15 -0
  220. package/.claude/commands/swarm/analysis.md +95 -0
  221. package/.claude/commands/swarm/development.md +96 -0
  222. package/.claude/commands/swarm/examples.md +168 -0
  223. package/.claude/commands/swarm/maintenance.md +102 -0
  224. package/.claude/commands/swarm/optimization.md +117 -0
  225. package/.claude/commands/swarm/research.md +136 -0
  226. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  227. package/.claude/commands/swarm/swarm-background.md +8 -0
  228. package/.claude/commands/swarm/swarm-init.md +19 -0
  229. package/.claude/commands/swarm/swarm-modes.md +8 -0
  230. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  231. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  232. package/.claude/commands/swarm/swarm-status.md +8 -0
  233. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  234. package/.claude/commands/swarm/swarm.md +27 -0
  235. package/.claude/commands/swarm/testing.md +131 -0
  236. package/.claude/commands/training/README.md +9 -0
  237. package/.claude/commands/training/model-update.md +25 -0
  238. package/.claude/commands/training/neural-patterns.md +74 -0
  239. package/.claude/commands/training/neural-train.md +25 -0
  240. package/.claude/commands/training/pattern-learn.md +25 -0
  241. package/.claude/commands/training/specialization.md +63 -0
  242. package/.claude/commands/truth/start.md +143 -0
  243. package/.claude/commands/verify/check.md +50 -0
  244. package/.claude/commands/verify/start.md +128 -0
  245. package/.claude/commands/workflows/README.md +9 -0
  246. package/.claude/commands/workflows/development.md +78 -0
  247. package/.claude/commands/workflows/research.md +63 -0
  248. package/.claude/commands/workflows/workflow-create.md +25 -0
  249. package/.claude/commands/workflows/workflow-execute.md +25 -0
  250. package/.claude/commands/workflows/workflow-export.md +25 -0
  251. package/.claude/helpers/checkpoint-manager.sh +251 -0
  252. package/.claude/helpers/github-safe.js +106 -0
  253. package/.claude/helpers/github-setup.sh +28 -0
  254. package/.claude/helpers/quick-start.sh +19 -0
  255. package/.claude/helpers/setup-mcp.sh +18 -0
  256. package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
  257. package/.claude/settings.json +114 -0
  258. package/.claude/settings.local.json +10 -0
  259. package/CONTRIBUTING.md +897 -0
  260. package/LICENSE +21 -0
  261. package/README.md +632 -0
  262. package/bin/aqe +959 -0
  263. package/config/fleet.yaml +50 -0
  264. package/dist/agents/ApiContractValidatorAgent.d.ts +222 -0
  265. package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -0
  266. package/dist/agents/ApiContractValidatorAgent.js +787 -0
  267. package/dist/agents/ApiContractValidatorAgent.js.map +1 -0
  268. package/dist/agents/BaseAgent.d.ts +147 -0
  269. package/dist/agents/BaseAgent.d.ts.map +1 -0
  270. package/dist/agents/BaseAgent.js +374 -0
  271. package/dist/agents/BaseAgent.js.map +1 -0
  272. package/dist/agents/CoverageAnalyzerAgent.d.ts +103 -0
  273. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -0
  274. package/dist/agents/CoverageAnalyzerAgent.js +466 -0
  275. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -0
  276. package/dist/agents/DeploymentReadinessAgent.d.ts +244 -0
  277. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -0
  278. package/dist/agents/DeploymentReadinessAgent.js +974 -0
  279. package/dist/agents/DeploymentReadinessAgent.js.map +1 -0
  280. package/dist/agents/FlakyTestHunterAgent.d.ts +172 -0
  281. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -0
  282. package/dist/agents/FlakyTestHunterAgent.js +867 -0
  283. package/dist/agents/FlakyTestHunterAgent.js.map +1 -0
  284. package/dist/agents/FleetCommanderAgent.d.ts +154 -0
  285. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -0
  286. package/dist/agents/FleetCommanderAgent.js +924 -0
  287. package/dist/agents/FleetCommanderAgent.js.map +1 -0
  288. package/dist/agents/PerformanceTesterAgent.d.ts +194 -0
  289. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -0
  290. package/dist/agents/PerformanceTesterAgent.js +972 -0
  291. package/dist/agents/PerformanceTesterAgent.js.map +1 -0
  292. package/dist/agents/ProductionIntelligenceAgent.d.ts +224 -0
  293. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -0
  294. package/dist/agents/ProductionIntelligenceAgent.js +856 -0
  295. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -0
  296. package/dist/agents/QualityAnalyzerAgent.d.ts +67 -0
  297. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -0
  298. package/dist/agents/QualityAnalyzerAgent.js +453 -0
  299. package/dist/agents/QualityAnalyzerAgent.js.map +1 -0
  300. package/dist/agents/QualityGateAgent.d.ts +104 -0
  301. package/dist/agents/QualityGateAgent.d.ts.map +1 -0
  302. package/dist/agents/QualityGateAgent.js +522 -0
  303. package/dist/agents/QualityGateAgent.js.map +1 -0
  304. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +274 -0
  305. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -0
  306. package/dist/agents/RegressionRiskAnalyzerAgent.js +1076 -0
  307. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -0
  308. package/dist/agents/RequirementsValidatorAgent.d.ts +195 -0
  309. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -0
  310. package/dist/agents/RequirementsValidatorAgent.js +992 -0
  311. package/dist/agents/RequirementsValidatorAgent.js.map +1 -0
  312. package/dist/agents/SecurityScannerAgent.d.ts +126 -0
  313. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -0
  314. package/dist/agents/SecurityScannerAgent.js +695 -0
  315. package/dist/agents/SecurityScannerAgent.js.map +1 -0
  316. package/dist/agents/TestDataArchitectAgent.d.ts +452 -0
  317. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -0
  318. package/dist/agents/TestDataArchitectAgent.js +1346 -0
  319. package/dist/agents/TestDataArchitectAgent.js.map +1 -0
  320. package/dist/agents/TestExecutorAgent.d.ts +101 -0
  321. package/dist/agents/TestExecutorAgent.d.ts.map +1 -0
  322. package/dist/agents/TestExecutorAgent.js +730 -0
  323. package/dist/agents/TestExecutorAgent.js.map +1 -0
  324. package/dist/agents/TestGeneratorAgent.d.ts +109 -0
  325. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -0
  326. package/dist/agents/TestGeneratorAgent.js +450 -0
  327. package/dist/agents/TestGeneratorAgent.js.map +1 -0
  328. package/dist/agents/index.d.ts +51 -0
  329. package/dist/agents/index.d.ts.map +1 -0
  330. package/dist/agents/index.js +738 -0
  331. package/dist/agents/index.js.map +1 -0
  332. package/dist/cli/commands/analyze.d.ts +32 -0
  333. package/dist/cli/commands/analyze.d.ts.map +1 -0
  334. package/dist/cli/commands/analyze.js +764 -0
  335. package/dist/cli/commands/analyze.js.map +1 -0
  336. package/dist/cli/commands/fleet.d.ts +36 -0
  337. package/dist/cli/commands/fleet.d.ts.map +1 -0
  338. package/dist/cli/commands/fleet.js +745 -0
  339. package/dist/cli/commands/fleet.js.map +1 -0
  340. package/dist/cli/commands/generate.d.ts +24 -0
  341. package/dist/cli/commands/generate.d.ts.map +1 -0
  342. package/dist/cli/commands/generate.js +424 -0
  343. package/dist/cli/commands/generate.js.map +1 -0
  344. package/dist/cli/commands/init.d.ts +17 -0
  345. package/dist/cli/commands/init.d.ts.map +1 -0
  346. package/dist/cli/commands/init.js +570 -0
  347. package/dist/cli/commands/init.js.map +1 -0
  348. package/dist/cli/commands/run.d.ts +25 -0
  349. package/dist/cli/commands/run.d.ts.map +1 -0
  350. package/dist/cli/commands/run.js +558 -0
  351. package/dist/cli/commands/run.js.map +1 -0
  352. package/dist/cli/index-spec.d.ts +3 -0
  353. package/dist/cli/index-spec.d.ts.map +1 -0
  354. package/dist/cli/index-spec.js +154 -0
  355. package/dist/cli/index-spec.js.map +1 -0
  356. package/dist/cli/index-working.d.ts +7 -0
  357. package/dist/cli/index-working.d.ts.map +1 -0
  358. package/dist/cli/index-working.js +470 -0
  359. package/dist/cli/index-working.js.map +1 -0
  360. package/dist/cli/index.d.ts +9 -0
  361. package/dist/cli/index.d.ts.map +1 -0
  362. package/dist/cli/index.js +174 -0
  363. package/dist/cli/index.js.map +1 -0
  364. package/dist/core/Agent.d.ts +189 -0
  365. package/dist/core/Agent.d.ts.map +1 -0
  366. package/dist/core/Agent.js +288 -0
  367. package/dist/core/Agent.js.map +1 -0
  368. package/dist/core/EventBus.d.ts +40 -0
  369. package/dist/core/EventBus.d.ts.map +1 -0
  370. package/dist/core/EventBus.js +114 -0
  371. package/dist/core/EventBus.js.map +1 -0
  372. package/dist/core/FleetManager.d.ts +219 -0
  373. package/dist/core/FleetManager.d.ts.map +1 -0
  374. package/dist/core/FleetManager.js +354 -0
  375. package/dist/core/FleetManager.js.map +1 -0
  376. package/dist/core/MemoryManager.d.ts +119 -0
  377. package/dist/core/MemoryManager.d.ts.map +1 -0
  378. package/dist/core/MemoryManager.js +460 -0
  379. package/dist/core/MemoryManager.js.map +1 -0
  380. package/dist/core/Task.d.ts +264 -0
  381. package/dist/core/Task.d.ts.map +1 -0
  382. package/dist/core/Task.js +397 -0
  383. package/dist/core/Task.js.map +1 -0
  384. package/dist/core/coverage-analyzer.d.ts +50 -0
  385. package/dist/core/coverage-analyzer.d.ts.map +1 -0
  386. package/dist/core/coverage-analyzer.js +146 -0
  387. package/dist/core/coverage-analyzer.js.map +1 -0
  388. package/dist/core/index.d.ts +14 -0
  389. package/dist/core/index.d.ts.map +1 -0
  390. package/dist/core/index.js +20 -0
  391. package/dist/core/index.js.map +1 -0
  392. package/dist/core/quality-gate.d.ts +81 -0
  393. package/dist/core/quality-gate.d.ts.map +1 -0
  394. package/dist/core/quality-gate.js +254 -0
  395. package/dist/core/quality-gate.js.map +1 -0
  396. package/dist/coverage/coverage-collector.d.ts +62 -0
  397. package/dist/coverage/coverage-collector.d.ts.map +1 -0
  398. package/dist/coverage/coverage-collector.js +61 -0
  399. package/dist/coverage/coverage-collector.js.map +1 -0
  400. package/dist/coverage/coverage-reporter.d.ts +42 -0
  401. package/dist/coverage/coverage-reporter.d.ts.map +1 -0
  402. package/dist/coverage/coverage-reporter.js +53 -0
  403. package/dist/coverage/coverage-reporter.js.map +1 -0
  404. package/dist/index.d.ts +89 -0
  405. package/dist/index.d.ts.map +1 -0
  406. package/dist/index.js +142 -0
  407. package/dist/index.js.map +1 -0
  408. package/dist/mcp/handlers/agent-spawn.d.ts +72 -0
  409. package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -0
  410. package/dist/mcp/handlers/agent-spawn.js +255 -0
  411. package/dist/mcp/handlers/agent-spawn.js.map +1 -0
  412. package/dist/mcp/handlers/base-handler.d.ts +53 -0
  413. package/dist/mcp/handlers/base-handler.d.ts.map +1 -0
  414. package/dist/mcp/handlers/base-handler.js +77 -0
  415. package/dist/mcp/handlers/base-handler.js.map +1 -0
  416. package/dist/mcp/handlers/fleet-init.d.ts +55 -0
  417. package/dist/mcp/handlers/fleet-init.d.ts.map +1 -0
  418. package/dist/mcp/handlers/fleet-init.js +149 -0
  419. package/dist/mcp/handlers/fleet-init.js.map +1 -0
  420. package/dist/mcp/handlers/fleet-status.d.ts +103 -0
  421. package/dist/mcp/handlers/fleet-status.d.ts.map +1 -0
  422. package/dist/mcp/handlers/fleet-status.js +244 -0
  423. package/dist/mcp/handlers/fleet-status.js.map +1 -0
  424. package/dist/mcp/handlers/optimize-tests.d.ts +219 -0
  425. package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -0
  426. package/dist/mcp/handlers/optimize-tests.js +532 -0
  427. package/dist/mcp/handlers/optimize-tests.js.map +1 -0
  428. package/dist/mcp/handlers/predict-defects.d.ts +194 -0
  429. package/dist/mcp/handlers/predict-defects.d.ts.map +1 -0
  430. package/dist/mcp/handlers/predict-defects.js +721 -0
  431. package/dist/mcp/handlers/predict-defects.js.map +1 -0
  432. package/dist/mcp/handlers/quality-analyze.d.ts +273 -0
  433. package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -0
  434. package/dist/mcp/handlers/quality-analyze.js +702 -0
  435. package/dist/mcp/handlers/quality-analyze.js.map +1 -0
  436. package/dist/mcp/handlers/task-orchestrate.d.ts +152 -0
  437. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -0
  438. package/dist/mcp/handlers/task-orchestrate.js +629 -0
  439. package/dist/mcp/handlers/task-orchestrate.js.map +1 -0
  440. package/dist/mcp/handlers/test-execute.d.ts +132 -0
  441. package/dist/mcp/handlers/test-execute.d.ts.map +1 -0
  442. package/dist/mcp/handlers/test-execute.js +436 -0
  443. package/dist/mcp/handlers/test-execute.js.map +1 -0
  444. package/dist/mcp/handlers/test-generate.d.ts +107 -0
  445. package/dist/mcp/handlers/test-generate.d.ts.map +1 -0
  446. package/dist/mcp/handlers/test-generate.js +437 -0
  447. package/dist/mcp/handlers/test-generate.js.map +1 -0
  448. package/dist/mcp/server.d.ts +99 -0
  449. package/dist/mcp/server.d.ts.map +1 -0
  450. package/dist/mcp/server.js +214 -0
  451. package/dist/mcp/server.js.map +1 -0
  452. package/dist/mcp/services/AgentRegistry.d.ts +191 -0
  453. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -0
  454. package/dist/mcp/services/AgentRegistry.js +403 -0
  455. package/dist/mcp/services/AgentRegistry.js.map +1 -0
  456. package/dist/mcp/services/HookExecutor.d.ts +165 -0
  457. package/dist/mcp/services/HookExecutor.d.ts.map +1 -0
  458. package/dist/mcp/services/HookExecutor.js +327 -0
  459. package/dist/mcp/services/HookExecutor.js.map +1 -0
  460. package/dist/mcp/start.d.ts +7 -0
  461. package/dist/mcp/start.d.ts.map +1 -0
  462. package/dist/mcp/start.js +35 -0
  463. package/dist/mcp/start.js.map +1 -0
  464. package/dist/mcp/tools.d.ts +81 -0
  465. package/dist/mcp/tools.d.ts.map +1 -0
  466. package/dist/mcp/tools.js +471 -0
  467. package/dist/mcp/tools.js.map +1 -0
  468. package/dist/optimization/sublinear-solver.d.ts +72 -0
  469. package/dist/optimization/sublinear-solver.d.ts.map +1 -0
  470. package/dist/optimization/sublinear-solver.js +263 -0
  471. package/dist/optimization/sublinear-solver.js.map +1 -0
  472. package/dist/scripts/verifyComplexity.d.ts +8 -0
  473. package/dist/scripts/verifyComplexity.d.ts.map +1 -0
  474. package/dist/scripts/verifyComplexity.js +56 -0
  475. package/dist/scripts/verifyComplexity.js.map +1 -0
  476. package/dist/types/api-contract.types.d.ts +273 -0
  477. package/dist/types/api-contract.types.d.ts.map +1 -0
  478. package/dist/types/api-contract.types.js +18 -0
  479. package/dist/types/api-contract.types.js.map +1 -0
  480. package/dist/types/errors.d.ts +104 -0
  481. package/dist/types/errors.d.ts.map +1 -0
  482. package/dist/types/errors.js +226 -0
  483. package/dist/types/errors.js.map +1 -0
  484. package/dist/types/events.d.ts +101 -0
  485. package/dist/types/events.d.ts.map +1 -0
  486. package/dist/types/events.js +6 -0
  487. package/dist/types/events.js.map +1 -0
  488. package/dist/types/index.d.ts +570 -0
  489. package/dist/types/index.d.ts.map +1 -0
  490. package/dist/types/index.js +131 -0
  491. package/dist/types/index.js.map +1 -0
  492. package/dist/utils/Config.d.ts +128 -0
  493. package/dist/utils/Config.d.ts.map +1 -0
  494. package/dist/utils/Config.js +232 -0
  495. package/dist/utils/Config.js.map +1 -0
  496. package/dist/utils/Database.d.ts +112 -0
  497. package/dist/utils/Database.d.ts.map +1 -0
  498. package/dist/utils/Database.js +352 -0
  499. package/dist/utils/Database.js.map +1 -0
  500. package/dist/utils/Logger.d.ts +58 -0
  501. package/dist/utils/Logger.d.ts.map +1 -0
  502. package/dist/utils/Logger.js +125 -0
  503. package/dist/utils/Logger.js.map +1 -0
  504. package/dist/utils/index.d.ts +9 -0
  505. package/dist/utils/index.d.ts.map +1 -0
  506. package/dist/utils/index.js +14 -0
  507. package/dist/utils/index.js.map +1 -0
  508. package/dist/utils/sublinear/coverageOptimizer.d.ts +84 -0
  509. package/dist/utils/sublinear/coverageOptimizer.d.ts.map +1 -0
  510. package/dist/utils/sublinear/coverageOptimizer.js +415 -0
  511. package/dist/utils/sublinear/coverageOptimizer.js.map +1 -0
  512. package/dist/utils/sublinear/index.d.ts +50 -0
  513. package/dist/utils/sublinear/index.d.ts.map +1 -0
  514. package/dist/utils/sublinear/index.js +390 -0
  515. package/dist/utils/sublinear/index.js.map +1 -0
  516. package/dist/utils/sublinear/matrixSolver.d.ts +132 -0
  517. package/dist/utils/sublinear/matrixSolver.d.ts.map +1 -0
  518. package/dist/utils/sublinear/matrixSolver.js +642 -0
  519. package/dist/utils/sublinear/matrixSolver.js.map +1 -0
  520. package/dist/utils/sublinear/temporalPredictor.d.ts +195 -0
  521. package/dist/utils/sublinear/temporalPredictor.d.ts.map +1 -0
  522. package/dist/utils/sublinear/temporalPredictor.js +474 -0
  523. package/dist/utils/sublinear/temporalPredictor.js.map +1 -0
  524. package/dist/utils/sublinear/testSelector.d.ts +81 -0
  525. package/dist/utils/sublinear/testSelector.d.ts.map +1 -0
  526. package/dist/utils/sublinear/testSelector.js +303 -0
  527. package/dist/utils/sublinear/testSelector.js.map +1 -0
  528. package/package.json +131 -0
@@ -0,0 +1,629 @@
1
+ "use strict";
2
+ /**
3
+ * Task Orchestration Handler
4
+ *
5
+ * Handles complex task orchestration across multiple agents.
6
+ * Coordinates workflows and manages task dependencies.
7
+ *
8
+ * @version 1.0.0
9
+ * @author Agentic QE Team
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TaskOrchestrateHandler = void 0;
13
+ const base_handler_js_1 = require("./base-handler.js");
14
+ class TaskOrchestrateHandler extends base_handler_js_1.BaseHandler {
15
+ constructor(registry, hookExecutor) {
16
+ super();
17
+ this.activeOrchestrations = new Map();
18
+ this.workflowTemplates = new Map();
19
+ this.registry = registry;
20
+ this.hookExecutor = hookExecutor;
21
+ this.initializeWorkflowTemplates();
22
+ }
23
+ async handle(args) {
24
+ const requestId = this.generateRequestId();
25
+ this.log('info', 'Starting task orchestration', { requestId, task: args.task });
26
+ try {
27
+ // Execute pre-task hook
28
+ await this.hookExecutor.executePreTask({
29
+ description: `Orchestrate ${args.task.type} with ${args.task.strategy} strategy`,
30
+ agentType: 'task-orchestrator'
31
+ });
32
+ // Validate required parameters
33
+ this.validateRequired(args, ['task']);
34
+ this.validateTaskSpec(args.task);
35
+ const { result: orchestration, executionTime } = await this.measureExecutionTime(() => this.orchestrateTask(args));
36
+ // Execute post-task hook
37
+ await this.hookExecutor.executePostTask({
38
+ taskId: orchestration.id,
39
+ results: {
40
+ orchestrationId: orchestration.id,
41
+ type: orchestration.type,
42
+ status: orchestration.status,
43
+ stepsCount: orchestration.workflow.length,
44
+ agentsAssigned: orchestration.assignments.length
45
+ }
46
+ });
47
+ this.log('info', `Task orchestration created in ${executionTime.toFixed(2)}ms`, {
48
+ orchestrationId: orchestration.id,
49
+ type: orchestration.type,
50
+ stepsCount: orchestration.workflow.length
51
+ });
52
+ return this.createSuccessResponse(orchestration, requestId);
53
+ }
54
+ catch (error) {
55
+ this.log('error', 'Task orchestration failed', {
56
+ error: error instanceof Error ? error.message : String(error)
57
+ });
58
+ return this.createErrorResponse(error instanceof Error ? error.message : 'Task orchestration failed', requestId);
59
+ }
60
+ }
61
+ initializeWorkflowTemplates() {
62
+ // Comprehensive Testing Workflow
63
+ this.workflowTemplates.set('comprehensive-testing', [
64
+ {
65
+ id: 'analyze-code',
66
+ name: 'Analyze Codebase',
67
+ type: 'analysis',
68
+ dependencies: [],
69
+ estimatedDuration: 300, // 5 minutes
70
+ status: 'pending'
71
+ },
72
+ {
73
+ id: 'generate-unit-tests',
74
+ name: 'Generate Unit Tests',
75
+ type: 'test-generation',
76
+ dependencies: ['analyze-code'],
77
+ estimatedDuration: 600, // 10 minutes
78
+ status: 'pending'
79
+ },
80
+ {
81
+ id: 'generate-integration-tests',
82
+ name: 'Generate Integration Tests',
83
+ type: 'test-generation',
84
+ dependencies: ['analyze-code'],
85
+ estimatedDuration: 900, // 15 minutes
86
+ status: 'pending'
87
+ },
88
+ {
89
+ id: 'execute-unit-tests',
90
+ name: 'Execute Unit Tests',
91
+ type: 'test-execution',
92
+ dependencies: ['generate-unit-tests'],
93
+ estimatedDuration: 180, // 3 minutes
94
+ status: 'pending'
95
+ },
96
+ {
97
+ id: 'execute-integration-tests',
98
+ name: 'Execute Integration Tests',
99
+ type: 'test-execution',
100
+ dependencies: ['generate-integration-tests'],
101
+ estimatedDuration: 600, // 10 minutes
102
+ status: 'pending'
103
+ },
104
+ {
105
+ id: 'analyze-coverage',
106
+ name: 'Analyze Test Coverage',
107
+ type: 'coverage-analysis',
108
+ dependencies: ['execute-unit-tests', 'execute-integration-tests'],
109
+ estimatedDuration: 120, // 2 minutes
110
+ status: 'pending'
111
+ },
112
+ {
113
+ id: 'generate-report',
114
+ name: 'Generate Comprehensive Report',
115
+ type: 'reporting',
116
+ dependencies: ['analyze-coverage'],
117
+ estimatedDuration: 180, // 3 minutes
118
+ status: 'pending'
119
+ }
120
+ ]);
121
+ // Quality Gate Workflow
122
+ this.workflowTemplates.set('quality-gate', [
123
+ {
124
+ id: 'collect-metrics',
125
+ name: 'Collect Quality Metrics',
126
+ type: 'metrics-collection',
127
+ dependencies: [],
128
+ estimatedDuration: 120,
129
+ status: 'pending'
130
+ },
131
+ {
132
+ id: 'evaluate-thresholds',
133
+ name: 'Evaluate Quality Thresholds',
134
+ type: 'threshold-evaluation',
135
+ dependencies: ['collect-metrics'],
136
+ estimatedDuration: 60,
137
+ status: 'pending'
138
+ },
139
+ {
140
+ id: 'security-scan',
141
+ name: 'Security Vulnerability Scan',
142
+ type: 'security-analysis',
143
+ dependencies: [],
144
+ estimatedDuration: 300,
145
+ status: 'pending'
146
+ },
147
+ {
148
+ id: 'performance-check',
149
+ name: 'Performance Validation',
150
+ type: 'performance-testing',
151
+ dependencies: [],
152
+ estimatedDuration: 600,
153
+ status: 'pending'
154
+ },
155
+ {
156
+ id: 'gate-decision',
157
+ name: 'Make Quality Gate Decision',
158
+ type: 'decision-making',
159
+ dependencies: ['evaluate-thresholds', 'security-scan', 'performance-check'],
160
+ estimatedDuration: 30,
161
+ status: 'pending'
162
+ }
163
+ ]);
164
+ // Defect Prevention Workflow
165
+ this.workflowTemplates.set('defect-prevention', [
166
+ {
167
+ id: 'analyze-changes',
168
+ name: 'Analyze Code Changes',
169
+ type: 'change-analysis',
170
+ dependencies: [],
171
+ estimatedDuration: 180,
172
+ status: 'pending'
173
+ },
174
+ {
175
+ id: 'predict-defects',
176
+ name: 'Predict Potential Defects',
177
+ type: 'defect-prediction',
178
+ dependencies: ['analyze-changes'],
179
+ estimatedDuration: 300,
180
+ status: 'pending'
181
+ },
182
+ {
183
+ id: 'generate-preventive-tests',
184
+ name: 'Generate Preventive Tests',
185
+ type: 'test-generation',
186
+ dependencies: ['predict-defects'],
187
+ estimatedDuration: 420,
188
+ status: 'pending'
189
+ },
190
+ {
191
+ id: 'code-review-recommendations',
192
+ name: 'Generate Code Review Recommendations',
193
+ type: 'review-guidance',
194
+ dependencies: ['predict-defects'],
195
+ estimatedDuration: 120,
196
+ status: 'pending'
197
+ },
198
+ {
199
+ id: 'execute-preventive-tests',
200
+ name: 'Execute Preventive Tests',
201
+ type: 'test-execution',
202
+ dependencies: ['generate-preventive-tests'],
203
+ estimatedDuration: 240,
204
+ status: 'pending'
205
+ }
206
+ ]);
207
+ // Performance Validation Workflow
208
+ this.workflowTemplates.set('performance-validation', [
209
+ {
210
+ id: 'baseline-measurement',
211
+ name: 'Measure Performance Baseline',
212
+ type: 'performance-testing',
213
+ dependencies: [],
214
+ estimatedDuration: 300,
215
+ status: 'pending'
216
+ },
217
+ {
218
+ id: 'load-testing',
219
+ name: 'Execute Load Tests',
220
+ type: 'performance-testing',
221
+ dependencies: ['baseline-measurement'],
222
+ estimatedDuration: 900,
223
+ status: 'pending'
224
+ },
225
+ {
226
+ id: 'stress-testing',
227
+ name: 'Execute Stress Tests',
228
+ type: 'performance-testing',
229
+ dependencies: ['baseline-measurement'],
230
+ estimatedDuration: 600,
231
+ status: 'pending'
232
+ },
233
+ {
234
+ id: 'analyze-bottlenecks',
235
+ name: 'Analyze Performance Bottlenecks',
236
+ type: 'performance-analysis',
237
+ dependencies: ['load-testing', 'stress-testing'],
238
+ estimatedDuration: 240,
239
+ status: 'pending'
240
+ },
241
+ {
242
+ id: 'generate-optimization-recommendations',
243
+ name: 'Generate Optimization Recommendations',
244
+ type: 'recommendation-generation',
245
+ dependencies: ['analyze-bottlenecks'],
246
+ estimatedDuration: 180,
247
+ status: 'pending'
248
+ }
249
+ ]);
250
+ }
251
+ validateTaskSpec(task) {
252
+ const validTypes = ['comprehensive-testing', 'quality-gate', 'defect-prevention', 'performance-validation'];
253
+ if (!validTypes.includes(task.type)) {
254
+ throw new Error(`Invalid task type: ${task.type}. Must be one of: ${validTypes.join(', ')}`);
255
+ }
256
+ const validPriorities = ['low', 'medium', 'high', 'critical'];
257
+ if (!validPriorities.includes(task.priority)) {
258
+ throw new Error(`Invalid priority: ${task.priority}. Must be one of: ${validPriorities.join(', ')}`);
259
+ }
260
+ const validStrategies = ['parallel', 'sequential', 'adaptive'];
261
+ if (!validStrategies.includes(task.strategy)) {
262
+ throw new Error(`Invalid strategy: ${task.strategy}. Must be one of: ${validStrategies.join(', ')}`);
263
+ }
264
+ }
265
+ async orchestrateTask(args) {
266
+ const orchestrationId = `orchestration-${Date.now()}-${Math.random().toString(36).substr(2, 6)}`;
267
+ // Get workflow template
268
+ const workflowTemplate = this.workflowTemplates.get(args.task.type);
269
+ if (!workflowTemplate) {
270
+ throw new Error(`No workflow template found for task type: ${args.task.type}`);
271
+ }
272
+ // Create workflow steps
273
+ const workflow = this.createWorkflowSteps(workflowTemplate, args);
274
+ // Create orchestration
275
+ const orchestration = {
276
+ id: orchestrationId,
277
+ type: args.task.type,
278
+ priority: args.task.priority,
279
+ strategy: args.task.strategy,
280
+ status: 'pending',
281
+ workflow,
282
+ assignments: [],
283
+ progress: this.createInitialProgress(workflow),
284
+ results: this.createEmptyResults(),
285
+ timeline: [{
286
+ timestamp: new Date().toISOString(),
287
+ type: 'created',
288
+ description: `Task orchestration created: ${args.task.type}`
289
+ }],
290
+ createdAt: new Date().toISOString()
291
+ };
292
+ // Store orchestration
293
+ this.activeOrchestrations.set(orchestrationId, orchestration);
294
+ // Start orchestration
295
+ await this.startOrchestration(orchestration, args);
296
+ return orchestration;
297
+ }
298
+ createWorkflowSteps(template, args) {
299
+ return template.map(step => ({
300
+ ...step,
301
+ id: `${step.id}-${Date.now()}`,
302
+ status: 'pending'
303
+ }));
304
+ }
305
+ async startOrchestration(orchestration, args) {
306
+ orchestration.status = 'running';
307
+ orchestration.startedAt = new Date().toISOString();
308
+ this.addTimelineEvent(orchestration, 'started', 'Task orchestration started');
309
+ // Assign agents based on strategy
310
+ orchestration.assignments = await this.assignAgents(orchestration, args);
311
+ // Execute workflow based on strategy
312
+ if (args.task.strategy === 'parallel') {
313
+ await this.executeParallelWorkflow(orchestration);
314
+ }
315
+ else if (args.task.strategy === 'sequential') {
316
+ await this.executeSequentialWorkflow(orchestration);
317
+ }
318
+ else {
319
+ await this.executeAdaptiveWorkflow(orchestration);
320
+ }
321
+ }
322
+ async assignAgents(orchestration, args) {
323
+ const assignments = [];
324
+ // Group steps by type for agent assignment
325
+ const stepsByType = this.groupStepsByType(orchestration.workflow);
326
+ for (const [stepType, steps] of stepsByType.entries()) {
327
+ const agentType = this.getAgentTypeForStepType(stepType);
328
+ // Spawn agent via registry
329
+ const { id: agentId } = await this.registry.spawnAgent(agentType, {} // Agent config - using defaults
330
+ );
331
+ assignments.push({
332
+ agentId,
333
+ agentType,
334
+ tasks: steps.map(s => s.id),
335
+ status: 'assigned'
336
+ });
337
+ // Assign step to agent
338
+ for (const step of steps) {
339
+ step.assignedAgent = agentId;
340
+ }
341
+ }
342
+ return assignments;
343
+ }
344
+ groupStepsByType(workflow) {
345
+ const groups = new Map();
346
+ for (const step of workflow) {
347
+ if (!groups.has(step.type)) {
348
+ groups.set(step.type, []);
349
+ }
350
+ groups.get(step.type).push(step);
351
+ }
352
+ return groups;
353
+ }
354
+ getAgentTypeForStepType(stepType) {
355
+ const agentMapping = {
356
+ 'analysis': 'code-analyzer',
357
+ 'test-generation': 'test-generator',
358
+ 'test-execution': 'test-executor',
359
+ 'coverage-analysis': 'coverage-analyzer',
360
+ 'performance-testing': 'performance-tester',
361
+ 'security-analysis': 'security-scanner',
362
+ 'defect-prediction': 'defect-predictor',
363
+ 'metrics-collection': 'metrics-collector',
364
+ 'threshold-evaluation': 'quality-gate',
365
+ 'decision-making': 'quality-gate',
366
+ 'reporting': 'report-generator'
367
+ };
368
+ return agentMapping[stepType] || 'generic-agent';
369
+ }
370
+ async executeParallelWorkflow(orchestration) {
371
+ this.log('info', 'Executing parallel workflow', { orchestrationId: orchestration.id });
372
+ // Execute all steps that have no dependencies first
373
+ const readySteps = orchestration.workflow.filter(step => step.dependencies.length === 0);
374
+ await Promise.all(readySteps.map(step => this.executeStep(orchestration, step)));
375
+ // Continue with dependent steps
376
+ await this.executeDependentSteps(orchestration);
377
+ }
378
+ async executeSequentialWorkflow(orchestration) {
379
+ this.log('info', 'Executing sequential workflow', { orchestrationId: orchestration.id });
380
+ const sortedSteps = this.topologicalSort(orchestration.workflow);
381
+ for (const step of sortedSteps) {
382
+ await this.executeStep(orchestration, step);
383
+ }
384
+ }
385
+ async executeAdaptiveWorkflow(orchestration) {
386
+ this.log('info', 'Executing adaptive workflow', { orchestrationId: orchestration.id });
387
+ // Adaptive strategy: start with parallel execution of independent steps,
388
+ // then switch to sequential for dependent steps
389
+ await this.executeParallelWorkflow(orchestration);
390
+ }
391
+ async executeDependentSteps(orchestration) {
392
+ const completedSteps = new Set(orchestration.workflow.filter(s => s.status === 'completed').map(s => s.id));
393
+ const readySteps = orchestration.workflow.filter(step => step.status === 'pending' &&
394
+ step.dependencies.every(dep => completedSteps.has(dep)));
395
+ if (readySteps.length > 0) {
396
+ await Promise.all(readySteps.map(step => this.executeStep(orchestration, step)));
397
+ await this.executeDependentSteps(orchestration); // Recursively execute remaining steps
398
+ }
399
+ }
400
+ async executeStep(orchestration, step) {
401
+ step.status = 'running';
402
+ const assignment = orchestration.assignments.find(a => a.tasks.includes(step.id));
403
+ if (assignment && assignment.status === 'assigned') {
404
+ assignment.status = 'running';
405
+ assignment.startedAt = new Date().toISOString();
406
+ }
407
+ this.addTimelineEvent(orchestration, 'step-completed', `Started step: ${step.name}`, step.id, assignment?.agentId);
408
+ try {
409
+ // Simulate step execution
410
+ await new Promise(resolve => setTimeout(resolve, Math.min(step.estimatedDuration, 2000))); // Cap simulation time
411
+ // Simulate step results
412
+ step.results = this.generateStepResults(step);
413
+ step.status = 'completed';
414
+ if (assignment) {
415
+ assignment.status = 'completed';
416
+ assignment.completedAt = new Date().toISOString();
417
+ }
418
+ this.addTimelineEvent(orchestration, 'step-completed', `Completed step: ${step.name}`, step.id, assignment?.agentId);
419
+ // Update progress
420
+ this.updateProgress(orchestration);
421
+ }
422
+ catch (error) {
423
+ step.status = 'failed';
424
+ if (assignment) {
425
+ assignment.status = 'failed';
426
+ }
427
+ this.addTimelineEvent(orchestration, 'step-failed', `Failed step: ${step.name}`, step.id, assignment?.agentId);
428
+ throw error;
429
+ }
430
+ }
431
+ generateStepResults(step) {
432
+ const resultTemplates = {
433
+ 'analysis': {
434
+ complexity: Math.random() * 20 + 5,
435
+ linesOfCode: Math.floor(Math.random() * 10000 + 1000),
436
+ functions: Math.floor(Math.random() * 100 + 10)
437
+ },
438
+ 'test-generation': {
439
+ testsGenerated: Math.floor(Math.random() * 50 + 10),
440
+ coverageTarget: Math.random() * 20 + 75,
441
+ testTypes: ['unit', 'integration']
442
+ },
443
+ 'test-execution': {
444
+ testsRun: Math.floor(Math.random() * 100 + 20),
445
+ passed: Math.floor(Math.random() * 90 + 85),
446
+ failed: Math.floor(Math.random() * 5),
447
+ duration: Math.random() * 300 + 60
448
+ },
449
+ 'performance-testing': {
450
+ averageResponseTime: Math.random() * 200 + 50,
451
+ throughput: Math.random() * 1000 + 500,
452
+ errors: Math.floor(Math.random() * 3)
453
+ }
454
+ };
455
+ return resultTemplates[step.type] || { status: 'completed', timestamp: new Date().toISOString() };
456
+ }
457
+ topologicalSort(steps) {
458
+ const sorted = [];
459
+ const visited = new Set();
460
+ const visiting = new Set();
461
+ const visit = (step) => {
462
+ if (visiting.has(step.id)) {
463
+ throw new Error('Circular dependency detected in workflow');
464
+ }
465
+ if (visited.has(step.id)) {
466
+ return;
467
+ }
468
+ visiting.add(step.id);
469
+ for (const depId of step.dependencies) {
470
+ const depStep = steps.find(s => s.id === depId);
471
+ if (depStep) {
472
+ visit(depStep);
473
+ }
474
+ }
475
+ visiting.delete(step.id);
476
+ visited.add(step.id);
477
+ sorted.push(step);
478
+ };
479
+ for (const step of steps) {
480
+ visit(step);
481
+ }
482
+ return sorted;
483
+ }
484
+ createInitialProgress(workflow) {
485
+ return {
486
+ overall: 0,
487
+ byStep: workflow.reduce((acc, step) => {
488
+ acc[step.id] = 0;
489
+ return acc;
490
+ }, {}),
491
+ completedSteps: 0,
492
+ totalSteps: workflow.length,
493
+ estimatedCompletion: this.calculateEstimatedCompletion(workflow)
494
+ };
495
+ }
496
+ updateProgress(orchestration) {
497
+ const completedSteps = orchestration.workflow.filter(s => s.status === 'completed').length;
498
+ const totalSteps = orchestration.workflow.length;
499
+ orchestration.progress.completedSteps = completedSteps;
500
+ orchestration.progress.overall = (completedSteps / totalSteps) * 100;
501
+ // Update individual step progress
502
+ for (const step of orchestration.workflow) {
503
+ orchestration.progress.byStep[step.id] = step.status === 'completed' ? 100 :
504
+ step.status === 'running' ? 50 : 0;
505
+ }
506
+ // Check if orchestration is complete
507
+ if (completedSteps === totalSteps) {
508
+ this.completeOrchestration(orchestration);
509
+ }
510
+ }
511
+ completeOrchestration(orchestration) {
512
+ orchestration.status = 'completed';
513
+ orchestration.completedAt = new Date().toISOString();
514
+ // Generate final results
515
+ orchestration.results = this.generateFinalResults(orchestration);
516
+ this.addTimelineEvent(orchestration, 'completed', 'Task orchestration completed');
517
+ this.log('info', 'Orchestration completed', { orchestrationId: orchestration.id });
518
+ }
519
+ generateFinalResults(orchestration) {
520
+ const completedSteps = orchestration.workflow.filter(s => s.status === 'completed').length;
521
+ const failedSteps = orchestration.workflow.filter(s => s.status === 'failed').length;
522
+ const totalDuration = orchestration.completedAt && orchestration.startedAt ?
523
+ new Date(orchestration.completedAt).getTime() - new Date(orchestration.startedAt).getTime() : 0;
524
+ return {
525
+ summary: {
526
+ success: failedSteps === 0,
527
+ completedSteps,
528
+ failedSteps,
529
+ totalDuration
530
+ },
531
+ stepResults: orchestration.workflow.map(step => ({
532
+ stepId: step.id,
533
+ stepName: step.name,
534
+ status: step.status,
535
+ duration: step.estimatedDuration,
536
+ output: step.results
537
+ })),
538
+ artifacts: this.generateArtifacts(orchestration),
539
+ metrics: this.calculateOrchestrationMetrics(orchestration)
540
+ };
541
+ }
542
+ generateArtifacts(orchestration) {
543
+ const artifacts = [];
544
+ for (const step of orchestration.workflow) {
545
+ if (step.status === 'completed') {
546
+ artifacts.push({
547
+ type: step.type,
548
+ name: `${step.name.replace(/\s+/g, '-').toLowerCase()}-output.json`,
549
+ path: `/artifacts/${orchestration.id}/${step.id}/output.json`,
550
+ size: Math.floor(Math.random() * 100000 + 10000),
551
+ stepId: step.id
552
+ });
553
+ }
554
+ }
555
+ return artifacts;
556
+ }
557
+ calculateOrchestrationMetrics(orchestration) {
558
+ const agentUtilization = {};
559
+ for (const assignment of orchestration.assignments) {
560
+ agentUtilization[assignment.agentId] = Math.random() * 30 + 70; // 70-100%
561
+ }
562
+ return {
563
+ parallelismEfficiency: orchestration.strategy === 'parallel' ? Math.random() * 0.2 + 0.8 : 1.0,
564
+ resourceUtilization: Math.random() * 20 + 70, // 70-90%
565
+ coordinationOverhead: Math.random() * 10 + 5, // 5-15%
566
+ agentUtilization
567
+ };
568
+ }
569
+ calculateEstimatedCompletion(workflow) {
570
+ const totalDuration = workflow.reduce((sum, step) => sum + step.estimatedDuration, 0);
571
+ const completionTime = new Date(Date.now() + totalDuration * 1000);
572
+ return completionTime.toISOString();
573
+ }
574
+ createEmptyResults() {
575
+ return {
576
+ summary: {
577
+ success: false,
578
+ completedSteps: 0,
579
+ failedSteps: 0,
580
+ totalDuration: 0
581
+ },
582
+ stepResults: [],
583
+ artifacts: [],
584
+ metrics: {
585
+ parallelismEfficiency: 0,
586
+ resourceUtilization: 0,
587
+ coordinationOverhead: 0,
588
+ agentUtilization: {}
589
+ }
590
+ };
591
+ }
592
+ addTimelineEvent(orchestration, type, description, stepId, agentId) {
593
+ orchestration.timeline.push({
594
+ timestamp: new Date().toISOString(),
595
+ type,
596
+ description,
597
+ stepId,
598
+ agentId
599
+ });
600
+ }
601
+ /**
602
+ * Get orchestration by ID
603
+ */
604
+ getOrchestration(orchestrationId) {
605
+ return this.activeOrchestrations.get(orchestrationId);
606
+ }
607
+ /**
608
+ * List all orchestrations
609
+ */
610
+ listOrchestrations() {
611
+ return Array.from(this.activeOrchestrations.values());
612
+ }
613
+ /**
614
+ * Cancel an orchestration
615
+ */
616
+ async cancelOrchestration(orchestrationId) {
617
+ const orchestration = this.activeOrchestrations.get(orchestrationId);
618
+ if (!orchestration || orchestration.status === 'completed' || orchestration.status === 'failed') {
619
+ return false;
620
+ }
621
+ orchestration.status = 'cancelled';
622
+ orchestration.completedAt = new Date().toISOString();
623
+ this.addTimelineEvent(orchestration, 'failed', 'Orchestration cancelled by user');
624
+ this.log('info', 'Orchestration cancelled', { orchestrationId });
625
+ return true;
626
+ }
627
+ }
628
+ exports.TaskOrchestrateHandler = TaskOrchestrateHandler;
629
+ //# sourceMappingURL=task-orchestrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-orchestrate.js","sourceRoot":"","sources":["../../../src/mcp/handlers/task-orchestrate.ts"],"names":[],"mappings":"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"}