agentic-qe 2.3.2 → 2.3.4

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 (283) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +10 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +113 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  8. package/dist/agents/CoverageAnalyzerAgent.js +53 -27
  9. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  10. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  11. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  12. package/dist/agents/FlakyTestHunterAgent.js +20 -5
  13. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  14. package/dist/agents/QualityGateAgent.js +44 -6
  15. package/dist/agents/QualityGateAgent.js.map +1 -1
  16. package/dist/cli/commands/dream/index.d.ts +50 -0
  17. package/dist/cli/commands/dream/index.d.ts.map +1 -0
  18. package/dist/cli/commands/dream/index.js +282 -0
  19. package/dist/cli/commands/dream/index.js.map +1 -0
  20. package/dist/cli/commands/learn/index.d.ts +31 -5
  21. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  22. package/dist/cli/commands/learn/index.js +183 -50
  23. package/dist/cli/commands/learn/index.js.map +1 -1
  24. package/dist/cli/commands/transfer/index.d.ts +55 -0
  25. package/dist/cli/commands/transfer/index.d.ts.map +1 -0
  26. package/dist/cli/commands/transfer/index.js +317 -0
  27. package/dist/cli/commands/transfer/index.js.map +1 -0
  28. package/dist/cli/index.js +156 -3
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/init/database-init.js +5 -0
  31. package/dist/cli/init/database-init.js.map +1 -1
  32. package/dist/cli/init/index.d.ts.map +1 -1
  33. package/dist/cli/init/index.js +12 -4
  34. package/dist/cli/init/index.js.map +1 -1
  35. package/dist/cli/init/learning-init.d.ts +39 -0
  36. package/dist/cli/init/learning-init.d.ts.map +1 -0
  37. package/dist/cli/init/learning-init.js +239 -0
  38. package/dist/cli/init/learning-init.js.map +1 -0
  39. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  40. package/dist/learning/PerformanceTracker.d.ts +9 -0
  41. package/dist/learning/PerformanceTracker.d.ts.map +1 -1
  42. package/dist/learning/PerformanceTracker.js +26 -2
  43. package/dist/learning/PerformanceTracker.js.map +1 -1
  44. package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
  45. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
  46. package/dist/learning/baselines/BaselineCollector.js +398 -0
  47. package/dist/learning/baselines/BaselineCollector.js.map +1 -0
  48. package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
  49. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
  50. package/dist/learning/baselines/StandardTaskSuite.js +801 -0
  51. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
  52. package/dist/learning/baselines/index.d.ts +10 -0
  53. package/dist/learning/baselines/index.d.ts.map +1 -0
  54. package/dist/learning/baselines/index.js +15 -0
  55. package/dist/learning/baselines/index.js.map +1 -0
  56. package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
  57. package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
  58. package/dist/learning/capture/ExecutionRecorder.js +195 -0
  59. package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
  60. package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
  61. package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
  62. package/dist/learning/capture/ExperienceCapture.js +432 -0
  63. package/dist/learning/capture/ExperienceCapture.js.map +1 -0
  64. package/dist/learning/capture/index.d.ts +12 -0
  65. package/dist/learning/capture/index.d.ts.map +1 -0
  66. package/dist/learning/capture/index.js +17 -0
  67. package/dist/learning/capture/index.js.map +1 -0
  68. package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
  69. package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
  70. package/dist/learning/dashboard/MetricsDashboard.js +230 -0
  71. package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
  72. package/dist/learning/dashboard/index.d.ts +7 -0
  73. package/dist/learning/dashboard/index.d.ts.map +1 -0
  74. package/dist/learning/dashboard/index.js +23 -0
  75. package/dist/learning/dashboard/index.js.map +1 -0
  76. package/dist/learning/dream/ConceptGraph.d.ts +160 -0
  77. package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
  78. package/dist/learning/dream/ConceptGraph.js +445 -0
  79. package/dist/learning/dream/ConceptGraph.js.map +1 -0
  80. package/dist/learning/dream/DreamEngine.d.ts +150 -0
  81. package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
  82. package/dist/learning/dream/DreamEngine.js +551 -0
  83. package/dist/learning/dream/DreamEngine.js.map +1 -0
  84. package/dist/learning/dream/InsightGenerator.d.ts +152 -0
  85. package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
  86. package/dist/learning/dream/InsightGenerator.js +463 -0
  87. package/dist/learning/dream/InsightGenerator.js.map +1 -0
  88. package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
  89. package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
  90. package/dist/learning/dream/SpreadingActivation.js +320 -0
  91. package/dist/learning/dream/SpreadingActivation.js.map +1 -0
  92. package/dist/learning/dream/index.d.ts +14 -0
  93. package/dist/learning/dream/index.d.ts.map +1 -0
  94. package/dist/learning/dream/index.js +22 -0
  95. package/dist/learning/dream/index.js.map +1 -0
  96. package/dist/learning/metrics/AlertManager.d.ts +107 -0
  97. package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
  98. package/dist/learning/metrics/AlertManager.js +246 -0
  99. package/dist/learning/metrics/AlertManager.js.map +1 -0
  100. package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
  101. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
  102. package/dist/learning/metrics/LearningMetrics.js +754 -0
  103. package/dist/learning/metrics/LearningMetrics.js.map +1 -0
  104. package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
  105. package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
  106. package/dist/learning/metrics/MetricsCollector.js +240 -0
  107. package/dist/learning/metrics/MetricsCollector.js.map +1 -0
  108. package/dist/learning/metrics/MetricsStore.d.ts +149 -0
  109. package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
  110. package/dist/learning/metrics/MetricsStore.js +502 -0
  111. package/dist/learning/metrics/MetricsStore.js.map +1 -0
  112. package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
  113. package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
  114. package/dist/learning/metrics/TrendAnalyzer.js +210 -0
  115. package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
  116. package/dist/learning/metrics/index.d.ts +13 -0
  117. package/dist/learning/metrics/index.d.ts.map +1 -0
  118. package/dist/learning/metrics/index.js +39 -0
  119. package/dist/learning/metrics/index.js.map +1 -0
  120. package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
  121. package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
  122. package/dist/learning/scheduler/IdleDetector.js +281 -0
  123. package/dist/learning/scheduler/IdleDetector.js.map +1 -0
  124. package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
  125. package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
  126. package/dist/learning/scheduler/SleepCycle.js +506 -0
  127. package/dist/learning/scheduler/SleepCycle.js.map +1 -0
  128. package/dist/learning/scheduler/SleepScheduler.d.ts +131 -0
  129. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
  130. package/dist/learning/scheduler/SleepScheduler.js +299 -0
  131. package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
  132. package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
  133. package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
  134. package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
  135. package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
  136. package/dist/learning/scheduler/index.d.ts +16 -0
  137. package/dist/learning/scheduler/index.d.ts.map +1 -0
  138. package/dist/learning/scheduler/index.js +23 -0
  139. package/dist/learning/scheduler/index.js.map +1 -0
  140. package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
  141. package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
  142. package/dist/learning/synthesis/PatternSynthesis.js +479 -0
  143. package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
  144. package/dist/learning/synthesis/index.d.ts +10 -0
  145. package/dist/learning/synthesis/index.d.ts.map +1 -0
  146. package/dist/learning/synthesis/index.js +14 -0
  147. package/dist/learning/synthesis/index.js.map +1 -0
  148. package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
  149. package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
  150. package/dist/learning/transfer/CompatibilityScorer.js +319 -0
  151. package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
  152. package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
  153. package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
  154. package/dist/learning/transfer/TransferProtocol.js +611 -0
  155. package/dist/learning/transfer/TransferProtocol.js.map +1 -0
  156. package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
  157. package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
  158. package/dist/learning/transfer/TransferPrototype.js +433 -0
  159. package/dist/learning/transfer/TransferPrototype.js.map +1 -0
  160. package/dist/learning/transfer/TransferValidator.d.ts +140 -0
  161. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
  162. package/dist/learning/transfer/TransferValidator.js +413 -0
  163. package/dist/learning/transfer/TransferValidator.js.map +1 -0
  164. package/dist/learning/transfer/index.d.ts +14 -0
  165. package/dist/learning/transfer/index.d.ts.map +1 -0
  166. package/dist/learning/transfer/index.js +22 -0
  167. package/dist/learning/transfer/index.js.map +1 -0
  168. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
  169. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  170. package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
  171. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  172. package/dist/mcp/server-instructions.d.ts +1 -1
  173. package/dist/mcp/server-instructions.js +1 -1
  174. package/dist/mcp/server.d.ts.map +1 -1
  175. package/dist/mcp/server.js +2 -1
  176. package/dist/mcp/server.js.map +1 -1
  177. package/package.json +7 -2
  178. package/scripts/README.md +352 -0
  179. package/scripts/hooks/capture-task-learning.js +191 -0
  180. package/scripts/hooks/emit-task-complete.sh +35 -0
  181. package/scripts/hooks/emit-task-spawn.sh +27 -0
  182. package/.claude/agents/failing-agent.json +0 -9
  183. package/.claude/agents/test-agent.json +0 -9
  184. package/dist/App.d.ts +0 -5
  185. package/dist/App.d.ts.map +0 -1
  186. package/dist/App.js +0 -15
  187. package/dist/App.js.map +0 -1
  188. package/dist/cli/init/utils.d.ts +0 -183
  189. package/dist/cli/init/utils.d.ts.map +0 -1
  190. package/dist/cli/init/utils.js +0 -354
  191. package/dist/cli/init/utils.js.map +0 -1
  192. package/dist/components/Dashboard/Dashboard.d.ts +0 -4
  193. package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
  194. package/dist/components/Dashboard/Dashboard.js +0 -148
  195. package/dist/components/Dashboard/Dashboard.js.map +0 -1
  196. package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
  197. package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
  198. package/dist/components/Dashboard/DashboardHeader.js +0 -138
  199. package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
  200. package/dist/contexts/DashboardContext.d.ts +0 -41
  201. package/dist/contexts/DashboardContext.d.ts.map +0 -1
  202. package/dist/contexts/DashboardContext.js +0 -187
  203. package/dist/contexts/DashboardContext.js.map +0 -1
  204. package/dist/core/transport/QUICTransport.d.ts +0 -320
  205. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  206. package/dist/core/transport/QUICTransport.js +0 -711
  207. package/dist/core/transport/QUICTransport.js.map +0 -1
  208. package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
  209. package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
  210. package/dist/learning/LearningPersistenceAdapter.js +0 -202
  211. package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
  212. package/dist/learning/algorithms/QLearning.d.ts +0 -68
  213. package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
  214. package/dist/learning/algorithms/QLearning.js +0 -116
  215. package/dist/learning/algorithms/QLearning.js.map +0 -1
  216. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
  217. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
  218. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
  219. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
  220. package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
  221. package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
  222. package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
  223. package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
  224. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
  225. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
  226. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
  227. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
  228. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
  229. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
  230. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
  231. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
  232. package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
  233. package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
  234. package/dist/mcp/handlers/optimize-tests.js +0 -533
  235. package/dist/mcp/handlers/optimize-tests.js.map +0 -1
  236. package/dist/mcp/handlers/predict-defects.d.ts +0 -194
  237. package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
  238. package/dist/mcp/handlers/predict-defects.js +0 -722
  239. package/dist/mcp/handlers/predict-defects.js.map +0 -1
  240. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
  241. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
  242. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
  243. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
  244. package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
  245. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
  246. package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
  247. package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
  248. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
  249. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
  250. package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
  251. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
  252. package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
  253. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
  254. package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
  255. package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
  256. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
  257. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
  258. package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
  259. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
  260. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
  261. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
  262. package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
  263. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
  264. package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
  265. package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
  266. package/dist/mcp/handlers/quality-analyze.js +0 -720
  267. package/dist/mcp/handlers/quality-analyze.js.map +0 -1
  268. package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
  269. package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
  270. package/dist/mcp/handlers/security/check-authz.js +0 -434
  271. package/dist/mcp/handlers/security/check-authz.js.map +0 -1
  272. package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
  273. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
  274. package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
  275. package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
  276. package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
  277. package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
  278. package/dist/mcp/handlers/security/validate-auth.js +0 -294
  279. package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
  280. package/dist/mcp/handlers/test-generate.d.ts +0 -107
  281. package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
  282. package/dist/mcp/handlers/test-generate.js +0 -454
  283. package/dist/mcp/handlers/test-generate.js.map +0 -1
