agentic-qe 1.9.3 → 1.9.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 (108) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +30 -5
  3. package/config/.env.otel.example +25 -0
  4. package/config/OTEL-QUICK-REFERENCE.md +137 -0
  5. package/config/README-OTEL.md +222 -0
  6. package/config/alerting-rules.yml +518 -0
  7. package/config/docker-compose.otel.yml +187 -0
  8. package/config/grafana/dashboards/agentic-qe-overview.json +286 -0
  9. package/config/grafana/provisioning/dashboards/dashboards.yml +19 -0
  10. package/config/grafana/provisioning/datasources/datasources.yml +53 -0
  11. package/config/otel-collector-config.yaml.example +145 -0
  12. package/config/prometheus.yml.example +106 -0
  13. package/dist/alerting/AlertManager.d.ts +120 -0
  14. package/dist/alerting/AlertManager.d.ts.map +1 -0
  15. package/dist/alerting/AlertManager.js +345 -0
  16. package/dist/alerting/AlertManager.js.map +1 -0
  17. package/dist/alerting/FeedbackRouter.d.ts +98 -0
  18. package/dist/alerting/FeedbackRouter.d.ts.map +1 -0
  19. package/dist/alerting/FeedbackRouter.js +331 -0
  20. package/dist/alerting/FeedbackRouter.js.map +1 -0
  21. package/dist/alerting/StrategyApplicator.d.ts +120 -0
  22. package/dist/alerting/StrategyApplicator.d.ts.map +1 -0
  23. package/dist/alerting/StrategyApplicator.js +299 -0
  24. package/dist/alerting/StrategyApplicator.js.map +1 -0
  25. package/dist/alerting/index.d.ts +68 -0
  26. package/dist/alerting/index.d.ts.map +1 -0
  27. package/dist/alerting/index.js +112 -0
  28. package/dist/alerting/index.js.map +1 -0
  29. package/dist/alerting/types.d.ts +118 -0
  30. package/dist/alerting/types.d.ts.map +1 -0
  31. package/dist/alerting/types.js +11 -0
  32. package/dist/alerting/types.js.map +1 -0
  33. package/dist/cli/init/claude-config.d.ts.map +1 -1
  34. package/dist/cli/init/claude-config.js +12 -7
  35. package/dist/cli/init/claude-config.js.map +1 -1
  36. package/dist/core/memory/IPatternStore.d.ts +209 -0
  37. package/dist/core/memory/IPatternStore.d.ts.map +1 -0
  38. package/dist/core/memory/IPatternStore.js +15 -0
  39. package/dist/core/memory/IPatternStore.js.map +1 -0
  40. package/dist/core/memory/MigrationTools.d.ts +192 -0
  41. package/dist/core/memory/MigrationTools.d.ts.map +1 -0
  42. package/dist/core/memory/MigrationTools.js +615 -0
  43. package/dist/core/memory/MigrationTools.js.map +1 -0
  44. package/dist/core/memory/NeuralEnhancement.d.ts +154 -0
  45. package/dist/core/memory/NeuralEnhancement.d.ts.map +1 -0
  46. package/dist/core/memory/NeuralEnhancement.js +598 -0
  47. package/dist/core/memory/NeuralEnhancement.js.map +1 -0
  48. package/dist/core/memory/PatternStoreFactory.d.ts +143 -0
  49. package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -0
  50. package/dist/core/memory/PatternStoreFactory.js +370 -0
  51. package/dist/core/memory/PatternStoreFactory.js.map +1 -0
  52. package/dist/core/memory/RealAgentDBAdapter.d.ts +1 -0
  53. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  54. package/dist/core/memory/RealAgentDBAdapter.js +28 -20
  55. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  56. package/dist/core/memory/RuVectorPatternStore.d.ts +198 -0
  57. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -0
  58. package/dist/core/memory/RuVectorPatternStore.js +605 -0
  59. package/dist/core/memory/RuVectorPatternStore.js.map +1 -0
  60. package/dist/core/memory/SelfHealingMonitor.d.ts +186 -0
  61. package/dist/core/memory/SelfHealingMonitor.d.ts.map +1 -0
  62. package/dist/core/memory/SelfHealingMonitor.js +451 -0
  63. package/dist/core/memory/SelfHealingMonitor.js.map +1 -0
  64. package/dist/core/memory/SwarmMemoryManager.d.ts +62 -0
  65. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  66. package/dist/core/memory/SwarmMemoryManager.js +97 -0
  67. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  68. package/dist/core/memory/index.d.ts +11 -0
  69. package/dist/core/memory/index.d.ts.map +1 -1
  70. package/dist/core/memory/index.js +36 -1
  71. package/dist/core/memory/index.js.map +1 -1
  72. package/dist/reasoning/RuVectorReasoningAdapter.d.ts +232 -0
  73. package/dist/reasoning/RuVectorReasoningAdapter.d.ts.map +1 -0
  74. package/dist/reasoning/RuVectorReasoningAdapter.js +585 -0
  75. package/dist/reasoning/RuVectorReasoningAdapter.js.map +1 -0
  76. package/dist/reasoning/index.d.ts +2 -0
  77. package/dist/reasoning/index.d.ts.map +1 -1
  78. package/dist/reasoning/index.js +6 -1
  79. package/dist/reasoning/index.js.map +1 -1
  80. package/dist/reporting/ResultAggregator.d.ts +107 -0
  81. package/dist/reporting/ResultAggregator.d.ts.map +1 -0
  82. package/dist/reporting/ResultAggregator.js +435 -0
  83. package/dist/reporting/ResultAggregator.js.map +1 -0
  84. package/dist/reporting/index.d.ts +48 -0
  85. package/dist/reporting/index.d.ts.map +1 -0
  86. package/dist/reporting/index.js +154 -0
  87. package/dist/reporting/index.js.map +1 -0
  88. package/dist/reporting/reporters/ControlLoopReporter.d.ts +128 -0
  89. package/dist/reporting/reporters/ControlLoopReporter.d.ts.map +1 -0
  90. package/dist/reporting/reporters/ControlLoopReporter.js +417 -0
  91. package/dist/reporting/reporters/ControlLoopReporter.js.map +1 -0
  92. package/dist/reporting/reporters/HumanReadableReporter.d.ts +140 -0
  93. package/dist/reporting/reporters/HumanReadableReporter.d.ts.map +1 -0
  94. package/dist/reporting/reporters/HumanReadableReporter.js +524 -0
  95. package/dist/reporting/reporters/HumanReadableReporter.js.map +1 -0
  96. package/dist/reporting/reporters/JSONReporter.d.ts +193 -0
  97. package/dist/reporting/reporters/JSONReporter.d.ts.map +1 -0
  98. package/dist/reporting/reporters/JSONReporter.js +324 -0
  99. package/dist/reporting/reporters/JSONReporter.js.map +1 -0
  100. package/dist/reporting/reporters/index.d.ts +14 -0
  101. package/dist/reporting/reporters/index.d.ts.map +1 -0
  102. package/dist/reporting/reporters/index.js +19 -0
  103. package/dist/reporting/reporters/index.js.map +1 -0
  104. package/dist/reporting/types.d.ts +427 -0
  105. package/dist/reporting/types.d.ts.map +1 -0
  106. package/dist/reporting/types.js +12 -0
  107. package/dist/reporting/types.js.map +1 -0
  108. package/package.json +9 -1
