agentic-qe 1.4.3 → 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 (410) 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 +504 -0
  115. package/README.md +24 -16
  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/core/FleetManager.d.ts.map +1 -1
  121. package/dist/core/FleetManager.js +17 -5
  122. package/dist/core/FleetManager.js.map +1 -1
  123. package/dist/core/MemoryManager.d.ts +27 -0
  124. package/dist/core/MemoryManager.d.ts.map +1 -1
  125. package/dist/core/MemoryManager.js +69 -4
  126. package/dist/core/MemoryManager.js.map +1 -1
  127. package/dist/core/PatternDatabaseAdapter.d.ts.map +1 -1
  128. package/dist/core/PatternDatabaseAdapter.js +14 -4
  129. package/dist/core/PatternDatabaseAdapter.js.map +1 -1
  130. package/dist/learning/LearningEngine.d.ts.map +1 -1
  131. package/dist/learning/LearningEngine.js +18 -4
  132. package/dist/learning/LearningEngine.js.map +1 -1
  133. package/dist/mcp/handlers/coordination/index.d.ts +14 -14
  134. package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
  135. package/dist/mcp/handlers/coordination/index.js +14 -14
  136. package/dist/mcp/handlers/coordination/index.js.map +1 -1
  137. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  138. package/dist/mcp/handlers/coordination/task-status.js +3 -5
  139. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  140. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  141. package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
  142. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  143. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
  144. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
  145. package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
  146. package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
  147. package/dist/mcp/handlers/phase3/index.d.ts +6 -0
  148. package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
  149. package/dist/mcp/handlers/phase3/index.js +10 -0
  150. package/dist/mcp/handlers/phase3/index.js.map +1 -0
  151. package/dist/mcp/handlers/prediction/index.d.ts +10 -10
  152. package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
  153. package/dist/mcp/handlers/prediction/index.js +10 -10
  154. package/dist/mcp/handlers/prediction/index.js.map +1 -1
  155. package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
  156. package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
  157. package/dist/mcp/handlers/security/check-authz.js +434 -0
  158. package/dist/mcp/handlers/security/check-authz.js.map +1 -0
  159. package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
  160. package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
  161. package/dist/mcp/handlers/security/generate-report.js +469 -0
  162. package/dist/mcp/handlers/security/generate-report.js.map +1 -0
  163. package/dist/mcp/handlers/security/index.d.ts +80 -0
  164. package/dist/mcp/handlers/security/index.d.ts.map +1 -0
  165. package/dist/mcp/handlers/security/index.js +91 -0
  166. package/dist/mcp/handlers/security/index.js.map +1 -0
  167. package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
  168. package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
  169. package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
  170. package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
  171. package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
  172. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
  173. package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
  174. package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
  175. package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
  176. package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
  177. package/dist/mcp/handlers/security/validate-auth.js +294 -0
  178. package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
  179. package/dist/mcp/handlers/task-orchestrate.d.ts +21 -1
  180. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  181. package/dist/mcp/handlers/task-orchestrate.js +32 -2
  182. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  183. package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
  184. package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
  185. package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
  186. package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
  187. package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
  188. package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
  189. package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
  190. package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
  191. package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
  192. package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
  193. package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
  194. package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
  195. package/dist/mcp/server.d.ts.map +1 -1
  196. package/dist/mcp/server.js +212 -1
  197. package/dist/mcp/server.js.map +1 -1
  198. package/dist/mcp/tools/deprecated.d.ts +1390 -0
  199. package/dist/mcp/tools/deprecated.d.ts.map +1 -0
  200. package/dist/mcp/tools/deprecated.js +859 -0
  201. package/dist/mcp/tools/deprecated.js.map +1 -0
  202. package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
  203. package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
  204. package/dist/mcp/tools/qe/api-contract/index.js +572 -0
  205. package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
  206. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
  207. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
  208. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
  209. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
  210. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
  211. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
  212. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
  213. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
  214. package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
  215. package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
  216. package/dist/mcp/tools/qe/code-quality/index.js +30 -0
  217. package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
  218. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
  219. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
  220. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
  221. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
  222. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
  223. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
  224. package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
  225. package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
  226. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
  227. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
  228. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
  229. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
  230. package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
  231. package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
  232. package/dist/mcp/tools/qe/coverage/index.js +23 -0
  233. package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
  234. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
  235. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
  236. package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
  237. package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
  238. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
  239. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
  240. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
  241. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
  242. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
  243. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
  244. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
  245. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
  246. package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
  247. package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
  248. package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
  249. package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
  250. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
  251. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
  252. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
  253. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
  254. package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
  255. package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
  256. package/dist/mcp/tools/qe/fleet/index.js +652 -0
  257. package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
  258. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
  259. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
  260. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
  261. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
  262. package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
  263. package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
  264. package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
  265. package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
  266. package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
  267. package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
  268. package/dist/mcp/tools/qe/performance/index.js +24 -0
  269. package/dist/mcp/tools/qe/performance/index.js.map +1 -0
  270. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
  271. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
  272. package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
  273. package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
  274. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
  275. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
  276. package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
  277. package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
  278. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
  279. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
  280. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
  281. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
  282. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
  283. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
  284. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
  285. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
  286. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
  287. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
  288. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
  289. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
  290. package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
  291. package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
  292. package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
  293. package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
  294. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
  295. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
  296. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
  297. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
  298. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
  299. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
  300. package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
  301. package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
  302. package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
  303. package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
  304. package/dist/mcp/tools/qe/regression/index.js +63 -0
  305. package/dist/mcp/tools/qe/regression/index.js.map +1 -0
  306. package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
  307. package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
  308. package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
  309. package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
  310. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
  311. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
  312. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
  313. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
  314. package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
  315. package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
  316. package/dist/mcp/tools/qe/requirements/index.js +84 -0
  317. package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
  318. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
  319. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
  320. package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
  321. package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
  322. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
  323. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
  324. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
  325. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
  326. package/dist/mcp/tools/qe/security/index.d.ts +34 -0
  327. package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
  328. package/dist/mcp/tools/qe/security/index.js +44 -0
  329. package/dist/mcp/tools/qe/security/index.js.map +1 -0
  330. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
  331. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
  332. package/dist/mcp/tools/qe/security/scan-comprehensive.js +535 -0
  333. package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
  334. package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
  335. package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
  336. package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
  337. package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
  338. package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
  339. package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
  340. package/dist/mcp/tools/qe/shared/types.js +13 -0
  341. package/dist/mcp/tools/qe/shared/types.js.map +1 -0
  342. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
  343. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
  344. package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
  345. package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
  346. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
  347. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
  348. package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
  349. package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
  350. package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
  351. package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
  352. package/dist/mcp/tools/qe/test-data/index.js +90 -0
  353. package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
  354. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
  355. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
  356. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
  357. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
  358. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
  359. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
  360. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
  361. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
  362. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
  363. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
  364. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
  365. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
  366. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
  367. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
  368. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
  369. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
  370. package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
  371. package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
  372. package/dist/mcp/tools/qe/test-generation/index.js +97 -0
  373. package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
  374. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
  375. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
  376. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
  377. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
  378. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
  379. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
  380. package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
  381. package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
  382. package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
  383. package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
  384. package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
  385. package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
  386. package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
  387. package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
  388. package/dist/mcp/tools/qe/visual/index.js +22 -0
  389. package/dist/mcp/tools/qe/visual/index.js.map +1 -0
  390. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
  391. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
  392. package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
  393. package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
  394. package/dist/mcp/tools.d.ts +44 -0
  395. package/dist/mcp/tools.d.ts.map +1 -1
  396. package/dist/mcp/tools.js +1980 -1
  397. package/dist/mcp/tools.js.map +1 -1
  398. package/package.json +2 -2
  399. package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
  400. package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
  401. package/dist/learning/__mocks__/LearningEngine.js +0 -116
  402. package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
  403. package/dist/utils/__mocks__/Database.d.ts +0 -85
  404. package/dist/utils/__mocks__/Database.d.ts.map +0 -1
  405. package/dist/utils/__mocks__/Database.js +0 -125
  406. package/dist/utils/__mocks__/Database.js.map +0 -1
  407. package/dist/utils/__mocks__/Logger.d.ts +0 -26
  408. package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
  409. package/dist/utils/__mocks__/Logger.js +0 -44
  410. package/dist/utils/__mocks__/Logger.js.map +0 -1
