agentic-qe 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +6 -2
  2. package/package.json +6 -1
  3. package/v3/CHANGELOG.md +88 -0
  4. package/v3/dist/cli/bundle.js +18794 -15534
  5. package/v3/dist/cli/command-registry.d.ts +55 -0
  6. package/v3/dist/cli/command-registry.d.ts.map +1 -0
  7. package/v3/dist/cli/command-registry.js +103 -0
  8. package/v3/dist/cli/command-registry.js.map +1 -0
  9. package/v3/dist/cli/commands/code.d.ts +9 -0
  10. package/v3/dist/cli/commands/code.d.ts.map +1 -0
  11. package/v3/dist/cli/commands/code.js +254 -0
  12. package/v3/dist/cli/commands/code.js.map +1 -0
  13. package/v3/dist/cli/commands/completions.d.ts +8 -0
  14. package/v3/dist/cli/commands/completions.d.ts.map +1 -0
  15. package/v3/dist/cli/commands/completions.js +99 -0
  16. package/v3/dist/cli/commands/completions.js.map +1 -0
  17. package/v3/dist/cli/commands/coverage.d.ts +9 -0
  18. package/v3/dist/cli/commands/coverage.d.ts.map +1 -0
  19. package/v3/dist/cli/commands/coverage.js +208 -0
  20. package/v3/dist/cli/commands/coverage.js.map +1 -0
  21. package/v3/dist/cli/commands/fleet.d.ts +11 -0
  22. package/v3/dist/cli/commands/fleet.d.ts.map +1 -0
  23. package/v3/dist/cli/commands/fleet.js +338 -0
  24. package/v3/dist/cli/commands/fleet.js.map +1 -0
  25. package/v3/dist/cli/commands/migrate.d.ts +9 -0
  26. package/v3/dist/cli/commands/migrate.d.ts.map +1 -0
  27. package/v3/dist/cli/commands/migrate.js +566 -0
  28. package/v3/dist/cli/commands/migrate.js.map +1 -0
  29. package/v3/dist/cli/commands/quality.d.ts +9 -0
  30. package/v3/dist/cli/commands/quality.d.ts.map +1 -0
  31. package/v3/dist/cli/commands/quality.js +40 -0
  32. package/v3/dist/cli/commands/quality.js.map +1 -0
  33. package/v3/dist/cli/commands/security.d.ts +9 -0
  34. package/v3/dist/cli/commands/security.d.ts.map +1 -0
  35. package/v3/dist/cli/commands/security.js +124 -0
  36. package/v3/dist/cli/commands/security.js.map +1 -0
  37. package/v3/dist/cli/commands/sync.d.ts +19 -0
  38. package/v3/dist/cli/commands/sync.d.ts.map +1 -0
  39. package/v3/dist/cli/commands/sync.js +283 -0
  40. package/v3/dist/cli/commands/sync.js.map +1 -0
  41. package/v3/dist/cli/commands/test.d.ts +9 -0
  42. package/v3/dist/cli/commands/test.d.ts.map +1 -0
  43. package/v3/dist/cli/commands/test.js +166 -0
  44. package/v3/dist/cli/commands/test.js.map +1 -0
  45. package/v3/dist/cli/handlers/agent-handler.d.ts +20 -0
  46. package/v3/dist/cli/handlers/agent-handler.d.ts.map +1 -0
  47. package/v3/dist/cli/handlers/agent-handler.js +158 -0
  48. package/v3/dist/cli/handlers/agent-handler.js.map +1 -0
  49. package/v3/dist/cli/handlers/domain-handler.d.ts +20 -0
  50. package/v3/dist/cli/handlers/domain-handler.d.ts.map +1 -0
  51. package/v3/dist/cli/handlers/domain-handler.js +115 -0
  52. package/v3/dist/cli/handlers/domain-handler.js.map +1 -0
  53. package/v3/dist/cli/handlers/index.d.ts +13 -0
  54. package/v3/dist/cli/handlers/index.d.ts.map +1 -0
  55. package/v3/dist/cli/handlers/index.js +15 -0
  56. package/v3/dist/cli/handlers/index.js.map +1 -0
  57. package/v3/dist/cli/handlers/init-handler.d.ts +38 -0
  58. package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -0
  59. package/v3/dist/cli/handlers/init-handler.js +288 -0
  60. package/v3/dist/cli/handlers/init-handler.js.map +1 -0
  61. package/v3/dist/cli/handlers/interfaces.d.ts +104 -0
  62. package/v3/dist/cli/handlers/interfaces.d.ts.map +1 -0
  63. package/v3/dist/cli/handlers/interfaces.js +109 -0
  64. package/v3/dist/cli/handlers/interfaces.js.map +1 -0
  65. package/v3/dist/cli/handlers/protocol-handler.d.ts +19 -0
  66. package/v3/dist/cli/handlers/protocol-handler.d.ts.map +1 -0
  67. package/v3/dist/cli/handlers/protocol-handler.js +79 -0
  68. package/v3/dist/cli/handlers/protocol-handler.js.map +1 -0
  69. package/v3/dist/cli/handlers/status-handler.d.ts +30 -0
  70. package/v3/dist/cli/handlers/status-handler.d.ts.map +1 -0
  71. package/v3/dist/cli/handlers/status-handler.js +218 -0
  72. package/v3/dist/cli/handlers/status-handler.js.map +1 -0
  73. package/v3/dist/cli/handlers/task-handler.d.ts +22 -0
  74. package/v3/dist/cli/handlers/task-handler.d.ts.map +1 -0
  75. package/v3/dist/cli/handlers/task-handler.js +271 -0
  76. package/v3/dist/cli/handlers/task-handler.js.map +1 -0
  77. package/v3/dist/cli/index.d.ts +4 -0
  78. package/v3/dist/cli/index.d.ts.map +1 -1
  79. package/v3/dist/cli/index.js +48 -2677
  80. package/v3/dist/cli/index.js.map +1 -1
  81. package/v3/dist/cli/wizards/core/index.d.ts +11 -0
  82. package/v3/dist/cli/wizards/core/index.d.ts.map +1 -0
  83. package/v3/dist/cli/wizards/core/index.js +15 -0
  84. package/v3/dist/cli/wizards/core/index.js.map +1 -0
  85. package/v3/dist/cli/wizards/core/wizard-base.d.ts +87 -0
  86. package/v3/dist/cli/wizards/core/wizard-base.d.ts.map +1 -0
  87. package/v3/dist/cli/wizards/core/wizard-base.js +120 -0
  88. package/v3/dist/cli/wizards/core/wizard-base.js.map +1 -0
  89. package/v3/dist/cli/wizards/core/wizard-command.d.ts +182 -0
  90. package/v3/dist/cli/wizards/core/wizard-command.d.ts.map +1 -0
  91. package/v3/dist/cli/wizards/core/wizard-command.js +45 -0
  92. package/v3/dist/cli/wizards/core/wizard-command.js.map +1 -0
  93. package/v3/dist/cli/wizards/core/wizard-step.d.ts +109 -0
  94. package/v3/dist/cli/wizards/core/wizard-step.d.ts.map +1 -0
  95. package/v3/dist/cli/wizards/core/wizard-step.js +384 -0
  96. package/v3/dist/cli/wizards/core/wizard-step.js.map +1 -0
  97. package/v3/dist/cli/wizards/core/wizard-utils.d.ts +117 -0
  98. package/v3/dist/cli/wizards/core/wizard-utils.d.ts.map +1 -0
  99. package/v3/dist/cli/wizards/core/wizard-utils.js +291 -0
  100. package/v3/dist/cli/wizards/core/wizard-utils.js.map +1 -0
  101. package/v3/dist/cli/wizards/coverage-wizard.d.ts +13 -68
  102. package/v3/dist/cli/wizards/coverage-wizard.d.ts.map +1 -1
  103. package/v3/dist/cli/wizards/coverage-wizard.js +127 -391
  104. package/v3/dist/cli/wizards/coverage-wizard.js.map +1 -1
  105. package/v3/dist/cli/wizards/fleet-wizard.d.ts +13 -64
  106. package/v3/dist/cli/wizards/fleet-wizard.d.ts.map +1 -1
  107. package/v3/dist/cli/wizards/fleet-wizard.js +150 -363
  108. package/v3/dist/cli/wizards/fleet-wizard.js.map +1 -1
  109. package/v3/dist/cli/wizards/index.d.ts +2 -0
  110. package/v3/dist/cli/wizards/index.d.ts.map +1 -1
  111. package/v3/dist/cli/wizards/index.js +3 -0
  112. package/v3/dist/cli/wizards/index.js.map +1 -1
  113. package/v3/dist/cli/wizards/security-wizard.d.ts +13 -64
  114. package/v3/dist/cli/wizards/security-wizard.d.ts.map +1 -1
  115. package/v3/dist/cli/wizards/security-wizard.js +152 -395
  116. package/v3/dist/cli/wizards/security-wizard.js.map +1 -1
  117. package/v3/dist/cli/wizards/test-wizard.d.ts +13 -77
  118. package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
  119. package/v3/dist/cli/wizards/test-wizard.js +196 -328
  120. package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
  121. package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts +3 -0
  122. package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts.map +1 -1
  123. package/v3/dist/coordination/mincut/mincut-health-monitor.js +6 -2
  124. package/v3/dist/coordination/mincut/mincut-health-monitor.js.map +1 -1
  125. package/v3/dist/coordination/mincut/queen-integration.d.ts +3 -0
  126. package/v3/dist/coordination/mincut/queen-integration.d.ts.map +1 -1
  127. package/v3/dist/coordination/mincut/queen-integration.js +6 -1
  128. package/v3/dist/coordination/mincut/queen-integration.js.map +1 -1
  129. package/v3/dist/coordination/task-executor.js +2 -2
  130. package/v3/dist/coordination/task-executor.js.map +1 -1
  131. package/v3/dist/domains/chaos-resilience/plugin.js +2 -2
  132. package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
  133. package/v3/dist/domains/code-intelligence/plugin.js +2 -2
  134. package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
  135. package/v3/dist/domains/contract-testing/plugin.js +2 -2
  136. package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
  137. package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
  138. package/v3/dist/domains/coverage-analysis/plugin.js +2 -1
  139. package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
  140. package/v3/dist/domains/defect-intelligence/plugin.js +2 -2
  141. package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
  142. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  143. package/v3/dist/domains/domain-interface.js +3 -1
  144. package/v3/dist/domains/domain-interface.js.map +1 -1
  145. package/v3/dist/domains/learning-optimization/plugin.js +2 -2
  146. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  147. package/v3/dist/domains/quality-assessment/plugin.js +2 -2
  148. package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
  149. package/v3/dist/domains/requirements-validation/plugin.js +2 -2
  150. package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
  151. package/v3/dist/domains/security-compliance/plugin.js +2 -2
  152. package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
  153. package/v3/dist/domains/test-execution/index.d.ts +2 -1
  154. package/v3/dist/domains/test-execution/index.d.ts.map +1 -1
  155. package/v3/dist/domains/test-execution/index.js +0 -2
  156. package/v3/dist/domains/test-execution/index.js.map +1 -1
  157. package/v3/dist/domains/test-execution/interfaces.d.ts +222 -25
  158. package/v3/dist/domains/test-execution/interfaces.d.ts.map +1 -1
  159. package/v3/dist/domains/test-execution/interfaces.js +130 -3
  160. package/v3/dist/domains/test-execution/interfaces.js.map +1 -1
  161. package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
  162. package/v3/dist/domains/test-execution/plugin.js +2 -1
  163. package/v3/dist/domains/test-execution/plugin.js.map +1 -1
  164. package/v3/dist/domains/test-execution/test-prioritization-types.d.ts +5 -172
  165. package/v3/dist/domains/test-execution/test-prioritization-types.d.ts.map +1 -1
  166. package/v3/dist/domains/test-execution/test-prioritization-types.js +6 -129
  167. package/v3/dist/domains/test-execution/test-prioritization-types.js.map +1 -1
  168. package/v3/dist/domains/test-execution/types/index.d.ts +7 -3
  169. package/v3/dist/domains/test-execution/types/index.d.ts.map +1 -1
  170. package/v3/dist/domains/test-execution/types/index.js +7 -17
  171. package/v3/dist/domains/test-execution/types/index.js.map +1 -1
  172. package/v3/dist/domains/test-generation/coordinator.d.ts +1 -1
  173. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  174. package/v3/dist/domains/test-generation/coordinator.js +3 -3
  175. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  176. package/v3/dist/domains/test-generation/factories/index.d.ts +8 -0
  177. package/v3/dist/domains/test-generation/factories/index.d.ts.map +1 -0
  178. package/v3/dist/domains/test-generation/factories/index.js +8 -0
  179. package/v3/dist/domains/test-generation/factories/index.js.map +1 -0
  180. package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts +108 -0
  181. package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -0
  182. package/v3/dist/domains/test-generation/factories/test-generator-factory.js +158 -0
  183. package/v3/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -0
  184. package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts +79 -0
  185. package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts.map +1 -0
  186. package/v3/dist/domains/test-generation/generators/base-test-generator.js +252 -0
  187. package/v3/dist/domains/test-generation/generators/base-test-generator.js.map +1 -0
  188. package/v3/dist/domains/test-generation/generators/index.d.ts +11 -0
  189. package/v3/dist/domains/test-generation/generators/index.d.ts.map +1 -0
  190. package/v3/dist/domains/test-generation/generators/index.js +13 -0
  191. package/v3/dist/domains/test-generation/generators/index.js.map +1 -0
  192. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts +77 -0
  193. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts.map +1 -0
  194. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js +365 -0
  195. package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js.map +1 -0
  196. package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts +56 -0
  197. package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts.map +1 -0
  198. package/v3/dist/domains/test-generation/generators/mocha-generator.js +197 -0
  199. package/v3/dist/domains/test-generation/generators/mocha-generator.js.map +1 -0
  200. package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts +66 -0
  201. package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -0
  202. package/v3/dist/domains/test-generation/generators/pytest-generator.js +240 -0
  203. package/v3/dist/domains/test-generation/generators/pytest-generator.js.map +1 -0
  204. package/v3/dist/domains/test-generation/index.d.ts +2 -2
  205. package/v3/dist/domains/test-generation/index.d.ts.map +1 -1
  206. package/v3/dist/domains/test-generation/index.js +3 -3
  207. package/v3/dist/domains/test-generation/index.js.map +1 -1
  208. package/v3/dist/domains/test-generation/interfaces/index.d.ts +9 -0
  209. package/v3/dist/domains/test-generation/interfaces/index.d.ts.map +1 -0
  210. package/v3/dist/domains/test-generation/interfaces/index.js +9 -0
  211. package/v3/dist/domains/test-generation/interfaces/index.js.map +1 -0
  212. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts +166 -0
  213. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts.map +1 -0
  214. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.js +8 -0
  215. package/v3/dist/domains/test-generation/interfaces/test-generator.interface.js.map +1 -0
  216. package/v3/dist/domains/test-generation/interfaces.d.ts +163 -24
  217. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  218. package/v3/dist/domains/test-generation/interfaces.js +2 -2
  219. package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
  220. package/v3/dist/domains/test-generation/plugin.js +6 -5
  221. package/v3/dist/domains/test-generation/plugin.js.map +1 -1
  222. package/v3/dist/domains/test-generation/{coherence-gate.d.ts → services/coherence-gate-service.d.ts} +4 -4
  223. package/v3/dist/domains/test-generation/services/coherence-gate-service.d.ts.map +1 -0
  224. package/v3/dist/domains/test-generation/{coherence-gate.js → services/coherence-gate-service.js} +2 -2
  225. package/v3/dist/domains/test-generation/services/coherence-gate-service.js.map +1 -0
  226. package/v3/dist/domains/test-generation/services/index.d.ts +8 -2
  227. package/v3/dist/domains/test-generation/services/index.d.ts.map +1 -1
  228. package/v3/dist/domains/test-generation/services/index.js +10 -3
  229. package/v3/dist/domains/test-generation/services/index.js.map +1 -1
  230. package/v3/dist/domains/test-generation/services/property-test-generator.d.ts +34 -0
  231. package/v3/dist/domains/test-generation/services/property-test-generator.d.ts.map +1 -0
  232. package/v3/dist/domains/test-generation/services/property-test-generator.js +306 -0
  233. package/v3/dist/domains/test-generation/services/property-test-generator.js.map +1 -0
  234. package/v3/dist/domains/test-generation/services/tdd-generator.d.ts +33 -0
  235. package/v3/dist/domains/test-generation/services/tdd-generator.d.ts.map +1 -0
  236. package/v3/dist/domains/test-generation/services/tdd-generator.js +342 -0
  237. package/v3/dist/domains/test-generation/services/tdd-generator.js.map +1 -0
  238. package/v3/dist/domains/test-generation/services/test-data-generator.d.ts +34 -0
  239. package/v3/dist/domains/test-generation/services/test-data-generator.d.ts.map +1 -0
  240. package/v3/dist/domains/test-generation/services/test-data-generator.js +245 -0
  241. package/v3/dist/domains/test-generation/services/test-data-generator.js.map +1 -0
  242. package/v3/dist/domains/test-generation/services/test-generator.d.ts +51 -160
  243. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  244. package/v3/dist/domains/test-generation/services/test-generator.js +101 -1858
  245. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  246. package/v3/dist/domains/visual-accessibility/plugin.js +2 -2
  247. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  248. package/v3/dist/init/phases/12-verification.d.ts +23 -0
  249. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  250. package/v3/dist/init/phases/12-verification.js +185 -2
  251. package/v3/dist/init/phases/12-verification.js.map +1 -1
  252. package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.d.ts +24 -62
  253. package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.d.ts.map +1 -1
  254. package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +45 -497
  255. package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.js.map +1 -1
  256. package/v3/dist/integrations/agentic-flow/model-router/router.js +2 -2
  257. package/v3/dist/integrations/agentic-flow/model-router/router.js.map +1 -1
  258. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.d.ts +98 -0
  259. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.d.ts.map +1 -0
  260. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js +197 -0
  261. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js.map +1 -0
  262. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts +102 -0
  263. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -0
  264. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +372 -0
  265. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -0
  266. package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.d.ts +64 -0
  267. package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.d.ts.map +1 -0
  268. package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.js +120 -0
  269. package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.js.map +1 -0
  270. package/v3/dist/integrations/coherence/coherence-service.d.ts.map +1 -1
  271. package/v3/dist/integrations/coherence/coherence-service.js +87 -30
  272. package/v3/dist/integrations/coherence/coherence-service.js.map +1 -1
  273. package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts.map +1 -1
  274. package/v3/dist/integrations/coherence/engines/spectral-adapter.js +124 -35
  275. package/v3/dist/integrations/coherence/engines/spectral-adapter.js.map +1 -1
  276. package/v3/dist/learning/memory-auditor.d.ts.map +1 -1
  277. package/v3/dist/learning/memory-auditor.js +3 -1
  278. package/v3/dist/learning/memory-auditor.js.map +1 -1
  279. package/v3/dist/mcp/bundle.js +2475 -1463
  280. package/v3/dist/mcp/security/cve-prevention.d.ts +31 -134
  281. package/v3/dist/mcp/security/cve-prevention.d.ts.map +1 -1
  282. package/v3/dist/mcp/security/cve-prevention.js +37 -562
  283. package/v3/dist/mcp/security/cve-prevention.js.map +1 -1
  284. package/v3/dist/mcp/security/index.d.ts +5 -1
  285. package/v3/dist/mcp/security/index.d.ts.map +1 -1
  286. package/v3/dist/mcp/security/validators/command-validator.d.ts +41 -0
  287. package/v3/dist/mcp/security/validators/command-validator.d.ts.map +1 -0
  288. package/v3/dist/mcp/security/validators/command-validator.js +123 -0
  289. package/v3/dist/mcp/security/validators/command-validator.js.map +1 -0
  290. package/v3/dist/mcp/security/validators/crypto-validator.d.ts +40 -0
  291. package/v3/dist/mcp/security/validators/crypto-validator.d.ts.map +1 -0
  292. package/v3/dist/mcp/security/validators/crypto-validator.js +72 -0
  293. package/v3/dist/mcp/security/validators/crypto-validator.js.map +1 -0
  294. package/v3/dist/mcp/security/validators/index.d.ts +12 -0
  295. package/v3/dist/mcp/security/validators/index.d.ts.map +1 -0
  296. package/v3/dist/mcp/security/validators/index.js +22 -0
  297. package/v3/dist/mcp/security/validators/index.js.map +1 -0
  298. package/v3/dist/mcp/security/validators/input-sanitizer.d.ts +56 -0
  299. package/v3/dist/mcp/security/validators/input-sanitizer.d.ts.map +1 -0
  300. package/v3/dist/mcp/security/validators/input-sanitizer.js +157 -0
  301. package/v3/dist/mcp/security/validators/input-sanitizer.js.map +1 -0
  302. package/v3/dist/mcp/security/validators/interfaces.d.ts +164 -0
  303. package/v3/dist/mcp/security/validators/interfaces.d.ts.map +1 -0
  304. package/v3/dist/mcp/security/validators/interfaces.js +6 -0
  305. package/v3/dist/mcp/security/validators/interfaces.js.map +1 -0
  306. package/v3/dist/mcp/security/validators/path-traversal-validator.d.ts +50 -0
  307. package/v3/dist/mcp/security/validators/path-traversal-validator.d.ts.map +1 -0
  308. package/v3/dist/mcp/security/validators/path-traversal-validator.js +242 -0
  309. package/v3/dist/mcp/security/validators/path-traversal-validator.js.map +1 -0
  310. package/v3/dist/mcp/security/validators/regex-safety-validator.d.ts +50 -0
  311. package/v3/dist/mcp/security/validators/regex-safety-validator.d.ts.map +1 -0
  312. package/v3/dist/mcp/security/validators/regex-safety-validator.js +183 -0
  313. package/v3/dist/mcp/security/validators/regex-safety-validator.js.map +1 -0
  314. package/v3/dist/mcp/security/validators/validation-orchestrator.d.ts +66 -0
  315. package/v3/dist/mcp/security/validators/validation-orchestrator.d.ts.map +1 -0
  316. package/v3/dist/mcp/security/validators/validation-orchestrator.js +146 -0
  317. package/v3/dist/mcp/security/validators/validation-orchestrator.js.map +1 -0
  318. package/v3/dist/mcp/server.d.ts.map +1 -1
  319. package/v3/dist/mcp/server.js +1 -0
  320. package/v3/dist/mcp/server.js.map +1 -1
  321. package/v3/dist/mcp/tool-registry.d.ts +3 -1
  322. package/v3/dist/mcp/tool-registry.d.ts.map +1 -1
  323. package/v3/dist/mcp/tool-registry.js +155 -2
  324. package/v3/dist/mcp/tool-registry.js.map +1 -1
  325. package/v3/dist/mcp/tools/test-generation/generate.d.ts +1 -0
  326. package/v3/dist/mcp/tools/test-generation/generate.d.ts.map +1 -1
  327. package/v3/dist/mcp/tools/test-generation/generate.js +3 -2
  328. package/v3/dist/mcp/tools/test-generation/generate.js.map +1 -1
  329. package/v3/dist/sync/cloud/index.d.ts +8 -0
  330. package/v3/dist/sync/cloud/index.d.ts.map +1 -0
  331. package/v3/dist/sync/cloud/index.js +8 -0
  332. package/v3/dist/sync/cloud/index.js.map +1 -0
  333. package/v3/dist/sync/cloud/postgres-writer.d.ts +88 -0
  334. package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -0
  335. package/v3/dist/sync/cloud/postgres-writer.js +319 -0
  336. package/v3/dist/sync/cloud/postgres-writer.js.map +1 -0
  337. package/v3/dist/sync/cloud/tunnel-manager.d.ts +75 -0
  338. package/v3/dist/sync/cloud/tunnel-manager.d.ts.map +1 -0
  339. package/v3/dist/sync/cloud/tunnel-manager.js +221 -0
  340. package/v3/dist/sync/cloud/tunnel-manager.js.map +1 -0
  341. package/v3/dist/sync/index.d.ts +35 -0
  342. package/v3/dist/sync/index.d.ts.map +1 -0
  343. package/v3/dist/sync/index.js +35 -0
  344. package/v3/dist/sync/index.js.map +1 -0
  345. package/v3/dist/sync/interfaces.d.ts +245 -0
  346. package/v3/dist/sync/interfaces.d.ts.map +1 -0
  347. package/v3/dist/sync/interfaces.js +160 -0
  348. package/v3/dist/sync/interfaces.js.map +1 -0
  349. package/v3/dist/sync/readers/index.d.ts +8 -0
  350. package/v3/dist/sync/readers/index.d.ts.map +1 -0
  351. package/v3/dist/sync/readers/index.js +8 -0
  352. package/v3/dist/sync/readers/index.js.map +1 -0
  353. package/v3/dist/sync/readers/json-reader.d.ts +95 -0
  354. package/v3/dist/sync/readers/json-reader.d.ts.map +1 -0
  355. package/v3/dist/sync/readers/json-reader.js +306 -0
  356. package/v3/dist/sync/readers/json-reader.js.map +1 -0
  357. package/v3/dist/sync/readers/sqlite-reader.d.ts +88 -0
  358. package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -0
  359. package/v3/dist/sync/readers/sqlite-reader.js +255 -0
  360. package/v3/dist/sync/readers/sqlite-reader.js.map +1 -0
  361. package/v3/dist/sync/sync-agent.d.ts +116 -0
  362. package/v3/dist/sync/sync-agent.d.ts.map +1 -0
  363. package/v3/dist/sync/sync-agent.js +416 -0
  364. package/v3/dist/sync/sync-agent.js.map +1 -0
  365. package/v3/package.json +13 -2
  366. package/v3/dist/domains/test-generation/coherence-gate.d.ts.map +0 -1
  367. package/v3/dist/domains/test-generation/coherence-gate.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Agentic QE v3 - Test Generator Factory
