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,469 @@
1
+ "use strict";
2
+ /**
3
+ * Security Report Generation Tool
4
+ *
5
+ * Generates comprehensive security reports in multiple formats (HTML, SARIF, JSON)
6
+ * with remediation steps, risk scoring, and compliance mapping.
7
+ *
8
+ * @module security/generate-report
9
+ * @version 1.0.0
10
+ * @author Agentic QE Team
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { generateSecurityReport } from './generate-report';
15
+ *
16
+ * const result = await generateSecurityReport({
17
+ * scanResults: [sarifData, dependencyData, authData],
18
+ * format: 'html',
19
+ * includeFixes: true
20
+ * });
21
+ * ```
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || (function () {
40
+ var ownKeys = function(o) {
41
+ ownKeys = Object.getOwnPropertyNames || function (o) {
42
+ var ar = [];
43
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
+ return ar;
45
+ };
46
+ return ownKeys(o);
47
+ };
48
+ return function (mod) {
49
+ if (mod && mod.__esModule) return mod;
50
+ var result = {};
51
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52
+ __setModuleDefault(result, mod);
53
+ return result;
54
+ };
55
+ })();
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.GenerateSecurityReportHandler = void 0;
58
+ exports.generateSecurityReport = generateSecurityReport;
59
+ const base_handler_js_1 = require("../base-handler.js");
60
+ const fs = __importStar(require("fs/promises"));
61
+ class GenerateSecurityReportHandler extends base_handler_js_1.BaseHandler {
62
+ async handle(args) {
63
+ return this.safeHandle(async () => {
64
+ const requestId = this.generateRequestId();
65
+ this.log('info', 'Generating security report', { requestId, format: args.format });
66
+ // Validate required parameters
67
+ this.validateRequired(args, ['scanResults', 'format']);
68
+ const { result, executionTime } = await this.measureExecutionTime(async () => {
69
+ return await generateSecurityReport(args);
70
+ });
71
+ this.log('info', `Security report generated in ${executionTime.toFixed(2)}ms`, {
72
+ format: result.metadata.format,
73
+ totalVulnerabilities: result.executiveSummary?.totalVulnerabilities || 0
74
+ });
75
+ return this.createSuccessResponse(result, requestId);
76
+ });
77
+ }
78
+ }
79
+ exports.GenerateSecurityReportHandler = GenerateSecurityReportHandler;
80
+ /**
81
+ * Generate comprehensive security report
82
+ *
83
+ * @param params - Report generation parameters
84
+ * @returns Generated security report with remediation plan
85
+ */
86
+ async function generateSecurityReport(params) {
87
+ const { scanResults, format, includeFixes = true, includeCompliance = true, complianceStandards = ['OWASP', 'CWE', 'NIST'], includeRiskScoring = true, includeExecutiveSummary = true, outputPath, title = 'Security Assessment Report', projectName = 'Project Security Scan' } = params;
88
+ // Aggregate all vulnerabilities
89
+ const allVulnerabilities = scanResults.flatMap(scan => scan.vulnerabilities);
90
+ // Build findings
91
+ const findings = buildFindings(scanResults, allVulnerabilities, includeCompliance, complianceStandards);
92
+ // Generate executive summary if enabled
93
+ let executiveSummary;
94
+ if (includeExecutiveSummary) {
95
+ executiveSummary = generateExecutiveSummary(allVulnerabilities, includeCompliance, complianceStandards);
96
+ }
97
+ // Generate risk scoring if enabled
98
+ let riskScoring;
99
+ if (includeRiskScoring) {
100
+ riskScoring = calculateRiskScoring(scanResults);
101
+ }
102
+ // Generate remediation plan
103
+ const remediationPlan = generateRemediationPlan(allVulnerabilities, includeFixes);
104
+ // Generate compliance mapping if enabled
105
+ let complianceMapping;
106
+ if (includeCompliance) {
107
+ complianceMapping = generateComplianceMapping(allVulnerabilities, complianceStandards);
108
+ }
109
+ // Generate report content based on format
110
+ const content = await generateReportContent(format, {
111
+ title,
112
+ projectName,
113
+ executiveSummary,
114
+ findings,
115
+ riskScoring,
116
+ remediationPlan,
117
+ complianceMapping
118
+ });
119
+ // Save report if output path provided
120
+ let savedPath;
121
+ if (outputPath) {
122
+ savedPath = await saveReport(content, outputPath, format);
123
+ }
124
+ return {
125
+ metadata: {
126
+ title,
127
+ projectName,
128
+ generatedAt: new Date().toISOString(),
129
+ reportVersion: '1.0.0',
130
+ format
131
+ },
132
+ executiveSummary,
133
+ findings,
134
+ riskScoring,
135
+ remediationPlan,
136
+ complianceMapping,
137
+ content,
138
+ outputPath: savedPath
139
+ };
140
+ }
141
+ function buildFindings(scanResults, allVulnerabilities, includeCompliance, complianceStandards) {
142
+ const bySeverity = {
143
+ critical: allVulnerabilities.filter(v => v.severity === 'critical'),
144
+ high: allVulnerabilities.filter(v => v.severity === 'high'),
145
+ medium: allVulnerabilities.filter(v => v.severity === 'medium'),
146
+ low: allVulnerabilities.filter(v => v.severity === 'low')
147
+ };
148
+ const byScanType = {};
149
+ for (const scan of scanResults) {
150
+ byScanType[scan.scanType] = scan.vulnerabilities;
151
+ }
152
+ let byCompliance;
153
+ if (includeCompliance) {
154
+ byCompliance = {};
155
+ for (const standard of complianceStandards) {
156
+ byCompliance[standard] = allVulnerabilities.filter(v => (standard === 'OWASP' && v.cwe) ||
157
+ (standard === 'CWE' && v.cwe) ||
158
+ (standard === 'NIST' && v.cvssScore && v.cvssScore >= 7.0));
159
+ }
160
+ }
161
+ return {
162
+ bySeverity,
163
+ byScanType,
164
+ byCompliance
165
+ };
166
+ }
167
+ function generateExecutiveSummary(vulnerabilities, includeCompliance, complianceStandards) {
168
+ const critical = vulnerabilities.filter(v => v.severity === 'critical').length;
169
+ const high = vulnerabilities.filter(v => v.severity === 'high').length;
170
+ const medium = vulnerabilities.filter(v => v.severity === 'medium').length;
171
+ const overallRiskLevel = critical > 0 ? 'critical' :
172
+ high > 0 ? 'high' :
173
+ medium > 0 ? 'medium' : 'low';
174
+ const recommendations = generateTopRecommendations(vulnerabilities);
175
+ let complianceStatus;
176
+ if (includeCompliance) {
177
+ complianceStatus = {};
178
+ for (const standard of complianceStandards) {
179
+ const violations = vulnerabilities.filter(v => (standard === 'OWASP' && v.cwe) ||
180
+ (standard === 'CWE' && v.cwe)).length;
181
+ complianceStatus[standard] = violations === 0 ? 'compliant' :
182
+ violations <= 3 ? 'partial' : 'non-compliant';
183
+ }
184
+ }
185
+ return {
186
+ overallRiskLevel,
187
+ totalVulnerabilities: vulnerabilities.length,
188
+ criticalVulnerabilities: critical,
189
+ highVulnerabilities: high,
190
+ recommendations,
191
+ complianceStatus
192
+ };
193
+ }
194
+ function generateTopRecommendations(vulnerabilities) {
195
+ const recommendations = [];
196
+ const critical = vulnerabilities.filter(v => v.severity === 'critical');
197
+ if (critical.length > 0) {
198
+ recommendations.push(`Address ${critical.length} critical vulnerabilities immediately to prevent security incidents`);
199
+ }
200
+ const sqlInjection = vulnerabilities.filter(v => v.cwe === 'CWE-89');
201
+ if (sqlInjection.length > 0) {
202
+ recommendations.push('Implement parameterized queries to prevent SQL injection attacks');
203
+ }
204
+ const xss = vulnerabilities.filter(v => v.cwe === 'CWE-79');
205
+ if (xss.length > 0) {
206
+ recommendations.push('Sanitize all user inputs to prevent Cross-Site Scripting (XSS) attacks');
207
+ }
208
+ const auth = vulnerabilities.filter(v => v.cwe === 'CWE-287' || v.cwe === 'CWE-307');
209
+ if (auth.length > 0) {
210
+ recommendations.push('Strengthen authentication mechanisms and implement rate limiting');
211
+ }
212
+ if (recommendations.length === 0) {
213
+ recommendations.push('Continue regular security scanning and maintain security best practices');
214
+ }
215
+ return recommendations.slice(0, 5); // Top 5 recommendations
216
+ }
217
+ function calculateRiskScoring(scanResults) {
218
+ const weights = {
219
+ critical: 10,
220
+ high: 7,
221
+ medium: 4,
222
+ low: 1
223
+ };
224
+ let totalScore = 0;
225
+ const categoryScores = {};
226
+ for (const scan of scanResults) {
227
+ let scanScore = 0;
228
+ scan.vulnerabilities.forEach(vuln => {
229
+ scanScore += weights[vuln.severity];
230
+ });
231
+ categoryScores[scan.scanType] = scanScore;
232
+ totalScore += scanScore;
233
+ }
234
+ // Normalize to 0-100 scale
235
+ const overallScore = Math.min(totalScore, 100);
236
+ return {
237
+ overallScore,
238
+ categoryScores,
239
+ trendAnalysis: {
240
+ trend: 'stable',
241
+ change: 0
242
+ }
243
+ };
244
+ }
245
+ function generateRemediationPlan(vulnerabilities, includeFixes) {
246
+ const immediate = [];
247
+ const shortTerm = [];
248
+ const longTerm = [];
249
+ vulnerabilities.forEach((vuln, index) => {
250
+ const action = includeFixes && vuln.fixSuggestion
251
+ ? vuln.fixSuggestion
252
+ : vuln.recommendation;
253
+ const item = {
254
+ vulnerability: vuln.title,
255
+ action,
256
+ priority: index + 1,
257
+ estimatedEffort: vuln.severity === 'critical' ? '1-2 days' :
258
+ vuln.severity === 'high' ? '3-5 days' :
259
+ vuln.severity === 'medium' ? '1-2 weeks' : '2-4 weeks'
260
+ };
261
+ if (vuln.severity === 'critical') {
262
+ immediate.push(item);
263
+ }
264
+ else if (vuln.severity === 'high') {
265
+ shortTerm.push(item);
266
+ }
267
+ else {
268
+ longTerm.push(item);
269
+ }
270
+ });
271
+ return {
272
+ immediate: immediate.slice(0, 10),
273
+ shortTerm: shortTerm.slice(0, 10),
274
+ longTerm: longTerm.slice(0, 10)
275
+ };
276
+ }
277
+ function generateComplianceMapping(vulnerabilities, complianceStandards) {
278
+ const mapping = {};
279
+ for (const standard of complianceStandards) {
280
+ if (standard === 'OWASP') {
281
+ mapping['OWASP'] = {
282
+ standard: 'OWASP Top 10 2021',
283
+ requirements: [
284
+ {
285
+ requirement: 'A03:2021 – Injection',
286
+ status: vulnerabilities.some(v => v.cwe === 'CWE-89') ? 'not-met' : 'met',
287
+ relatedVulnerabilities: vulnerabilities.filter(v => v.cwe === 'CWE-89').map(v => v.id)
288
+ },
289
+ {
290
+ requirement: 'A07:2021 – Identification and Authentication Failures',
291
+ status: vulnerabilities.some(v => v.cwe === 'CWE-287') ? 'not-met' : 'met',
292
+ relatedVulnerabilities: vulnerabilities.filter(v => v.cwe === 'CWE-287').map(v => v.id)
293
+ }
294
+ ]
295
+ };
296
+ }
297
+ }
298
+ return mapping;
299
+ }
300
+ async function generateReportContent(format, data) {
301
+ switch (format) {
302
+ case 'html':
303
+ return generateHTMLReport(data);
304
+ case 'sarif':
305
+ return generateSARIFReport(data);
306
+ case 'json':
307
+ return JSON.stringify(data, null, 2);
308
+ case 'markdown':
309
+ return generateMarkdownReport(data);
310
+ default:
311
+ return JSON.stringify(data, null, 2);
312
+ }
313
+ }
314
+ function generateHTMLReport(data) {
315
+ return `<!DOCTYPE html>
316
+ <html lang="en">
317
+ <head>
318
+ <meta charset="UTF-8">
319
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
320
+ <title>${data.title}</title>
321
+ <style>
322
+ body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
323
+ .container { max-width: 1200px; margin: 0 auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
324
+ h1 { color: #333; border-bottom: 3px solid #007bff; padding-bottom: 10px; }
325
+ h2 { color: #555; margin-top: 30px; border-bottom: 2px solid #ccc; padding-bottom: 8px; }
326
+ .critical { color: #dc3545; font-weight: bold; }
327
+ .high { color: #fd7e14; font-weight: bold; }
328
+ .medium { color: #ffc107; font-weight: bold; }
329
+ .low { color: #28a745; }
330
+ .summary-box { background: #f8f9fa; padding: 20px; border-radius: 5px; margin: 20px 0; border-left: 4px solid #007bff; }
331
+ .vulnerability { background: #fff; border: 1px solid #dee2e6; border-radius: 5px; padding: 15px; margin: 10px 0; }
332
+ table { width: 100%; border-collapse: collapse; margin: 20px 0; }
333
+ th, td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; }
334
+ th { background: #007bff; color: white; }
335
+ .recommendation { background: #d1ecf1; border-left: 4px solid #17a2b8; padding: 10px; margin: 10px 0; }
336
+ </style>
337
+ </head>
338
+ <body>
339
+ <div class="container">
340
+ <h1>${data.title}</h1>
341
+ <p><strong>Project:</strong> ${data.projectName}</p>
342
+ <p><strong>Generated:</strong> ${new Date().toISOString()}</p>
343
+
344
+ ${data.executiveSummary ? `
345
+ <div class="summary-box">
346
+ <h2>Executive Summary</h2>
347
+ <p><strong>Overall Risk Level:</strong> <span class="${data.executiveSummary.overallRiskLevel}">${data.executiveSummary.overallRiskLevel.toUpperCase()}</span></p>
348
+ <p><strong>Total Vulnerabilities:</strong> ${data.executiveSummary.totalVulnerabilities}</p>
349
+ <p><strong>Critical:</strong> <span class="critical">${data.executiveSummary.criticalVulnerabilities}</span></p>
350
+ <p><strong>High:</strong> <span class="high">${data.executiveSummary.highVulnerabilities}</span></p>
351
+ </div>
352
+ ` : ''}
353
+
354
+ <h2>Vulnerability Summary</h2>
355
+ <table>
356
+ <tr>
357
+ <th>Severity</th>
358
+ <th>Count</th>
359
+ </tr>
360
+ <tr>
361
+ <td class="critical">Critical</td>
362
+ <td>${data.findings.bySeverity.critical.length}</td>
363
+ </tr>
364
+ <tr>
365
+ <td class="high">High</td>
366
+ <td>${data.findings.bySeverity.high.length}</td>
367
+ </tr>
368
+ <tr>
369
+ <td class="medium">Medium</td>
370
+ <td>${data.findings.bySeverity.medium.length}</td>
371
+ </tr>
372
+ <tr>
373
+ <td class="low">Low</td>
374
+ <td>${data.findings.bySeverity.low.length}</td>
375
+ </tr>
376
+ </table>
377
+
378
+ <h2>Recommendations</h2>
379
+ ${data.executiveSummary?.recommendations.map((rec) => `<div class="recommendation">${rec}</div>`).join('')}
380
+ </div>
381
+ </body>
382
+ </html>`;
383
+ }
384
+ function generateSARIFReport(data) {
385
+ const results = [];
386
+ for (const [severity, vulns] of Object.entries(data.findings.bySeverity)) {
387
+ for (const vuln of vulns) {
388
+ results.push({
389
+ ruleId: vuln.cwe || vuln.id,
390
+ level: severity === 'critical' || severity === 'high' ? 'error' : 'warning',
391
+ message: {
392
+ text: vuln.description
393
+ },
394
+ locations: vuln.location ? [{
395
+ physicalLocation: {
396
+ artifactLocation: {
397
+ uri: vuln.location.file
398
+ },
399
+ region: {
400
+ startLine: vuln.location.line || 1
401
+ }
402
+ }
403
+ }] : []
404
+ });
405
+ }
406
+ }
407
+ return JSON.stringify({
408
+ version: '2.1.0',
409
+ $schema: 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json',
410
+ runs: [{
411
+ tool: {
412
+ driver: {
413
+ name: 'Agentic QE Security Scanner',
414
+ version: '1.0.0'
415
+ }
416
+ },
417
+ results
418
+ }]
419
+ }, null, 2);
420
+ }
421
+ function generateMarkdownReport(data) {
422
+ return `# ${data.title}
423
+
424
+ **Project:** ${data.projectName}
425
+ **Generated:** ${new Date().toISOString()}
426
+
427
+ ## Executive Summary
428
+
429
+ ${data.executiveSummary ? `
430
+ - **Overall Risk Level:** ${data.executiveSummary.overallRiskLevel.toUpperCase()}
431
+ - **Total Vulnerabilities:** ${data.executiveSummary.totalVulnerabilities}
432
+ - **Critical:** ${data.executiveSummary.criticalVulnerabilities}
433
+ - **High:** ${data.executiveSummary.highVulnerabilities}
434
+ ` : ''}
435
+
436
+ ## Vulnerability Summary
437
+
438
+ | Severity | Count |
439
+ |----------|-------|
440
+ | Critical | ${data.findings.bySeverity.critical.length} |
441
+ | High | ${data.findings.bySeverity.high.length} |
442
+ | Medium | ${data.findings.bySeverity.medium.length} |
443
+ | Low | ${data.findings.bySeverity.low.length} |
444
+
445
+ ## Recommendations
446
+
447
+ ${data.executiveSummary?.recommendations.map((rec) => `- ${rec}`).join('\n')}
448
+
449
+ ## Remediation Plan
450
+
451
+ ### Immediate Actions (Critical)
452
+ ${data.remediationPlan.immediate.map((item) => `
453
+ - **${item.vulnerability}**
454
+ - Action: ${item.action}
455
+ - Effort: ${item.estimatedEffort}
456
+ `).join('\n')}
457
+ `;
458
+ }
459
+ async function saveReport(content, outputPath, format) {
460
+ try {
461
+ await fs.writeFile(outputPath, content, 'utf-8');
462
+ return outputPath;
463
+ }
464
+ catch (error) {
465
+ // Return content if file can't be saved
466
+ return 'report-not-saved';
467
+ }
468
+ }
469
+ //# sourceMappingURL=generate-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-report.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/generate-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Security Domain Tools
3
+ *
4
+ * Comprehensive security testing tools for SAST, DAST, authentication,
5
+ * authorization, dependency scanning, and security reporting.
6
+ *
7
+ * @module security
8
+ * @version 1.0.0
9
+ * @author Agentic QE Team
10
+ */
11
+ export { securityScanComprehensive, type SecurityScanComprehensiveParams, type SecurityScanComprehensiveResult, type SecurityVulnerability, type ComplianceCheck } from './scan-comprehensive';
12
+ export { validateAuthenticationFlow, ValidateAuthenticationFlowHandler, type ValidateAuthenticationFlowParams, type AuthValidationResult, type AuthTestCase, type AuthFinding } from './validate-auth';
13
+ export { checkAuthorizationRules, CheckAuthorizationRulesHandler, type CheckAuthorizationRulesParams, type AuthzCheckResult, type AuthorizationPolicy, type AuthzFinding } from './check-authz';
14
+ export { scanDependenciesVulnerabilities, ScanDependenciesVulnerabilitiesHandler, type ScanDependenciesVulnerabilitiesParams, type VulnerabilityScanResult, type DependencyVulnerability, type LicenseIssue, type OutdatedPackage } from './scan-dependencies';
15
+ export { generateSecurityReport, GenerateSecurityReportHandler, type GenerateSecurityReportParams, type SecurityReport, type SecurityScanData } from './generate-report';
16
+ /**
17
+ * Security Domain Tool Registry
18
+ *
19
+ * All tools are registered and available for MCP server integration.
20
+ */
21
+ export declare const SECURITY_TOOLS: {
22
+ readonly 'scan-comprehensive': {
23
+ readonly name: "scan-comprehensive";
24
+ readonly description: "Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring";
25
+ readonly handler: "securityScanComprehensive";
26
+ };
27
+ readonly 'validate-auth': {
28
+ readonly name: "validate-auth";
29
+ readonly description: "Validate authentication flows, test auth endpoints, and perform token validation";
30
+ readonly handler: "validateAuthenticationFlow";
31
+ };
32
+ readonly 'check-authz': {
33
+ readonly name: "check-authz";
34
+ readonly description: "Check authorization rules, policy enforcement, and RBAC/ABAC configuration";
35
+ readonly handler: "checkAuthorizationRules";
36
+ };
37
+ readonly 'scan-dependencies': {
38
+ readonly name: "scan-dependencies";
39
+ readonly description: "Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions";
40
+ readonly handler: "scanDependenciesVulnerabilities";
41
+ };
42
+ readonly 'generate-report': {
43
+ readonly name: "generate-report";
44
+ readonly description: "Generate security reports in HTML, SARIF, JSON, or Markdown formats";
45
+ readonly handler: "generateSecurityReport";
46
+ };
47
+ };
48
+ /**
49
+ * Get all security tool names
50
+ */
51
+ export declare function getSecurityToolNames(): string[];
52
+ /**
53
+ * Get security tool by name
54
+ */
55
+ export declare function getSecurityTool(name: string): {
56
+ readonly name: "scan-comprehensive";
57
+ readonly description: "Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring";
58
+ readonly handler: "securityScanComprehensive";
59
+ } | {
60
+ readonly name: "validate-auth";
61
+ readonly description: "Validate authentication flows, test auth endpoints, and perform token validation";
62
+ readonly handler: "validateAuthenticationFlow";
63
+ } | {
64
+ readonly name: "check-authz";
65
+ readonly description: "Check authorization rules, policy enforcement, and RBAC/ABAC configuration";
66
+ readonly handler: "checkAuthorizationRules";
67
+ } | {
68
+ readonly name: "scan-dependencies";
69
+ readonly description: "Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions";
70
+ readonly handler: "scanDependenciesVulnerabilities";
71
+ } | {
72
+ readonly name: "generate-report";
73
+ readonly description: "Generate security reports in HTML, SARIF, JSON, or Markdown formats";
74
+ readonly handler: "generateSecurityReport";
75
+ };
76
+ /**
77
+ * Check if tool exists in security domain
78
+ */
79
+ export declare function isSecurityTool(name: string): boolean;
80
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,EACtC,KAAK,qCAAqC,EAC1C,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;EAE3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Security Domain Tools
4
+ *
5
+ * Comprehensive security testing tools for SAST, DAST, authentication,
6
+ * authorization, dependency scanning, and security reporting.
7
+ *
8
+ * @module security
9
+ * @version 1.0.0
10
+ * @author Agentic QE Team
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SECURITY_TOOLS = exports.GenerateSecurityReportHandler = exports.generateSecurityReport = exports.ScanDependenciesVulnerabilitiesHandler = exports.scanDependenciesVulnerabilities = exports.CheckAuthorizationRulesHandler = exports.checkAuthorizationRules = exports.ValidateAuthenticationFlowHandler = exports.validateAuthenticationFlow = exports.securityScanComprehensive = void 0;
14
+ exports.getSecurityToolNames = getSecurityToolNames;
15
+ exports.getSecurityTool = getSecurityTool;
16
+ exports.isSecurityTool = isSecurityTool;
17
+ // Comprehensive Security Scanning
18
+ var scan_comprehensive_1 = require("./scan-comprehensive");
19
+ Object.defineProperty(exports, "securityScanComprehensive", { enumerable: true, get: function () { return scan_comprehensive_1.securityScanComprehensive; } });
20
+ // Authentication Validation
21
+ var validate_auth_1 = require("./validate-auth");
22
+ Object.defineProperty(exports, "validateAuthenticationFlow", { enumerable: true, get: function () { return validate_auth_1.validateAuthenticationFlow; } });
23
+ Object.defineProperty(exports, "ValidateAuthenticationFlowHandler", { enumerable: true, get: function () { return validate_auth_1.ValidateAuthenticationFlowHandler; } });
24
+ // Authorization Checking
25
+ var check_authz_1 = require("./check-authz");
26
+ Object.defineProperty(exports, "checkAuthorizationRules", { enumerable: true, get: function () { return check_authz_1.checkAuthorizationRules; } });
27
+ Object.defineProperty(exports, "CheckAuthorizationRulesHandler", { enumerable: true, get: function () { return check_authz_1.CheckAuthorizationRulesHandler; } });
28
+ // Dependency Vulnerability Scanning
29
+ var scan_dependencies_1 = require("./scan-dependencies");
30
+ Object.defineProperty(exports, "scanDependenciesVulnerabilities", { enumerable: true, get: function () { return scan_dependencies_1.scanDependenciesVulnerabilities; } });
31
+ Object.defineProperty(exports, "ScanDependenciesVulnerabilitiesHandler", { enumerable: true, get: function () { return scan_dependencies_1.ScanDependenciesVulnerabilitiesHandler; } });
32
+ // Security Report Generation
33
+ var generate_report_1 = require("./generate-report");
34
+ Object.defineProperty(exports, "generateSecurityReport", { enumerable: true, get: function () { return generate_report_1.generateSecurityReport; } });
35
+ Object.defineProperty(exports, "GenerateSecurityReportHandler", { enumerable: true, get: function () { return generate_report_1.GenerateSecurityReportHandler; } });
36
+ /**
37
+ * Security Domain Tool Registry
38
+ *
39
+ * All tools are registered and available for MCP server integration.
40
+ */
41
+ exports.SECURITY_TOOLS = {
42
+ // Comprehensive scanning
43
+ 'scan-comprehensive': {
44
+ name: 'scan-comprehensive',
45
+ description: 'Comprehensive security scanning with SAST, DAST, SCA, and CVE monitoring',
46
+ handler: 'securityScanComprehensive'
47
+ },
48
+ // Authentication validation
49
+ 'validate-auth': {
50
+ name: 'validate-auth',
51
+ description: 'Validate authentication flows, test auth endpoints, and perform token validation',
52
+ handler: 'validateAuthenticationFlow'
53
+ },
54
+ // Authorization checking
55
+ 'check-authz': {
56
+ name: 'check-authz',
57
+ description: 'Check authorization rules, policy enforcement, and RBAC/ABAC configuration',
58
+ handler: 'checkAuthorizationRules'
59
+ },
60
+ // Dependency scanning
61
+ 'scan-dependencies': {
62
+ name: 'scan-dependencies',
63
+ description: 'Scan dependencies for vulnerabilities with severity filtering and auto-fix suggestions',
64
+ handler: 'scanDependenciesVulnerabilities'
65
+ },
66
+ // Report generation
67
+ 'generate-report': {
68
+ name: 'generate-report',
69
+ description: 'Generate security reports in HTML, SARIF, JSON, or Markdown formats',
70
+ handler: 'generateSecurityReport'
71
+ }
72
+ };
73
+ /**
74
+ * Get all security tool names
75
+ */
76
+ function getSecurityToolNames() {
77
+ return Object.keys(exports.SECURITY_TOOLS);
78
+ }
79
+ /**
80
+ * Get security tool by name
81
+ */
82
+ function getSecurityTool(name) {
83
+ return exports.SECURITY_TOOLS[name];
84
+ }
85
+ /**
86
+ * Check if tool exists in security domain
87
+ */
88
+ function isSecurityTool(name) {
89
+ return name in exports.SECURITY_TOOLS;
90
+ }
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAgGH,oDAEC;AAKD,0CAEC;AAKD,wCAEC;AA9GD,kCAAkC;AAClC,2DAM8B;AAL5B,+HAAA,yBAAyB,OAAA;AAO3B,4BAA4B;AAC5B,iDAOyB;AANvB,2HAAA,0BAA0B,OAAA;AAC1B,kIAAA,iCAAiC,OAAA;AAOnC,yBAAyB;AACzB,6CAOuB;AANrB,sHAAA,uBAAuB,OAAA;AACvB,6HAAA,8BAA8B,OAAA;AAOhC,oCAAoC;AACpC,yDAQ6B;AAP3B,oIAAA,+BAA+B,OAAA;AAC/B,2IAAA,sCAAsC,OAAA;AAQxC,6BAA6B;AAC7B,qDAM2B;AALzB,yHAAA,sBAAsB,OAAA;AACtB,gIAAA,6BAA6B,OAAA;AAM/B;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,yBAAyB;IACzB,oBAAoB,EAAE;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,2BAA2B;KACrC;IAED,4BAA4B;IAC5B,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kFAAkF;QAC/F,OAAO,EAAE,4BAA4B;KACtC;IAED,yBAAyB;IACzB,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4EAA4E;QACzF,OAAO,EAAE,yBAAyB;KACnC;IAED,sBAAsB;IACtB,mBAAmB,EAAE;QACnB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE,iCAAiC;KAC3C;IAED,oBAAoB;IACpB,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,wBAAwB;KAClC;CACO,CAAC;AAEX;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAc,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,sBAAc,CAAC,IAAmC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,IAAI,sBAAc,CAAC;AAChC,CAAC"}