@@ -0,0 +1,417 @@
1
+ "use strict";
2
+ /**
3
+ * Control Loop Reporter
4
+ *
5
+ * Generates machine-readable feedback for automated control systems,
6
+ * CI/CD pipelines, and decision-making engines. Provides actionable
7
+ * signals, threshold violations, and recommended actions.
8
+ *
9
+ * @module reporting/reporters/ControlLoopReporter
10
+ * @version 1.0.0
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ControlLoopReporter = void 0;
14
+ /**
15
+ * Control Loop Reporter
16
+ *
17
+ * Designed for automated systems to consume test results and make
18
+ * deployment decisions based on quality gates and thresholds.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const reporter = new ControlLoopReporter({
23
+ * minPassRate: 0.95,
24
+ * minCoverage: 80,
25
+ * maxCriticalVulnerabilities: 0
26
+ * });
27
+ *
28
+ * const output = reporter.report(aggregatedResults);
29
+ * const feedback = JSON.parse(output.content) as ControlLoopFeedback;
30
+ *
31
+ * if (!feedback.signals.canDeploy) {
32
+ * // Block deployment
33
+ * process.exit(1);
34
+ * }
35
+ * ```
36
+ */
37
+ class ControlLoopReporter {
38
+ constructor(config = {}) {
39
+ this.config = {
40
+ format: 'control-loop',
41
+ detailLevel: config.detailLevel || 'detailed',
42
+ prettyPrint: config.prettyPrint !== undefined ? config.prettyPrint : false,
43
+ includeTimestamps: config.includeTimestamps !== undefined ? config.includeTimestamps : true,
44
+ includeMetadata: config.includeMetadata !== undefined ? config.includeMetadata : true
45
+ };
46
+ // Set default thresholds
47
+ this.thresholds = {
48
+ minPassRate: config.minPassRate ?? 0.95,
49
+ minCoverage: config.minCoverage ?? 80,
50
+ minQualityScore: config.minQualityScore ?? 70,
51
+ minSecurityScore: config.minSecurityScore ?? 80,
52
+ maxCriticalVulnerabilities: config.maxCriticalVulnerabilities ?? 0,
53
+ maxHighVulnerabilities: config.maxHighVulnerabilities ?? 2,
54
+ maxP95ResponseTime: config.maxP95ResponseTime ?? 1000,
55
+ maxErrorRate: config.maxErrorRate ?? 0.01,
56
+ maxFlakyTests: config.maxFlakyTests ?? 5
57
+ };
58
+ }
59
+ /**
60
+ * Generate control loop feedback
61
+ */
62
+ report(results) {
63
+ const startTime = Date.now();
64
+ // Build control loop feedback
65
+ const feedback = this.buildFeedback(results);
66
+ // Serialize to JSON
67
+ const content = this.config.prettyPrint
68
+ ? JSON.stringify(feedback, null, 2)
69
+ : JSON.stringify(feedback);
70
+ const generationDuration = Date.now() - startTime;
71
+ return {
72
+ format: 'control-loop',
73
+ content,
74
+ timestamp: new Date().toISOString(),
75
+ size: Buffer.byteLength(content, 'utf8'),
76
+ generationDuration
77
+ };
78
+ }
79
+ /**
80
+ * Build control loop feedback structure
81
+ */
82
+ buildFeedback(results) {
83
+ // Calculate metrics
84
+ const metrics = this.calculateMetrics(results);
85
+ // Detect signals
86
+ const signals = this.detectSignals(results, metrics);
87
+ // Generate actions
88
+ const actions = this.generateActions(results, signals);
89
+ // Detect violations
90
+ const violations = this.detectViolations(results, metrics);
91
+ // Generate next steps
92
+ const nextSteps = this.generateNextSteps(signals, violations);
93
+ return {
94
+ executionId: results.executionId,
95
+ timestamp: results.timestamp,
96
+ status: results.status,
97
+ success: results.status === 'success',
98
+ qualityScore: results.qualityMetrics?.score || 0,
99
+ metrics,
100
+ signals,
101
+ actions,
102
+ violations,
103
+ nextSteps
104
+ };
105
+ }
106
+ /**
107
+ * Calculate key metrics for decision making
108
+ */
109
+ calculateMetrics(results) {
110
+ return {
111
+ testPassRate: results.testResults.passRate,
112
+ coveragePercentage: results.coverage?.overall || 0,
113
+ securityScore: results.security?.score || 100,
114
+ performanceScore: this.calculatePerformanceScore(results.performance),
115
+ qualityGatesPassed: results.qualityMetrics?.gatesPassed || 0,
116
+ qualityGatesFailed: results.qualityMetrics?.gatesFailed || 0
117
+ };
118
+ }
119
+ /**
120
+ * Calculate performance score (0-100)
121
+ */
122
+ calculatePerformanceScore(performance) {
123
+ if (!performance)
124
+ return 100;
125
+ let score = 100;
126
+ // Penalize high P95 response time
127
+ if (performance.responseTime.p95 > this.thresholds.maxP95ResponseTime) {
128
+ const excess = performance.responseTime.p95 - this.thresholds.maxP95ResponseTime;
129
+ score -= Math.min(50, (excess / this.thresholds.maxP95ResponseTime) * 50);
130
+ }
131
+ // Penalize high error rate
132
+ if (performance.errorRate > this.thresholds.maxErrorRate) {
133
+ const excess = performance.errorRate - this.thresholds.maxErrorRate;
134
+ score -= Math.min(30, (excess / this.thresholds.maxErrorRate) * 30);
135
+ }
136
+ return Math.max(0, Math.round(score));
137
+ }
138
+ /**
139
+ * Detect actionable signals
140
+ */
141
+ detectSignals(results, metrics) {
142
+ const { testResults, coverage, security, qualityMetrics, performance } = results;
143
+ // Can deploy
144
+ const canDeploy = metrics.testPassRate >= this.thresholds.minPassRate &&
145
+ metrics.coveragePercentage >= this.thresholds.minCoverage &&
146
+ (!security || security.summary.critical <= this.thresholds.maxCriticalVulnerabilities) &&
147
+ (!security || security.summary.high <= this.thresholds.maxHighVulnerabilities) &&
148
+ (!qualityMetrics || qualityMetrics.score >= this.thresholds.minQualityScore) &&
149
+ testResults.failed === 0;
150
+ // Critical issues found
151
+ const criticalIssuesFound = testResults.failed > 0 ||
152
+ (security?.summary.critical || 0) > 0 ||
153
+ (qualityMetrics?.score || 100) < this.thresholds.minQualityScore;
154
+ // Coverage decreased (comparing against threshold)
155
+ const coverageDecreased = (coverage?.overall || 0) < this.thresholds.minCoverage;
156
+ // Performance degraded
157
+ const performanceDegraded = performance?.responseTime.p95 && performance.responseTime.p95 > this.thresholds.maxP95ResponseTime ||
158
+ performance?.errorRate && performance.errorRate > this.thresholds.maxErrorRate;
159
+ // Security risks
160
+ const securityRisks = (security?.summary.critical || 0) > this.thresholds.maxCriticalVulnerabilities ||
161
+ (security?.summary.high || 0) > this.thresholds.maxHighVulnerabilities;
162
+ // Tests unstable (flaky or inconsistent)
163
+ const testsUnstable = (testResults.flaky || 0) > this.thresholds.maxFlakyTests;
164
+ return {
165
+ canDeploy,
166
+ criticalIssuesFound,
167
+ coverageDecreased,
168
+ performanceDegraded: performanceDegraded || false,
169
+ securityRisks,
170
+ testsUnstable
171
+ };
172
+ }
173
+ /**
174
+ * Generate recommended actions
175
+ */
176
+ generateActions(results, signals) {
177
+ const actions = [];
178
+ // Block deployment if critical issues
179
+ if (!signals.canDeploy) {
180
+ actions.push({
181
+ type: 'block_deployment',
182
+ priority: 'critical',
183
+ reason: 'Quality gates not met - deployment blocked',
184
+ resolution: 'Fix failing tests, address security vulnerabilities, and improve coverage'
185
+ });
186
+ }
187
+ // Require review for security risks
188
+ if (signals.securityRisks) {
189
+ actions.push({
190
+ type: 'require_review',
191
+ priority: 'critical',
192
+ reason: `Critical or high severity vulnerabilities detected: ${results.security?.summary.critical || 0} critical, ${results.security?.summary.high || 0} high`,
193
+ resolution: 'Security team review required before deployment'
194
+ });
195
+ }
196
+ // Alert on performance degradation
197
+ if (signals.performanceDegraded) {
198
+ actions.push({
199
+ type: 'alert',
200
+ priority: 'high',
201
+ reason: 'Performance metrics degraded beyond acceptable thresholds',
202
+ resolution: 'Investigate performance issues and optimize before deployment'
203
+ });
204
+ }
205
+ // Alert on coverage decrease
206
+ if (signals.coverageDecreased) {
207
+ actions.push({
208
+ type: 'alert',
209
+ priority: 'medium',
210
+ reason: `Code coverage below threshold: ${results.coverage?.overall.toFixed(1)}% < ${this.thresholds.minCoverage}%`,
211
+ resolution: 'Add tests to increase coverage'
212
+ });
213
+ }
214
+ // Retry for flaky tests
215
+ if (signals.testsUnstable) {
216
+ actions.push({
217
+ type: 'retry',
218
+ priority: 'medium',
219
+ reason: `Flaky tests detected: ${results.testResults.flaky || 0} tests`,
220
+ resolution: 'Retry test execution or investigate test stability'
221
+ });
222
+ }
223
+ // Approve if all checks passed
224
+ if (signals.canDeploy && !signals.criticalIssuesFound) {
225
+ actions.push({
226
+ type: 'approve',
227
+ priority: 'low',
228
+ reason: 'All quality gates passed',
229
+ resolution: 'Ready for deployment'
230
+ });
231
+ }
232
+ return actions;
233
+ }
234
+ /**
235
+ * Detect threshold violations
236
+ */
237
+ detectViolations(results, metrics) {
238
+ const violations = [];
239
+ // Test pass rate violation
240
+ if (metrics.testPassRate < this.thresholds.minPassRate) {
241
+ violations.push({
242
+ metric: 'testPassRate',
243
+ threshold: this.thresholds.minPassRate,
244
+ actualValue: metrics.testPassRate,
245
+ operator: 'gte',
246
+ severity: 'critical',
247
+ impact: 'Deployment blocked due to test failures'
248
+ });
249
+ }
250
+ // Coverage violation
251
+ if (metrics.coveragePercentage < this.thresholds.minCoverage) {
252
+ violations.push({
253
+ metric: 'coverage',
254
+ threshold: this.thresholds.minCoverage,
255
+ actualValue: metrics.coveragePercentage,
256
+ operator: 'gte',
257
+ severity: 'high',
258
+ impact: 'Insufficient test coverage may lead to undetected bugs'
259
+ });
260
+ }
261
+ // Quality score violation
262
+ if (metrics.qualityScore < this.thresholds.minQualityScore) {
263
+ violations.push({
264
+ metric: 'qualityScore',
265
+ threshold: this.thresholds.minQualityScore,
266
+ actualValue: metrics.qualityScore,
267
+ operator: 'gte',
268
+ severity: 'high',
269
+ impact: 'Code quality below acceptable standards'
270
+ });
271
+ }
272
+ // Security score violation
273
+ if (metrics.securityScore < this.thresholds.minSecurityScore) {
274
+ violations.push({
275
+ metric: 'securityScore',
276
+ threshold: this.thresholds.minSecurityScore,
277
+ actualValue: metrics.securityScore,
278
+ operator: 'gte',
279
+ severity: 'critical',
280
+ impact: 'Security vulnerabilities pose risk to production'
281
+ });
282
+ }
283
+ // Critical vulnerabilities violation
284
+ const criticalVulns = results.security?.summary.critical || 0;
285
+ if (criticalVulns > this.thresholds.maxCriticalVulnerabilities) {
286
+ violations.push({
287
+ metric: 'criticalVulnerabilities',
288
+ threshold: this.thresholds.maxCriticalVulnerabilities,
289
+ actualValue: criticalVulns,
290
+ operator: 'lte',
291
+ severity: 'critical',
292
+ impact: 'Critical security vulnerabilities must be addressed immediately'
293
+ });
294
+ }
295
+ // Performance violation (P95)
296
+ if (results.performance?.responseTime.p95 &&
297
+ results.performance.responseTime.p95 > this.thresholds.maxP95ResponseTime) {
298
+ violations.push({
299
+ metric: 'p95ResponseTime',
300
+ threshold: this.thresholds.maxP95ResponseTime,
301
+ actualValue: results.performance.responseTime.p95,
302
+ operator: 'lte',
303
+ severity: 'medium',
304
+ impact: 'Performance degradation may affect user experience'
305
+ });
306
+ }
307
+ // Error rate violation
308
+ if (results.performance?.errorRate &&
309
+ results.performance.errorRate > this.thresholds.maxErrorRate) {
310
+ violations.push({
311
+ metric: 'errorRate',
312
+ threshold: this.thresholds.maxErrorRate,
313
+ actualValue: results.performance.errorRate,
314
+ operator: 'lte',
315
+ severity: 'high',
316
+ impact: 'High error rate indicates system instability'
317
+ });
318
+ }
319
+ return violations;
320
+ }
321
+ /**
322
+ * Generate next steps based on signals and violations
323
+ */
324
+ generateNextSteps(signals, violations) {
325
+ const steps = [];
326
+ // Deployment decision
327
+ if (signals.canDeploy) {
328
+ steps.push('✓ Quality gates passed - proceed with deployment');
329
+ }
330
+ else {
331
+ steps.push('✗ Quality gates failed - deployment blocked');
332
+ }
333
+ // Critical violations
334
+ const criticalViolations = violations.filter(v => v.severity === 'critical');
335
+ if (criticalViolations.length > 0) {
336
+ steps.push(`→ Address ${criticalViolations.length} critical violation(s) immediately`);
337
+ criticalViolations.forEach(v => {
338
+ steps.push(` - Fix ${v.metric}: ${v.actualValue} (threshold: ${v.threshold})`);
339
+ });
340
+ }
341
+ // High priority violations
342
+ const highViolations = violations.filter(v => v.severity === 'high');
343
+ if (highViolations.length > 0) {
344
+ steps.push(`→ Resolve ${highViolations.length} high priority violation(s) before deployment`);
345
+ }
346
+ // Security issues
347
+ if (signals.securityRisks) {
348
+ steps.push('→ Security review required - vulnerabilities detected');
349
+ }
350
+ // Performance issues
351
+ if (signals.performanceDegraded) {
352
+ steps.push('→ Performance optimization recommended');
353
+ }
354
+ // Coverage issues
355
+ if (signals.coverageDecreased) {
356
+ steps.push('→ Increase test coverage to meet threshold');
357
+ }
358
+ // Test stability
359
+ if (signals.testsUnstable) {
360
+ steps.push('→ Investigate and fix flaky tests');
361
+ }
362
+ // Final step
363
+ if (signals.canDeploy && violations.length === 0) {
364
+ steps.push('→ All checks passed - ready for automated deployment');
365
+ }
366
+ else if (!signals.canDeploy) {
367
+ steps.push('→ Fix violations and re-run quality checks');
368
+ }
369
+ return steps;
370
+ }
371
+ getFormat() {
372
+ return 'control-loop';
373
+ }
374
+ validateConfig(config) {
375
+ return config.format === 'control-loop';
376
+ }
377
+ /**
378
+ * Get current thresholds
379
+ */
380
+ getThresholds() {
381
+ return { ...this.thresholds };
382
+ }
383
+ /**
384
+ * Update thresholds
385
+ */
386
+ updateThresholds(thresholds) {
387
+ this.thresholds = {
388
+ ...this.thresholds,
389
+ ...thresholds
390
+ };
391
+ }
392
+ /**
393
+ * Check if results pass all gates
394
+ */
395
+ static passesGates(results, config = {}) {
396
+ const reporter = new ControlLoopReporter(config);
397
+ const output = reporter.report(results);
398
+ const feedback = JSON.parse(output.content);
399
+ return feedback.signals.canDeploy;
400
+ }
401
+ /**
402
+ * Get deployment decision
403
+ */
404
+ static getDeploymentDecision(results, config = {}) {
405
+ const reporter = new ControlLoopReporter(config);
406
+ const output = reporter.report(results);
407
+ const feedback = JSON.parse(output.content);
408
+ return {
409
+ canDeploy: feedback.signals.canDeploy,
410
+ reason: feedback.actions.find(a => a.priority === 'critical')?.reason || 'All checks passed',
411
+ actions: feedback.actions,
412
+ violations: feedback.violations
413
+ };
414
+ }
415
+ }
416
+ exports.ControlLoopReporter = ControlLoopReporter;
417
+ //# sourceMappingURL=ControlLoopReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlLoopReporter.js","sourceRoot":"","sources":["../../../src/reporting/reporters/ControlLoopReporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Human-Readable Reporter
3
+ *
4
+ * Generates human-friendly console output with colors, formatting,
5
+ * and clear visual hierarchy for quality check results.
6
+ *
7
+ * @module reporting/reporters/HumanReadableReporter
8
+ * @version 1.0.0
9
+ */
10
+ import { Reporter, ReporterConfig, ReportFormat, ReporterOutput, AggregatedResults } from '../types';
11
+ /**
12
+ * Human-Readable Reporter
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const reporter = new HumanReadableReporter({ useColors: true });
17
+ * const output = reporter.report(aggregatedResults);
18
+ * console.log(output.content);
19
+ * ```
20
+ */
21
+ export declare class HumanReadableReporter implements Reporter {
22
+ private config;
23
+ private useColors;
24
+ constructor(config?: Partial<ReporterConfig>);
25
+ /**
26
+ * Generate human-readable report
27
+ */
28
+ report(results: AggregatedResults): ReporterOutput;
29
+ /**
30
+ * Generate header
31
+ */
32
+ private generateHeader;
33
+ /**
34
+ * Generate summary section
35
+ */
36
+ private generateSummary;
37
+ /**
38
+ * Generate test results section
39
+ */
40
+ private generateTestResults;
41
+ /**
42
+ * Generate coverage section
43
+ */
44
+ private generateCoverage;
45
+ /**
46
+ * Generate quality metrics section
47
+ */
48
+ private generateQualityMetrics;
49
+ /**
50
+ * Generate security section
51
+ */
52
+ private generateSecurity;
53
+ /**
54
+ * Generate performance section
55
+ */
56
+ private generatePerformance;
57
+ /**
58
+ * Generate recommendations section
59
+ */
60
+ private generateRecommendations;
61
+ /**
62
+ * Generate footer
63
+ */
64
+ private generateFooter;
65
+ getFormat(): ReportFormat;
66
+ validateConfig(config: ReporterConfig): boolean;
67
+ /**
68
+ * Horizontal rule
69
+ */
70
+ private hr;
71
+ /**
72
+ * Center text
73
+ */
74
+ private center;
75
+ /**
76
+ * Section title
77
+ */
78
+ private sectionTitle;
79
+ /**
80
+ * Format key-value pairs
81
+ */
82
+ private formatKeyValue;
83
+ /**
84
+ * Progress bar
85
+ */
86
+ private progressBar;
87
+ /**
88
+ * Coverage bar
89
+ */
90
+ private getCoverageBar;
91
+ /**
92
+ * Truncate text
93
+ */
94
+ private truncate;
95
+ /**
96
+ * Colorize text
97
+ */
98
+ private colorize;
99
+ /**
100
+ * Bold text
101
+ */
102
+ private bold;
103
+ /**
104
+ * Dim text
105
+ */
106
+ private dim;
107
+ /**
108
+ * Get status icon
109
+ */
110
+ private getStatusIcon;
111
+ /**
112
+ * Get status color
113
+ */
114
+ private getStatusColor;
115
+ /**
116
+ * Get test status color
117
+ */
118
+ private getTestStatusColor;
119
+ /**
120
+ * Get coverage color
121
+ */
122
+ private getCoverageColor;
123
+ /**
124
+ * Get quality color
125
+ */
126
+ private getQualityColor;
127
+ /**
128
+ * Get security color
129
+ */
130
+ private getSecurityColor;
131
+ /**
132
+ * Get progress color
133
+ */
134
+ private getProgressColor;
135
+ /**
136
+ * Check if terminal supports color
137
+ */
138
+ private supportsColor;
139
+ }
140
+ //# sourceMappingURL=HumanReadableReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HumanReadableReporter.d.ts","sourceRoot":"","sources":["../../../src/reporting/reporters/HumanReadableReporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAiBlB;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,YAAW,QAAQ;IACpD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAU;gBAEf,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAWhD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc;IA6DlD;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA8CvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsC9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB,SAAS,IAAI,YAAY;IAIzB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAI/C;;OAEG;IACH,OAAO,CAAC,EAAE;IAIV;;OAEG;IACH,OAAO,CAAC,MAAM;IAOd;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,IAAI;IAKZ;;OAEG;IACH,OAAO,CAAC,GAAG;IAKX;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAQtB"}