@@ -0,0 +1,483 @@
1
+ "use strict";
2
+ /**
3
+ * Generate Unit Tests Tool
4
+ * AI-powered unit test generation with pattern recognition and sublinear optimization
5
+ *
6
+ * @module tools/qe/test-generation/generate-unit-tests
7
+ * @version 1.0.0
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.generateUnitTests = generateUnitTests;
11
+ const SecureRandom_js_1 = require("../../../../utils/SecureRandom.js");
12
+ /**
13
+ * Analyze source code for test generation
14
+ */
15
+ function analyzeSourceCode(params) {
16
+ const { sourceCode, targetClass, targetFunction } = params;
17
+ // Extract functions from source
18
+ const functions = extractFunctions(sourceCode.repositoryUrl, targetClass, targetFunction);
19
+ // Detect code patterns
20
+ const patterns = detectCodePatterns(sourceCode.repositoryUrl);
21
+ // Calculate complexity
22
+ const complexity = calculateComplexity(sourceCode.repositoryUrl);
23
+ // Extract dependencies
24
+ const dependencies = extractDependencies(sourceCode.repositoryUrl);
25
+ // Identify risk areas
26
+ const riskAreas = identifyRiskAreas(functions, complexity);
27
+ // Find mockable interfaces
28
+ const mockableInterfaces = params.generateMocks
29
+ ? identifyMockableInterfaces(dependencies)
30
+ : [];
31
+ return {
32
+ functions,
33
+ patterns,
34
+ complexity,
35
+ dependencies,
36
+ riskAreas,
37
+ mockableInterfaces
38
+ };
39
+ }
40
+ /**
41
+ * Extract functions from source code
42
+ */
43
+ function extractFunctions(sourceCode, targetClass, targetFunction) {
44
+ const functions = [];
45
+ // Function extraction regex patterns
46
+ const functionPattern = /(?:async\s+)?function\s+(\w+)\s*\(([^)]*)\)/g;
47
+ const arrowPattern = /(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s+)?\(([^)]*)\)\s*=>/g;
48
+ const methodPattern = /(?:async\s+)?(\w+)\s*\(([^)]*)\)\s*{/g;
49
+ // Extract traditional functions
50
+ let match;
51
+ while ((match = functionPattern.exec(sourceCode)) !== null) {
52
+ const name = match[1];
53
+ if (targetFunction && name !== targetFunction)
54
+ continue;
55
+ functions.push(createFunctionInfo(name, match[2], match.index, false));
56
+ }
57
+ // Extract arrow functions
58
+ while ((match = arrowPattern.exec(sourceCode)) !== null) {
59
+ const name = match[1];
60
+ if (targetFunction && name !== targetFunction)
61
+ continue;
62
+ functions.push(createFunctionInfo(name, match[2], match.index, false));
63
+ }
64
+ // Extract class methods
65
+ if (targetClass || !targetFunction) {
66
+ while ((match = methodPattern.exec(sourceCode)) !== null) {
67
+ const name = match[1];
68
+ if (targetFunction && name !== targetFunction)
69
+ continue;
70
+ functions.push(createFunctionInfo(name, match[2], match.index, false));
71
+ }
72
+ }
73
+ return functions;
74
+ }
75
+ /**
76
+ * Create function info object
77
+ */
78
+ function createFunctionInfo(name, paramsStr, lineIndex, isAsync) {
79
+ const parameters = paramsStr
80
+ .split(',')
81
+ .filter(p => p.trim())
82
+ .map(param => {
83
+ const trimmed = param.trim();
84
+ const [paramName, paramType] = trimmed.split(':').map(s => s.trim());
85
+ const optional = paramName.includes('?');
86
+ return {
87
+ name: paramName.replace('?', ''),
88
+ type: paramType || 'any',
89
+ optional
90
+ };
91
+ });
92
+ return {
93
+ name,
94
+ parameters,
95
+ returnType: 'unknown',
96
+ complexity: Math.max(1, parameters.length),
97
+ isAsync,
98
+ lineRange: { start: lineIndex, end: lineIndex + 10 }
99
+ };
100
+ }
101
+ /**
102
+ * Detect code patterns
103
+ */
104
+ function detectCodePatterns(sourceCode) {
105
+ const patterns = [];
106
+ if (sourceCode.includes('class '))
107
+ patterns.push('oop');
108
+ if (sourceCode.includes('function') || sourceCode.includes('const '))
109
+ patterns.push('functional');
110
+ if (sourceCode.includes('async ') || sourceCode.includes('await '))
111
+ patterns.push('async');
112
+ if (sourceCode.includes('Promise'))
113
+ patterns.push('promise');
114
+ if (sourceCode.includes('try') && sourceCode.includes('catch'))
115
+ patterns.push('error-handling');
116
+ return patterns;
117
+ }
118
+ /**
119
+ * Calculate code complexity
120
+ */
121
+ function calculateComplexity(sourceCode) {
122
+ const lines = sourceCode.split('\n').length;
123
+ const branches = (sourceCode.match(/if|switch|for|while|\?\?/g) || []).length;
124
+ const nesting = (sourceCode.match(/{\s*{/g) || []).length;
125
+ const cyclomatic = branches + 1;
126
+ const cognitive = branches * 2 + nesting;
127
+ let level;
128
+ if (cyclomatic > 10 || cognitive > 15)
129
+ level = 'high';
130
+ else if (cyclomatic > 5 || cognitive > 7)
131
+ level = 'medium';
132
+ else
133
+ level = 'low';
134
+ return { cyclomatic, cognitive, level };
135
+ }
136
+ /**
137
+ * Extract dependencies from source
138
+ */
139
+ function extractDependencies(sourceCode) {
140
+ const dependencies = [];
141
+ const importPattern = /import.*from\s+['"](.+)['"]/g;
142
+ let match;
143
+ while ((match = importPattern.exec(sourceCode)) !== null) {
144
+ dependencies.push(match[1]);
145
+ }
146
+ return dependencies;
147
+ }
148
+ /**
149
+ * Identify risk areas needing thorough testing
150
+ */
151
+ function identifyRiskAreas(functions, complexity) {
152
+ const risks = [];
153
+ if (complexity.cyclomatic > 10)
154
+ risks.push('high-complexity');
155
+ if (complexity.cognitive > 15)
156
+ risks.push('high-cognitive-load');
157
+ if (functions.some(f => f.isAsync))
158
+ risks.push('async-operations');
159
+ if (functions.some(f => f.parameters.length > 5))
160
+ risks.push('many-parameters');
161
+ return risks;
162
+ }
163
+ /**
164
+ * Identify interfaces that can be mocked
165
+ */
166
+ function identifyMockableInterfaces(dependencies) {
167
+ return dependencies.filter(dep => !dep.startsWith('.') && !dep.startsWith('node:'));
168
+ }
169
+ /**
170
+ * Generate unit tests for a function
171
+ */
172
+ function generateTestsForFunction(func, framework, params, analysis) {
173
+ const tests = [];
174
+ // Calculate number of tests based on complexity
175
+ const testCount = Math.min(Math.max(2, func.complexity * 2), 10);
176
+ // Generate happy path test
177
+ tests.push(generateHappyPathTest(func, framework, params));
178
+ // Generate edge case tests if enabled
179
+ if (params.includeEdgeCases) {
180
+ tests.push(...generateEdgeCaseTests(func, framework, params, testCount - 1));
181
+ }
182
+ // Generate error handling tests
183
+ if (analysis.patterns.includes('error-handling')) {
184
+ tests.push(generateErrorHandlingTest(func, framework, params));
185
+ }
186
+ // Generate async tests if function is async
187
+ if (func.isAsync) {
188
+ tests.push(generateAsyncTest(func, framework, params));
189
+ }
190
+ return tests.slice(0, testCount);
191
+ }
192
+ /**
193
+ * Generate happy path test
194
+ */
195
+ function generateHappyPathTest(func, framework, params) {
196
+ const testCode = generateTestCode(func, framework, 'happy-path', params);
197
+ return {
198
+ id: `test-${func.name}-happy-${SecureRandom_js_1.SecureRandom.generateId(5)}`,
199
+ name: `test_${func.name}_happy_path`,
200
+ code: testCode,
201
+ assertions: [`expect(result).toBeDefined()`],
202
+ expectedResult: 'success',
203
+ estimatedDuration: 100,
204
+ priority: 'high',
205
+ coverageContribution: 0.3,
206
+ confidence: 0.95,
207
+ patterns: ['arrange-act-assert']
208
+ };
209
+ }
210
+ /**
211
+ * Generate edge case tests
212
+ */
213
+ function generateEdgeCaseTests(func, framework, params, count) {
214
+ const tests = [];
215
+ const edgeCases = ['null', 'undefined', 'empty', 'boundary'];
216
+ for (let i = 0; i < Math.min(count, edgeCases.length); i++) {
217
+ const edgeCase = edgeCases[i];
218
+ const testCode = generateTestCode(func, framework, edgeCase, params);
219
+ tests.push({
220
+ id: `test-${func.name}-edge-${edgeCase}-${SecureRandom_js_1.SecureRandom.generateId(5)}`,
221
+ name: `test_${func.name}_${edgeCase}_case`,
222
+ code: testCode,
223
+ assertions: [`expect(() => ${func.name}(${edgeCase})).not.toThrow()`],
224
+ expectedResult: 'handled',
225
+ estimatedDuration: 150,
226
+ priority: 'medium',
227
+ coverageContribution: 0.2,
228
+ confidence: 0.85,
229
+ patterns: ['arrange-act-assert', 'builder']
230
+ });
231
+ }
232
+ return tests;
233
+ }
234
+ /**
235
+ * Generate error handling test
236
+ */
237
+ function generateErrorHandlingTest(func, framework, params) {
238
+ const testCode = generateTestCode(func, framework, 'error', params);
239
+ return {
240
+ id: `test-${func.name}-error-${SecureRandom_js_1.SecureRandom.generateId(5)}`,
241
+ name: `test_${func.name}_error_handling`,
242
+ code: testCode,
243
+ assertions: [`expect(() => ${func.name}(invalidInput)).toThrow()`],
244
+ expectedResult: 'error-thrown',
245
+ estimatedDuration: 120,
246
+ priority: 'high',
247
+ coverageContribution: 0.25,
248
+ confidence: 0.90,
249
+ patterns: ['arrange-act-assert']
250
+ };
251
+ }
252
+ /**
253
+ * Generate async test
254
+ */
255
+ function generateAsyncTest(func, framework, params) {
256
+ const testCode = generateTestCode(func, framework, 'async', params);
257
+ return {
258
+ id: `test-${func.name}-async-${SecureRandom_js_1.SecureRandom.generateId(5)}`,
259
+ name: `test_${func.name}_async_operation`,
260
+ code: testCode,
261
+ assertions: [`await expect(${func.name}()).resolves.toBeDefined()`],
262
+ expectedResult: 'promise-resolved',
263
+ estimatedDuration: 200,
264
+ priority: 'high',
265
+ coverageContribution: 0.3,
266
+ confidence: 0.88,
267
+ patterns: ['arrange-act-assert']
268
+ };
269
+ }
270
+ /**
271
+ * Generate test code based on framework
272
+ */
273
+ function generateTestCode(func, framework, testType, params) {
274
+ const pattern = params.testPatterns[0] || 'arrange-act-assert';
275
+ switch (framework) {
276
+ case 'jest':
277
+ return generateJestTest(func, testType, pattern);
278
+ case 'mocha':
279
+ return generateMochaTest(func, testType, pattern);
280
+ case 'pytest':
281
+ return generatePytestTest(func, testType, pattern);
282
+ default:
283
+ return generateGenericTest(func, testType, pattern);
284
+ }
285
+ }
286
+ /**
287
+ * Generate Jest test code
288
+ */
289
+ function generateJestTest(func, testType, pattern) {
290
+ const paramValues = func.parameters.map(p => {
291
+ if (testType === 'null')
292
+ return 'null';
293
+ if (testType === 'undefined')
294
+ return 'undefined';
295
+ if (testType === 'empty')
296
+ return p.type.includes('string') ? '""' : '[]';
297
+ return `mockParam_${p.name}`;
298
+ }).join(', ');
299
+ const asyncKeyword = func.isAsync ? 'async ' : '';
300
+ const awaitKeyword = func.isAsync ? 'await ' : '';
301
+ if (pattern === 'given-when-then') {
302
+ return `test('${func.name} - ${testType}', ${asyncKeyword}() => {
303
+ // Given
304
+ ${func.parameters.map(p => `const ${p.name} = ${paramValues};`).join('\n ')}
305
+
306
+ // When
307
+ const result = ${awaitKeyword}${func.name}(${paramValues});
308
+
309
+ // Then
310
+ expect(result).toBeDefined();
311
+ });`;
312
+ }
313
+ return `test('${func.name} - ${testType}', ${asyncKeyword}() => {
314
+ // Arrange
315
+ ${func.parameters.map(p => `const ${p.name} = ${paramValues};`).join('\n ')}
316
+
317
+ // Act
318
+ const result = ${awaitKeyword}${func.name}(${paramValues});
319
+
320
+ // Assert
321
+ expect(result).toBeDefined();
322
+ });`;
323
+ }
324
+ /**
325
+ * Generate Mocha test code
326
+ */
327
+ function generateMochaTest(func, testType, pattern) {
328
+ return `it('should handle ${testType} case', () => {
329
+ const result = ${func.name}();
330
+ expect(result).to.be.ok;
331
+ });`;
332
+ }
333
+ /**
334
+ * Generate Pytest test code
335
+ */
336
+ function generatePytestTest(func, testType, pattern) {
337
+ return `def test_${func.name}_${testType}():
338
+ result = ${func.name}()
339
+ assert result is not None`;
340
+ }
341
+ /**
342
+ * Generate generic test code
343
+ */
344
+ function generateGenericTest(func, testType, pattern) {
345
+ return `// Test: ${func.name} - ${testType}\n// Pattern: ${pattern}\n// TODO: Implement test`;
346
+ }
347
+ /**
348
+ * Generate mock implementations
349
+ */
350
+ function generateMocks(mockableInterfaces, framework) {
351
+ return mockableInterfaces.map(interfaceName => ({
352
+ name: `Mock${interfaceName}`,
353
+ code: generateMockCode(interfaceName, framework),
354
+ dependencies: [interfaceName]
355
+ }));
356
+ }
357
+ /**
358
+ * Generate mock code
359
+ */
360
+ function generateMockCode(interfaceName, framework) {
361
+ if (framework === 'jest') {
362
+ return `const mock${interfaceName} = {
363
+ // Auto-generated mock for ${interfaceName}
364
+ mockMethod: jest.fn(),
365
+ mockProperty: 'test-value'
366
+ };`;
367
+ }
368
+ return `// Mock for ${interfaceName}\nconst mock = {};`;
369
+ }
370
+ /**
371
+ * Calculate quality scores
372
+ */
373
+ function calculateQualityScores(tests) {
374
+ const uniquePatterns = new Set(tests.flatMap(t => t.patterns)).size;
375
+ const diversity = Math.min(uniquePatterns / 5, 1.0);
376
+ const edgeCaseTests = tests.filter(t => t.name.includes('edge') || t.name.includes('error'));
377
+ const edgeCases = tests.length > 0 ? edgeCaseTests.length / tests.length : 0;
378
+ const avgConfidence = tests.reduce((sum, t) => sum + t.confidence, 0) / tests.length;
379
+ const mockQuality = avgConfidence;
380
+ const overall = (diversity + edgeCases + mockQuality) / 3;
381
+ return { diversity, edgeCases, mockQuality, overall };
382
+ }
383
+ /**
384
+ * Generate recommendations
385
+ */
386
+ function generateRecommendations(analysis, tests, params) {
387
+ const recommendations = [];
388
+ if (analysis.complexity.level === 'high') {
389
+ recommendations.push('High complexity detected - consider refactoring before testing');
390
+ }
391
+ if (tests.length < analysis.functions.length * 2) {
392
+ recommendations.push('Consider adding more test cases for better coverage');
393
+ }
394
+ if (!params.generateMocks && analysis.dependencies.length > 0) {
395
+ recommendations.push('Enable mock generation for better isolation');
396
+ }
397
+ if (!params.includeEdgeCases) {
398
+ recommendations.push('Enable edge case testing for robustness');
399
+ }
400
+ if (analysis.riskAreas.includes('async-operations')) {
401
+ recommendations.push('Add timeout and error handling tests for async operations');
402
+ }
403
+ return recommendations;
404
+ }
405
+ /**
406
+ * Generate unit tests for source code
407
+ *
408
+ * @param params - Unit test generation parameters
409
+ * @returns Tool response with generated tests and metrics
410
+ */
411
+ async function generateUnitTests(params) {
412
+ const startTime = Date.now();
413
+ const requestId = `unit-gen-${Date.now()}-${SecureRandom_js_1.SecureRandom.generateId(8)}`;
414
+ try {
415
+ // Analyze source code
416
+ const analysis = analyzeSourceCode(params);
417
+ // Generate tests for each function
418
+ const allTests = [];
419
+ for (const func of analysis.functions) {
420
+ const funcTests = generateTestsForFunction(func, params.framework, params, analysis);
421
+ allTests.push(...funcTests);
422
+ }
423
+ // Generate mocks if requested
424
+ const mocks = params.generateMocks
425
+ ? generateMocks(analysis.mockableInterfaces, params.framework)
426
+ : undefined;
427
+ // Calculate quality scores
428
+ const quality = calculateQualityScores(allTests);
429
+ // Calculate projected coverage
430
+ const projectedCoverage = Math.min(params.coverageTarget, allTests.reduce((sum, t) => sum + t.coverageContribution, 0) * 100);
431
+ // Count patterns applied
432
+ const patternsApplied = new Set(allTests.flatMap(t => t.patterns)).size;
433
+ // Calculate AI enhancement ratio
434
+ const aiEnhancementRatio = allTests.filter(t => t.confidence > 0.85).length / allTests.length;
435
+ // Generate recommendations
436
+ const recommendations = generateRecommendations(analysis, allTests, params);
437
+ const executionTime = Date.now() - startTime;
438
+ const metadata = {
439
+ requestId,
440
+ timestamp: new Date().toISOString(),
441
+ executionTime,
442
+ agent: 'unit-test-generator',
443
+ version: '1.0.0'
444
+ };
445
+ return {
446
+ success: true,
447
+ data: {
448
+ tests: allTests,
449
+ metrics: {
450
+ testsGenerated: allTests.length,
451
+ generationTime: executionTime,
452
+ projectedCoverage,
453
+ patternsApplied,
454
+ aiEnhancementRatio
455
+ },
456
+ quality,
457
+ mocks,
458
+ recommendations
459
+ },
460
+ metadata
461
+ };
462
+ }
463
+ catch (error) {
464
+ const qeError = {
465
+ code: 'UNIT_TEST_GENERATION_FAILED',
466
+ message: error instanceof Error ? error.message : 'Unknown error during unit test generation',
467
+ details: { params },
468
+ stack: error instanceof Error ? error.stack : undefined
469
+ };
470
+ return {
471
+ success: false,
472
+ error: qeError,
473
+ metadata: {
474
+ requestId,
475
+ timestamp: new Date().toISOString(),
476
+ executionTime: Date.now() - startTime,
477
+ agent: 'unit-test-generator',
478
+ version: '1.0.0'
479
+ }
480
+ };
481
+ }
482
+ }
483
+ //# sourceMappingURL=generate-unit-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-unit-tests.js","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/test-generation/generate-unit-tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Test Generation Domain Tools
3
+ *
4
+ * Comprehensive test generation tools for unit, integration, and E2E testing
5
+ * with AI-powered analysis, sublinear optimization, and quality metrics.
6
+ *
7
+ * @module tools/qe/test-generation
8
+ * @version 1.0.0
9
+ */
10
+ export { generateUnitTests, type GeneratedUnitTest, type UnitTestGenerationResult } from './generate-unit-tests';
11
+ export { generateIntegrationTests, type GeneratedIntegrationTest, type IntegrationTestGenerationResult } from './generate-integration-tests';
12
+ export { optimizeTestSuite, type TestSuiteOptimizationParams, type TestInput, type OptimizedTest, type TestSuiteOptimizationResult } from './optimize-test-suite';
13
+ export { analyzeTestQuality, type TestQualityAnalysisParams, type TestQualityInput, type TestQualityAnalysisResult } from './analyze-test-quality';
14
+ import { generateUnitTests } from './generate-unit-tests';
15
+ import { generateIntegrationTests } from './generate-integration-tests';
16
+ import { optimizeTestSuite } from './optimize-test-suite';
17
+ import { analyzeTestQuality } from './analyze-test-quality';
18
+ /**
19
+ * Test Generation Tools API
20
+ * Consolidated interface for all test generation operations
21
+ */
22
+ export declare const TestGenerationTools: {
23
+ readonly generateUnitTests: typeof generateUnitTests;
24
+ readonly generateIntegrationTests: typeof generateIntegrationTests;
25
+ readonly optimizeTestSuite: typeof optimizeTestSuite;
26
+ readonly analyzeTestQuality: typeof analyzeTestQuality;
27
+ };
28
+ /**
29
+ * Tool metadata
30
+ */
31
+ export declare const TestGenerationMetadata: {
32
+ readonly domain: "test-generation";
33
+ readonly version: "1.0.0";
34
+ readonly tools: readonly [{
35
+ readonly name: "generateUnitTests";
36
+ readonly description: "AI-powered unit test generation with pattern recognition";
37
+ readonly complexity: "O(n·log n)";
38
+ readonly features: readonly ["AST-based code analysis", "Pattern-based test generation", "Mock generation", "Edge case coverage", "Multi-framework support"];
39
+ }, {
40
+ readonly name: "generateIntegrationTests";
41
+ readonly description: "Integration test generation with dependency mocking and contract testing";
42
+ readonly complexity: "O(n·m)";
43
+ readonly features: readonly ["Dependency analysis", "Contract test generation", "Mock strategies (full/partial/none)", "Integration point detection", "Multi-framework support"];
44
+ }, {
45
+ readonly name: "optimizeTestSuite";
46
+ readonly description: "Sublinear test suite optimization with Johnson-Lindenstrauss";
47
+ readonly complexity: "O(log n / ε²)";
48
+ readonly features: readonly ["Johnson-Lindenstrauss dimension reduction", "Temporal advantage prediction", "Redundancy detection", "Critical test preservation", "Coverage maintenance"];
49
+ }, {
50
+ readonly name: "analyzeTestQuality";
51
+ readonly description: "Comprehensive test quality analysis with metrics and recommendations";
52
+ readonly complexity: "O(n)";
53
+ readonly features: readonly ["Pattern detection", "Anti-pattern detection", "Maintainability analysis", "Detailed test scoring", "Actionable recommendations"];
54
+ }];
55
+ };
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/test-generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACrC,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EACL,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,2BAA2B,EACjC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAqDzB,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Test Generation Domain Tools
4
+ *
5
+ * Comprehensive test generation tools for unit, integration, and E2E testing
6
+ * with AI-powered analysis, sublinear optimization, and quality metrics.
7
+ *
8
+ * @module tools/qe/test-generation
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TestGenerationMetadata = exports.TestGenerationTools = exports.analyzeTestQuality = exports.optimizeTestSuite = exports.generateIntegrationTests = exports.generateUnitTests = void 0;
13
+ // Unit test generation
14
+ var generate_unit_tests_1 = require("./generate-unit-tests");
15
+ Object.defineProperty(exports, "generateUnitTests", { enumerable: true, get: function () { return generate_unit_tests_1.generateUnitTests; } });
16
+ // Integration test generation
17
+ var generate_integration_tests_1 = require("./generate-integration-tests");
18
+ Object.defineProperty(exports, "generateIntegrationTests", { enumerable: true, get: function () { return generate_integration_tests_1.generateIntegrationTests; } });
19
+ // Test suite optimization
20
+ var optimize_test_suite_1 = require("./optimize-test-suite");
21
+ Object.defineProperty(exports, "optimizeTestSuite", { enumerable: true, get: function () { return optimize_test_suite_1.optimizeTestSuite; } });
22
+ // Test quality analysis
23
+ var analyze_test_quality_1 = require("./analyze-test-quality");
24
+ Object.defineProperty(exports, "analyzeTestQuality", { enumerable: true, get: function () { return analyze_test_quality_1.analyzeTestQuality; } });
25
+ // Re-import for TestGenerationTools object
26
+ const generate_unit_tests_2 = require("./generate-unit-tests");
27
+ const generate_integration_tests_2 = require("./generate-integration-tests");
28
+ const optimize_test_suite_2 = require("./optimize-test-suite");
29
+ const analyze_test_quality_2 = require("./analyze-test-quality");
30
+ /**
31
+ * Test Generation Tools API
32
+ * Consolidated interface for all test generation operations
33
+ */
34
+ exports.TestGenerationTools = {
35
+ generateUnitTests: generate_unit_tests_2.generateUnitTests,
36
+ generateIntegrationTests: generate_integration_tests_2.generateIntegrationTests,
37
+ optimizeTestSuite: optimize_test_suite_2.optimizeTestSuite,
38
+ analyzeTestQuality: analyze_test_quality_2.analyzeTestQuality
39
+ };
40
+ /**
41
+ * Tool metadata
42
+ */
43
+ exports.TestGenerationMetadata = {
44
+ domain: 'test-generation',
45
+ version: '1.0.0',
46
+ tools: [
47
+ {
48
+ name: 'generateUnitTests',
49
+ description: 'AI-powered unit test generation with pattern recognition',
50
+ complexity: 'O(n·log n)',
51
+ features: [
52
+ 'AST-based code analysis',
53
+ 'Pattern-based test generation',
54
+ 'Mock generation',
55
+ 'Edge case coverage',
56
+ 'Multi-framework support'
57
+ ]
58
+ },
59
+ {
60
+ name: 'generateIntegrationTests',
61
+ description: 'Integration test generation with dependency mocking and contract testing',
62
+ complexity: 'O(n·m)',
63
+ features: [
64
+ 'Dependency analysis',
65
+ 'Contract test generation',
66
+ 'Mock strategies (full/partial/none)',
67
+ 'Integration point detection',
68
+ 'Multi-framework support'
69
+ ]
70
+ },
71
+ {
72
+ name: 'optimizeTestSuite',
73
+ description: 'Sublinear test suite optimization with Johnson-Lindenstrauss',
74
+ complexity: 'O(log n / ε²)',
75
+ features: [
76
+ 'Johnson-Lindenstrauss dimension reduction',
77
+ 'Temporal advantage prediction',
78
+ 'Redundancy detection',
79
+ 'Critical test preservation',
80
+ 'Coverage maintenance'
81
+ ]
82
+ },
83
+ {
84
+ name: 'analyzeTestQuality',
85
+ description: 'Comprehensive test quality analysis with metrics and recommendations',
86
+ complexity: 'O(n)',
87
+ features: [
88
+ 'Pattern detection',
89
+ 'Anti-pattern detection',
90
+ 'Maintainability analysis',
91
+ 'Detailed test scoring',
92
+ 'Actionable recommendations'
93
+ ]
94
+ }
95
+ ]
96
+ };
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/tools/qe/test-generation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,uBAAuB;AACvB,6DAI8B;AAH5B,wHAAA,iBAAiB,OAAA;AAKnB,8BAA8B;AAC9B,2EAIqC;AAHnC,sIAAA,wBAAwB,OAAA;AAK1B,0BAA0B;AAC1B,6DAM8B;AAL5B,wHAAA,iBAAiB,OAAA;AAOnB,wBAAwB;AACxB,+DAK+B;AAJ7B,0HAAA,kBAAkB,OAAA;AAMpB,2CAA2C;AAC3C,+DAAyD;AACzD,6EAAuE;AACvE,+DAAyD;AACzD,iEAA2D;AAE3D;;;GAGG;AACU,QAAA,mBAAmB,GAAG;IACjC,iBAAiB,EAAjB,uCAAiB;IACjB,wBAAwB,EAAxB,qDAAwB;IACxB,iBAAiB,EAAjB,uCAAiB;IACjB,kBAAkB,EAAlB,yCAAkB;CACV,CAAC;AAEX;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE;QACL;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,0DAA0D;YACvE,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE;gBACR,yBAAyB;gBACzB,+BAA+B;gBAC/B,iBAAiB;gBACjB,oBAAoB;gBACpB,yBAAyB;aAC1B;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EAAE,0EAA0E;YACvF,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE;gBACR,qBAAqB;gBACrB,0BAA0B;gBAC1B,qCAAqC;gBACrC,6BAA6B;gBAC7B,yBAAyB;aAC1B;SACF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,8DAA8D;YAC3E,UAAU,EAAE,eAAe;YAC3B,QAAQ,EAAE;gBACR,2CAA2C;gBAC3C,+BAA+B;gBAC/B,sBAAsB;gBACtB,4BAA4B;gBAC5B,sBAAsB;aACvB;SACF;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,sEAAsE;YACnF,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE;gBACR,mBAAmB;gBACnB,wBAAwB;gBACxB,0BAA0B;gBAC1B,uBAAuB;gBACvB,4BAA4B;aAC7B;SACF;KACF;CACO,CAAC"}