agentic-qe 1.4.4 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +133 -27
  2. package/.claude/agents/qe-api-contract-validator.md.backup +1148 -0
  3. package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +1148 -0
  4. package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +1123 -0
  5. package/.claude/agents/qe-chaos-engineer.md +142 -23
  6. package/.claude/agents/qe-chaos-engineer.md.backup +808 -0
  7. package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +808 -0
  8. package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +787 -0
  9. package/.claude/agents/qe-code-complexity.md +111 -23
  10. package/.claude/agents/qe-code-complexity.md.backup +291 -0
  11. package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +291 -0
  12. package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +286 -0
  13. package/.claude/agents/qe-coverage-analyzer.md +306 -30
  14. package/.claude/agents/qe-coverage-analyzer.md.backup +467 -0
  15. package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +467 -0
  16. package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +438 -0
  17. package/.claude/agents/qe-deployment-readiness.md +84 -28
  18. package/.claude/agents/qe-deployment-readiness.md.backup +1166 -0
  19. package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +1166 -0
  20. package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +1140 -0
  21. package/.claude/agents/qe-flaky-test-hunter.md +277 -35
  22. package/.claude/agents/qe-flaky-test-hunter.md.backup +1195 -0
  23. package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +1195 -0
  24. package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +1162 -0
  25. package/.claude/agents/qe-fleet-commander.md +126 -23
  26. package/.claude/agents/qe-fleet-commander.md.backup +718 -0
  27. package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +718 -0
  28. package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +697 -0
  29. package/.claude/agents/qe-performance-tester.md +314 -57
  30. package/.claude/agents/qe-performance-tester.md.backup +428 -0
  31. package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +428 -0
  32. package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +372 -0
  33. package/.claude/agents/qe-production-intelligence.md +126 -27
  34. package/.claude/agents/qe-production-intelligence.md.backup +1219 -0
  35. package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +1219 -0
  36. package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +1194 -0
  37. package/.claude/agents/qe-quality-analyzer.md +127 -32
  38. package/.claude/agents/qe-quality-analyzer.md.backup +425 -0
  39. package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +425 -0
  40. package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +394 -0
  41. package/.claude/agents/qe-quality-gate.md +148 -33
  42. package/.claude/agents/qe-quality-gate.md.backup +446 -0
  43. package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +446 -0
  44. package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +415 -0
  45. package/.claude/agents/qe-regression-risk-analyzer.md +78 -27
  46. package/.claude/agents/qe-regression-risk-analyzer.md.backup +1009 -0
  47. package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +1009 -0
  48. package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +984 -0
  49. package/.claude/agents/qe-requirements-validator.md +131 -27
  50. package/.claude/agents/qe-requirements-validator.md.backup +748 -0
  51. package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +748 -0
  52. package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +723 -0
  53. package/.claude/agents/qe-security-scanner.md +137 -62
  54. package/.claude/agents/qe-security-scanner.md.backup +634 -0
  55. package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +634 -0
  56. package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +573 -0
  57. package/.claude/agents/qe-test-data-architect.md +129 -26
  58. package/.claude/agents/qe-test-data-architect.md.backup +1064 -0
  59. package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +1064 -0
  60. package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +1040 -0
  61. package/.claude/agents/qe-test-executor.md +165 -21
  62. package/.claude/agents/qe-test-executor.md.backup +389 -0
  63. package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +389 -0
  64. package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +369 -0
  65. package/.claude/agents/qe-test-generator.md +379 -34
  66. package/.claude/agents/qe-test-generator.md.backup +997 -0
  67. package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +997 -0
  68. package/.claude/agents/qe-visual-tester.md +236 -23
  69. package/.claude/agents/qe-visual-tester.md.backup +777 -0
  70. package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +777 -0
  71. package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +756 -0
  72. package/.claude/agents/subagents/qe-code-reviewer.md +59 -0
  73. package/.claude/agents/subagents/qe-data-generator.md +60 -0
  74. package/.claude/agents/subagents/qe-integration-tester.md +77 -0
  75. package/.claude/agents/subagents/qe-performance-validator.md +55 -0
  76. package/.claude/agents/subagents/qe-security-auditor.md +51 -0
  77. package/.claude/agents/subagents/qe-test-implementer.md +371 -0
  78. package/.claude/agents/subagents/qe-test-refactorer.md +510 -0
  79. package/.claude/agents/subagents/qe-test-writer.md +603 -0
  80. package/.claude/skills/accessibility-testing/SKILL.md +764 -777
  81. package/.claude/skills/agentic-quality-engineering/SKILL.md +0 -6
  82. package/.claude/skills/api-testing-patterns/SKILL.md +0 -12
  83. package/.claude/skills/bug-reporting-excellence/SKILL.md +0 -6
  84. package/.claude/skills/chaos-engineering-resilience/SKILL.md +0 -6
  85. package/.claude/skills/code-review-quality/SKILL.md +0 -6
  86. package/.claude/skills/compatibility-testing/SKILL.md +0 -6
  87. package/.claude/skills/compliance-testing/SKILL.md +0 -6
  88. package/.claude/skills/consultancy-practices/SKILL.md +0 -6
  89. package/.claude/skills/context-driven-testing/SKILL.md +0 -6
  90. package/.claude/skills/contract-testing/SKILL.md +0 -6
  91. package/.claude/skills/database-testing/SKILL.md +0 -6
  92. package/.claude/skills/exploratory-testing-advanced/SKILL.md +0 -6
  93. package/.claude/skills/holistic-testing-pact/SKILL.md +0 -6
  94. package/.claude/skills/localization-testing/SKILL.md +0 -6
  95. package/.claude/skills/mobile-testing/SKILL.md +535 -548
  96. package/.claude/skills/mutation-testing/SKILL.md +0 -6
  97. package/.claude/skills/performance-testing/SKILL.md +0 -6
  98. package/.claude/skills/quality-metrics/SKILL.md +0 -12
  99. package/.claude/skills/refactoring-patterns/SKILL.md +0 -6
  100. package/.claude/skills/regression-testing/SKILL.md +1033 -1045
  101. package/.claude/skills/risk-based-testing/SKILL.md +0 -12
  102. package/.claude/skills/security-testing/SKILL.md +0 -6
  103. package/.claude/skills/shift-left-testing/SKILL.md +529 -535
  104. package/.claude/skills/shift-right-testing/SKILL.md +585 -591
  105. package/.claude/skills/tdd-london-chicago/SKILL.md +0 -6
  106. package/.claude/skills/technical-writing/SKILL.md +0 -6
  107. package/.claude/skills/test-automation-strategy/SKILL.md +0 -6
  108. package/.claude/skills/test-data-management/SKILL.md +1054 -1067
  109. package/.claude/skills/test-design-techniques/SKILL.md +0 -6
  110. package/.claude/skills/test-environment-management/SKILL.md +0 -6
  111. package/.claude/skills/test-reporting-analytics/SKILL.md +0 -6
  112. package/.claude/skills/visual-testing-advanced/SKILL.md +0 -6
  113. package/.claude/skills/xp-practices/SKILL.md +0 -6
  114. package/CHANGELOG.md +426 -5
  115. package/README.md +24 -19
  116. package/dist/cli/commands/init.d.ts +4 -0
  117. package/dist/cli/commands/init.d.ts.map +1 -1
  118. package/dist/cli/commands/init.js +97 -44
  119. package/dist/cli/commands/init.js.map +1 -1
  120. package/dist/mcp/handlers/coordination/index.d.ts +14 -14
  121. package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
  122. package/dist/mcp/handlers/coordination/index.js +14 -14
  123. package/dist/mcp/handlers/coordination/index.js.map +1 -1
  124. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  125. package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
  126. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  127. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
  128. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
  129. package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
  130. package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
  131. package/dist/mcp/handlers/phase3/index.d.ts +6 -0
  132. package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
  133. package/dist/mcp/handlers/phase3/index.js +10 -0
  134. package/dist/mcp/handlers/phase3/index.js.map +1 -0
  135. package/dist/mcp/handlers/prediction/index.d.ts +10 -10
  136. package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
  137. package/dist/mcp/handlers/prediction/index.js +10 -10
  138. package/dist/mcp/handlers/prediction/index.js.map +1 -1
  139. package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
  140. package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
  141. package/dist/mcp/handlers/security/check-authz.js +434 -0
  142. package/dist/mcp/handlers/security/check-authz.js.map +1 -0
  143. package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
  144. package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
  145. package/dist/mcp/handlers/security/generate-report.js +469 -0
  146. package/dist/mcp/handlers/security/generate-report.js.map +1 -0
  147. package/dist/mcp/handlers/security/index.d.ts +80 -0
  148. package/dist/mcp/handlers/security/index.d.ts.map +1 -0
  149. package/dist/mcp/handlers/security/index.js +91 -0
  150. package/dist/mcp/handlers/security/index.js.map +1 -0
  151. package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
  152. package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
  153. package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
  154. package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
  155. package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
  156. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
  157. package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
  158. package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
  159. package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
  160. package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
  161. package/dist/mcp/handlers/security/validate-auth.js +294 -0
  162. package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
  163. package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
  164. package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
  165. package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
  166. package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
  167. package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
  168. package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
  169. package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
  170. package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
  171. package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
  172. package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
  173. package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
  174. package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
  175. package/dist/mcp/server.d.ts.map +1 -1
  176. package/dist/mcp/server.js +211 -0
  177. package/dist/mcp/server.js.map +1 -1
  178. package/dist/mcp/tools/deprecated.d.ts +1390 -0
  179. package/dist/mcp/tools/deprecated.d.ts.map +1 -0
  180. package/dist/mcp/tools/deprecated.js +859 -0
  181. package/dist/mcp/tools/deprecated.js.map +1 -0
  182. package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
  183. package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
  184. package/dist/mcp/tools/qe/api-contract/index.js +572 -0
  185. package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
  186. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
  187. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
  188. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
  189. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
  190. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
  191. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
  192. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
  193. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
  194. package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
  195. package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
  196. package/dist/mcp/tools/qe/code-quality/index.js +30 -0
  197. package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
  198. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
  199. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
  200. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
  201. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
  202. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
  203. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
  204. package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
  205. package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
  206. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
  207. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
  208. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
  209. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
  210. package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
  211. package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
  212. package/dist/mcp/tools/qe/coverage/index.js +23 -0
  213. package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
  214. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
  215. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
  216. package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
  217. package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
  218. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
  219. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
  220. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
  221. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
  222. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
  223. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
  224. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
  225. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
  226. package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
  227. package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
  228. package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
  229. package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
  230. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
  231. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
  232. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
  233. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
  234. package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
  235. package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
  236. package/dist/mcp/tools/qe/fleet/index.js +652 -0
  237. package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
  238. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
  239. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
  240. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
  241. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
  242. package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
  243. package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
  244. package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
  245. package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
  246. package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
  247. package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
  248. package/dist/mcp/tools/qe/performance/index.js +24 -0
  249. package/dist/mcp/tools/qe/performance/index.js.map +1 -0
  250. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
  251. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
  252. package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
  253. package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
  254. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
  255. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
  256. package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
  257. package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
  258. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
  259. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
  260. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
  261. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
  262. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
  263. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
  264. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
  265. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
  266. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
  267. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
  268. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
  269. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
  270. package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
  271. package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
  272. package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
  273. package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
  274. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
  275. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
  276. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
  277. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
  278. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
  279. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
  280. package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
  281. package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
  282. package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
  283. package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
  284. package/dist/mcp/tools/qe/regression/index.js +63 -0
  285. package/dist/mcp/tools/qe/regression/index.js.map +1 -0
  286. package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
  287. package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
  288. package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
  289. package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
  290. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
  291. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
  292. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
  293. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
  294. package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
  295. package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
  296. package/dist/mcp/tools/qe/requirements/index.js +84 -0
  297. package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
  298. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
  299. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
  300. package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
  301. package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
  302. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
  303. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
  304. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
  305. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
  306. package/dist/mcp/tools/qe/security/index.d.ts +34 -0
  307. package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
  308. package/dist/mcp/tools/qe/security/index.js +44 -0
  309. package/dist/mcp/tools/qe/security/index.js.map +1 -0
  310. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
  311. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
  312. package/dist/mcp/tools/qe/security/scan-comprehensive.js +557 -0
  313. package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
  314. package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
  315. package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
  316. package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
  317. package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
  318. package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
  319. package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
  320. package/dist/mcp/tools/qe/shared/types.js +13 -0
  321. package/dist/mcp/tools/qe/shared/types.js.map +1 -0
  322. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
  323. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
  324. package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
  325. package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
  326. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
  327. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
  328. package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
  329. package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
  330. package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
  331. package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
  332. package/dist/mcp/tools/qe/test-data/index.js +90 -0
  333. package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
  334. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
  335. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
  336. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
  337. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
  338. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
  339. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
  340. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
  341. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
  342. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
  343. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
  344. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
  345. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
  346. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
  347. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
  348. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
  349. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
  350. package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
  351. package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
  352. package/dist/mcp/tools/qe/test-generation/index.js +97 -0
  353. package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
  354. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
  355. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
  356. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
  357. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
  358. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
  359. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
  360. package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
  361. package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
  362. package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
  363. package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
  364. package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
  365. package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
  366. package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
  367. package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
  368. package/dist/mcp/tools/qe/visual/index.js +22 -0
  369. package/dist/mcp/tools/qe/visual/index.js.map +1 -0
  370. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
  371. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
  372. package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
  373. package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
  374. package/dist/mcp/tools.d.ts +44 -0
  375. package/dist/mcp/tools.d.ts.map +1 -1
  376. package/dist/mcp/tools.js +1980 -1
  377. package/dist/mcp/tools.js.map +1 -1
  378. package/package.json +2 -2
  379. package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
  380. package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
  381. package/dist/learning/__mocks__/LearningEngine.js +0 -116
  382. package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
  383. package/dist/utils/__mocks__/Database.d.ts +0 -85
  384. package/dist/utils/__mocks__/Database.d.ts.map +0 -1
  385. package/dist/utils/__mocks__/Database.js +0 -125
  386. package/dist/utils/__mocks__/Database.js.map +0 -1
  387. package/dist/utils/__mocks__/Logger.d.ts +0 -26
  388. package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
  389. package/dist/utils/__mocks__/Logger.js +0 -44
  390. package/dist/utils/__mocks__/Logger.js.map +0 -1
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Performance Report Generation Tool
3
+ *
4
+ * Generates performance reports in HTML, PDF, or JSON format
5
+ * with baseline comparison and trend visualization.
6
+ *
7
+ * @module performance/generate-report
8
+ * @version 1.0.0
9
+ */
10
+ import type { PerformanceMetrics } from '../shared/types.js';
11
+ import type { BottleneckAnalysis } from './analyze-bottlenecks.js';
12
+ /**
13
+ * Parameters for performance report generation
14
+ */
15
+ export interface PerformanceReportParams {
16
+ /** Benchmark results to include in report */
17
+ benchmarkResults: BenchmarkData[];
18
+ /** Report output format */
19
+ format: 'html' | 'pdf' | 'json';
20
+ /** Baseline data for comparison (optional) */
21
+ compareBaseline?: BenchmarkData;
22
+ /** Include trend charts */
23
+ includeTrends?: boolean;
24
+ /** Include bottleneck analysis */
25
+ includeBottleneckAnalysis?: boolean;
26
+ /** Bottleneck analysis data (if includeBottleneckAnalysis is true) */
27
+ bottleneckAnalysis?: BottleneckAnalysis;
28
+ /** Report title */
29
+ title?: string;
30
+ /** Additional metadata */
31
+ metadata?: ReportMetadata;
32
+ }
33
+ /**
34
+ * Benchmark data structure
35
+ */
36
+ export interface BenchmarkData {
37
+ /** Benchmark name */
38
+ name: string;
39
+ /** Timestamp */
40
+ timestamp: string;
41
+ /** Performance metrics */
42
+ metrics: PerformanceMetrics;
43
+ /** Test configuration */
44
+ config?: {
45
+ iterations: number;
46
+ concurrency: number;
47
+ duration?: number;
48
+ };
49
+ /** Environment information */
50
+ environment?: {
51
+ os: string;
52
+ cpu: string;
53
+ memory: string;
54
+ runtime?: string;
55
+ };
56
+ }
57
+ /**
58
+ * Report metadata
59
+ */
60
+ export interface ReportMetadata {
61
+ /** Project name */
62
+ projectName?: string;
63
+ /** Version/build number */
64
+ version?: string;
65
+ /** Author/team */
66
+ author?: string;
67
+ /** Additional tags */
68
+ tags?: string[];
69
+ }
70
+ /**
71
+ * Performance report structure
72
+ */
73
+ export interface PerformanceReport {
74
+ /** Report ID */
75
+ id: string;
76
+ /** Report title */
77
+ title: string;
78
+ /** Generation timestamp */
79
+ generatedAt: string;
80
+ /** Report format */
81
+ format: 'html' | 'pdf' | 'json';
82
+ /** Report content (format-dependent) */
83
+ content: string | object;
84
+ /** File size (bytes) */
85
+ size: number;
86
+ /** Output file path (if saved to disk) */
87
+ filePath?: string;
88
+ /** Report summary */
89
+ summary: ReportSummary;
90
+ /** Metadata */
91
+ metadata?: ReportMetadata;
92
+ }
93
+ /**
94
+ * Report summary
95
+ */
96
+ export interface ReportSummary {
97
+ /** Total benchmarks included */
98
+ totalBenchmarks: number;
99
+ /** Overall performance score (0-100) */
100
+ overallScore: number;
101
+ /** Performance vs baseline */
102
+ baselineComparison?: {
103
+ improvement: number;
104
+ direction: 'better' | 'same' | 'worse';
105
+ };
106
+ /** Key findings */
107
+ keyFindings: string[];
108
+ /** Critical issues count */
109
+ criticalIssues: number;
110
+ /** Warnings count */
111
+ warnings: number;
112
+ }
113
+ /**
114
+ * Generate performance report
115
+ *
116
+ * Creates a comprehensive performance report with metrics, trends, and recommendations.
117
+ *
118
+ * @param params - Report generation parameters
119
+ * @returns Promise resolving to performance report
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const report = await generatePerformanceReport({
124
+ * benchmarkResults: [
125
+ * {
126
+ * name: 'API Load Test',
127
+ * timestamp: '2025-01-08T10:00:00Z',
128
+ * metrics: {
129
+ * responseTime: { p50: 100, p95: 200, p99: 300, max: 500 },
130
+ * throughput: 1000,
131
+ * errorRate: 0.001,
132
+ * resourceUsage: { cpu: 60, memory: 512, disk: 100 }
133
+ * }
134
+ * }
135
+ * ],
136
+ * format: 'html',
137
+ * compareBaseline: baselineData,
138
+ * includeTrends: true
139
+ * });
140
+ *
141
+ * console.log(`Report generated: ${report.filePath}`);
142
+ * console.log(`Overall score: ${report.summary.overallScore}/100`);
143
+ * ```
144
+ */
145
+ export declare function generatePerformanceReport(params: PerformanceReportParams): Promise<PerformanceReport>;
146
+ //# sourceMappingURL=generate-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-report.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/performance/generate-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ /**
3
+ * Performance Report Generation Tool
4
+ *
5
+ * Generates performance reports in HTML, PDF, or JSON format
6
+ * with baseline comparison and trend visualization.
7
+ *
8
+ * @module performance/generate-report
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generatePerformanceReport = generatePerformanceReport;
13
+ /**
14
+ * Generate performance report
15
+ *
16
+ * Creates a comprehensive performance report with metrics, trends, and recommendations.
17
+ *
18
+ * @param params - Report generation parameters
19
+ * @returns Promise resolving to performance report
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const report = await generatePerformanceReport({
24
+ * benchmarkResults: [
25
+ * {
26
+ * name: 'API Load Test',
27
+ * timestamp: '2025-01-08T10:00:00Z',
28
+ * metrics: {
29
+ * responseTime: { p50: 100, p95: 200, p99: 300, max: 500 },
30
+ * throughput: 1000,
31
+ * errorRate: 0.001,
32
+ * resourceUsage: { cpu: 60, memory: 512, disk: 100 }
33
+ * }
34
+ * }
35
+ * ],
36
+ * format: 'html',
37
+ * compareBaseline: baselineData,
38
+ * includeTrends: true
39
+ * });
40
+ *
41
+ * console.log(`Report generated: ${report.filePath}`);
42
+ * console.log(`Overall score: ${report.summary.overallScore}/100`);
43
+ * ```
44
+ */
45
+ async function generatePerformanceReport(params) {
46
+ const { benchmarkResults, format, compareBaseline, includeTrends = true, includeBottleneckAnalysis = false, bottleneckAnalysis, title = 'Performance Test Report', metadata } = params;
47
+ // Generate report ID
48
+ const reportId = generateReportId();
49
+ // Calculate summary
50
+ const summary = calculateReportSummary(benchmarkResults, compareBaseline, bottleneckAnalysis);
51
+ // Generate report content based on format
52
+ let content;
53
+ let size;
54
+ switch (format) {
55
+ case 'html':
56
+ content = generateHtmlReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary);
57
+ size = content.length;
58
+ break;
59
+ case 'pdf':
60
+ content = generatePdfReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary);
61
+ size = content.length;
62
+ break;
63
+ case 'json':
64
+ content = generateJsonReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary);
65
+ size = JSON.stringify(content).length;
66
+ break;
67
+ default:
68
+ throw new Error(`Unsupported format: ${format}`);
69
+ }
70
+ return {
71
+ id: reportId,
72
+ title,
73
+ generatedAt: new Date().toISOString(),
74
+ format,
75
+ content,
76
+ size,
77
+ filePath: `./reports/performance-${reportId}.${format}`,
78
+ summary,
79
+ metadata
80
+ };
81
+ }
82
+ /**
83
+ * Generate unique report ID
84
+ */
85
+ function generateReportId() {
86
+ const timestamp = Date.now();
87
+ const random = Math.random().toString(36).substring(2, 8);
88
+ return `perf-${timestamp}-${random}`;
89
+ }
90
+ /**
91
+ * Calculate report summary
92
+ */
93
+ function calculateReportSummary(benchmarkResults, compareBaseline, bottleneckAnalysis) {
94
+ // Calculate overall performance score
95
+ const overallScore = calculateOverallScore(benchmarkResults, bottleneckAnalysis);
96
+ // Calculate baseline comparison
97
+ let baselineComparison;
98
+ if (compareBaseline && benchmarkResults.length > 0) {
99
+ const currentAvgP95 = benchmarkResults.reduce((sum, b) => sum + b.metrics.responseTime.p95, 0) / benchmarkResults.length;
100
+ const baselineP95 = compareBaseline.metrics.responseTime.p95;
101
+ const improvement = ((baselineP95 - currentAvgP95) / baselineP95) * 100;
102
+ baselineComparison = {
103
+ improvement,
104
+ direction: improvement > 5 ? 'better' : improvement < -5 ? 'worse' : 'same'
105
+ };
106
+ }
107
+ // Extract key findings
108
+ const keyFindings = extractKeyFindings(benchmarkResults, compareBaseline, bottleneckAnalysis);
109
+ // Count critical issues and warnings
110
+ const criticalIssues = bottleneckAnalysis
111
+ ? bottleneckAnalysis.bottlenecks.filter(b => b.severity === 'critical').length
112
+ : 0;
113
+ const warnings = bottleneckAnalysis
114
+ ? bottleneckAnalysis.bottlenecks.filter(b => b.severity === 'medium' || b.severity === 'high').length
115
+ : 0;
116
+ return {
117
+ totalBenchmarks: benchmarkResults.length,
118
+ overallScore,
119
+ baselineComparison,
120
+ keyFindings,
121
+ criticalIssues,
122
+ warnings
123
+ };
124
+ }
125
+ /**
126
+ * Calculate overall performance score
127
+ */
128
+ function calculateOverallScore(benchmarkResults, bottleneckAnalysis) {
129
+ if (bottleneckAnalysis) {
130
+ return bottleneckAnalysis.performanceScore;
131
+ }
132
+ // Fallback: calculate based on error rate and response times
133
+ const avgErrorRate = benchmarkResults.reduce((sum, b) => sum + b.metrics.errorRate, 0) / benchmarkResults.length;
134
+ const avgP95 = benchmarkResults.reduce((sum, b) => sum + b.metrics.responseTime.p95, 0) / benchmarkResults.length;
135
+ let score = 100;
136
+ // Deduct for error rate
137
+ score -= avgErrorRate * 100 * 50; // High penalty for errors
138
+ // Deduct for slow response times (assuming 200ms is ideal)
139
+ if (avgP95 > 200) {
140
+ score -= Math.min(30, ((avgP95 - 200) / 200) * 30);
141
+ }
142
+ return Math.max(0, Math.round(score));
143
+ }
144
+ /**
145
+ * Extract key findings from benchmark data
146
+ */
147
+ function extractKeyFindings(benchmarkResults, compareBaseline, bottleneckAnalysis) {
148
+ const findings = [];
149
+ if (benchmarkResults.length === 0) {
150
+ findings.push('No benchmark data available');
151
+ return findings;
152
+ }
153
+ // Response time findings
154
+ const avgP95 = benchmarkResults.reduce((sum, b) => sum + b.metrics.responseTime.p95, 0) / benchmarkResults.length;
155
+ findings.push(`Average p95 response time: ${avgP95.toFixed(0)}ms`);
156
+ // Throughput findings
157
+ const avgThroughput = benchmarkResults.reduce((sum, b) => sum + b.metrics.throughput, 0) / benchmarkResults.length;
158
+ findings.push(`Average throughput: ${avgThroughput.toFixed(1)} requests/sec`);
159
+ // Error rate findings
160
+ const avgErrorRate = benchmarkResults.reduce((sum, b) => sum + b.metrics.errorRate, 0) / benchmarkResults.length;
161
+ if (avgErrorRate > 0.01) {
162
+ findings.push(`⚠️ High error rate detected: ${(avgErrorRate * 100).toFixed(2)}%`);
163
+ }
164
+ // Baseline comparison findings
165
+ if (compareBaseline) {
166
+ const improvement = ((compareBaseline.metrics.responseTime.p95 - avgP95) / compareBaseline.metrics.responseTime.p95) * 100;
167
+ if (improvement > 5) {
168
+ findings.push(`✅ Performance improved by ${improvement.toFixed(1)}% vs baseline`);
169
+ }
170
+ else if (improvement < -5) {
171
+ findings.push(`⚠️ Performance degraded by ${Math.abs(improvement).toFixed(1)}% vs baseline`);
172
+ }
173
+ }
174
+ // Bottleneck findings
175
+ if (bottleneckAnalysis && bottleneckAnalysis.bottlenecks.length > 0) {
176
+ const criticalBottlenecks = bottleneckAnalysis.bottlenecks.filter(b => b.severity === 'critical');
177
+ if (criticalBottlenecks.length > 0) {
178
+ findings.push(`🚨 ${criticalBottlenecks.length} critical bottleneck(s) detected`);
179
+ }
180
+ }
181
+ return findings;
182
+ }
183
+ /**
184
+ * Generate HTML report
185
+ */
186
+ function generateHtmlReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary) {
187
+ return `<!DOCTYPE html>
188
+ <html lang="en">
189
+ <head>
190
+ <meta charset="UTF-8">
191
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
192
+ <title>${title}</title>
193
+ <style>
194
+ body {
195
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
196
+ line-height: 1.6;
197
+ max-width: 1200px;
198
+ margin: 0 auto;
199
+ padding: 20px;
200
+ background: #f5f5f5;
201
+ }
202
+ .header {
203
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
204
+ color: white;
205
+ padding: 30px;
206
+ border-radius: 10px;
207
+ margin-bottom: 30px;
208
+ }
209
+ .header h1 { margin: 0 0 10px 0; }
210
+ .header .meta { opacity: 0.9; font-size: 14px; }
211
+ .summary {
212
+ background: white;
213
+ padding: 20px;
214
+ border-radius: 10px;
215
+ margin-bottom: 20px;
216
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
217
+ }
218
+ .summary h2 { margin-top: 0; }
219
+ .score {
220
+ font-size: 48px;
221
+ font-weight: bold;
222
+ color: ${summary.overallScore >= 80 ? '#10b981' : summary.overallScore >= 60 ? '#f59e0b' : '#ef4444'};
223
+ }
224
+ .metrics {
225
+ display: grid;
226
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
227
+ gap: 20px;
228
+ margin-bottom: 20px;
229
+ }
230
+ .metric-card {
231
+ background: white;
232
+ padding: 20px;
233
+ border-radius: 10px;
234
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
235
+ }
236
+ .metric-card h3 { margin-top: 0; font-size: 14px; color: #666; }
237
+ .metric-value { font-size: 32px; font-weight: bold; color: #333; }
238
+ .metric-label { font-size: 12px; color: #999; margin-top: 5px; }
239
+ .findings {
240
+ background: white;
241
+ padding: 20px;
242
+ border-radius: 10px;
243
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
244
+ margin-bottom: 20px;
245
+ }
246
+ .findings ul { padding-left: 20px; }
247
+ .findings li { margin: 10px 0; }
248
+ .bottlenecks {
249
+ background: white;
250
+ padding: 20px;
251
+ border-radius: 10px;
252
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
253
+ }
254
+ .bottleneck-item {
255
+ padding: 15px;
256
+ margin: 10px 0;
257
+ border-left: 4px solid;
258
+ background: #f9f9f9;
259
+ }
260
+ .bottleneck-item.critical { border-color: #ef4444; }
261
+ .bottleneck-item.high { border-color: #f59e0b; }
262
+ .bottleneck-item.medium { border-color: #eab308; }
263
+ .bottleneck-item.low { border-color: #10b981; }
264
+ </style>
265
+ </head>
266
+ <body>
267
+ <div class="header">
268
+ <h1>${title}</h1>
269
+ <div class="meta">Generated: ${new Date().toISOString()}</div>
270
+ </div>
271
+
272
+ <div class="summary">
273
+ <h2>Performance Summary</h2>
274
+ <div class="score">${summary.overallScore}/100</div>
275
+ <p><strong>Total Benchmarks:</strong> ${summary.totalBenchmarks}</p>
276
+ ${summary.baselineComparison ? `
277
+ <p><strong>vs Baseline:</strong> ${summary.baselineComparison.improvement > 0 ? '+' : ''}${summary.baselineComparison.improvement.toFixed(1)}% (${summary.baselineComparison.direction})</p>
278
+ ` : ''}
279
+ <p><strong>Critical Issues:</strong> ${summary.criticalIssues}</p>
280
+ <p><strong>Warnings:</strong> ${summary.warnings}</p>
281
+ </div>
282
+
283
+ <div class="findings">
284
+ <h2>Key Findings</h2>
285
+ <ul>
286
+ ${summary.keyFindings.map(f => `<li>${f}</li>`).join('')}
287
+ </ul>
288
+ </div>
289
+
290
+ <h2>Performance Metrics</h2>
291
+ <div class="metrics">
292
+ ${benchmarkResults.map(benchmark => `
293
+ <div class="metric-card">
294
+ <h3>${benchmark.name}</h3>
295
+ <div class="metric-value">${benchmark.metrics.responseTime.p95.toFixed(0)}ms</div>
296
+ <div class="metric-label">p95 Response Time</div>
297
+ <div style="margin-top: 15px;">
298
+ <div><strong>Throughput:</strong> ${benchmark.metrics.throughput.toFixed(1)} req/s</div>
299
+ <div><strong>Error Rate:</strong> ${(benchmark.metrics.errorRate * 100).toFixed(2)}%</div>
300
+ <div><strong>CPU:</strong> ${benchmark.metrics.resourceUsage.cpu.toFixed(1)}%</div>
301
+ <div><strong>Memory:</strong> ${benchmark.metrics.resourceUsage.memory.toFixed(0)}MB</div>
302
+ </div>
303
+ </div>
304
+ `).join('')}
305
+ </div>
306
+
307
+ ${includeBottleneckAnalysis && bottleneckAnalysis && bottleneckAnalysis.bottlenecks.length > 0 ? `
308
+ <div class="bottlenecks">
309
+ <h2>Detected Bottlenecks</h2>
310
+ ${bottleneckAnalysis.bottlenecks.map(b => `
311
+ <div class="bottleneck-item ${b.severity}">
312
+ <strong>${b.type.toUpperCase()}</strong> - ${b.severity.toUpperCase()}<br>
313
+ ${b.description}<br>
314
+ <small>Current: ${b.currentValue.toFixed(1)} | Threshold: ${b.thresholdValue.toFixed(1)} | Over by: ${b.percentageAboveThreshold.toFixed(1)}%</small>
315
+ </div>
316
+ `).join('')}
317
+ </div>
318
+ ` : ''}
319
+ </body>
320
+ </html>`;
321
+ }
322
+ /**
323
+ * Generate PDF report (placeholder - would use library like puppeteer/pdfkit in production)
324
+ */
325
+ function generatePdfReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary) {
326
+ // In production, this would generate actual PDF binary
327
+ // For now, return HTML that could be converted to PDF
328
+ const html = generateHtmlReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary);
329
+ return `PDF_PLACEHOLDER: ${html.substring(0, 100)}... (would be converted to PDF in production)`;
330
+ }
331
+ /**
332
+ * Generate JSON report
333
+ */
334
+ function generateJsonReport(benchmarkResults, compareBaseline, includeTrends, includeBottleneckAnalysis, bottleneckAnalysis, title, summary) {
335
+ return {
336
+ title,
337
+ generatedAt: new Date().toISOString(),
338
+ summary,
339
+ benchmarkResults: benchmarkResults.map(b => ({
340
+ name: b.name,
341
+ timestamp: b.timestamp,
342
+ metrics: b.metrics,
343
+ config: b.config,
344
+ environment: b.environment
345
+ })),
346
+ baseline: compareBaseline ? {
347
+ name: compareBaseline.name,
348
+ timestamp: compareBaseline.timestamp,
349
+ metrics: compareBaseline.metrics
350
+ } : undefined,
351
+ bottleneckAnalysis: includeBottleneckAnalysis ? bottleneckAnalysis : undefined
352
+ };
353
+ }
354
+ //# sourceMappingURL=generate-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-report.js","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/performance/generate-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Performance Domain Tools
3
+ *
4
+ * Comprehensive performance testing and analysis tools for QE workflows.
5
+ *
6
+ * @module tools/qe/performance
7
+ * @version 1.0.0
8
+ */
9
+ export { analyzePerformanceBottlenecks, type BottleneckAnalysisParams, type BottleneckThresholds, type BottleneckAnalysis, type Bottleneck, type ResourceUtilizationSummary, type OptimizationRecommendation, type TrendAnalysis } from './analyze-bottlenecks';
10
+ export { generatePerformanceReport, type PerformanceReportParams, type BenchmarkData, type ReportMetadata, type PerformanceReport, type ReportSummary } from './generate-report';
11
+ export { runPerformanceBenchmark, type BenchmarkResult } from './run-benchmark';
12
+ export { monitorPerformanceRealtime, type RealtimeMonitoringResult, type DataPoint, type MonitoringSummary, type Alert } from './monitor-realtime';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/performance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACL,uBAAuB,EACvB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Performance Domain Tools
4
+ *
5
+ * Comprehensive performance testing and analysis tools for QE workflows.
6
+ *
7
+ * @module tools/qe/performance
8
+ * @version 1.0.0
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.monitorPerformanceRealtime = exports.runPerformanceBenchmark = exports.generatePerformanceReport = exports.analyzePerformanceBottlenecks = void 0;
12
+ // Bottleneck analysis
13
+ var analyze_bottlenecks_1 = require("./analyze-bottlenecks");
14
+ Object.defineProperty(exports, "analyzePerformanceBottlenecks", { enumerable: true, get: function () { return analyze_bottlenecks_1.analyzePerformanceBottlenecks; } });
15
+ // Report generation
16
+ var generate_report_1 = require("./generate-report");
17
+ Object.defineProperty(exports, "generatePerformanceReport", { enumerable: true, get: function () { return generate_report_1.generatePerformanceReport; } });
18
+ // Benchmark execution
19
+ var run_benchmark_1 = require("./run-benchmark");
20
+ Object.defineProperty(exports, "runPerformanceBenchmark", { enumerable: true, get: function () { return run_benchmark_1.runPerformanceBenchmark; } });
21
+ // Real-time monitoring
22
+ var monitor_realtime_1 = require("./monitor-realtime");
23
+ Object.defineProperty(exports, "monitorPerformanceRealtime", { enumerable: true, get: function () { return monitor_realtime_1.monitorPerformanceRealtime; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/performance/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,sBAAsB;AACtB,6DAS8B;AAR5B,oIAAA,6BAA6B,OAAA;AAU/B,oBAAoB;AACpB,qDAO0B;AANxB,4HAAA,yBAAyB,OAAA;AAQ3B,sBAAsB;AACtB,iDAGwB;AAFtB,wHAAA,uBAAuB,OAAA;AAIzB,uBAAuB;AACvB,uDAM2B;AALzB,8HAAA,0BAA0B,OAAA"}