agentic-qe 2.3.1 → 2.3.3

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 (128) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +1 -1
  3. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  4. package/dist/agents/CoverageAnalyzerAgent.js +53 -27
  5. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  6. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  7. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  8. package/dist/agents/FlakyTestHunterAgent.js +20 -5
  9. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  10. package/dist/agents/QualityGateAgent.js +44 -6
  11. package/dist/agents/QualityGateAgent.js.map +1 -1
  12. package/dist/cli/index.js +0 -0
  13. package/dist/cli/init/database-init.js +5 -0
  14. package/dist/cli/init/database-init.js.map +1 -1
  15. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  16. package/dist/learning/PerformanceTracker.d.ts +9 -0
  17. package/dist/learning/PerformanceTracker.d.ts.map +1 -1
  18. package/dist/learning/PerformanceTracker.js +26 -2
  19. package/dist/learning/PerformanceTracker.js.map +1 -1
  20. package/dist/mcp/server-instructions.d.ts +1 -1
  21. package/dist/mcp/server-instructions.js +1 -1
  22. package/package.json +4 -2
  23. package/scripts/README.md +352 -0
  24. package/scripts/hooks/capture-task-learning.js +191 -0
  25. package/scripts/hooks/emit-task-complete.sh +35 -0
  26. package/scripts/hooks/emit-task-spawn.sh +27 -0
  27. package/.claude/agents/failing-agent.json +0 -9
  28. package/.claude/agents/test-agent.json +0 -9
  29. package/dist/App.d.ts +0 -5
  30. package/dist/App.d.ts.map +0 -1
  31. package/dist/App.js +0 -15
  32. package/dist/App.js.map +0 -1
  33. package/dist/cli/init/utils.d.ts +0 -183
  34. package/dist/cli/init/utils.d.ts.map +0 -1
  35. package/dist/cli/init/utils.js +0 -354
  36. package/dist/cli/init/utils.js.map +0 -1
  37. package/dist/components/Dashboard/Dashboard.d.ts +0 -4
  38. package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
  39. package/dist/components/Dashboard/Dashboard.js +0 -148
  40. package/dist/components/Dashboard/Dashboard.js.map +0 -1
  41. package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
  42. package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
  43. package/dist/components/Dashboard/DashboardHeader.js +0 -138
  44. package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
  45. package/dist/contexts/DashboardContext.d.ts +0 -41
  46. package/dist/contexts/DashboardContext.d.ts.map +0 -1
  47. package/dist/contexts/DashboardContext.js +0 -187
  48. package/dist/contexts/DashboardContext.js.map +0 -1
  49. package/dist/core/transport/QUICTransport.d.ts +0 -320
  50. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  51. package/dist/core/transport/QUICTransport.js +0 -711
  52. package/dist/core/transport/QUICTransport.js.map +0 -1
  53. package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
  54. package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
  55. package/dist/learning/LearningPersistenceAdapter.js +0 -202
  56. package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
  57. package/dist/learning/algorithms/QLearning.d.ts +0 -68
  58. package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
  59. package/dist/learning/algorithms/QLearning.js +0 -116
  60. package/dist/learning/algorithms/QLearning.js.map +0 -1
  61. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
  62. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
  63. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
  64. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
  65. package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
  66. package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
  67. package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
  68. package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
  69. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
  70. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
  71. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
  72. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
  73. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
  74. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
  75. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
  76. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
  77. package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
  78. package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
  79. package/dist/mcp/handlers/optimize-tests.js +0 -533
  80. package/dist/mcp/handlers/optimize-tests.js.map +0 -1
  81. package/dist/mcp/handlers/predict-defects.d.ts +0 -194
  82. package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
  83. package/dist/mcp/handlers/predict-defects.js +0 -722
  84. package/dist/mcp/handlers/predict-defects.js.map +0 -1
  85. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
  86. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
  87. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
  88. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
  89. package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
  90. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
  91. package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
  92. package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
  93. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
  94. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
  95. package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
  96. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
  97. package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
  98. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
  99. package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
  100. package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
  101. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
  102. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
  103. package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
  104. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
  105. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
  106. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
  107. package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
  108. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
  109. package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
  110. package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
  111. package/dist/mcp/handlers/quality-analyze.js +0 -720
  112. package/dist/mcp/handlers/quality-analyze.js.map +0 -1
  113. package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
  114. package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
  115. package/dist/mcp/handlers/security/check-authz.js +0 -434
  116. package/dist/mcp/handlers/security/check-authz.js.map +0 -1
  117. package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
  118. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
  119. package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
  120. package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
  121. package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
  122. package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
  123. package/dist/mcp/handlers/security/validate-auth.js +0 -294
  124. package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
  125. package/dist/mcp/handlers/test-generate.d.ts +0 -107
  126. package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
  127. package/dist/mcp/handlers/test-generate.js +0 -454
  128. package/dist/mcp/handlers/test-generate.js.map +0 -1