3
+ * Factory for creating framework-specific test generators
4
+ *
5
+ * Implements the Abstract Factory pattern to provide a unified interface
6
+ * for obtaining the correct test generator based on the target framework.
7
+ *
8
+ * @module test-generation/factories
9
+ */
10
+ import type { ITestGenerator, ITestGeneratorFactory, TestFramework } from '../interfaces';
11
+ /**
12
+ * TestGeneratorFactory - Factory for creating test generators
13
+ *
14
+ * Provides a clean interface for obtaining the appropriate test generator
15
+ * based on the target framework, with caching for performance.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const factory = new TestGeneratorFactory();
20
+ *
21
+ * // Get a generator for vitest
22
+ * const vitestGen = factory.create('vitest');
23
+ *
24
+ * // Get a generator for pytest
25
+ * const pytestGen = factory.create('pytest');
26
+ *
27
+ * // Check if a framework is supported
28
+ * if (factory.supports('jest')) {
29
+ * const jestGen = factory.create('jest');
30
+ * }
31
+ * ```
32
+ */
33
+ export declare class TestGeneratorFactory implements ITestGeneratorFactory {
34
+ /**
35
+ * Cache of created generators for reuse
36
+ */
37
+ private readonly cache;
38
+ /**
39
+ * Create a test generator for the specified framework
40
+ *
41
+ * @param framework - Target test framework
42
+ * @returns Test generator instance
43
+ * @throws Error if framework is not supported
44
+ */
45
+ create(framework: TestFramework): ITestGenerator;
46
+ /**
47
+ * Check if a framework is supported
48
+ *
49
+ * @param framework - Framework to check
50
+ * @returns True if supported, with type narrowing
51
+ */
52
+ supports(framework: string): framework is TestFramework;
53
+ /**
54
+ * Get the default framework
55
+ *
56
+ * @returns Default test framework (vitest)
57
+ */
58
+ getDefault(): TestFramework;
59
+ /**
60
+ * Get all supported frameworks
61
+ *
62
+ * @returns Array of supported framework names
63
+ */
64
+ getSupportedFrameworks(): TestFramework[];
65
+ /**
66
+ * Create a generator instance for the framework
67
+ */
68
+ private createGenerator;
69
+ /**
70
+ * Clear the generator cache
71
+ * Useful for testing or when memory needs to be freed
72
+ */
73
+ clearCache(): void;
74
+ }
75
+ /**
76
+ * Singleton factory instance for convenience
77
+ * Most applications can use this shared instance
78
+ */
79
+ export declare const testGeneratorFactory: TestGeneratorFactory;
80
+ /**
81
+ * Convenience function to create a generator
82
+ *
83
+ * @param framework - Target test framework (defaults to vitest)
84
+ * @returns Test generator instance
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const generator = createTestGenerator('jest');
89
+ * const testCode = generator.generateTests(context);
90
+ * ```
91
+ */
92
+ export declare function createTestGenerator(framework?: TestFramework): ITestGenerator;
93
+ /**
94
+ * Type guard for checking framework support
95
+ *
96
+ * @param framework - Framework string to check
97
+ * @returns True if the framework is supported
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * const userInput = 'jest';
102
+ * if (isValidTestFramework(userInput)) {
103
+ * const generator = createTestGenerator(userInput);
104
+ * }
105
+ * ```
106
+ */
107
+ export declare function isValidTestFramework(framework: string): framework is TestFramework;
108
+ //# sourceMappingURL=test-generator-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator-factory.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/factories/test-generator-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACd,MAAM,eAAe,CAAC;AAsBvB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4C;IAElE;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc;IAahD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,aAAa;IAIvD;;;;OAIG;IACH,UAAU,IAAI,aAAa;IAI3B;;;;OAIG;IACH,sBAAsB,IAAI,aAAa,EAAE;IAIzC;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;IACH,UAAU,IAAI,IAAI;CAGnB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAE7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,aAAa,CAElF"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Agentic QE v3 - Test Generator Factory
3
+ * Factory for creating framework-specific test generators
4
+ *
5
+ * Implements the Abstract Factory pattern to provide a unified interface
6
+ * for obtaining the correct test generator based on the target framework.
7
+ *
8
+ * @module test-generation/factories
9
+ */
10
+ import { JestVitestGenerator, MochaGenerator, PytestGenerator, } from '../generators';
11
+ /**
12
+ * Supported test frameworks
13
+ */
14
+ const SUPPORTED_FRAMEWORKS = [
15
+ 'jest',
16
+ 'vitest',
17
+ 'mocha',
18
+ 'pytest',
19
+ ];
20
+ /**
21
+ * Default framework when none is specified
22
+ */
23
+ const DEFAULT_FRAMEWORK = 'vitest';
24
+ /**
25
+ * TestGeneratorFactory - Factory for creating test generators
26
+ *
27
+ * Provides a clean interface for obtaining the appropriate test generator
28
+ * based on the target framework, with caching for performance.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const factory = new TestGeneratorFactory();
33
+ *
34
+ * // Get a generator for vitest
35
+ * const vitestGen = factory.create('vitest');
36
+ *
37
+ * // Get a generator for pytest
38
+ * const pytestGen = factory.create('pytest');
39
+ *
40
+ * // Check if a framework is supported
41
+ * if (factory.supports('jest')) {
42
+ * const jestGen = factory.create('jest');
43
+ * }
44
+ * ```
45
+ */
46
+ export class TestGeneratorFactory {
47
+ /**
48
+ * Cache of created generators for reuse
49
+ */
50
+ cache = new Map();
51
+ /**
52
+ * Create a test generator for the specified framework
53
+ *
54
+ * @param framework - Target test framework
55
+ * @returns Test generator instance
56
+ * @throws Error if framework is not supported
57
+ */
58
+ create(framework) {
59
+ // Check cache first
60
+ const cached = this.cache.get(framework);
61
+ if (cached) {
62
+ return cached;
63
+ }
64
+ // Create new generator
65
+ const generator = this.createGenerator(framework);
66
+ this.cache.set(framework, generator);
67
+ return generator;
68
+ }
69
+ /**
70
+ * Check if a framework is supported
71
+ *
72
+ * @param framework - Framework to check
73
+ * @returns True if supported, with type narrowing
74
+ */
75
+ supports(framework) {
76
+ return SUPPORTED_FRAMEWORKS.includes(framework);
77
+ }
78
+ /**
79
+ * Get the default framework
80
+ *
81
+ * @returns Default test framework (vitest)
82
+ */
83
+ getDefault() {
84
+ return DEFAULT_FRAMEWORK;
85
+ }
86
+ /**
87
+ * Get all supported frameworks
88
+ *
89
+ * @returns Array of supported framework names
90
+ */
91
+ getSupportedFrameworks() {
92
+ return [...SUPPORTED_FRAMEWORKS];
93
+ }
94
+ /**
95
+ * Create a generator instance for the framework
96
+ */
97
+ createGenerator(framework) {
98
+ switch (framework) {
99
+ case 'jest':
100
+ return new JestVitestGenerator('jest');
101
+ case 'vitest':
102
+ return new JestVitestGenerator('vitest');
103
+ case 'mocha':
104
+ return new MochaGenerator();
105
+ case 'pytest':
106
+ return new PytestGenerator();
107
+ default:
108
+ // This should never happen due to type constraints,
109
+ // but provides a fallback for runtime safety
110
+ throw new Error(`Unsupported test framework: ${framework}`);
111
+ }
112
+ }
113
+ /**
114
+ * Clear the generator cache
115
+ * Useful for testing or when memory needs to be freed
116
+ */
117
+ clearCache() {
118
+ this.cache.clear();
119
+ }
120
+ }
121
+ /**
122
+ * Singleton factory instance for convenience
123
+ * Most applications can use this shared instance
124
+ */
125
+ export const testGeneratorFactory = new TestGeneratorFactory();
126
+ /**
127
+ * Convenience function to create a generator
128
+ *
129
+ * @param framework - Target test framework (defaults to vitest)
130
+ * @returns Test generator instance
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const generator = createTestGenerator('jest');
135
+ * const testCode = generator.generateTests(context);
136
+ * ```
137
+ */
138
+ export function createTestGenerator(framework) {
139
+ return testGeneratorFactory.create(framework ?? DEFAULT_FRAMEWORK);
140
+ }
141
+ /**
142
+ * Type guard for checking framework support
143
+ *
144
+ * @param framework - Framework string to check
145
+ * @returns True if the framework is supported
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const userInput = 'jest';
150
+ * if (isValidTestFramework(userInput)) {
151
+ * const generator = createTestGenerator(userInput);
152
+ * }
153
+ * ```
154
+ */
155
+ export function isValidTestFramework(framework) {
156
+ return testGeneratorFactory.supports(framework);
157
+ }
158
+ //# sourceMappingURL=test-generator-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-generator-factory.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/factories/test-generator-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,oBAAoB,GAA6B;IACrD,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;CACA,CAAC;AAEX;;GAEG;AACH,MAAM,iBAAiB,GAAkB,QAAQ,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;OAEG;IACc,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;IAElE;;;;;;OAMG;IACH,MAAM,CAAC,SAAwB;QAC7B,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAiB;QACxB,OAAO,oBAAoB,CAAC,QAAQ,CAAC,SAA0B,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACpB,OAAO,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAwB;QAC9C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,KAAK,QAAQ;gBACX,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC3C,KAAK,OAAO;gBACV,OAAO,IAAI,cAAc,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,IAAI,eAAe,EAAE,CAAC;YAC/B;gBACE,oDAAoD;gBACpD,6CAA6C;gBAC7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAyB;IAC3D,OAAO,oBAAoB,CAAC,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Agentic QE v3 - Base Test Generator
3
+ * Abstract base class providing shared utilities for all framework-specific generators
4
+ *
5
+ * Implements the Template Method pattern for common test generation logic,
6
+ * while allowing subclasses to override framework-specific details.
7
+ *
8
+ * @module test-generation/generators
9
+ */
10
+ import type { ITestGenerator, TestFramework, TestType, FunctionInfo, ClassInfo, ParameterInfo, TestCase, TestGenerationContext, Pattern } from '../interfaces';
11
+ /**
12
+ * BaseTestGenerator - Abstract base class for test generators
13
+ *
14
+ * Provides common functionality for:
15
+ * - Test value generation based on parameter types
16
+ * - Test case generation from function signatures
17
+ * - Import statement extraction
18
+ * - Helper utilities for naming and formatting
19
+ *
20
+ * Subclasses must implement framework-specific methods:
21
+ * - generateTests()
22
+ * - generateFunctionTests()
23
+ * - generateClassTests()
24
+ * - generateStubTests()
25
+ * - generateCoverageTests()
26
+ */
27
+ export declare abstract class BaseTestGenerator implements ITestGenerator {
28
+ abstract readonly framework: TestFramework;
29
+ abstract generateTests(context: TestGenerationContext): string;
30
+ abstract generateFunctionTests(fn: FunctionInfo, testType: TestType): string;
31
+ abstract generateClassTests(cls: ClassInfo, testType: TestType): string;
32
+ abstract generateStubTests(context: TestGenerationContext): string;
33
+ abstract generateCoverageTests(moduleName: string, importPath: string, lines: number[]): string;
34
+ /**
35
+ * Generate a test value for a parameter based on its type and name
36
+ * Uses @faker-js/faker for realistic test data
37
+ *
38
+ * @param param - Parameter information
39
+ * @returns Generated test value as a string
40
+ */
41
+ protected generateTestValue(param: ParameterInfo): string;
42
+ /**
43
+ * Generate test cases for a function based on its signature
44
+ * Creates happy-path, edge-case, error-handling, and boundary tests
45
+ *
46
+ * @param fn - Function information from AST
47
+ * @returns Array of test cases
48
+ */
49
+ protected generateTestCasesForFunction(fn: FunctionInfo): TestCase[];
50
+ /**
51
+ * Generate boundary test cases for a parameter based on its type
52
+ */
53
+ protected generateBoundaryTestCases(fn: FunctionInfo, param: ParameterInfo): TestCase[];
54
+ /**
55
+ * Extract exports from code analysis for import statements
56
+ */
57
+ protected extractExports(functions: FunctionInfo[], classes: ClassInfo[]): string[];
58
+ /**
59
+ * Generate import statement based on exports
60
+ */
61
+ protected generateImportStatement(exports: string[], importPath: string, moduleName: string): string;
62
+ /**
63
+ * Generate pattern comment header
64
+ */
65
+ protected generatePatternComment(patterns: Pattern[]): string;
66
+ /**
67
+ * Convert string to camelCase
68
+ */
69
+ protected camelCase(str: string): string;
70
+ /**
71
+ * Convert string to PascalCase
72
+ */
73
+ protected pascalCase(str: string): string;
74
+ /**
75
+ * Format line range for display
76
+ */
77
+ protected formatLineRange(lines: number[]): string;
78
+ }
79
+ //# sourceMappingURL=base-test-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-test-generator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAM3C,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAC9D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAC5E,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IACvE,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAClE,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAM/F;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IA+BzD;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,QAAQ,EAAE;IAiDpE;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE;IA0EvF;;OAEG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE,SAAS,EAAE,GACnB,MAAM,EAAE;IAaX;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM;IAOT;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAK7D;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMxC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMzC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;CAMnD"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Agentic QE v3 - Base Test Generator
3
+ * Abstract base class providing shared utilities for all framework-specific generators
4
+ *
5
+ * Implements the Template Method pattern for common test generation logic,
6
+ * while allowing subclasses to override framework-specific details.
7
+ *
8
+ * @module test-generation/generators
9
+ */
10
+ import { faker } from '@faker-js/faker';
11
+ /**
12
+ * BaseTestGenerator - Abstract base class for test generators
13
+ *
14
+ * Provides common functionality for:
15
+ * - Test value generation based on parameter types
16
+ * - Test case generation from function signatures
17
+ * - Import statement extraction
18
+ * - Helper utilities for naming and formatting
19
+ *
20
+ * Subclasses must implement framework-specific methods:
21
+ * - generateTests()
22
+ * - generateFunctionTests()
23
+ * - generateClassTests()
24
+ * - generateStubTests()
25
+ * - generateCoverageTests()
26
+ */
27
+ export class BaseTestGenerator {
28
+ // ============================================================================
29
+ // Shared Utilities - Available to all subclasses
30
+ // ============================================================================
31
+ /**
32
+ * Generate a test value for a parameter based on its type and name
33
+ * Uses @faker-js/faker for realistic test data
34
+ *
35
+ * @param param - Parameter information
36
+ * @returns Generated test value as a string
37
+ */
38
+ generateTestValue(param) {
39
+ if (param.defaultValue) {
40
+ return param.defaultValue;
41
+ }
42
+ const type = param.type?.toLowerCase() || 'unknown';
43
+ const name = param.name.toLowerCase();
44
+ // Infer from param name first (more specific)
45
+ if (name.includes('id'))
46
+ return `'${faker.string.uuid()}'`;
47
+ if (name.includes('email'))
48
+ return `'${faker.internet.email()}'`;
49
+ if (name.includes('name'))
50
+ return `'${faker.person.fullName()}'`;
51
+ if (name.includes('url'))
52
+ return `'${faker.internet.url()}'`;
53
+ if (name.includes('date'))
54
+ return `new Date('${faker.date.recent().toISOString()}')`;
55
+ if (name.includes('phone'))
56
+ return `'${faker.phone.number()}'`;
57
+ if (name.includes('address'))
58
+ return `'${faker.location.streetAddress()}'`;
59
+ // Then by type
60
+ if (type.includes('string'))
61
+ return `'${faker.lorem.word()}'`;
62
+ if (type.includes('number'))
63
+ return String(faker.number.int({ min: 1, max: 100 }));
64
+ if (type.includes('boolean'))
65
+ return 'true';
66
+ if (type.includes('[]') || type.includes('array'))
67
+ return '[]';
68
+ if (type.includes('object') || type.includes('{'))
69
+ return '{}';
70
+ if (type.includes('function'))
71
+ return '() => {}';
72
+ if (type.includes('promise'))
73
+ return 'Promise.resolve()';
74
+ if (type.includes('date'))
75
+ return 'new Date()';
76
+ // Default: generate a mock variable name
77
+ return `mock${param.name.charAt(0).toUpperCase() + param.name.slice(1)}`;
78
+ }
79
+ /**
80
+ * Generate test cases for a function based on its signature
81
+ * Creates happy-path, edge-case, error-handling, and boundary tests
82
+ *
83
+ * @param fn - Function information from AST
84
+ * @returns Array of test cases
85
+ */
86
+ generateTestCasesForFunction(fn) {
87
+ const testCases = [];
88
+ // Generate valid input test (happy path)
89
+ const validParams = fn.parameters.map((p) => this.generateTestValue(p)).join(', ');
90
+ const fnCall = fn.isAsync ? `await ${fn.name}(${validParams})` : `${fn.name}(${validParams})`;
91
+ testCases.push({
92
+ description: 'should handle valid input correctly',
93
+ type: 'happy-path',
94
+ action: `const result = ${fnCall};`,
95
+ assertion: 'expect(result).toBeDefined();',
96
+ });
97
+ // Generate tests for each parameter
98
+ for (const param of fn.parameters) {
99
+ // Test with undefined for required parameters
100
+ if (!param.optional) {
101
+ const paramsWithUndefined = fn.parameters
102
+ .map((p) => (p.name === param.name ? 'undefined' : this.generateTestValue(p)))
103
+ .join(', ');
104
+ testCases.push({
105
+ description: `should handle undefined ${param.name}`,
106
+ type: 'error-handling',
107
+ action: fn.isAsync
108
+ ? `const action = async () => await ${fn.name}(${paramsWithUndefined});`
109
+ : `const action = () => ${fn.name}(${paramsWithUndefined});`,
110
+ assertion: 'expect(action).toThrow();',
111
+ });
112
+ }
113
+ // Type-specific boundary tests
114
+ testCases.push(...this.generateBoundaryTestCases(fn, param));
115
+ }
116
+ // Async rejection test
117
+ if (fn.isAsync) {
118
+ testCases.push({
119
+ description: 'should handle async rejection gracefully',
120
+ type: 'error-handling',
121
+ action: `// Mock or setup to cause rejection`,
122
+ assertion: `// await expect(${fn.name}(invalidParams)).rejects.toThrow();`,
123
+ });
124
+ }
125
+ return testCases;
126
+ }
127
+ /**
128
+ * Generate boundary test cases for a parameter based on its type
129
+ */
130
+ generateBoundaryTestCases(fn, param) {
131
+ const testCases = [];
132
+ const type = param.type?.toLowerCase() || '';
133
+ // String boundary tests
134
+ if (type.includes('string')) {
135
+ const paramsWithEmpty = fn.parameters
136
+ .map((p) => (p.name === param.name ? "''" : this.generateTestValue(p)))
137
+ .join(', ');
138
+ const emptyCall = fn.isAsync
139
+ ? `await ${fn.name}(${paramsWithEmpty})`
140
+ : `${fn.name}(${paramsWithEmpty})`;
141
+ testCases.push({
142
+ description: `should handle empty string for ${param.name}`,
143
+ type: 'boundary',
144
+ action: `const result = ${emptyCall};`,
145
+ assertion: 'expect(result).toBeDefined();',
146
+ });
147
+ }
148
+ // Number boundary tests
149
+ if (type.includes('number')) {
150
+ // Test with zero
151
+ const paramsWithZero = fn.parameters
152
+ .map((p) => (p.name === param.name ? '0' : this.generateTestValue(p)))
153
+ .join(', ');
154
+ const zeroCall = fn.isAsync
155
+ ? `await ${fn.name}(${paramsWithZero})`
156
+ : `${fn.name}(${paramsWithZero})`;
157
+ testCases.push({
158
+ description: `should handle zero for ${param.name}`,
159
+ type: 'boundary',
160
+ action: `const result = ${zeroCall};`,
161
+ assertion: 'expect(result).toBeDefined();',
162
+ });
163
+ // Test with negative value
164
+ const paramsWithNegative = fn.parameters
165
+ .map((p) => (p.name === param.name ? '-1' : this.generateTestValue(p)))
166
+ .join(', ');
167
+ const negativeCall = fn.isAsync
168
+ ? `await ${fn.name}(${paramsWithNegative})`
169
+ : `${fn.name}(${paramsWithNegative})`;
170
+ testCases.push({
171
+ description: `should handle negative value for ${param.name}`,
172
+ type: 'edge-case',
173
+ action: `const result = ${negativeCall};`,
174
+ assertion: 'expect(result).toBeDefined();',
175
+ });
176
+ }
177
+ // Array boundary tests
178
+ if (type.includes('[]') || type.includes('array')) {
179
+ const paramsWithEmpty = fn.parameters
180
+ .map((p) => (p.name === param.name ? '[]' : this.generateTestValue(p)))
181
+ .join(', ');
182
+ const emptyCall = fn.isAsync
183
+ ? `await ${fn.name}(${paramsWithEmpty})`
184
+ : `${fn.name}(${paramsWithEmpty})`;
185
+ testCases.push({
186
+ description: `should handle empty array for ${param.name}`,
187
+ type: 'boundary',
188
+ action: `const result = ${emptyCall};`,
189
+ assertion: 'expect(result).toBeDefined();',
190
+ });
191
+ }
192
+ return testCases;
193
+ }
194
+ /**
195
+ * Extract exports from code analysis for import statements
196
+ */
197
+ extractExports(functions, classes) {
198
+ const exports = [];
199
+ for (const fn of functions) {
200
+ if (fn.isExported)
201
+ exports.push(fn.name);
202
+ }
203
+ for (const cls of classes) {
204
+ if (cls.isExported)
205
+ exports.push(cls.name);
206
+ }
207
+ return exports;
208
+ }
209
+ /**
210
+ * Generate import statement based on exports
211
+ */
212
+ generateImportStatement(exports, importPath, moduleName) {
213
+ if (exports.length > 0) {
214
+ return `import { ${exports.join(', ')} } from '${importPath}';`;
215
+ }
216
+ return `import * as ${moduleName} from '${importPath}';`;
217
+ }
218
+ /**
219
+ * Generate pattern comment header
220
+ */
221
+ generatePatternComment(patterns) {
222
+ if (patterns.length === 0)
223
+ return '';
224
+ return `// Applied patterns: ${patterns.map((p) => p.name).join(', ')}\n`;
225
+ }
226
+ /**
227
+ * Convert string to camelCase
228
+ */
229
+ camelCase(str) {
230
+ return str
231
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())
232
+ .replace(/^./, (chr) => chr.toLowerCase());
233
+ }
234
+ /**
235
+ * Convert string to PascalCase
236
+ */
237
+ pascalCase(str) {
238
+ return str
239
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())
240
+ .replace(/^./, (chr) => chr.toUpperCase());
241
+ }
242
+ /**
243
+ * Format line range for display
244
+ */
245
+ formatLineRange(lines) {
246
+ if (lines.length === 1) {
247
+ return `line ${lines[0]}`;
248
+ }
249
+ return `lines ${lines[0]}-${lines[lines.length - 1]}`;
250
+ }
251
+ }
252
+ //# sourceMappingURL=base-test-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-test-generator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/base-test-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Agentic QE v3 - Test Generators
3
+ * Central export point for all test generator implementations
4
+ *
5
+ * @module test-generation/generators
6
+ */
7
+ export { BaseTestGenerator } from './base-test-generator';
8
+ export { JestVitestGenerator } from './jest-vitest-generator';
9
+ export { MochaGenerator } from './mocha-generator';
10
+ export { PytestGenerator } from './pytest-generator';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Agentic QE v3 - Test Generators
3
+ * Central export point for all test generator implementations
4
+ *
5
+ * @module test-generation/generators
6
+ */
7
+ // Base class
8
+ export { BaseTestGenerator } from './base-test-generator';
9
+ // Framework-specific implementations
10
+ export { JestVitestGenerator } from './jest-vitest-generator';
11
+ export { MochaGenerator } from './mocha-generator';
12
+ export { PytestGenerator } from './pytest-generator';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}