@@ -1,294 +0,0 @@
1
- "use strict";
2
- /**
3
- * Authentication Flow Validation Tool
4
- *
5
- * Validates authentication flows, tests auth endpoints, and performs token validation
6
- * with comprehensive security testing of authentication mechanisms.
7
- *
8
- * @module security/validate-auth
9
- * @version 1.0.0
10
- * @author Agentic QE Team
11
- *
12
- * @example
13
- * ```typescript
14
- * import { validateAuthenticationFlow } from './validate-auth';
15
- *
16
- * const result = await validateAuthenticationFlow({
17
- * authEndpoints: ['https://api.example.com/auth/login'],
18
- * testCases: [{
19
- * type: 'valid-credentials',
20
- * username: 'test@example.com',
21
- * password: 'securePassword123'
22
- * }],
23
- * validateTokens: true
24
- * });
25
- * ```
26
- */
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.ValidateAuthenticationFlowHandler = void 0;
29
- exports.validateAuthenticationFlow = validateAuthenticationFlow;
30
- const base_handler_js_1 = require("../base-handler.js");
31
- const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
32
- class ValidateAuthenticationFlowHandler extends base_handler_js_1.BaseHandler {
33
- async handle(args) {
34
- return this.safeHandle(async () => {
35
- const requestId = this.generateRequestId();
36
- this.log('info', 'Validating authentication flow', { requestId, endpoints: args.authEndpoints.length });
37
- // Validate required parameters
38
- this.validateRequired(args, ['authEndpoints', 'testCases']);
39
- const { result, executionTime } = await this.measureExecutionTime(async () => {
40
- return await validateAuthenticationFlow(args);
41
- });
42
- this.log('info', `Authentication validation completed in ${executionTime.toFixed(2)}ms`, {
43
- status: result.summary.overallStatus,
44
- testsPassed: result.summary.passed,
45
- testsFailed: result.summary.failed
46
- });
47
- return this.createSuccessResponse(result, requestId);
48
- });
49
- }
50
- }
51
- exports.ValidateAuthenticationFlowHandler = ValidateAuthenticationFlowHandler;
52
- /**
53
- * Validate authentication flow with comprehensive security testing
54
- *
55
- * @param params - Authentication validation parameters
56
- * @returns Validation results with security findings
57
- */
58
- async function validateAuthenticationFlow(params) {
59
- const startTime = Date.now();
60
- const { authEndpoints, testCases, validateTokens = true, validateSessions = true, validateCSRF = true, testRateLimiting = true } = params;
61
- const endpointResults = [];
62
- let totalPassed = 0;
63
- let totalFailed = 0;
64
- let totalWarnings = 0;
65
- let criticalIssues = 0;
66
- // Test each authentication endpoint
67
- for (const endpoint of authEndpoints) {
68
- const endpointResult = await testAuthEndpoint(endpoint, testCases);
69
- endpointResults.push(endpointResult);
70
- totalPassed += endpointResult.testsPassed;
71
- totalFailed += endpointResult.testsFailed;
72
- criticalIssues += endpointResult.findings.filter(f => f.severity === 'critical').length;
73
- }
74
- // Token validation
75
- let tokenValidation;
76
- if (validateTokens) {
77
- tokenValidation = await validateTokenSecurity(testCases);
78
- }
79
- // Session validation
80
- let sessionValidation;
81
- if (validateSessions) {
82
- sessionValidation = await validateSessionSecurity(authEndpoints);
83
- }
84
- // CSRF validation
85
- let csrfValidation;
86
- if (validateCSRF) {
87
- csrfValidation = await validateCSRFProtection(authEndpoints);
88
- }
89
- // Rate limiting validation
90
- let rateLimitingValidation;
91
- if (testRateLimiting) {
92
- rateLimitingValidation = await validateRateLimiting(authEndpoints);
93
- }
94
- // Generate recommendations
95
- const recommendations = generateAuthRecommendations({
96
- tokenValidation,
97
- sessionValidation,
98
- csrfValidation,
99
- rateLimitingValidation,
100
- criticalIssues
101
- });
102
- // Determine overall status
103
- const overallStatus = criticalIssues > 0 ? 'vulnerable' :
104
- totalFailed > 0 ? 'needs-review' : 'secure';
105
- return {
106
- endpointResults,
107
- tokenValidation,
108
- sessionValidation,
109
- csrfValidation,
110
- rateLimitingValidation,
111
- summary: {
112
- overallStatus,
113
- totalTests: totalPassed + totalFailed,
114
- passed: totalPassed,
115
- failed: totalFailed,
116
- warnings: totalWarnings,
117
- criticalIssues,
118
- recommendations
119
- },
120
- metadata: {
121
- testDuration: Date.now() - startTime,
122
- timestamp: new Date().toISOString()
123
- }
124
- };
125
- }
126
- async function testAuthEndpoint(endpoint, testCases) {
127
- const findings = [];
128
- let testsPassed = 0;
129
- let testsFailed = 0;
130
- for (const testCase of testCases) {
131
- // Simulate testing each test case
132
- const testResult = await executeAuthTest(endpoint, testCase);
133
- if (testResult.passed) {
134
- testsPassed++;
135
- }
136
- else {
137
- testsFailed++;
138
- if (testResult.finding) {
139
- findings.push(testResult.finding);
140
- }
141
- }
142
- }
143
- const status = testsFailed === 0 ? 'pass' :
144
- findings.some(f => f.severity === 'critical') ? 'fail' : 'warning';
145
- return {
146
- endpoint,
147
- status,
148
- testsPassed,
149
- testsFailed,
150
- findings
151
- };
152
- }
153
- async function executeAuthTest(endpoint, testCase) {
154
- // Simulate authentication test execution
155
- const shouldPass = SecureRandom_js_1.SecureRandom.randomFloat() > 0.3;
156
- if (!shouldPass) {
157
- const finding = {
158
- severity: testCase.type === 'brute-force' || testCase.type === 'session-fixation' ? 'critical' : 'high',
159
- category: 'authentication',
160
- title: `Authentication vulnerability: ${testCase.type}`,
161
- description: `Failed ${testCase.type} test for endpoint`,
162
- endpoint,
163
- cwe: testCase.type === 'brute-force' ? 'CWE-307' : 'CWE-287',
164
- cvss: testCase.type === 'brute-force' ? 9.1 : 8.5,
165
- remediation: getRemediationAdvice(testCase.type)
166
- };
167
- return { passed: false, finding };
168
- }
169
- return { passed: true };
170
- }
171
- async function validateTokenSecurity(testCases) {
172
- const tokenTests = testCases.filter(tc => tc.token);
173
- let validTokens = 0;
174
- let invalidTokens = 0;
175
- let expiredTokens = 0;
176
- let malformedTokens = 0;
177
- const issues = [];
178
- for (const testCase of tokenTests) {
179
- if (testCase.type === 'expired-token') {
180
- expiredTokens++;
181
- if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.5) {
182
- issues.push(`Expired token not properly rejected for ${testCase.token}`);
183
- }
184
- }
185
- else if (testCase.type === 'malformed-token') {
186
- malformedTokens++;
187
- if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.5) {
188
- issues.push(`Malformed token not properly rejected for ${testCase.token}`);
189
- }
190
- }
191
- else if (testCase.type === 'valid-credentials') {
192
- validTokens++;
193
- }
194
- else {
195
- invalidTokens++;
196
- }
197
- }
198
- return {
199
- validTokens,
200
- invalidTokens,
201
- expiredTokens,
202
- malformedTokens,
203
- issues
204
- };
205
- }
206
- async function validateSessionSecurity(endpoints) {
207
- const issues = [];
208
- const sessionFixationVulnerable = SecureRandom_js_1.SecureRandom.randomFloat() > 0.8;
209
- const sessionTimeoutConfigured = SecureRandom_js_1.SecureRandom.randomFloat() > 0.3;
210
- if (sessionFixationVulnerable) {
211
- issues.push('Session fixation vulnerability detected - session ID not regenerated after login');
212
- }
213
- if (!sessionTimeoutConfigured) {
214
- issues.push('Session timeout not configured - risk of session hijacking');
215
- }
216
- const sessionManagement = sessionFixationVulnerable ? 'insecure' :
217
- !sessionTimeoutConfigured ? 'partial' : 'secure';
218
- return {
219
- sessionManagement,
220
- sessionFixationVulnerable,
221
- sessionTimeoutConfigured,
222
- issues
223
- };
224
- }
225
- async function validateCSRFProtection(endpoints) {
226
- const vulnerableEndpoints = [];
227
- const issues = [];
228
- for (const endpoint of endpoints) {
229
- if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.7) {
230
- vulnerableEndpoints.push(endpoint);
231
- issues.push(`CSRF token missing or not validated for ${endpoint}`);
232
- }
233
- }
234
- const csrfProtection = vulnerableEndpoints.length === 0 ? 'enabled' :
235
- vulnerableEndpoints.length === endpoints.length ? 'disabled' : 'partial';
236
- return {
237
- csrfProtection,
238
- vulnerableEndpoints,
239
- issues
240
- };
241
- }
242
- async function validateRateLimiting(endpoints) {
243
- const issues = [];
244
- const rateLimitingEnabled = SecureRandom_js_1.SecureRandom.randomFloat() > 0.4;
245
- const lockoutMechanism = SecureRandom_js_1.SecureRandom.randomFloat() > 0.5;
246
- const maxRequestsPerMinute = rateLimitingEnabled ? Math.floor(SecureRandom_js_1.SecureRandom.randomFloat() * 50) + 10 : 0;
247
- if (!rateLimitingEnabled) {
248
- issues.push('Rate limiting not enabled - vulnerable to brute force attacks');
249
- }
250
- if (!lockoutMechanism) {
251
- issues.push('Account lockout mechanism not implemented');
252
- }
253
- return {
254
- rateLimitingEnabled,
255
- maxRequestsPerMinute,
256
- lockoutMechanism,
257
- issues
258
- };
259
- }
260
- function getRemediationAdvice(testType) {
261
- const advice = {
262
- 'valid-credentials': 'N/A',
263
- 'invalid-credentials': 'Implement proper error handling without revealing account existence',
264
- 'missing-credentials': 'Validate all required fields and return appropriate error messages',
265
- 'expired-token': 'Implement token expiration validation and refresh token mechanism',
266
- 'malformed-token': 'Validate token format and signature before processing',
267
- 'brute-force': 'Implement rate limiting, CAPTCHA, and account lockout after failed attempts',
268
- 'session-fixation': 'Regenerate session ID after successful authentication'
269
- };
270
- return advice[testType] || 'Review authentication implementation for security best practices';
271
- }
272
- function generateAuthRecommendations(context) {
273
- const recommendations = [];
274
- if (context.criticalIssues > 0) {
275
- recommendations.push(`URGENT: ${context.criticalIssues} critical authentication vulnerabilities require immediate attention`);
276
- }
277
- if (context.tokenValidation?.issues && context.tokenValidation.issues.length > 0) {
278
- recommendations.push('Implement proper token validation and expiration mechanisms');
279
- }
280
- if (context.sessionValidation?.sessionFixationVulnerable) {
281
- recommendations.push('Fix session fixation vulnerability by regenerating session IDs after authentication');
282
- }
283
- if (context.csrfValidation?.csrfProtection === 'disabled') {
284
- recommendations.push('Implement CSRF protection for all state-changing operations');
285
- }
286
- if (!context.rateLimitingValidation?.rateLimitingEnabled) {
287
- recommendations.push('Enable rate limiting to prevent brute force attacks');
288
- }
289
- if (recommendations.length === 0) {
290
- recommendations.push('Authentication flow appears secure. Continue regular security testing');
291
- }
292
- return recommendations;
293
- }
294
- //# sourceMappingURL=validate-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-auth.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/validate-auth.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- /**
2
- * Test Generation Handler
3
- *
4
- * Handles AI-driven test generation for various testing strategies.
5
- * Integrates with code analysis and test synthesis capabilities.
6
- *
7
- * @version 1.0.0
8
- * @author Agentic QE Team
9
- */
10
- import { BaseHandler, HandlerResponse } from './base-handler.js';
11
- import { TestGenerationSpec } from '../tools.js';
12
- import { AgentRegistry } from '../services/AgentRegistry.js';
13
- import { HookExecutor } from '../services/HookExecutor.js';
14
- export interface TestGenerateArgs {
15
- spec: TestGenerationSpec;
16
- agentId?: string;
17
- }
18
- export interface TestSuite {
19
- id: string;
20
- type: string;
21
- name: string;
22
- framework: string;
23
- language: string;
24
- tests: TestCase[];
25
- coverage: {
26
- target: number;
27
- achieved: number;
28
- gaps: CoverageGap[];
29
- };
30
- metadata: {
31
- generatedAt: string;
32
- sourceCommit: string;
33
- analysisResults: any;
34
- synthesizedData: boolean;
35
- };
36
- }
37
- export interface TestCase {
38
- id: string;
39
- name: string;
40
- description: string;
41
- type: 'unit' | 'integration' | 'e2e' | 'property' | 'mutation';
42
- sourceFile: string;
43
- targetFunction?: string;
44
- code: string;
45
- assertions: Assertion[];
46
- testData?: any;
47
- tags: string[];
48
- }
49
- export interface Assertion {
50
- type: 'equals' | 'notEquals' | 'throws' | 'property' | 'custom';
51
- description: string;
52
- expected?: any;
53
- actual?: string;
54
- }
55
- export interface CoverageGap {
56
- file: string;
57
- lines: number[];
58
- functions: string[];
59
- branches: number[];
60
- priority: 'low' | 'medium' | 'high' | 'critical';
61
- }
62
- export declare class TestGenerateHandler extends BaseHandler {
63
- private generatedSuites;
64
- private generators;
65
- private registry;
66
- private hookExecutor;
67
- constructor(registry: AgentRegistry, hookExecutor: HookExecutor);
68
- handle(args: TestGenerateArgs): Promise<HandlerResponse>;
69
- private initializeGenerators;
70
- private validateTestGenerationSpec;
71
- private generateTestSuite;
72
- private analyzeSourceCode;
73
- private generateTestCases;
74
- private generateTestCaseForFunction;
75
- private generateEdgeCaseTests;
76
- private calculateCoverage;
77
- private synthesizeTestData;
78
- private generateMockFunctions;
79
- private generateMockClasses;
80
- private generateMockDependencies;
81
- private generateComplexityMetrics;
82
- private identifyCodePatterns;
83
- private generateTestSuffix;
84
- private generateTestCode;
85
- private generateJavaScriptTestCode;
86
- private generatePythonTestCode;
87
- private generateGenericTestCode;
88
- private generateAssertions;
89
- private generateTestData;
90
- private generateSampleInput;
91
- private generateSampleValueForParameter;
92
- private generateExpectedOutput;
93
- private generateEdgeCaseInputs;
94
- private generateBoundaryValueTests;
95
- private generateErrorConditionTests;
96
- private generateRealisticTestData;
97
- private getDefaultFramework;
98
- /**
99
- * Get test suite by ID
100
- */
101
- getTestSuite(suiteId: string): TestSuite | undefined;
102
- /**
103
- * List all generated test suites
104
- */
105
- listTestSuites(): TestSuite[];
106
- }
107
- //# sourceMappingURL=test-generate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-generate.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/test-generate.ts"],"names":[],"mappings":"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"}