@@ -1,412 +0,0 @@
1
- "use strict";
2
- /**
3
- * Quality Gate Execute Handler
4
- *
5
- * Executes quality gates with policy enforcement and decision making.
6
- * Integrates with QualityGateAgent for intelligent evaluation.
7
- *
8
- * @version 1.0.0
9
- * @author Agentic QE Team - Agent 2
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.QualityGateExecuteHandler = void 0;
13
- const base_handler_js_1 = require("../base-handler.js");
14
- class QualityGateExecuteHandler extends base_handler_js_1.BaseHandler {
15
- constructor(registry, hookExecutor) {
16
- super();
17
- this.registry = registry;
18
- this.hookExecutor = hookExecutor;
19
- this.defaultPolicy = this.createDefaultPolicy();
20
- }
21
- async handle(args) {
22
- return this.safeHandle(async () => {
23
- const requestId = this.generateRequestId();
24
- const startTime = Date.now();
25
- this.log('info', 'Executing quality gate', {
26
- requestId,
27
- projectId: args.projectId,
28
- environment: args.environment
29
- });
30
- let agentId;
31
- // Validate required parameters
32
- this.validateRequired(args, ['projectId', 'buildId', 'environment', 'metrics']);
33
- // Use provided policy or default
34
- const policy = args.policy || this.defaultPolicy;
35
- // Spawn quality-gate agent
36
- const spawnResult = await this.registry.spawnAgent('quality-gate', {
37
- name: `quality-gate-${args.buildId}`,
38
- description: `Quality gate evaluation for ${args.projectId} (${args.environment})`
39
- });
40
- agentId = spawnResult.id;
41
- this.log('info', 'Quality-gate agent spawned', { agentId });
42
- // Execute pre-task hook
43
- await this.hookExecutor.executePreTask({
44
- description: `Executing quality gate for ${args.projectId} in ${args.environment}`,
45
- agentType: 'quality-gate',
46
- agentId,
47
- sessionId: requestId
48
- });
49
- // Execute quality gate evaluation
50
- const { result: gateResult, executionTime } = await this.measureExecutionTime(async () => {
51
- // Validate metrics against policy
52
- const policyCompliance = await this.validatePolicyCompliance(args.metrics, policy);
53
- // Perform comprehensive evaluations
54
- const evaluations = await this.performEvaluations(args.metrics, policy);
55
- // Assess risk
56
- const riskAssessment = await this.assessRisk(args.metrics, args.context, policyCompliance);
57
- // Make final decision
58
- const decision = await this.makeDecision(evaluations, policyCompliance, riskAssessment, policy);
59
- // Generate recommendations
60
- const recommendations = await this.generateRecommendations(evaluations, policyCompliance, riskAssessment);
61
- // Calculate composite score
62
- const score = this.calculateCompositeScore(evaluations);
63
- const threshold = this.determineThreshold(policy, args.context);
64
- const result = {
65
- executionId: requestId,
66
- decision,
67
- score,
68
- threshold,
69
- policyCompliance,
70
- evaluations,
71
- riskAssessment,
72
- recommendations,
73
- metadata: {
74
- executedAt: new Date().toISOString(),
75
- executionTime: Date.now() - startTime,
76
- policyVersion: policy.version,
77
- agentId: agentId || 'unknown'
78
- }
79
- };
80
- return result;
81
- });
82
- this.log('info', `Quality gate executed in ${executionTime.toFixed(2)}ms`, {
83
- executionId: gateResult.executionId,
84
- decision: gateResult.decision,
85
- score: gateResult.score
86
- });
87
- // Store result in memory for swarm coordination
88
- await this.hookExecutor.executePostEdit({
89
- file: `quality-gate-${args.buildId}`,
90
- memoryKey: `aqe/swarm/quality-mcp-tools/executions/${args.buildId}`
91
- });
92
- // Execute post-task hook with results
93
- await this.hookExecutor.executePostTask({
94
- taskId: agentId,
95
- agentType: 'quality-gate',
96
- agentId,
97
- sessionId: requestId,
98
- results: {
99
- executionId: gateResult.executionId,
100
- decision: gateResult.decision,
101
- score: gateResult.score,
102
- compliant: gateResult.policyCompliance.compliant
103
- }
104
- });
105
- return this.createSuccessResponse(gateResult, requestId);
106
- });
107
- }
108
- createDefaultPolicy() {
109
- return {
110
- name: 'default-quality-policy',
111
- version: '1.0.0',
112
- thresholds: {
113
- coverage: 0.80,
114
- testSuccess: 0.95,
115
- securityVulns: 0,
116
- performanceRegression: 0.10,
117
- codeQuality: 0.75
118
- },
119
- rules: [
120
- {
121
- id: 'rule-critical-coverage',
122
- name: 'Critical Coverage Requirement',
123
- condition: 'coverage.line >= 80',
124
- action: 'block',
125
- severity: 'critical',
126
- description: 'Line coverage must be at least 80%'
127
- },
128
- {
129
- id: 'rule-test-success',
130
- name: 'Test Success Rate',
131
- condition: 'testSuccess >= 95',
132
- action: 'block',
133
- severity: 'high',
134
- description: 'Test success rate must be at least 95%'
135
- },
136
- {
137
- id: 'rule-no-critical-vulns',
138
- name: 'No Critical Vulnerabilities',
139
- condition: 'security.critical === 0',
140
- action: 'block',
141
- severity: 'critical',
142
- description: 'No critical security vulnerabilities allowed'
143
- },
144
- {
145
- id: 'rule-performance-regression',
146
- name: 'Performance Regression Check',
147
- condition: 'performanceRegression <= 10',
148
- action: 'warn',
149
- severity: 'medium',
150
- description: 'Performance regression should not exceed 10%'
151
- }
152
- ],
153
- enforcement: 'strict'
154
- };
155
- }
156
- async validatePolicyCompliance(metrics, policy) {
157
- const violations = [];
158
- const warnings = [];
159
- for (const rule of policy.rules) {
160
- const evaluation = await this.evaluateRule(rule, metrics, policy);
161
- if (!evaluation.passed) {
162
- if (rule.action === 'block') {
163
- violations.push({
164
- ruleId: rule.id,
165
- ruleName: rule.name,
166
- severity: rule.severity,
167
- message: rule.description,
168
- actualValue: evaluation.actualValue,
169
- expectedValue: evaluation.expectedValue
170
- });
171
- }
172
- else if (rule.action === 'warn') {
173
- warnings.push({
174
- ruleId: rule.id,
175
- message: rule.description,
176
- recommendation: `Consider improving ${rule.name.toLowerCase()}`
177
- });
178
- }
179
- }
180
- }
181
- return {
182
- compliant: violations.length === 0,
183
- violations,
184
- warnings
185
- };
186
- }
187
- async evaluateRule(rule, metrics, policy) {
188
- // Simple rule evaluation based on rule condition
189
- const ruleMap = {
190
- 'rule-critical-coverage': {
191
- passed: metrics.coverage.line >= policy.thresholds.coverage * 100,
192
- actualValue: metrics.coverage.line,
193
- expectedValue: policy.thresholds.coverage * 100
194
- },
195
- 'rule-test-success': {
196
- passed: (metrics.testResults.passed / metrics.testResults.total) >= policy.thresholds.testSuccess,
197
- actualValue: (metrics.testResults.passed / metrics.testResults.total) * 100,
198
- expectedValue: policy.thresholds.testSuccess * 100
199
- },
200
- 'rule-no-critical-vulns': {
201
- passed: metrics.security.critical === 0,
202
- actualValue: metrics.security.critical,
203
- expectedValue: 0
204
- },
205
- 'rule-performance-regression': {
206
- passed: metrics.performance.errorRate <= policy.thresholds.performanceRegression,
207
- actualValue: metrics.performance.errorRate * 100,
208
- expectedValue: policy.thresholds.performanceRegression * 100
209
- }
210
- };
211
- return ruleMap[rule.id] || { passed: true, actualValue: 0, expectedValue: 0 };
212
- }
213
- async performEvaluations(metrics, policy) {
214
- return {
215
- coverage: this.evaluateCoverage(metrics.coverage, policy.thresholds.coverage),
216
- testSuccess: this.evaluateTestSuccess(metrics.testResults, policy.thresholds.testSuccess),
217
- security: this.evaluateSecurity(metrics.security, policy.thresholds.securityVulns),
218
- performance: this.evaluatePerformance(metrics.performance, policy.thresholds.performanceRegression),
219
- codeQuality: this.evaluateCodeQuality(metrics.codeQuality, policy.thresholds.codeQuality)
220
- };
221
- }
222
- evaluateCoverage(coverage, threshold) {
223
- const avgCoverage = (coverage.line + coverage.branch + coverage.function + coverage.statement) / 4 / 100;
224
- const passed = avgCoverage >= threshold;
225
- const score = Math.min(1, avgCoverage / threshold);
226
- return {
227
- passed,
228
- value: avgCoverage * 100,
229
- threshold: threshold * 100,
230
- score,
231
- status: this.determineStatus(score)
232
- };
233
- }
234
- evaluateTestSuccess(testResults, threshold) {
235
- const successRate = testResults.passed / testResults.total;
236
- const passed = successRate >= threshold;
237
- const score = Math.min(1, successRate / threshold);
238
- return {
239
- passed,
240
- value: successRate * 100,
241
- threshold: threshold * 100,
242
- score,
243
- status: this.determineStatus(score)
244
- };
245
- }
246
- evaluateSecurity(security, threshold) {
247
- const criticalScore = security.critical === 0 ? 1.0 : 0.0;
248
- const highScore = security.high <= 2 ? 0.8 : 0.5;
249
- const score = (criticalScore + highScore) / 2;
250
- const passed = security.critical === 0 && security.high <= threshold;
251
- return {
252
- passed,
253
- value: security.vulnerabilities,
254
- threshold,
255
- score,
256
- status: this.determineStatus(score)
257
- };
258
- }
259
- evaluatePerformance(performance, threshold) {
260
- const passed = performance.errorRate <= threshold;
261
- const score = passed ? 1.0 - performance.errorRate : 0.5;
262
- return {
263
- passed,
264
- value: performance.errorRate * 100,
265
- threshold: threshold * 100,
266
- score,
267
- status: this.determineStatus(score)
268
- };
269
- }
270
- evaluateCodeQuality(codeQuality, threshold) {
271
- const qualityScore = (100 - codeQuality.complexity + codeQuality.maintainability + (100 - codeQuality.duplication)) / 300;
272
- const passed = qualityScore >= threshold;
273
- const score = Math.min(1, qualityScore / threshold);
274
- return {
275
- passed,
276
- value: qualityScore * 100,
277
- threshold: threshold * 100,
278
- score,
279
- status: this.determineStatus(score)
280
- };
281
- }
282
- determineStatus(score) {
283
- if (score >= 0.95)
284
- return 'excellent';
285
- if (score >= 0.85)
286
- return 'good';
287
- if (score >= 0.70)
288
- return 'fair';
289
- if (score >= 0.50)
290
- return 'poor';
291
- return 'critical';
292
- }
293
- async assessRisk(metrics, context, policyCompliance) {
294
- const factors = [];
295
- let riskScore = 0;
296
- // Check for critical violations
297
- if (policyCompliance.violations.some(v => v.severity === 'critical')) {
298
- factors.push('Critical policy violations detected');
299
- riskScore += 40;
300
- }
301
- // Check security vulnerabilities
302
- if (metrics.security.critical > 0) {
303
- factors.push(`${metrics.security.critical} critical security vulnerabilities`);
304
- riskScore += 30;
305
- }
306
- // Check test failure rate
307
- const failureRate = metrics.testResults.failed / metrics.testResults.total;
308
- if (failureRate > 0.05) {
309
- factors.push(`High test failure rate: ${(failureRate * 100).toFixed(1)}%`);
310
- riskScore += 20;
311
- }
312
- // Check deployment target
313
- if (context?.deploymentTarget === 'production' && context?.criticality === 'critical') {
314
- factors.push('Critical production deployment');
315
- riskScore += 10;
316
- }
317
- const level = riskScore >= 50 ? 'critical' :
318
- riskScore >= 30 ? 'high' :
319
- riskScore >= 15 ? 'medium' : 'low';
320
- return {
321
- level,
322
- factors,
323
- mitigation: this.generateMitigationStrategies(factors, level)
324
- };
325
- }
326
- generateMitigationStrategies(factors, level) {
327
- const strategies = [];
328
- if (level === 'critical' || level === 'high') {
329
- strategies.push('Block deployment until critical issues are resolved');
330
- strategies.push('Conduct thorough manual review');
331
- strategies.push('Implement rollback plan');
332
- }
333
- if (factors.some(f => f.includes('security'))) {
334
- strategies.push('Address security vulnerabilities immediately');
335
- strategies.push('Run additional security scans');
336
- }
337
- if (factors.some(f => f.includes('test failure'))) {
338
- strategies.push('Fix failing tests before proceeding');
339
- strategies.push('Investigate root cause of test failures');
340
- }
341
- return strategies;
342
- }
343
- async makeDecision(evaluations, policyCompliance, riskAssessment, policy) {
344
- // Critical failures always block
345
- if (!policyCompliance.compliant && policy.enforcement === 'blocking') {
346
- return 'FAIL';
347
- }
348
- // High/critical risk requires escalation or blocking
349
- if (riskAssessment.level === 'critical') {
350
- return 'FAIL';
351
- }
352
- if (riskAssessment.level === 'high') {
353
- return 'ESCALATE';
354
- }
355
- // Check if all critical evaluations passed
356
- const criticalEvaluations = [evaluations.coverage, evaluations.testSuccess, evaluations.security];
357
- const allCriticalPassed = criticalEvaluations.every(e => e.passed);
358
- if (!allCriticalPassed) {
359
- return policy.enforcement === 'strict' ? 'FAIL' : 'ESCALATE';
360
- }
361
- return 'PASS';
362
- }
363
- async generateRecommendations(evaluations, policyCompliance, riskAssessment) {
364
- const recommendations = [];
365
- if (!evaluations.coverage.passed) {
366
- recommendations.push('Increase test coverage to meet minimum threshold');
367
- }
368
- if (!evaluations.testSuccess.passed) {
369
- recommendations.push('Fix failing tests to improve success rate');
370
- }
371
- if (!evaluations.security.passed) {
372
- recommendations.push('Address security vulnerabilities before deployment');
373
- }
374
- if (!evaluations.performance.passed) {
375
- recommendations.push('Optimize performance to reduce error rate');
376
- }
377
- if (!evaluations.codeQuality.passed) {
378
- recommendations.push('Improve code quality through refactoring');
379
- }
380
- // Add risk-specific recommendations
381
- recommendations.push(...riskAssessment.mitigation);
382
- return recommendations;
383
- }
384
- calculateCompositeScore(evaluations) {
385
- const weights = {
386
- coverage: 0.25,
387
- testSuccess: 0.30,
388
- security: 0.25,
389
- performance: 0.10,
390
- codeQuality: 0.10
391
- };
392
- const weightedScore = evaluations.coverage.score * weights.coverage +
393
- evaluations.testSuccess.score * weights.testSuccess +
394
- evaluations.security.score * weights.security +
395
- evaluations.performance.score * weights.performance +
396
- evaluations.codeQuality.score * weights.codeQuality;
397
- return Math.round(weightedScore * 100 * 100) / 100; // Round to 2 decimal places
398
- }
399
- determineThreshold(policy, context) {
400
- let baseThreshold = 80; // Default 80%
401
- // Adjust based on environment and criticality
402
- if (context?.deploymentTarget === 'production') {
403
- baseThreshold += 5;
404
- }
405
- if (context?.criticality === 'critical') {
406
- baseThreshold += 5;
407
- }
408
- return Math.min(95, baseThreshold);
409
- }
410
- }
411
- exports.QualityGateExecuteHandler = QualityGateExecuteHandler;
412
- //# sourceMappingURL=quality-gate-execute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-gate-execute.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/quality/quality-gate-execute.ts"],"names":[],"mappings":"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"}
@@ -1,163 +0,0 @@
1
- /**
2
- * Quality Policy Check Handler
3
- *
4
- * Validates compliance with quality policies and regulations.
5
- * Supports custom policies, industry standards, and regulatory requirements.
6
- *
7
- * @version 1.0.0
8
- * @author Agentic QE Team - Agent 2
9
- */
10
- import { BaseHandler, HandlerResponse } from '../base-handler.js';
11
- import { HookExecutor } from '../../services/HookExecutor.js';
12
- export interface QualityPolicy {
13
- id: string;
14
- name: string;
15
- version: string;
16
- type: 'custom' | 'industry' | 'regulatory' | 'organizational';
17
- standards: PolicyStandard[];
18
- enforcementLevel: 'mandatory' | 'recommended' | 'optional';
19
- scope: string[];
20
- owner: string;
21
- lastUpdated: string;
22
- }
23
- export interface PolicyStandard {
24
- id: string;
25
- name: string;
26
- category: string;
27
- requirements: PolicyRequirement[];
28
- description: string;
29
- }
30
- export interface PolicyRequirement {
31
- id: string;
32
- description: string;
33
- metric: string;
34
- operator: 'gte' | 'lte' | 'eq' | 'ne' | 'between';
35
- threshold: number | [number, number];
36
- critical: boolean;
37
- rationale: string;
38
- }
39
- export interface QualityPolicyCheckArgs {
40
- policyId?: string;
41
- customPolicy?: QualityPolicy;
42
- metrics: {
43
- coverage: {
44
- line: number;
45
- branch: number;
46
- function: number;
47
- statement: number;
48
- };
49
- quality: {
50
- complexity: number;
51
- maintainability: number;
52
- duplication: number;
53
- codeSmells: number;
54
- };
55
- security: {
56
- vulnerabilities: {
57
- critical: number;
58
- high: number;
59
- medium: number;
60
- low: number;
61
- };
62
- complianceScore: number;
63
- };
64
- documentation: {
65
- coverage: number;
66
- quality: number;
67
- };
68
- testing: {
69
- unitTestCoverage: number;
70
- integrationTestCoverage: number;
71
- e2eTestCoverage: number;
72
- mutationScore: number;
73
- };
74
- };
75
- context?: {
76
- projectType: string;
77
- industry: string;
78
- regulatoryRequirements?: string[];
79
- };
80
- }
81
- export interface PolicyCheckResult {
82
- checkId: string;
83
- compliant: boolean;
84
- overallScore: number;
85
- policyEvaluations: PolicyEvaluation[];
86
- violations: PolicyViolation[];
87
- warnings: PolicyWarning[];
88
- exemptions: PolicyExemption[];
89
- summary: {
90
- totalRequirements: number;
91
- satisfied: number;
92
- violated: number;
93
- warned: number;
94
- exempted: number;
95
- };
96
- recommendations: string[];
97
- metadata: {
98
- checkedAt: string;
99
- executionTime: number;
100
- policyVersion: string;
101
- };
102
- }
103
- export interface PolicyEvaluation {
104
- standardId: string;
105
- standardName: string;
106
- category: string;
107
- compliant: boolean;
108
- score: number;
109
- requirementResults: RequirementResult[];
110
- }
111
- export interface RequirementResult {
112
- requirementId: string;
113
- description: string;
114
- satisfied: boolean;
115
- actualValue: number;
116
- expectedValue: number | [number, number];
117
- deviation: number;
118
- critical: boolean;
119
- }
120
- export interface PolicyViolation {
121
- violationId: string;
122
- standardId: string;
123
- requirementId: string;
124
- severity: 'critical' | 'high' | 'medium' | 'low';
125
- description: string;
126
- actualValue: number;
127
- expectedValue: number | [number, number];
128
- impact: string;
129
- remediation: string[];
130
- }
131
- export interface PolicyWarning {
132
- warningId: string;
133
- standardId: string;
134
- message: string;
135
- recommendation: string;
136
- }
137
- export interface PolicyExemption {
138
- exemptionId: string;
139
- requirementId: string;
140
- reason: string;
141
- approvedBy: string;
142
- expiresAt?: string;
143
- }
144
- export declare class QualityPolicyCheckHandler extends BaseHandler {
145
- private hookExecutor;
146
- private builtInPolicies;
147
- constructor(hookExecutor: HookExecutor);
148
- handle(args: QualityPolicyCheckArgs): Promise<HandlerResponse>;
149
- private initializeBuiltInPolicies;
150
- private getDefaultPolicy;
151
- private evaluateStandards;
152
- private evaluateRequirement;
153
- private getMetricValue;
154
- private checkRequirement;
155
- private calculateDeviation;
156
- private identifyIssues;
157
- private applyExemptions;
158
- private calculateSummary;
159
- private determineCompliance;
160
- private calculateOverallScore;
161
- private generateRecommendations;
162
- }
163
- //# sourceMappingURL=quality-policy-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-policy-check.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/quality/quality-policy-check.ts"],"names":[],"mappings":"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"}