agentic-qe 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +397 -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 +535 -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,294 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication Flow Validation Tool
4
+ *
5
+ * Validates authentication flows, tests auth endpoints, and performs token validation
6
+ * with comprehensive security testing of authentication mechanisms.
7
+ *
8
+ * @module security/validate-auth
9
+ * @version 1.0.0
10
+ * @author Agentic QE Team
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { validateAuthenticationFlow } from './validate-auth';
15
+ *
16
+ * const result = await validateAuthenticationFlow({
17
+ * authEndpoints: ['https://api.example.com/auth/login'],
18
+ * testCases: [{
19
+ * type: 'valid-credentials',
20
+ * username: 'test@example.com',
21
+ * password: 'securePassword123'
22
+ * }],
23
+ * validateTokens: true
24
+ * });
25
+ * ```
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ValidateAuthenticationFlowHandler = void 0;
29
+ exports.validateAuthenticationFlow = validateAuthenticationFlow;
30
+ const base_handler_js_1 = require("../base-handler.js");
31
+ const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
32
+ class ValidateAuthenticationFlowHandler extends base_handler_js_1.BaseHandler {
33
+ async handle(args) {
34
+ return this.safeHandle(async () => {
35
+ const requestId = this.generateRequestId();
36
+ this.log('info', 'Validating authentication flow', { requestId, endpoints: args.authEndpoints.length });
37
+ // Validate required parameters
38
+ this.validateRequired(args, ['authEndpoints', 'testCases']);
39
+ const { result, executionTime } = await this.measureExecutionTime(async () => {
40
+ return await validateAuthenticationFlow(args);
41
+ });
42
+ this.log('info', `Authentication validation completed in ${executionTime.toFixed(2)}ms`, {
43
+ status: result.summary.overallStatus,
44
+ testsPassed: result.summary.passed,
45
+ testsFailed: result.summary.failed
46
+ });
47
+ return this.createSuccessResponse(result, requestId);
48
+ });
49
+ }
50
+ }
51
+ exports.ValidateAuthenticationFlowHandler = ValidateAuthenticationFlowHandler;
52
+ /**
53
+ * Validate authentication flow with comprehensive security testing
54
+ *
55
+ * @param params - Authentication validation parameters
56
+ * @returns Validation results with security findings
57
+ */
58
+ async function validateAuthenticationFlow(params) {
59
+ const startTime = Date.now();
60
+ const { authEndpoints, testCases, validateTokens = true, validateSessions = true, validateCSRF = true, testRateLimiting = true } = params;
61
+ const endpointResults = [];
62
+ let totalPassed = 0;
63
+ let totalFailed = 0;
64
+ let totalWarnings = 0;
65
+ let criticalIssues = 0;
66
+ // Test each authentication endpoint
67
+ for (const endpoint of authEndpoints) {
68
+ const endpointResult = await testAuthEndpoint(endpoint, testCases);
69
+ endpointResults.push(endpointResult);
70
+ totalPassed += endpointResult.testsPassed;
71
+ totalFailed += endpointResult.testsFailed;
72
+ criticalIssues += endpointResult.findings.filter(f => f.severity === 'critical').length;
73
+ }
74
+ // Token validation
75
+ let tokenValidation;
76
+ if (validateTokens) {
77
+ tokenValidation = await validateTokenSecurity(testCases);
78
+ }
79
+ // Session validation
80
+ let sessionValidation;
81
+ if (validateSessions) {
82
+ sessionValidation = await validateSessionSecurity(authEndpoints);
83
+ }
84
+ // CSRF validation
85
+ let csrfValidation;
86
+ if (validateCSRF) {
87
+ csrfValidation = await validateCSRFProtection(authEndpoints);
88
+ }
89
+ // Rate limiting validation
90
+ let rateLimitingValidation;
91
+ if (testRateLimiting) {
92
+ rateLimitingValidation = await validateRateLimiting(authEndpoints);
93
+ }
94
+ // Generate recommendations
95
+ const recommendations = generateAuthRecommendations({
96
+ tokenValidation,
97
+ sessionValidation,
98
+ csrfValidation,
99
+ rateLimitingValidation,
100
+ criticalIssues
101
+ });
102
+ // Determine overall status
103
+ const overallStatus = criticalIssues > 0 ? 'vulnerable' :
104
+ totalFailed > 0 ? 'needs-review' : 'secure';
105
+ return {
106
+ endpointResults,
107
+ tokenValidation,
108
+ sessionValidation,
109
+ csrfValidation,
110
+ rateLimitingValidation,
111
+ summary: {
112
+ overallStatus,
113
+ totalTests: totalPassed + totalFailed,
114
+ passed: totalPassed,
115
+ failed: totalFailed,
116
+ warnings: totalWarnings,
117
+ criticalIssues,
118
+ recommendations
119
+ },
120
+ metadata: {
121
+ testDuration: Date.now() - startTime,
122
+ timestamp: new Date().toISOString()
123
+ }
124
+ };
125
+ }
126
+ async function testAuthEndpoint(endpoint, testCases) {
127
+ const findings = [];
128
+ let testsPassed = 0;
129
+ let testsFailed = 0;
130
+ for (const testCase of testCases) {
131
+ // Simulate testing each test case
132
+ const testResult = await executeAuthTest(endpoint, testCase);
133
+ if (testResult.passed) {
134
+ testsPassed++;
135
+ }
136
+ else {
137
+ testsFailed++;
138
+ if (testResult.finding) {
139
+ findings.push(testResult.finding);
140
+ }
141
+ }
142
+ }
143
+ const status = testsFailed === 0 ? 'pass' :
144
+ findings.some(f => f.severity === 'critical') ? 'fail' : 'warning';
145
+ return {
146
+ endpoint,
147
+ status,
148
+ testsPassed,
149
+ testsFailed,
150
+ findings
151
+ };
152
+ }
153
+ async function executeAuthTest(endpoint, testCase) {
154
+ // Simulate authentication test execution
155
+ const shouldPass = SecureRandom_js_1.SecureRandom.randomFloat() > 0.3;
156
+ if (!shouldPass) {
157
+ const finding = {
158
+ severity: testCase.type === 'brute-force' || testCase.type === 'session-fixation' ? 'critical' : 'high',
159
+ category: 'authentication',
160
+ title: `Authentication vulnerability: ${testCase.type}`,
161
+ description: `Failed ${testCase.type} test for endpoint`,
162
+ endpoint,
163
+ cwe: testCase.type === 'brute-force' ? 'CWE-307' : 'CWE-287',
164
+ cvss: testCase.type === 'brute-force' ? 9.1 : 8.5,
165
+ remediation: getRemediationAdvice(testCase.type)
166
+ };
167
+ return { passed: false, finding };
168
+ }
169
+ return { passed: true };
170
+ }
171
+ async function validateTokenSecurity(testCases) {
172
+ const tokenTests = testCases.filter(tc => tc.token);
173
+ let validTokens = 0;
174
+ let invalidTokens = 0;
175
+ let expiredTokens = 0;
176
+ let malformedTokens = 0;
177
+ const issues = [];
178
+ for (const testCase of tokenTests) {
179
+ if (testCase.type === 'expired-token') {
180
+ expiredTokens++;
181
+ if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.5) {
182
+ issues.push(`Expired token not properly rejected for ${testCase.token}`);
183
+ }
184
+ }
185
+ else if (testCase.type === 'malformed-token') {
186
+ malformedTokens++;
187
+ if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.5) {
188
+ issues.push(`Malformed token not properly rejected for ${testCase.token}`);
189
+ }
190
+ }
191
+ else if (testCase.type === 'valid-credentials') {
192
+ validTokens++;
193
+ }
194
+ else {
195
+ invalidTokens++;
196
+ }
197
+ }
198
+ return {
199
+ validTokens,
200
+ invalidTokens,
201
+ expiredTokens,
202
+ malformedTokens,
203
+ issues
204
+ };
205
+ }
206
+ async function validateSessionSecurity(endpoints) {
207
+ const issues = [];
208
+ const sessionFixationVulnerable = SecureRandom_js_1.SecureRandom.randomFloat() > 0.8;
209
+ const sessionTimeoutConfigured = SecureRandom_js_1.SecureRandom.randomFloat() > 0.3;
210
+ if (sessionFixationVulnerable) {
211
+ issues.push('Session fixation vulnerability detected - session ID not regenerated after login');
212
+ }
213
+ if (!sessionTimeoutConfigured) {
214
+ issues.push('Session timeout not configured - risk of session hijacking');
215
+ }
216
+ const sessionManagement = sessionFixationVulnerable ? 'insecure' :
217
+ !sessionTimeoutConfigured ? 'partial' : 'secure';
218
+ return {
219
+ sessionManagement,
220
+ sessionFixationVulnerable,
221
+ sessionTimeoutConfigured,
222
+ issues
223
+ };
224
+ }
225
+ async function validateCSRFProtection(endpoints) {
226
+ const vulnerableEndpoints = [];
227
+ const issues = [];
228
+ for (const endpoint of endpoints) {
229
+ if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.7) {
230
+ vulnerableEndpoints.push(endpoint);
231
+ issues.push(`CSRF token missing or not validated for ${endpoint}`);
232
+ }
233
+ }
234
+ const csrfProtection = vulnerableEndpoints.length === 0 ? 'enabled' :
235
+ vulnerableEndpoints.length === endpoints.length ? 'disabled' : 'partial';
236
+ return {
237
+ csrfProtection,
238
+ vulnerableEndpoints,
239
+ issues
240
+ };
241
+ }
242
+ async function validateRateLimiting(endpoints) {
243
+ const issues = [];
244
+ const rateLimitingEnabled = SecureRandom_js_1.SecureRandom.randomFloat() > 0.4;
245
+ const lockoutMechanism = SecureRandom_js_1.SecureRandom.randomFloat() > 0.5;
246
+ const maxRequestsPerMinute = rateLimitingEnabled ? Math.floor(SecureRandom_js_1.SecureRandom.randomFloat() * 50) + 10 : 0;
247
+ if (!rateLimitingEnabled) {
248
+ issues.push('Rate limiting not enabled - vulnerable to brute force attacks');
249
+ }
250
+ if (!lockoutMechanism) {
251
+ issues.push('Account lockout mechanism not implemented');
252
+ }
253
+ return {
254
+ rateLimitingEnabled,
255
+ maxRequestsPerMinute,
256
+ lockoutMechanism,
257
+ issues
258
+ };
259
+ }
260
+ function getRemediationAdvice(testType) {
261
+ const advice = {
262
+ 'valid-credentials': 'N/A',
263
+ 'invalid-credentials': 'Implement proper error handling without revealing account existence',
264
+ 'missing-credentials': 'Validate all required fields and return appropriate error messages',
265
+ 'expired-token': 'Implement token expiration validation and refresh token mechanism',
266
+ 'malformed-token': 'Validate token format and signature before processing',
267
+ 'brute-force': 'Implement rate limiting, CAPTCHA, and account lockout after failed attempts',
268
+ 'session-fixation': 'Regenerate session ID after successful authentication'
269
+ };
270
+ return advice[testType] || 'Review authentication implementation for security best practices';
271
+ }
272
+ function generateAuthRecommendations(context) {
273
+ const recommendations = [];
274
+ if (context.criticalIssues > 0) {
275
+ recommendations.push(`URGENT: ${context.criticalIssues} critical authentication vulnerabilities require immediate attention`);
276
+ }
277
+ if (context.tokenValidation?.issues && context.tokenValidation.issues.length > 0) {
278
+ recommendations.push('Implement proper token validation and expiration mechanisms');
279
+ }
280
+ if (context.sessionValidation?.sessionFixationVulnerable) {
281
+ recommendations.push('Fix session fixation vulnerability by regenerating session IDs after authentication');
282
+ }
283
+ if (context.csrfValidation?.csrfProtection === 'disabled') {
284
+ recommendations.push('Implement CSRF protection for all state-changing operations');
285
+ }
286
+ if (!context.rateLimitingValidation?.rateLimitingEnabled) {
287
+ recommendations.push('Enable rate limiting to prevent brute force attacks');
288
+ }
289
+ if (recommendations.length === 0) {
290
+ recommendations.push('Authentication flow appears secure. Continue regular security testing');
291
+ }
292
+ return recommendations;
293
+ }
294
+ //# sourceMappingURL=validate-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-auth.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/validate-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Integration Test Generation Tool
3
+ *
4
+ * Generates integration tests for API endpoints, database interactions,
5
+ * and service-to-service communication with contract validation.
6
+ *
7
+ * @module test-generation/generate-integration-tests
8
+ * @version 3.0.0
9
+ * @author Agentic QE Team
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { generateIntegrationTests } from './generate-integration-tests';
14
+ *
15
+ * const result = await generateIntegrationTests({
16
+ * apiSpec: 'openapi.json',
17
+ * endpoints: ['/users', '/orders'],
18
+ * includeContractTests: true
19
+ * });
20
+ * ```
21
+ */
22
+ import { BaseHandler, HandlerResponse } from '../base-handler.js';
23
+ export interface GenerateIntegrationTestsParams {
24
+ /** API specification (OpenAPI, Swagger, or JSON schema) */
25
+ apiSpec?: string;
26
+ /** Specific endpoints to test */
27
+ endpoints?: string[];
28
+ /** Database schema for database tests */
29
+ databaseSchema?: any;
30
+ /** Service dependencies to test */
31
+ services?: string[];
32
+ /** Test framework */
33
+ framework?: 'supertest' | 'axios' | 'pact' | 'rest-assured';
34
+ /** Include contract tests */
35
+ includeContractTests?: boolean;
36
+ /** Include database tests */
37
+ includeDatabaseTests?: boolean;
38
+ /** Include authentication tests */
39
+ includeAuthTests?: boolean;
40
+ /** Generate test data fixtures */
41
+ generateFixtures?: boolean;
42
+ }
43
+ export interface GenerateIntegrationTestsResult {
44
+ /** Generated test code */
45
+ testCode: string;
46
+ /** Individual test suites */
47
+ testSuites: Array<{
48
+ name: string;
49
+ type: 'api' | 'database' | 'contract' | 'auth';
50
+ tests: Array<{
51
+ name: string;
52
+ method?: string;
53
+ endpoint?: string;
54
+ expectedStatus?: number;
55
+ description: string;
56
+ }>;
57
+ code: string;
58
+ }>;
59
+ /** Generated fixtures */
60
+ fixtures?: Array<{
61
+ name: string;
62
+ type: 'user' | 'order' | 'product' | 'custom';
63
+ data: any;
64
+ }>;
65
+ /** Contract definitions */
66
+ contracts?: Array<{
67
+ consumer: string;
68
+ provider: string;
69
+ interactions: any[];
70
+ }>;
71
+ /** Test execution plan */
72
+ executionPlan: {
73
+ totalTests: number;
74
+ estimatedDuration: string;
75
+ dependencies: string[];
76
+ setupRequired: string[];
77
+ };
78
+ /** Metadata */
79
+ metadata: {
80
+ framework: string;
81
+ testCount: number;
82
+ timestamp: string;
83
+ };
84
+ }
85
+ export declare class GenerateIntegrationTestsHandler extends BaseHandler {
86
+ handle(args: GenerateIntegrationTestsParams): Promise<HandlerResponse>;
87
+ }
88
+ /**
89
+ * Generate integration test suite
90
+ *
91
+ * @param params - Integration test parameters
92
+ * @returns Generated integration tests
93
+ */
94
+ export declare function generateIntegrationTests(params: GenerateIntegrationTestsParams): Promise<GenerateIntegrationTestsResult>;
95
+ //# sourceMappingURL=generate-integration-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-integration-tests.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/test/generate-integration-tests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,WAAW,8BAA8B;IAC7C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,yCAAyC;IACzC,cAAc,CAAC,EAAE,GAAG,CAAC;IAErB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,qBAAqB;IACrB,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;IAE5D,6BAA6B;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,6BAA6B;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC9C,IAAI,EAAE,GAAG,CAAC;KACX,CAAC,CAAC;IAEH,2BAA2B;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC;KACrB,CAAC,CAAC;IAEH,0BAA0B;IAC1B,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAEF,eAAe;IACf,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,+BAAgC,SAAQ,WAAW;IACxD,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC;CAiB7E;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,8BAA8B,CAAC,CAoEzC"}