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,856 @@
1
+ "use strict";
2
+ /**
3
+ * ProductionIntelligenceAgent - Converts production data into test scenarios
4
+ *
5
+ * Implements incident replay testing, RUM analysis, anomaly detection,
6
+ * load pattern analysis, and feature usage analytics to close the
7
+ * production-to-testing feedback loop.
8
+ *
9
+ * Based on SPARC methodology and AQE Fleet specification
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ProductionIntelligenceAgent = void 0;
13
+ const BaseAgent_1 = require("./BaseAgent");
14
+ const types_1 = require("../types");
15
+ // ============================================================================
16
+ // Production Intelligence Agent Implementation
17
+ // ============================================================================
18
+ class ProductionIntelligenceAgent extends BaseAgent_1.BaseAgent {
19
+ constructor(config) {
20
+ super({
21
+ ...config,
22
+ type: types_1.QEAgentType.PRODUCTION_INTELLIGENCE,
23
+ capabilities: [
24
+ {
25
+ name: 'incident-replay',
26
+ version: '1.0.0',
27
+ description: 'Convert production incidents into reproducible test scenarios',
28
+ parameters: {
29
+ minOccurrences: config.thresholds?.minIncidentOccurrences || 5,
30
+ severityFilter: ['HIGH', 'CRITICAL']
31
+ }
32
+ },
33
+ {
34
+ name: 'rum-analysis',
35
+ version: '1.0.0',
36
+ description: 'Analyze Real User Monitoring data to generate realistic test scenarios',
37
+ parameters: {
38
+ deviceTypes: ['mobile', 'desktop', 'tablet'],
39
+ browserSupport: ['chrome', 'safari', 'firefox', 'edge']
40
+ }
41
+ },
42
+ {
43
+ name: 'anomaly-detection',
44
+ version: '1.0.0',
45
+ description: 'Detect abnormal patterns indicating potential bugs',
46
+ parameters: {
47
+ stdDevThreshold: config.thresholds?.anomalyStdDev || 3,
48
+ detectionWindow: 300000 // 5 minutes
49
+ }
50
+ },
51
+ {
52
+ name: 'load-pattern-analysis',
53
+ version: '1.0.0',
54
+ description: 'Extract realistic load patterns from production traffic',
55
+ parameters: {
56
+ analysisWindow: '30d',
57
+ includeSeasonality: true
58
+ }
59
+ },
60
+ {
61
+ name: 'feature-usage-analytics',
62
+ version: '1.0.0',
63
+ description: 'Track feature usage to prioritize testing efforts',
64
+ parameters: {
65
+ usageThreshold: 0.05, // 5% minimum usage
66
+ deadCodeWindow: 90 // days
67
+ }
68
+ }
69
+ ]
70
+ });
71
+ this.baselineMetrics = new Map();
72
+ this.monitoringClients = new Map();
73
+ this.config = {
74
+ ...config,
75
+ thresholds: {
76
+ anomalyStdDev: 3,
77
+ errorRateSpike: 0.5,
78
+ latencyDegradation: 0.3,
79
+ minIncidentOccurrences: 5,
80
+ ...config.thresholds
81
+ },
82
+ features: {
83
+ incidentReplay: true,
84
+ rumAnalysis: true,
85
+ anomalyDetection: true,
86
+ loadPatternAnalysis: true,
87
+ featureUsageAnalytics: true,
88
+ ...config.features
89
+ }
90
+ };
91
+ }
92
+ // ============================================================================
93
+ // BaseAgent Implementation
94
+ // ============================================================================
95
+ async initializeComponents() {
96
+ console.log(`ProductionIntelligenceAgent ${this.agentId.id} initializing...`);
97
+ // Initialize monitoring platform clients
98
+ await this.initializeMonitoringClients();
99
+ // Load historical baseline metrics
100
+ await this.loadBaselineMetrics();
101
+ // Register event handlers for production events
102
+ this.registerProductionEventHandlers();
103
+ console.log(`ProductionIntelligenceAgent ${this.agentId.id} initialized successfully`);
104
+ }
105
+ async performTask(task) {
106
+ const { type, payload } = task;
107
+ console.log(`ProductionIntelligenceAgent executing ${type} task: ${task.id}`);
108
+ switch (type) {
109
+ case 'incident-replay':
110
+ return await this.performIncidentReplay(payload);
111
+ case 'rum-analysis':
112
+ return await this.performRUMAnalysis(payload);
113
+ case 'anomaly-detection':
114
+ return await this.performAnomalyDetection(payload);
115
+ case 'load-pattern-analysis':
116
+ return await this.performLoadPatternAnalysis(payload);
117
+ case 'feature-usage-analytics':
118
+ return await this.performFeatureUsageAnalytics(payload);
119
+ case 'generate-tests-from-incidents':
120
+ return await this.generateTestsFromIncidents(payload);
121
+ case 'generate-tests-from-rum':
122
+ return await this.generateTestsFromRUM(payload);
123
+ case 'analyze-production-vs-staging':
124
+ return await this.analyzeProductionVsStaging(payload);
125
+ default:
126
+ throw new Error(`Unsupported task type: ${type}`);
127
+ }
128
+ }
129
+ async loadKnowledge() {
130
+ // Load production intelligence patterns and insights
131
+ const storedPatterns = await this.retrieveMemory('production-patterns');
132
+ if (storedPatterns) {
133
+ console.log('Loaded production intelligence patterns from memory');
134
+ }
135
+ // Load incident history
136
+ const incidentHistory = await this.memoryStore.retrieve('aqe/production/incidents');
137
+ if (incidentHistory) {
138
+ console.log('Loaded incident history from memory');
139
+ }
140
+ // Load RUM data
141
+ const rumData = await this.memoryStore.retrieve('aqe/production/rum-data');
142
+ if (rumData) {
143
+ console.log('Loaded RUM data from memory');
144
+ }
145
+ }
146
+ async cleanup() {
147
+ // Save current state
148
+ await this.storeMemory('production-state', {
149
+ baselineMetrics: Array.from(this.baselineMetrics.entries()),
150
+ timestamp: new Date()
151
+ });
152
+ // Close monitoring client connections
153
+ for (const [platform, client] of this.monitoringClients.entries()) {
154
+ console.log(`Closing connection to ${platform}`);
155
+ // In real implementation, properly close connections
156
+ }
157
+ this.monitoringClients.clear();
158
+ console.log(`ProductionIntelligenceAgent ${this.agentId.id} cleaned up`);
159
+ }
160
+ // ============================================================================
161
+ // Incident Replay Testing
162
+ // ============================================================================
163
+ async performIncidentReplay(data) {
164
+ const { incident } = data;
165
+ console.log(`Analyzing incident ${incident.id} for replay testing`);
166
+ // Generate test scenario from incident
167
+ const testScenario = await this.generateIncidentTestScenario(incident);
168
+ // Store incident analysis
169
+ await this.memoryStore.store(`aqe/incidents/${incident.id}`, {
170
+ incident,
171
+ testScenario,
172
+ analyzedAt: new Date(),
173
+ severity: incident.severity
174
+ });
175
+ // Emit event for test generation
176
+ this.emitEvent('production.incident.analyzed', {
177
+ incidentId: incident.id,
178
+ testScenarioId: testScenario.id,
179
+ severity: incident.severity
180
+ }, incident.severity === 'CRITICAL' ? 'critical' : 'high');
181
+ return {
182
+ testScenario,
183
+ reproducible: true,
184
+ testSuite: {
185
+ id: `incident-replay-${incident.id}`,
186
+ name: `Incident Replay: ${incident.id} - ${incident.error}`,
187
+ tests: [testScenario],
188
+ metadata: {
189
+ generatedAt: new Date(),
190
+ coverageTarget: 0,
191
+ framework: 'jest',
192
+ estimatedDuration: incident.context.requestTrace?.duration || 5000,
193
+ generationStrategy: 'incident-replay'
194
+ }
195
+ }
196
+ };
197
+ }
198
+ async generateIncidentTestScenario(incident) {
199
+ return {
200
+ id: `test-incident-${incident.id}`,
201
+ name: `should handle ${incident.error} gracefully`,
202
+ type: types_1.TestType.INTEGRATION,
203
+ parameters: [
204
+ {
205
+ name: 'incident',
206
+ value: incident,
207
+ type: 'ProductionIncident'
208
+ },
209
+ {
210
+ name: 'systemState',
211
+ value: incident.context.systemState,
212
+ type: 'SystemState'
213
+ },
214
+ {
215
+ name: 'expectedBehavior',
216
+ value: 'graceful-degradation',
217
+ type: 'string'
218
+ }
219
+ ],
220
+ assertions: [
221
+ `expect(response.status).not.toBe(500)`,
222
+ `expect(response.error).toBeDefined()`,
223
+ `expect(response.retryable).toBe(true)`,
224
+ `expect(orderData).not.toBeNull()`,
225
+ `expect(circuitBreaker.state).toBe('OPEN') // after threshold`
226
+ ],
227
+ expectedResult: {
228
+ status: 'failed-gracefully',
229
+ userNotified: true,
230
+ dataIntegrity: true
231
+ },
232
+ estimatedDuration: incident.context.requestTrace?.duration || 5000
233
+ };
234
+ }
235
+ // ============================================================================
236
+ // RUM Analysis
237
+ // ============================================================================
238
+ async performRUMAnalysis(data) {
239
+ const { rumData, timeWindow = 'last_7_days' } = data;
240
+ console.log(`Analyzing RUM data for ${timeWindow}`);
241
+ // Fetch RUM data from monitoring platform or use provided data
242
+ const analysisData = rumData || await this.fetchRUMData(timeWindow);
243
+ // Analyze user journeys
244
+ const userJourneys = this.analyzeUserJourneys(analysisData);
245
+ // Identify error patterns
246
+ const errorPatterns = this.identifyErrorPatterns(analysisData);
247
+ // Generate performance insights
248
+ const performanceInsights = this.generatePerformanceInsights(analysisData);
249
+ // Generate tests from RUM data
250
+ const generatedTests = await this.generateTestsFromRUMData(analysisData);
251
+ // Store RUM analysis
252
+ await this.memoryStore.store('aqe/rum-data/latest', {
253
+ analysisData,
254
+ userJourneys,
255
+ errorPatterns,
256
+ performanceInsights,
257
+ analyzedAt: new Date()
258
+ });
259
+ // Emit event
260
+ this.emitEvent('production.rum.analyzed', {
261
+ journeys: userJourneys.length,
262
+ errors: errorPatterns.length,
263
+ tests: generatedTests.length
264
+ }, 'medium');
265
+ return {
266
+ userJourneys,
267
+ errorPatterns,
268
+ performanceInsights,
269
+ generatedTests
270
+ };
271
+ }
272
+ analyzeUserJourneys(rumData) {
273
+ // Sort journeys by frequency
274
+ return rumData.userJourneys
275
+ .sort((a, b) => b.frequency - a.frequency)
276
+ .slice(0, 10); // Top 10 most common journeys
277
+ }
278
+ identifyErrorPatterns(rumData) {
279
+ // Filter high-impact errors
280
+ return rumData.errorPatterns
281
+ .filter(pattern => pattern.userImpact === 'HIGH' || pattern.frequency > 100)
282
+ .sort((a, b) => b.frequency - a.frequency);
283
+ }
284
+ generatePerformanceInsights(rumData) {
285
+ const { performanceMetrics } = rumData;
286
+ return {
287
+ fcp: {
288
+ status: performanceMetrics.FCP.p95 < 2500 ? 'GOOD' : 'NEEDS_IMPROVEMENT',
289
+ p95: performanceMetrics.FCP.p95,
290
+ threshold: 2500
291
+ },
292
+ lcp: {
293
+ status: performanceMetrics.LCP.p95 < 4000 ? 'GOOD' : 'NEEDS_IMPROVEMENT',
294
+ p95: performanceMetrics.LCP.p95,
295
+ threshold: 4000
296
+ },
297
+ fid: {
298
+ status: performanceMetrics.FID.p95 < 100 ? 'GOOD' : 'NEEDS_IMPROVEMENT',
299
+ p95: performanceMetrics.FID.p95,
300
+ threshold: 100
301
+ },
302
+ cls: {
303
+ status: performanceMetrics.CLS.p95 < 0.1 ? 'GOOD' : 'NEEDS_IMPROVEMENT',
304
+ p95: performanceMetrics.CLS.p95,
305
+ threshold: 0.1
306
+ }
307
+ };
308
+ }
309
+ async generateTestsFromRUMData(rumData) {
310
+ const tests = [];
311
+ // Generate tests for common user journeys
312
+ for (const journey of rumData.userJourneys.slice(0, 5)) {
313
+ tests.push({
314
+ id: `rum-journey-${journey.pattern.replace(/\s+/g, '-').toLowerCase()}`,
315
+ name: `should complete user journey: ${journey.pattern}`,
316
+ type: types_1.TestType.E2E,
317
+ parameters: [
318
+ {
319
+ name: 'journey',
320
+ value: journey,
321
+ type: 'UserJourney'
322
+ }
323
+ ],
324
+ assertions: [
325
+ `expect(journey.completed).toBe(true)`,
326
+ `expect(journey.conversionRate).toBeGreaterThanOrEqual(${journey.conversionRate})`
327
+ ],
328
+ expectedResult: {
329
+ completed: true,
330
+ duration: journey.avgDuration
331
+ },
332
+ estimatedDuration: journey.avgDuration
333
+ });
334
+ }
335
+ // Generate tests for error patterns
336
+ for (const error of rumData.errorPatterns.slice(0, 3)) {
337
+ tests.push({
338
+ id: `rum-error-${error.error.replace(/\W+/g, '-').toLowerCase()}`,
339
+ name: `should handle error: ${error.error}`,
340
+ type: types_1.TestType.INTEGRATION,
341
+ parameters: [
342
+ {
343
+ name: 'errorPattern',
344
+ value: error,
345
+ type: 'ErrorPattern'
346
+ }
347
+ ],
348
+ assertions: [
349
+ `expect(() => triggerError()).not.toThrow()`,
350
+ `expect(errorHandled).toBe(true)`
351
+ ],
352
+ expectedResult: {
353
+ errorHandled: true
354
+ },
355
+ estimatedDuration: 2000
356
+ });
357
+ }
358
+ return tests;
359
+ }
360
+ // ============================================================================
361
+ // Anomaly Detection
362
+ // ============================================================================
363
+ async performAnomalyDetection(data) {
364
+ const { currentMetrics, lookbackPeriod = '24h' } = data;
365
+ console.log(`Detecting anomalies in production metrics (lookback: ${lookbackPeriod})`);
366
+ const anomalies = [];
367
+ const recommendations = [];
368
+ // Error rate spike detection
369
+ const errorRateAnomaly = this.detectErrorRateSpike(currentMetrics);
370
+ if (errorRateAnomaly) {
371
+ anomalies.push(errorRateAnomaly);
372
+ recommendations.push('Generate regression tests for recent changes');
373
+ }
374
+ // Latency degradation detection
375
+ const latencyAnomaly = this.detectLatencyDegradation(currentMetrics);
376
+ if (latencyAnomaly) {
377
+ anomalies.push(latencyAnomaly);
378
+ recommendations.push('Generate performance tests targeting affected endpoints');
379
+ }
380
+ // User behavior anomaly detection
381
+ const behaviorAnomaly = this.detectBehaviorAnomaly(currentMetrics);
382
+ if (behaviorAnomaly) {
383
+ anomalies.push(behaviorAnomaly);
384
+ recommendations.push('Generate UI tests for affected user flows');
385
+ }
386
+ // Store anomalies
387
+ await this.memoryStore.store('aqe/anomalies/latest', {
388
+ anomalies,
389
+ recommendations,
390
+ detectedAt: new Date(),
391
+ metrics: currentMetrics
392
+ });
393
+ // Emit high-priority event if critical anomalies found
394
+ const criticalAnomalies = anomalies.filter(a => a.severity === 'CRITICAL');
395
+ if (criticalAnomalies.length > 0) {
396
+ this.emitEvent('production.anomaly.critical', {
397
+ count: criticalAnomalies.length,
398
+ anomalies: criticalAnomalies
399
+ }, 'critical');
400
+ }
401
+ return { anomalies, recommendations };
402
+ }
403
+ detectErrorRateSpike(currentMetrics) {
404
+ const baseline = this.baselineMetrics.get('errorRate') || { mean: 0.005, stdDev: 0.002 };
405
+ const current = currentMetrics.errorRate || 0;
406
+ const zScore = (current - baseline.mean) / baseline.stdDev;
407
+ if (Math.abs(zScore) > this.config.thresholds.anomalyStdDev) {
408
+ return {
409
+ type: 'ERROR_RATE_SPIKE',
410
+ severity: zScore > 5 ? 'CRITICAL' : zScore > 3 ? 'HIGH' : 'MEDIUM',
411
+ details: {
412
+ current,
413
+ baseline: baseline.mean,
414
+ deviation: zScore,
415
+ magnitude: (current - baseline.mean) / baseline.mean,
416
+ confidence: this.calculateConfidence(zScore)
417
+ },
418
+ affectedUsers: Math.floor(currentMetrics.activeUsers * current),
419
+ recommendation: 'Generate regression tests for recent changes'
420
+ };
421
+ }
422
+ return null;
423
+ }
424
+ detectLatencyDegradation(currentMetrics) {
425
+ const baseline = this.baselineMetrics.get('latency') || { p95: 250, mean: 180 };
426
+ const current = currentMetrics.latency?.p95 || 0;
427
+ const degradation = (current - baseline.p95) / baseline.p95;
428
+ if (degradation > this.config.thresholds.latencyDegradation) {
429
+ return {
430
+ type: 'LATENCY_DEGRADATION',
431
+ severity: degradation > 1.0 ? 'CRITICAL' : degradation > 0.5 ? 'HIGH' : 'MEDIUM',
432
+ details: {
433
+ current,
434
+ baseline: baseline.p95,
435
+ deviation: degradation,
436
+ magnitude: degradation,
437
+ confidence: 0.9
438
+ },
439
+ affectedEndpoints: currentMetrics.endpoints || [],
440
+ recommendation: 'Generate performance tests targeting affected endpoints'
441
+ };
442
+ }
443
+ return null;
444
+ }
445
+ detectBehaviorAnomaly(currentMetrics) {
446
+ const baseline = this.baselineMetrics.get('userBehavior') || { conversionRate: 0.75 };
447
+ const current = currentMetrics.conversionRate || 0;
448
+ const drop = (baseline.conversionRate - current) / baseline.conversionRate;
449
+ if (drop > 0.2) { // 20% drop in conversion
450
+ return {
451
+ type: 'USER_BEHAVIOR_ANOMALY',
452
+ severity: drop > 0.5 ? 'CRITICAL' : 'HIGH',
453
+ details: {
454
+ current,
455
+ baseline: baseline.conversionRate,
456
+ deviation: drop,
457
+ magnitude: drop,
458
+ confidence: 0.85
459
+ },
460
+ hypothesis: 'UI bug or broken functionality',
461
+ recommendation: 'Generate UI tests for affected user flows'
462
+ };
463
+ }
464
+ return null;
465
+ }
466
+ calculateConfidence(zScore) {
467
+ // Convert z-score to confidence level (0-1)
468
+ const absZ = Math.abs(zScore);
469
+ if (absZ > 3)
470
+ return 0.999;
471
+ if (absZ > 2)
472
+ return 0.95;
473
+ if (absZ > 1)
474
+ return 0.68;
475
+ return 0.5;
476
+ }
477
+ // ============================================================================
478
+ // Load Pattern Analysis
479
+ // ============================================================================
480
+ async performLoadPatternAnalysis(data) {
481
+ const { timeWindow = '30d' } = data;
482
+ console.log(`Analyzing load patterns for ${timeWindow}`);
483
+ // Fetch production traffic data
484
+ const loadPattern = await this.extractLoadPattern(timeWindow);
485
+ // Generate load test script
486
+ const loadTestScript = this.generateLoadTestScript(loadPattern);
487
+ // Generate recommendations
488
+ const recommendations = this.generateLoadTestRecommendations(loadPattern);
489
+ // Store load pattern
490
+ await this.memoryStore.store('aqe/load-patterns/latest', {
491
+ loadPattern,
492
+ analyzedAt: new Date(),
493
+ timeWindow
494
+ });
495
+ return {
496
+ loadPattern,
497
+ loadTestScript,
498
+ recommendations
499
+ };
500
+ }
501
+ async extractLoadPattern(timeWindow) {
502
+ // Simulate load pattern extraction
503
+ // In real implementation, fetch from monitoring platform
504
+ return {
505
+ dailyPattern: {
506
+ hourly: Array.from({ length: 24 }, (_, hour) => ({
507
+ hour,
508
+ rps: hour >= 9 && hour <= 17 ? 2000 + Math.random() * 1000 : 500 + Math.random() * 200
509
+ })),
510
+ peakHours: [9, 12, 14, 15, 18],
511
+ lowTrafficHours: [0, 1, 2, 3, 4]
512
+ },
513
+ weeklyPattern: {
514
+ monday: { rps: 2891, conversionRate: 0.78 },
515
+ tuesday: { rps: 3124, conversionRate: 0.81 },
516
+ wednesday: { rps: 3342, conversionRate: 0.83 },
517
+ thursday: { rps: 3198, conversionRate: 0.79 },
518
+ friday: { rps: 2734, conversionRate: 0.72 },
519
+ saturday: { rps: 1893, conversionRate: 0.65 },
520
+ sunday: { rps: 1678, conversionRate: 0.67 }
521
+ },
522
+ endpointDistribution: {
523
+ 'GET /api/products': 0.34,
524
+ 'GET /api/search': 0.23,
525
+ 'POST /api/cart': 0.15,
526
+ 'POST /api/orders': 0.12,
527
+ 'GET /api/users': 0.08,
528
+ 'other': 0.08
529
+ },
530
+ userBehaviorPatterns: {
531
+ browsers: {
532
+ avgSessionDuration: 342000,
533
+ avgPagesPerSession: 7.8
534
+ },
535
+ buyers: {
536
+ avgSessionDuration: 523000,
537
+ avgPagesPerSession: 12.3
538
+ }
539
+ }
540
+ };
541
+ }
542
+ generateLoadTestScript(pattern) {
543
+ // Generate k6 load test script
544
+ return `
545
+ import { check, group, sleep } from 'k6';
546
+ import http from 'k6/http';
547
+
548
+ export let options = {
549
+ stages: [
550
+ { duration: '5m', target: 2000 }, // Morning ramp-up
551
+ { duration: '2h', target: 3500 }, // Peak hours
552
+ { duration: '5m', target: 1800 }, // Evening traffic
553
+ { duration: '5m', target: 500 } // Night baseline
554
+ ],
555
+ thresholds: {
556
+ http_req_duration: ['p(95)<500'],
557
+ http_req_failed: ['rate<0.01'],
558
+ http_reqs: ['rate>2000']
559
+ }
560
+ };
561
+
562
+ export default function() {
563
+ // Implementation based on endpoint distribution
564
+ const endpoints = ${JSON.stringify(pattern.endpointDistribution)};
565
+
566
+ // Select endpoint based on distribution
567
+ const rand = Math.random();
568
+ let endpoint = '/api/products';
569
+
570
+ group('User Session', () => {
571
+ let response = http.get(\`\${BASE_URL}\${endpoint}\`);
572
+ check(response, {
573
+ 'status 200': (r) => r.status === 200,
574
+ 'response time < 500ms': (r) => r.timings.duration < 500
575
+ });
576
+ sleep(Math.random() * 3 + 1);
577
+ });
578
+ }
579
+ `.trim();
580
+ }
581
+ generateLoadTestRecommendations(pattern) {
582
+ const recommendations = [];
583
+ // Analyze peak traffic
584
+ const maxRps = Math.max(...pattern.dailyPattern.hourly.map(h => h.rps));
585
+ recommendations.push(`Test system capacity at ${maxRps * 1.5} RPS (150% of peak load)`);
586
+ // Check conversion rates
587
+ const avgConversion = Object.values(pattern.weeklyPattern).reduce((sum, day) => sum + day.conversionRate, 0) / 7;
588
+ if (avgConversion < 0.75) {
589
+ recommendations.push('Investigate low conversion rate - potential UX issues');
590
+ }
591
+ recommendations.push('Implement gradual ramp-up to detect breaking points');
592
+ recommendations.push('Test during simulated peak hours to validate auto-scaling');
593
+ return recommendations;
594
+ }
595
+ // ============================================================================
596
+ // Feature Usage Analytics
597
+ // ============================================================================
598
+ async performFeatureUsageAnalytics(data) {
599
+ const { timeWindow = '30d' } = data;
600
+ console.log(`Analyzing feature usage for ${timeWindow}`);
601
+ // Fetch feature usage data
602
+ const usageData = await this.fetchFeatureUsageData(timeWindow);
603
+ // Analyze and prioritize features
604
+ const features = this.analyzeFeaturePriority(usageData);
605
+ // Identify unused features
606
+ const unusedFeatures = this.identifyUnusedFeatures(usageData);
607
+ // Store analytics
608
+ await this.memoryStore.store('aqe/feature-usage/latest', {
609
+ features,
610
+ unusedFeatures,
611
+ analyzedAt: new Date(),
612
+ timeWindow
613
+ });
614
+ return { features, unusedFeatures };
615
+ }
616
+ async fetchFeatureUsageData(timeWindow) {
617
+ // Simulate feature usage data
618
+ // In real implementation, fetch from analytics platform
619
+ return {
620
+ totalUsers: 84392,
621
+ features: [
622
+ { name: 'search_autocomplete', activeUsers: 75103, satisfaction: 0.92 },
623
+ { name: 'product_recommendations', activeUsers: 56503, clickthrough: 0.34 },
624
+ { name: 'saved_for_later', activeUsers: 19411, conversion: 0.12 },
625
+ { name: 'gift_wrapping', activeUsers: 2107, seasonal: true },
626
+ { name: 'legacy_wishlist_v1', activeUsers: 42, lastUsed: '2024-08-12' }
627
+ ]
628
+ };
629
+ }
630
+ analyzeFeaturePriority(usageData) {
631
+ return usageData.features.map((feature) => {
632
+ const usagePercent = feature.activeUsers / usageData.totalUsers;
633
+ let priority;
634
+ let recommendation;
635
+ if (usagePercent > 0.5) {
636
+ priority = 'CRITICAL';
637
+ recommendation = 'Maintain high test coverage (>90%), add edge cases';
638
+ }
639
+ else if (usagePercent > 0.25) {
640
+ priority = 'HIGH';
641
+ recommendation = 'Increase coverage to 85%+';
642
+ }
643
+ else if (usagePercent > 0.1) {
644
+ priority = 'MEDIUM';
645
+ recommendation = 'Coverage acceptable for usage level';
646
+ }
647
+ else if (usagePercent > 0.01) {
648
+ priority = 'LOW';
649
+ recommendation = 'Minimal testing required';
650
+ }
651
+ else {
652
+ priority = 'DEPRECATED';
653
+ recommendation = 'Consider removal, migrate remaining users';
654
+ }
655
+ return {
656
+ name: feature.name,
657
+ usage: usagePercent,
658
+ priority,
659
+ testCoverage: Math.floor(Math.random() * 30) + 60, // Simulated
660
+ recommendation
661
+ };
662
+ });
663
+ }
664
+ identifyUnusedFeatures(usageData) {
665
+ const unusedThreshold = usageData.totalUsers * 0.001; // 0.1% usage
666
+ return usageData.features
667
+ .filter((f) => f.activeUsers < unusedThreshold)
668
+ .map((f) => ({
669
+ name: f.name,
670
+ lastUsed: f.lastUsed || 'unknown',
671
+ recommendation: 'Dead code, safe to remove'
672
+ }));
673
+ }
674
+ // ============================================================================
675
+ // Test Generation from Production Data
676
+ // ============================================================================
677
+ async generateTestsFromIncidents(data) {
678
+ const { incidentIds, severityFilter = ['HIGH', 'CRITICAL'], limit = 10 } = data;
679
+ // Fetch incidents from memory
680
+ const incidents = await this.fetchIncidents(incidentIds, severityFilter, limit);
681
+ const testSuites = [];
682
+ let totalTests = 0;
683
+ for (const incident of incidents) {
684
+ const result = await this.performIncidentReplay({ incident });
685
+ if (result.testSuite) {
686
+ testSuites.push(result.testSuite);
687
+ totalTests += result.testSuite.tests.length;
688
+ }
689
+ }
690
+ return { testSuites, totalTests };
691
+ }
692
+ async generateTestsFromRUM(data) {
693
+ const { timeWindow = '7d', minJourneyFrequency = 100 } = data;
694
+ // Fetch RUM data
695
+ const rumData = await this.fetchRUMData(timeWindow);
696
+ // Filter journeys by frequency
697
+ const relevantJourneys = rumData.userJourneys.filter(j => j.frequency >= minJourneyFrequency);
698
+ const tests = await this.generateTestsFromRUMData(rumData);
699
+ const testSuite = {
700
+ id: `rum-generated-${Date.now()}`,
701
+ name: 'RUM-Based User Journey Tests',
702
+ tests,
703
+ metadata: {
704
+ generatedAt: new Date(),
705
+ coverageTarget: 0,
706
+ framework: 'playwright',
707
+ estimatedDuration: tests.reduce((sum, t) => sum + (t.estimatedDuration || 0), 0),
708
+ generationStrategy: 'rum-analysis'
709
+ }
710
+ };
711
+ return {
712
+ testSuites: [testSuite],
713
+ totalTests: tests.length
714
+ };
715
+ }
716
+ async analyzeProductionVsStaging(data) {
717
+ const { metrics } = data;
718
+ const differences = [];
719
+ const recommendations = [];
720
+ // Compare production vs staging metrics
721
+ for (const metric of metrics) {
722
+ const prodValue = await this.fetchProductionMetric(metric);
723
+ const stagingValue = await this.fetchStagingMetric(metric);
724
+ const delta = Math.abs(prodValue - stagingValue) / prodValue;
725
+ if (delta > 0.1) { // >10% difference
726
+ differences.push({
727
+ metric,
728
+ production: prodValue,
729
+ staging: stagingValue,
730
+ delta,
731
+ severity: delta > 0.5 ? 'HIGH' : 'MEDIUM'
732
+ });
733
+ recommendations.push(`Staging environment does not match production for ${metric}`);
734
+ }
735
+ }
736
+ return { differences, recommendations };
737
+ }
738
+ // ============================================================================
739
+ // Helper Methods
740
+ // ============================================================================
741
+ async initializeMonitoringClients() {
742
+ const { monitoringPlatforms } = this.config;
743
+ if (monitoringPlatforms?.datadog) {
744
+ console.log('Initializing Datadog client');
745
+ // In real implementation: initialize Datadog API client
746
+ this.monitoringClients.set('datadog', { initialized: true });
747
+ }
748
+ if (monitoringPlatforms?.newRelic) {
749
+ console.log('Initializing New Relic client');
750
+ // In real implementation: initialize New Relic API client
751
+ this.monitoringClients.set('newrelic', { initialized: true });
752
+ }
753
+ if (monitoringPlatforms?.grafana) {
754
+ console.log('Initializing Grafana client');
755
+ // In real implementation: initialize Grafana API client
756
+ this.monitoringClients.set('grafana', { initialized: true });
757
+ }
758
+ }
759
+ async loadBaselineMetrics() {
760
+ // Load historical baselines from memory
761
+ const storedBaselines = await this.retrieveMemory('baseline-metrics');
762
+ if (storedBaselines) {
763
+ this.baselineMetrics = new Map(Object.entries(storedBaselines));
764
+ }
765
+ else {
766
+ // Initialize with defaults
767
+ this.baselineMetrics.set('errorRate', { mean: 0.005, stdDev: 0.002 });
768
+ this.baselineMetrics.set('latency', { p95: 250, mean: 180 });
769
+ this.baselineMetrics.set('userBehavior', { conversionRate: 0.75 });
770
+ }
771
+ }
772
+ registerProductionEventHandlers() {
773
+ // Listen for production incidents
774
+ this.registerEventHandler({
775
+ eventType: 'production.incident',
776
+ handler: async (event) => {
777
+ await this.performIncidentReplay({ incident: event.data });
778
+ }
779
+ });
780
+ // Listen for anomaly alerts
781
+ this.registerEventHandler({
782
+ eventType: 'production.anomaly',
783
+ handler: async (event) => {
784
+ await this.performAnomalyDetection({ currentMetrics: event.data });
785
+ }
786
+ });
787
+ }
788
+ async fetchRUMData(timeWindow) {
789
+ // Simulate fetching RUM data
790
+ // In real implementation, fetch from monitoring platform
791
+ return {
792
+ timeWindow,
793
+ totalSessions: 847392,
794
+ totalPageViews: 3421847,
795
+ userJourneys: [
796
+ {
797
+ pattern: 'Homepage → Search → Product → Checkout → Payment',
798
+ frequency: 234891,
799
+ avgDuration: 342000,
800
+ conversionRate: 0.78
801
+ },
802
+ {
803
+ pattern: 'Homepage → Category → Product → Add to Cart',
804
+ frequency: 189234,
805
+ avgDuration: 178000,
806
+ conversionRate: 0.34
807
+ }
808
+ ],
809
+ deviceDistribution: { mobile: 0.63, desktop: 0.32, tablet: 0.05 },
810
+ browserDistribution: { chrome: 0.54, safari: 0.31, firefox: 0.09, edge: 0.04 },
811
+ performanceMetrics: {
812
+ FCP: { p50: 1234, p95: 3421, p99: 5678 },
813
+ LCP: { p50: 2341, p95: 4523, p99: 7891 },
814
+ FID: { p50: 87, p95: 234, p99: 456 },
815
+ CLS: { p50: 0.02, p95: 0.08, p99: 0.15 }
816
+ },
817
+ errorPatterns: [],
818
+ featureUsage: {}
819
+ };
820
+ }
821
+ async fetchIncidents(incidentIds, severityFilter, limit) {
822
+ // Simulate fetching incidents from memory
823
+ // In real implementation, query incident management system
824
+ return [
825
+ {
826
+ id: 'INC-2024-1234',
827
+ timestamp: '2025-09-29T14:23:47.892Z',
828
+ severity: 'CRITICAL',
829
+ service: 'payment-service',
830
+ error: 'PaymentProcessingException: Gateway timeout after 30s',
831
+ affectedUsers: 1247,
832
+ duration: 342000,
833
+ region: 'us-east-1',
834
+ context: {
835
+ systemState: {
836
+ cpu: 87.3,
837
+ memory: 4.2,
838
+ connections: 342,
839
+ queueDepth: 1893,
840
+ cacheHitRate: 23.1
841
+ }
842
+ }
843
+ }
844
+ ];
845
+ }
846
+ async fetchProductionMetric(metric) {
847
+ // Simulate fetching production metric
848
+ return Math.random() * 100;
849
+ }
850
+ async fetchStagingMetric(metric) {
851
+ // Simulate fetching staging metric
852
+ return Math.random() * 100;
853
+ }
854
+ }
855
+ exports.ProductionIntelligenceAgent = ProductionIntelligenceAgent;
856
+ //# sourceMappingURL=ProductionIntelligenceAgent.js.map