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,264 @@
1
+ /**
2
+ * Task - Represents a unit of work to be executed by agents
3
+ *
4
+ * @remarks
5
+ * The Task class encapsulates all information needed to execute a unit of work
6
+ * in the AQE Fleet, including data, requirements, status tracking, and results.
7
+ *
8
+ * Tasks are automatically assigned to capable agents by the FleetManager and
9
+ * provide event-based progress tracking.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Create a test generation task
14
+ * const task = new Task(
15
+ * 'test-generation',
16
+ * 'Generate unit tests for UserService',
17
+ * {
18
+ * filePath: './src/services/UserService.ts',
19
+ * framework: 'jest',
20
+ * coverageTarget: 95
21
+ * },
22
+ * {
23
+ * capabilities: ['ai-test-generation'],
24
+ * agentTypes: ['test-generator']
25
+ * },
26
+ * TaskPriority.HIGH
27
+ * );
28
+ *
29
+ * // Monitor task progress
30
+ * task.on('status:changed', (data) => {
31
+ * console.log(`Task ${data.taskId} status: ${data.newStatus}`);
32
+ * });
33
+ *
34
+ * await fleet.submitTask(task);
35
+ * const result = await task.waitForCompletion();
36
+ * ```
37
+ *
38
+ * @public
39
+ */
40
+ /// <reference types="node" />
41
+ import { EventEmitter } from 'events';
42
+ /**
43
+ * Current execution status of a task
44
+ *
45
+ * @public
46
+ */
47
+ export declare enum TaskStatus {
48
+ /** Task has been created but not submitted */
49
+ CREATED = "created",
50
+ /** Task is queued waiting for an available agent */
51
+ QUEUED = "queued",
52
+ /** Task has been assigned to an agent */
53
+ ASSIGNED = "assigned",
54
+ /** Task is currently being executed */
55
+ RUNNING = "running",
56
+ /** Task completed successfully */
57
+ COMPLETED = "completed",
58
+ /** Task execution failed */
59
+ FAILED = "failed",
60
+ /** Task was cancelled before completion */
61
+ CANCELLED = "cancelled"
62
+ }
63
+ /**
64
+ * Priority level for task execution
65
+ *
66
+ * @public
67
+ */
68
+ export declare enum TaskPriority {
69
+ /** Low priority task */
70
+ LOW = 0,
71
+ /** Medium priority task (default) */
72
+ MEDIUM = 1,
73
+ /** High priority task */
74
+ HIGH = 2,
75
+ /** Critical priority task (executed first) */
76
+ CRITICAL = 3
77
+ }
78
+ /**
79
+ * Metadata about task execution
80
+ *
81
+ * @public
82
+ */
83
+ export interface TaskMetadata {
84
+ /** When the task was created */
85
+ createdAt: Date;
86
+ /** When the task started executing */
87
+ startedAt?: Date;
88
+ /** When the task completed or failed */
89
+ completedAt?: Date;
90
+ /** ID of the agent assigned to this task */
91
+ assignedAgent?: string;
92
+ /** Number of times this task has been retried */
93
+ retryCount: number;
94
+ /** Maximum number of retry attempts allowed */
95
+ maxRetries: number;
96
+ /** Timeout in milliseconds for task execution */
97
+ timeout?: number;
98
+ }
99
+ /**
100
+ * Requirements that must be met for task execution
101
+ *
102
+ * @public
103
+ */
104
+ export interface TaskRequirements {
105
+ /** Specific agent types that can handle this task */
106
+ agentTypes?: string[];
107
+ /** Required capabilities an agent must have */
108
+ capabilities?: string[];
109
+ /** Required resources (memory, CPU, etc.) */
110
+ resources?: Record<string, any>;
111
+ /** Task IDs that must complete before this task */
112
+ dependencies?: string[];
113
+ }
114
+ export declare class Task extends EventEmitter {
115
+ private readonly id;
116
+ private readonly type;
117
+ private readonly name;
118
+ private readonly data;
119
+ private readonly requirements;
120
+ private status;
121
+ private priority;
122
+ private result;
123
+ private error;
124
+ private metadata;
125
+ constructor(type: string, name: string, data?: any, requirements?: TaskRequirements, priority?: TaskPriority);
126
+ /**
127
+ * Get task ID
128
+ *
129
+ * @returns Unique identifier for this task
130
+ * @public
131
+ */
132
+ getId(): string;
133
+ /**
134
+ * Get task type
135
+ *
136
+ * @returns The type of task (e.g., 'test-generation', 'coverage-analysis')
137
+ * @public
138
+ */
139
+ getType(): string;
140
+ /**
141
+ * Get task name
142
+ *
143
+ * @returns Human-readable name for this task
144
+ * @public
145
+ */
146
+ getName(): string;
147
+ /**
148
+ * Get task data
149
+ *
150
+ * @returns The data payload for task execution
151
+ * @public
152
+ */
153
+ getData(): any;
154
+ /**
155
+ * Get task requirements
156
+ */
157
+ getRequirements(): TaskRequirements;
158
+ /**
159
+ * Get task status
160
+ */
161
+ getStatus(): TaskStatus;
162
+ /**
163
+ * Set task status and update metadata
164
+ *
165
+ * @param status - The new status for the task
166
+ * @fires status:changed
167
+ * @public
168
+ */
169
+ setStatus(status: TaskStatus): void;
170
+ /**
171
+ * Get task priority
172
+ */
173
+ getPriority(): TaskPriority;
174
+ /**
175
+ * Set task priority
176
+ */
177
+ setPriority(priority: TaskPriority): void;
178
+ /**
179
+ * Get task result
180
+ */
181
+ getResult(): any;
182
+ /**
183
+ * Set task result
184
+ */
185
+ setResult(result: any): void;
186
+ /**
187
+ * Get task error
188
+ */
189
+ getError(): Error | null;
190
+ /**
191
+ * Set task error
192
+ */
193
+ setError(error: Error): void;
194
+ /**
195
+ * Get task metadata
196
+ */
197
+ getMetadata(): TaskMetadata;
198
+ /**
199
+ * Assign agent to task
200
+ */
201
+ assignAgent(agentId: string): void;
202
+ /**
203
+ * Check if task can be retried
204
+ */
205
+ canRetry(): boolean;
206
+ /**
207
+ * Increment retry count
208
+ */
209
+ incrementRetry(): void;
210
+ /**
211
+ * Set maximum retries
212
+ */
213
+ setMaxRetries(maxRetries: number): void;
214
+ /**
215
+ * Set timeout for task execution
216
+ */
217
+ setTimeout(timeout: number): void;
218
+ /**
219
+ * Check if task has timed out
220
+ */
221
+ hasTimedOut(): boolean;
222
+ /**
223
+ * Get task execution duration
224
+ */
225
+ getExecutionDuration(): number | null;
226
+ /**
227
+ * Check if task is complete (either completed or failed)
228
+ */
229
+ isComplete(): boolean;
230
+ /**
231
+ * Wait for task completion
232
+ *
233
+ * @remarks
234
+ * Returns a promise that resolves when the task completes successfully
235
+ * or rejects if the task fails or is cancelled.
236
+ *
237
+ * @returns A promise that resolves to the task result
238
+ * @throws {Error} If the task fails or is cancelled
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * const task = new Task('test-generation', 'Generate tests', data);
243
+ * await fleet.submitTask(task);
244
+ * const result = await task.waitForCompletion();
245
+ * console.log('Tests generated:', result);
246
+ * ```
247
+ *
248
+ * @public
249
+ */
250
+ waitForCompletion(): Promise<any>;
251
+ /**
252
+ * Cancel the task
253
+ */
254
+ cancel(): void;
255
+ /**
256
+ * Convert task to JSON representation
257
+ */
258
+ toJSON(): any;
259
+ /**
260
+ * Create task from JSON representation
261
+ */
262
+ static fromJSON(json: any): Task;
263
+ }
264
+ //# sourceMappingURL=Task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/core/Task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ /**
3
+ * Task - Represents a unit of work to be executed by agents
4
+ *
5
+ * @remarks
6
+ * The Task class encapsulates all information needed to execute a unit of work
7
+ * in the AQE Fleet, including data, requirements, status tracking, and results.
8
+ *
9
+ * Tasks are automatically assigned to capable agents by the FleetManager and
10
+ * provide event-based progress tracking.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Create a test generation task
15
+ * const task = new Task(
16
+ * 'test-generation',
17
+ * 'Generate unit tests for UserService',
18
+ * {
19
+ * filePath: './src/services/UserService.ts',
20
+ * framework: 'jest',
21
+ * coverageTarget: 95
22
+ * },
23
+ * {
24
+ * capabilities: ['ai-test-generation'],
25
+ * agentTypes: ['test-generator']
26
+ * },
27
+ * TaskPriority.HIGH
28
+ * );
29
+ *
30
+ * // Monitor task progress
31
+ * task.on('status:changed', (data) => {
32
+ * console.log(`Task ${data.taskId} status: ${data.newStatus}`);
33
+ * });
34
+ *
35
+ * await fleet.submitTask(task);
36
+ * const result = await task.waitForCompletion();
37
+ * ```
38
+ *
39
+ * @public
40
+ */
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.Task = exports.TaskPriority = exports.TaskStatus = void 0;
43
+ const uuid_1 = require("uuid");
44
+ const events_1 = require("events");
45
+ /**
46
+ * Current execution status of a task
47
+ *
48
+ * @public
49
+ */
50
+ var TaskStatus;
51
+ (function (TaskStatus) {
52
+ /** Task has been created but not submitted */
53
+ TaskStatus["CREATED"] = "created";
54
+ /** Task is queued waiting for an available agent */
55
+ TaskStatus["QUEUED"] = "queued";
56
+ /** Task has been assigned to an agent */
57
+ TaskStatus["ASSIGNED"] = "assigned";
58
+ /** Task is currently being executed */
59
+ TaskStatus["RUNNING"] = "running";
60
+ /** Task completed successfully */
61
+ TaskStatus["COMPLETED"] = "completed";
62
+ /** Task execution failed */
63
+ TaskStatus["FAILED"] = "failed";
64
+ /** Task was cancelled before completion */
65
+ TaskStatus["CANCELLED"] = "cancelled";
66
+ })(TaskStatus || (exports.TaskStatus = TaskStatus = {}));
67
+ /**
68
+ * Priority level for task execution
69
+ *
70
+ * @public
71
+ */
72
+ var TaskPriority;
73
+ (function (TaskPriority) {
74
+ /** Low priority task */
75
+ TaskPriority[TaskPriority["LOW"] = 0] = "LOW";
76
+ /** Medium priority task (default) */
77
+ TaskPriority[TaskPriority["MEDIUM"] = 1] = "MEDIUM";
78
+ /** High priority task */
79
+ TaskPriority[TaskPriority["HIGH"] = 2] = "HIGH";
80
+ /** Critical priority task (executed first) */
81
+ TaskPriority[TaskPriority["CRITICAL"] = 3] = "CRITICAL";
82
+ })(TaskPriority || (exports.TaskPriority = TaskPriority = {}));
83
+ class Task extends events_1.EventEmitter {
84
+ constructor(type, name, data = {}, requirements = {}, priority = TaskPriority.MEDIUM) {
85
+ super();
86
+ this.result = null;
87
+ this.error = null;
88
+ this.id = (0, uuid_1.v4)();
89
+ this.type = type;
90
+ this.name = name;
91
+ this.data = data;
92
+ this.requirements = requirements;
93
+ this.status = TaskStatus.CREATED;
94
+ this.priority = priority;
95
+ this.metadata = {
96
+ createdAt: new Date(),
97
+ retryCount: 0,
98
+ maxRetries: 3
99
+ };
100
+ }
101
+ /**
102
+ * Get task ID
103
+ *
104
+ * @returns Unique identifier for this task
105
+ * @public
106
+ */
107
+ getId() {
108
+ return this.id;
109
+ }
110
+ /**
111
+ * Get task type
112
+ *
113
+ * @returns The type of task (e.g., 'test-generation', 'coverage-analysis')
114
+ * @public
115
+ */
116
+ getType() {
117
+ return this.type;
118
+ }
119
+ /**
120
+ * Get task name
121
+ *
122
+ * @returns Human-readable name for this task
123
+ * @public
124
+ */
125
+ getName() {
126
+ return this.name;
127
+ }
128
+ /**
129
+ * Get task data
130
+ *
131
+ * @returns The data payload for task execution
132
+ * @public
133
+ */
134
+ getData() {
135
+ return this.data;
136
+ }
137
+ /**
138
+ * Get task requirements
139
+ */
140
+ getRequirements() {
141
+ return this.requirements;
142
+ }
143
+ /**
144
+ * Get task status
145
+ */
146
+ getStatus() {
147
+ return this.status;
148
+ }
149
+ /**
150
+ * Set task status and update metadata
151
+ *
152
+ * @param status - The new status for the task
153
+ * @fires status:changed
154
+ * @public
155
+ */
156
+ setStatus(status) {
157
+ const previousStatus = this.status;
158
+ this.status = status;
159
+ // Update metadata based on status
160
+ switch (status) {
161
+ case TaskStatus.RUNNING:
162
+ this.metadata.startedAt = new Date();
163
+ break;
164
+ case TaskStatus.COMPLETED:
165
+ case TaskStatus.FAILED:
166
+ case TaskStatus.CANCELLED:
167
+ this.metadata.completedAt = new Date();
168
+ break;
169
+ }
170
+ this.emit('status:changed', {
171
+ taskId: this.id,
172
+ previousStatus,
173
+ newStatus: status,
174
+ timestamp: new Date()
175
+ });
176
+ }
177
+ /**
178
+ * Get task priority
179
+ */
180
+ getPriority() {
181
+ return this.priority;
182
+ }
183
+ /**
184
+ * Set task priority
185
+ */
186
+ setPriority(priority) {
187
+ this.priority = priority;
188
+ this.emit('priority:changed', {
189
+ taskId: this.id,
190
+ priority,
191
+ timestamp: new Date()
192
+ });
193
+ }
194
+ /**
195
+ * Get task result
196
+ */
197
+ getResult() {
198
+ return this.result;
199
+ }
200
+ /**
201
+ * Set task result
202
+ */
203
+ setResult(result) {
204
+ this.result = result;
205
+ this.emit('result:set', {
206
+ taskId: this.id,
207
+ result,
208
+ timestamp: new Date()
209
+ });
210
+ }
211
+ /**
212
+ * Get task error
213
+ */
214
+ getError() {
215
+ return this.error;
216
+ }
217
+ /**
218
+ * Set task error
219
+ */
220
+ setError(error) {
221
+ this.error = error;
222
+ this.emit('error:set', {
223
+ taskId: this.id,
224
+ error,
225
+ timestamp: new Date()
226
+ });
227
+ }
228
+ /**
229
+ * Get task metadata
230
+ */
231
+ getMetadata() {
232
+ return this.metadata;
233
+ }
234
+ /**
235
+ * Assign agent to task
236
+ */
237
+ assignAgent(agentId) {
238
+ this.metadata.assignedAgent = agentId;
239
+ this.setStatus(TaskStatus.ASSIGNED);
240
+ this.emit('agent:assigned', {
241
+ taskId: this.id,
242
+ agentId,
243
+ timestamp: new Date()
244
+ });
245
+ }
246
+ /**
247
+ * Check if task can be retried
248
+ */
249
+ canRetry() {
250
+ return this.metadata.retryCount < this.metadata.maxRetries;
251
+ }
252
+ /**
253
+ * Increment retry count
254
+ */
255
+ incrementRetry() {
256
+ this.metadata.retryCount++;
257
+ this.emit('retry:attempted', {
258
+ taskId: this.id,
259
+ retryCount: this.metadata.retryCount,
260
+ timestamp: new Date()
261
+ });
262
+ }
263
+ /**
264
+ * Set maximum retries
265
+ */
266
+ setMaxRetries(maxRetries) {
267
+ this.metadata.maxRetries = maxRetries;
268
+ }
269
+ /**
270
+ * Set timeout for task execution
271
+ */
272
+ setTimeout(timeout) {
273
+ this.metadata.timeout = timeout;
274
+ }
275
+ /**
276
+ * Check if task has timed out
277
+ */
278
+ hasTimedOut() {
279
+ if (!this.metadata.timeout || !this.metadata.startedAt) {
280
+ return false;
281
+ }
282
+ const elapsed = Date.now() - this.metadata.startedAt.getTime();
283
+ return elapsed > this.metadata.timeout;
284
+ }
285
+ /**
286
+ * Get task execution duration
287
+ */
288
+ getExecutionDuration() {
289
+ if (!this.metadata.startedAt) {
290
+ return null;
291
+ }
292
+ const endTime = this.metadata.completedAt || new Date();
293
+ return endTime.getTime() - this.metadata.startedAt.getTime();
294
+ }
295
+ /**
296
+ * Check if task is complete (either completed or failed)
297
+ */
298
+ isComplete() {
299
+ return this.status === TaskStatus.COMPLETED ||
300
+ this.status === TaskStatus.FAILED ||
301
+ this.status === TaskStatus.CANCELLED;
302
+ }
303
+ /**
304
+ * Wait for task completion
305
+ *
306
+ * @remarks
307
+ * Returns a promise that resolves when the task completes successfully
308
+ * or rejects if the task fails or is cancelled.
309
+ *
310
+ * @returns A promise that resolves to the task result
311
+ * @throws {Error} If the task fails or is cancelled
312
+ *
313
+ * @example
314
+ * ```typescript
315
+ * const task = new Task('test-generation', 'Generate tests', data);
316
+ * await fleet.submitTask(task);
317
+ * const result = await task.waitForCompletion();
318
+ * console.log('Tests generated:', result);
319
+ * ```
320
+ *
321
+ * @public
322
+ */
323
+ async waitForCompletion() {
324
+ return new Promise((resolve, reject) => {
325
+ if (this.isComplete()) {
326
+ if (this.status === TaskStatus.COMPLETED) {
327
+ resolve(this.result);
328
+ }
329
+ else {
330
+ reject(this.error || new Error(`Task ${this.id} was ${this.status}`));
331
+ }
332
+ return;
333
+ }
334
+ const onStatusChange = (data) => {
335
+ if (data.taskId === this.id && this.isComplete()) {
336
+ this.removeListener('status:changed', onStatusChange);
337
+ if (this.status === TaskStatus.COMPLETED) {
338
+ resolve(this.result);
339
+ }
340
+ else {
341
+ reject(this.error || new Error(`Task ${this.id} was ${this.status}`));
342
+ }
343
+ }
344
+ };
345
+ this.on('status:changed', onStatusChange);
346
+ });
347
+ }
348
+ /**
349
+ * Cancel the task
350
+ */
351
+ cancel() {
352
+ if (!this.isComplete()) {
353
+ this.setStatus(TaskStatus.CANCELLED);
354
+ this.emit('task:cancelled', {
355
+ taskId: this.id,
356
+ timestamp: new Date()
357
+ });
358
+ }
359
+ }
360
+ /**
361
+ * Convert task to JSON representation
362
+ */
363
+ toJSON() {
364
+ return {
365
+ id: this.id,
366
+ type: this.type,
367
+ name: this.name,
368
+ data: this.data,
369
+ requirements: this.requirements,
370
+ status: this.status,
371
+ priority: this.priority,
372
+ result: this.result,
373
+ error: this.error?.message,
374
+ metadata: this.metadata
375
+ };
376
+ }
377
+ /**
378
+ * Create task from JSON representation
379
+ */
380
+ static fromJSON(json) {
381
+ const task = new Task(json.type, json.name, json.data, json.requirements, json.priority);
382
+ task.status = json.status;
383
+ task.result = json.result;
384
+ if (json.error) {
385
+ task.error = new Error(json.error);
386
+ }
387
+ task.metadata = {
388
+ ...json.metadata,
389
+ createdAt: new Date(json.metadata.createdAt),
390
+ startedAt: json.metadata.startedAt ? new Date(json.metadata.startedAt) : undefined,
391
+ completedAt: json.metadata.completedAt ? new Date(json.metadata.completedAt) : undefined
392
+ };
393
+ return task;
394
+ }
395
+ }
396
+ exports.Task = Task;
397
+ //# sourceMappingURL=Task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Task.js","sourceRoot":"","sources":["../../src/core/Task.ts"],"names":[],"mappings":"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"}