@vibecheckai/cli 2.5.7 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bundles/vibecheck-core.js +20 -20
  3. package/dist/commands/secrets-allowlist.js +4 -4
  4. package/dist/commands/secrets-allowlist.js.map +1 -1
  5. package/dist/commands/ship-consolidated.js +193 -193
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/init/ci-generator.d.ts +2 -2
  10. package/dist/init/hooks-installer.d.ts +2 -2
  11. package/dist/init/index.d.ts +1 -1
  12. package/dist/init/index.d.ts.map +1 -1
  13. package/dist/init/index.js +2 -2
  14. package/dist/init/index.js.map +1 -1
  15. package/dist/init/templates.d.ts +6 -285
  16. package/dist/init/templates.d.ts.map +1 -1
  17. package/dist/init/templates.js +2 -3
  18. package/dist/init/templates.js.map +1 -1
  19. package/dist/runtime/json-output.d.ts +2 -2
  20. package/package.json +11 -3
  21. package/dist/bundles/guardrail-core.js +0 -25799
  22. package/dist/bundles/guardrail-security.js +0 -208687
  23. package/dist/bundles/guardrail-ship.js +0 -2318
  24. package/dist/commands/autopilot-decision.d.ts +0 -24
  25. package/dist/commands/autopilot-decision.d.ts.map +0 -1
  26. package/dist/commands/autopilot-decision.js +0 -304
  27. package/dist/commands/autopilot-decision.js.map +0 -1
  28. package/dist/commands/autopilot.d.ts +0 -33
  29. package/dist/commands/autopilot.d.ts.map +0 -1
  30. package/dist/commands/autopilot.js +0 -1539
  31. package/dist/commands/autopilot.js.map +0 -1
  32. package/dist/commands/context.d.ts +0 -8
  33. package/dist/commands/context.d.ts.map +0 -1
  34. package/dist/commands/context.js +0 -340
  35. package/dist/commands/context.js.map +0 -1
  36. package/dist/commands/debug.d.ts +0 -78
  37. package/dist/commands/debug.d.ts.map +0 -1
  38. package/dist/commands/debug.js +0 -381
  39. package/dist/commands/debug.js.map +0 -1
  40. package/dist/commands/preview.d.ts +0 -54
  41. package/dist/commands/preview.d.ts.map +0 -1
  42. package/dist/commands/preview.js +0 -352
  43. package/dist/commands/preview.js.map +0 -1
  44. package/dist/commands/quality/check.d.ts +0 -31
  45. package/dist/commands/quality/check.d.ts.map +0 -1
  46. package/dist/commands/quality/check.js +0 -242
  47. package/dist/commands/quality/check.js.map +0 -1
  48. package/dist/commands/quality/index.d.ts +0 -8
  49. package/dist/commands/quality/index.d.ts.map +0 -1
  50. package/dist/commands/quality/index.js +0 -14
  51. package/dist/commands/quality/index.js.map +0 -1
  52. package/dist/commands/quality/setup-quality.d.ts +0 -23
  53. package/dist/commands/quality/setup-quality.d.ts.map +0 -1
  54. package/dist/commands/quality/setup-quality.js +0 -452
  55. package/dist/commands/quality/setup-quality.js.map +0 -1
  56. package/dist/commands/quality/tidy.d.ts +0 -41
  57. package/dist/commands/quality/tidy.d.ts.map +0 -1
  58. package/dist/commands/quality/tidy.js +0 -466
  59. package/dist/commands/quality/tidy.js.map +0 -1
  60. package/dist/commands/quality/utils.d.ts +0 -73
  61. package/dist/commands/quality/utils.d.ts.map +0 -1
  62. package/dist/commands/quality/utils.js +0 -158
  63. package/dist/commands/quality/utils.js.map +0 -1
  64. package/dist/fix/analytics.d.ts +0 -121
  65. package/dist/fix/analytics.d.ts.map +0 -1
  66. package/dist/fix/analytics.js +0 -289
  67. package/dist/fix/analytics.js.map +0 -1
  68. package/dist/fix/audit.d.ts +0 -61
  69. package/dist/fix/audit.d.ts.map +0 -1
  70. package/dist/fix/audit.js +0 -149
  71. package/dist/fix/audit.js.map +0 -1
  72. package/dist/fix/config.d.ts +0 -78
  73. package/dist/fix/config.d.ts.map +0 -1
  74. package/dist/fix/config.js +0 -200
  75. package/dist/fix/config.js.map +0 -1
  76. package/dist/fix/impact.d.ts +0 -74
  77. package/dist/fix/impact.d.ts.map +0 -1
  78. package/dist/fix/impact.js +0 -281
  79. package/dist/fix/impact.js.map +0 -1
  80. package/dist/fix/learning.d.ts +0 -109
  81. package/dist/fix/learning.d.ts.map +0 -1
  82. package/dist/fix/learning.js +0 -296
  83. package/dist/fix/learning.js.map +0 -1
  84. package/dist/fix/metrics.d.ts +0 -106
  85. package/dist/fix/metrics.d.ts.map +0 -1
  86. package/dist/fix/metrics.js +0 -138
  87. package/dist/fix/metrics.js.map +0 -1
  88. package/dist/fix/parallel.d.ts +0 -69
  89. package/dist/fix/parallel.d.ts.map +0 -1
  90. package/dist/fix/parallel.js +0 -203
  91. package/dist/fix/parallel.js.map +0 -1
  92. package/dist/fix/report.d.ts +0 -40
  93. package/dist/fix/report.d.ts.map +0 -1
  94. package/dist/fix/report.js +0 -212
  95. package/dist/fix/report.js.map +0 -1
  96. package/dist/fix/strategy.d.ts +0 -53
  97. package/dist/fix/strategy.d.ts.map +0 -1
  98. package/dist/fix/strategy.js +0 -143
  99. package/dist/fix/strategy.js.map +0 -1
  100. package/dist/fix/templates.d.ts +0 -58
  101. package/dist/fix/templates.d.ts.map +0 -1
  102. package/dist/fix/templates.js +0 -259
  103. package/dist/fix/templates.js.map +0 -1
  104. package/dist/fix/testing.d.ts +0 -68
  105. package/dist/fix/testing.d.ts.map +0 -1
  106. package/dist/fix/testing.js +0 -245
  107. package/dist/fix/testing.js.map +0 -1
  108. package/dist/fix/validation.d.ts +0 -71
  109. package/dist/fix/validation.d.ts.map +0 -1
  110. package/dist/fix/validation.js +0 -267
  111. package/dist/fix/validation.js.map +0 -1
  112. package/dist/fix/visualization.d.ts +0 -73
  113. package/dist/fix/visualization.d.ts.map +0 -1
  114. package/dist/fix/visualization.js +0 -243
  115. package/dist/fix/visualization.js.map +0 -1
  116. package/dist/runtime/cli-errors.d.ts +0 -38
  117. package/dist/runtime/cli-errors.d.ts.map +0 -1
  118. package/dist/runtime/cli-errors.js +0 -354
  119. package/dist/runtime/cli-errors.js.map +0 -1
  120. package/dist/runtime/owner-mode.d.ts +0 -48
  121. package/dist/runtime/owner-mode.d.ts.map +0 -1
  122. package/dist/runtime/owner-mode.js +0 -284
  123. package/dist/runtime/owner-mode.js.map +0 -1
  124. package/dist/scanner/index.d.ts +0 -8
  125. package/dist/scanner/index.d.ts.map +0 -1
  126. package/dist/scanner/index.js +0 -15
  127. package/dist/scanner/index.js.map +0 -1
  128. package/dist/scanner/placeholder-detector.d.ts +0 -56
  129. package/dist/scanner/placeholder-detector.d.ts.map +0 -1
  130. package/dist/scanner/placeholder-detector.js +0 -220
  131. package/dist/scanner/placeholder-detector.js.map +0 -1
  132. package/dist/scanner/route-detector.d.ts +0 -100
  133. package/dist/scanner/route-detector.d.ts.map +0 -1
  134. package/dist/scanner/route-detector.js +0 -455
  135. package/dist/scanner/route-detector.js.map +0 -1
  136. package/dist/scanner/scoring.d.ts +0 -67
  137. package/dist/scanner/scoring.d.ts.map +0 -1
  138. package/dist/scanner/scoring.js +0 -284
  139. package/dist/scanner/scoring.js.map +0 -1
  140. package/dist/ship-baseline.d.ts +0 -56
  141. package/dist/ship-baseline.d.ts.map +0 -1
  142. package/dist/ship-baseline.js +0 -194
  143. package/dist/ship-baseline.js.map +0 -1
  144. package/dist/ship-config.d.ts +0 -91
  145. package/dist/ship-config.d.ts.map +0 -1
  146. package/dist/ship-config.js +0 -133
  147. package/dist/ship-config.js.map +0 -1
  148. package/dist/ship-data-loader.d.ts +0 -70
  149. package/dist/ship-data-loader.d.ts.map +0 -1
  150. package/dist/ship-data-loader.js +0 -301
  151. package/dist/ship-data-loader.js.map +0 -1
  152. package/dist/utils/ai-helpers.d.ts +0 -72
  153. package/dist/utils/ai-helpers.d.ts.map +0 -1
  154. package/dist/utils/ai-helpers.js +0 -339
  155. package/dist/utils/ai-helpers.js.map +0 -1
  156. package/dist/utils/validation.d.ts +0 -34
  157. package/dist/utils/validation.d.ts.map +0 -1
  158. package/dist/utils/validation.js +0 -160
  159. package/dist/utils/validation.js.map +0 -1
@@ -1,296 +0,0 @@
1
- "use strict";
2
- /**
3
- * Fix Learning System
4
- *
5
- * Learns from successful fixes to improve future fix generation.
6
- * Tracks fix success rates, patterns, and user feedback.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FixLearningSystem = void 0;
10
- const fs_1 = require("fs");
11
- const path_1 = require("path");
12
- class FixLearningSystem {
13
- constructor(projectPath) {
14
- this.projectPath = projectPath;
15
- this.learningDir = (0, path_1.join)(projectPath, '.guardrail', 'learning');
16
- this.learningFile = (0, path_1.join)(this.learningDir, 'fix-learning.jsonl');
17
- }
18
- /**
19
- * Record a fix outcome for learning
20
- */
21
- recordOutcome(finding, fix, applyResult, verificationPassed, rollbackOccurred, userFeedback) {
22
- if (!(0, fs_1.existsSync)(this.learningDir)) {
23
- (0, fs_1.mkdirSync)(this.learningDir, { recursive: true });
24
- }
25
- const outcome = applyResult.success && verificationPassed && !rollbackOccurred
26
- ? 'success'
27
- : applyResult.success && !verificationPassed
28
- ? 'partial'
29
- : 'failure';
30
- const actualConfidence = this.calculateActualConfidence(outcome, verificationPassed, rollbackOccurred);
31
- const pattern = this.extractPattern(fix);
32
- const record = {
33
- id: `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
34
- timestamp: new Date().toISOString(),
35
- finding,
36
- fix,
37
- outcome,
38
- userFeedback,
39
- verificationPassed,
40
- rollbackOccurred,
41
- confidence: fix.confidence,
42
- actualConfidence,
43
- pattern,
44
- context: {
45
- fileType: this.getFileType(fix.file),
46
- language: this.detectLanguage(fix.file),
47
- projectType: this.detectProjectType(),
48
- },
49
- };
50
- // Append to learning file (JSONL format)
51
- const line = JSON.stringify(record) + '\n';
52
- (0, fs_1.writeFileSync)(this.learningFile, line, { flag: 'a' });
53
- }
54
- /**
55
- * Get learning statistics
56
- */
57
- getStatistics() {
58
- const records = this.loadRecords();
59
- if (records.length === 0) {
60
- return this.emptyStatistics();
61
- }
62
- const successfulFixes = records.filter((r) => r.outcome === 'success').length;
63
- const failedFixes = records.filter((r) => r.outcome === 'failure').length;
64
- const successRate = records.length > 0 ? successfulFixes / records.length : 0;
65
- const averageConfidence = records.reduce((sum, r) => sum + r.confidence, 0) / records.length;
66
- const averageActualConfidence = records.reduce((sum, r) => sum + r.actualConfidence, 0) / records.length;
67
- const confidenceAccuracy = 1 - Math.abs(averageConfidence - averageActualConfidence);
68
- // Pattern statistics
69
- const patterns = new Map();
70
- const patternGroups = new Map();
71
- for (const record of records) {
72
- if (!patternGroups.has(record.pattern)) {
73
- patternGroups.set(record.pattern, []);
74
- }
75
- patternGroups.get(record.pattern).push(record);
76
- }
77
- for (const [pattern, groupRecords] of patternGroups) {
78
- const successCount = groupRecords.filter((r) => r.outcome === 'success').length;
79
- patterns.set(pattern, {
80
- pattern,
81
- count: groupRecords.length,
82
- successRate: successCount / groupRecords.length,
83
- averageConfidence: groupRecords.reduce((sum, r) => sum + r.confidence, 0) /
84
- groupRecords.length,
85
- averageActualConfidence: groupRecords.reduce((sum, r) => sum + r.actualConfidence, 0) /
86
- groupRecords.length,
87
- });
88
- }
89
- // Category statistics
90
- const categories = new Map();
91
- const categoryGroups = new Map();
92
- for (const record of records) {
93
- const category = record.finding.category;
94
- if (!categoryGroups.has(category)) {
95
- categoryGroups.set(category, []);
96
- }
97
- categoryGroups.get(category).push(record);
98
- }
99
- for (const [category, groupRecords] of categoryGroups) {
100
- const successCount = groupRecords.filter((r) => r.outcome === 'success').length;
101
- categories.set(category, {
102
- category,
103
- count: groupRecords.length,
104
- successRate: successCount / groupRecords.length,
105
- averageConfidence: groupRecords.reduce((sum, r) => sum + r.confidence, 0) /
106
- groupRecords.length,
107
- });
108
- }
109
- return {
110
- totalFixes: records.length,
111
- successfulFixes,
112
- failedFixes,
113
- successRate,
114
- averageConfidence,
115
- averageActualConfidence,
116
- confidenceAccuracy,
117
- patterns,
118
- byCategory: categories,
119
- };
120
- }
121
- /**
122
- * Adjust confidence based on learning
123
- */
124
- adjustConfidence(fix, finding) {
125
- const stats = this.getStatistics();
126
- const pattern = this.extractPattern(fix);
127
- const patternStats = stats.patterns.get(pattern);
128
- if (patternStats) {
129
- // Adjust confidence based on historical success rate
130
- const adjustment = (patternStats.successRate - 0.5) * 0.2; // Max ±10% adjustment
131
- return Math.max(0, Math.min(1, fix.confidence + adjustment));
132
- }
133
- // Check category statistics
134
- const categoryStats = stats.byCategory.get(finding.category);
135
- if (categoryStats) {
136
- const adjustment = (categoryStats.successRate - 0.5) * 0.1; // Max ±5% adjustment
137
- return Math.max(0, Math.min(1, fix.confidence + adjustment));
138
- }
139
- return fix.confidence;
140
- }
141
- /**
142
- * Get successful patterns for a category
143
- */
144
- getSuccessfulPatterns(category) {
145
- const stats = this.getStatistics();
146
- const patterns = [];
147
- for (const [pattern, patternStats] of stats.patterns) {
148
- if (patternStats.successRate > 0.8 && patternStats.count >= 3) {
149
- patterns.push(pattern);
150
- }
151
- }
152
- return patterns.sort((a, b) => (stats.patterns.get(b)?.successRate || 0) -
153
- (stats.patterns.get(a)?.successRate || 0));
154
- }
155
- /**
156
- * Load all learning records
157
- */
158
- loadRecords() {
159
- if (!(0, fs_1.existsSync)(this.learningFile)) {
160
- return [];
161
- }
162
- try {
163
- const content = (0, fs_1.readFileSync)(this.learningFile, 'utf-8');
164
- const lines = content
165
- .trim()
166
- .split('\n')
167
- .filter((line) => line.trim());
168
- return lines.map((line) => JSON.parse(line));
169
- }
170
- catch {
171
- return [];
172
- }
173
- }
174
- /**
175
- * Calculate actual confidence based on outcome
176
- */
177
- calculateActualConfidence(outcome, verificationPassed, rollbackOccurred) {
178
- if (outcome === 'success' && verificationPassed && !rollbackOccurred) {
179
- return 0.95;
180
- }
181
- if (outcome === 'partial') {
182
- return 0.6;
183
- }
184
- if (outcome === 'failure' || rollbackOccurred) {
185
- return 0.3;
186
- }
187
- return 0.5;
188
- }
189
- /**
190
- * Extract pattern from fix
191
- */
192
- extractPattern(fix) {
193
- // Extract pattern based on fix characteristics
194
- const oldCodeType = this.classifyCode(fix.oldCode);
195
- const newCodeType = this.classifyCode(fix.newCode);
196
- const operation = this.determineOperation(oldCodeType, newCodeType);
197
- return `${fix.file.split('.').pop()}:${operation}:${fix.explanation.substring(0, 50)}`;
198
- }
199
- /**
200
- * Classify code type
201
- */
202
- classifyCode(code) {
203
- if (code.includes('process.env'))
204
- return 'env-var';
205
- if (code.includes('console.'))
206
- return 'console';
207
- if (code.match(/\bvar\s+/))
208
- return 'var-declaration';
209
- if (code.match(/\bconst\s+/) || code.match(/\blet\s+/))
210
- return 'modern-declaration';
211
- if (code.includes('package.json'))
212
- return 'dependency';
213
- return 'generic';
214
- }
215
- /**
216
- * Determine operation type
217
- */
218
- determineOperation(oldType, newType) {
219
- if (oldType === 'var-declaration' && newType === 'modern-declaration') {
220
- return 'var-to-const';
221
- }
222
- if (oldType === 'console' && newType === 'logger') {
223
- return 'console-to-logger';
224
- }
225
- if (oldType === 'generic' && newType === 'env-var') {
226
- return 'secret-to-env';
227
- }
228
- return 'transform';
229
- }
230
- /**
231
- * Get file type
232
- */
233
- getFileType(filePath) {
234
- const ext = filePath.split('.').pop()?.toLowerCase() || '';
235
- return ext || 'unknown';
236
- }
237
- /**
238
- * Detect programming language
239
- */
240
- detectLanguage(filePath) {
241
- const ext = this.getFileType(filePath);
242
- const languageMap = {
243
- ts: 'typescript',
244
- js: 'javascript',
245
- tsx: 'typescript',
246
- jsx: 'javascript',
247
- py: 'python',
248
- java: 'java',
249
- go: 'go',
250
- rs: 'rust',
251
- rb: 'ruby',
252
- };
253
- return languageMap[ext] || 'unknown';
254
- }
255
- /**
256
- * Detect project type
257
- */
258
- detectProjectType() {
259
- const packageJsonPath = (0, path_1.join)(this.projectPath, 'package.json');
260
- if ((0, fs_1.existsSync)(packageJsonPath)) {
261
- try {
262
- const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
263
- if (packageJson.dependencies?.['react'] ||
264
- packageJson.dependencies?.['next']) {
265
- return 'react';
266
- }
267
- if (packageJson.dependencies?.['express']) {
268
- return 'node';
269
- }
270
- return 'node';
271
- }
272
- catch {
273
- return undefined;
274
- }
275
- }
276
- return undefined;
277
- }
278
- /**
279
- * Empty statistics structure
280
- */
281
- emptyStatistics() {
282
- return {
283
- totalFixes: 0,
284
- successfulFixes: 0,
285
- failedFixes: 0,
286
- successRate: 0,
287
- averageConfidence: 0,
288
- averageActualConfidence: 0,
289
- confidenceAccuracy: 0,
290
- patterns: new Map(),
291
- byCategory: new Map(),
292
- };
293
- }
294
- }
295
- exports.FixLearningSystem = FixLearningSystem;
296
- //# sourceMappingURL=learning.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../src/fix/learning.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- /**
2
- * Enterprise Metrics and Compliance Reporting for Fix Service
3
- *
4
- * Provides comprehensive metrics collection and compliance reporting
5
- * for enterprise-grade operations tracking.
6
- */
7
- import { FixPack, Finding } from './engine';
8
- import { ApplyResult } from './applicator';
9
- export interface FixMetrics {
10
- timestamp: string;
11
- runId: string;
12
- performance: {
13
- totalDuration: number;
14
- analysisDuration?: number;
15
- planningDuration?: number;
16
- applicationDuration?: number;
17
- verificationDuration?: number;
18
- };
19
- operations: {
20
- packsGenerated: number;
21
- packsSelected: number;
22
- packsApplied: number;
23
- packsFailed: number;
24
- fixesGenerated: number;
25
- fixesApplied: number;
26
- fixesFailed: number;
27
- filesChanged: number;
28
- };
29
- quality: {
30
- averageConfidence: number;
31
- highConfidenceFixes: number;
32
- mediumConfidenceFixes: number;
33
- lowConfidenceFixes: number;
34
- };
35
- risk: {
36
- highRiskFixes: number;
37
- mediumRiskFixes: number;
38
- lowRiskFixes: number;
39
- estimatedRisk: 'low' | 'medium' | 'high';
40
- };
41
- }
42
- export interface ComplianceMetrics {
43
- timestamp: string;
44
- runId: string;
45
- compliance: {
46
- changeControl: {
47
- changesApplied: number;
48
- filesModified: number;
49
- verificationPassed: boolean;
50
- rollbackAvailable: boolean;
51
- };
52
- auditTrail: {
53
- evidenceGenerated: boolean;
54
- gitBranch?: string;
55
- gitCommit?: string;
56
- runId: string;
57
- auditLogAvailable: boolean;
58
- };
59
- qualityGates: {
60
- typecheckPassed?: boolean;
61
- buildPassed?: boolean;
62
- testsPassed?: boolean;
63
- overallPassed?: boolean;
64
- };
65
- remediation: {
66
- findingsBefore: number;
67
- findingsAfter: number;
68
- improvementPercent: string;
69
- remediationRate: number;
70
- };
71
- };
72
- }
73
- export declare class MetricsCollector {
74
- private startTime;
75
- private stageTimings;
76
- private currentStage?;
77
- private stageStartTime?;
78
- /**
79
- * Start timing a stage
80
- */
81
- startStage(stage: string): void;
82
- /**
83
- * End current stage timing
84
- */
85
- endStage(): void;
86
- /**
87
- * Generate fix metrics from operations
88
- */
89
- generateFixMetrics(runId: string, packs: FixPack[], selectedPacks: FixPack[], applyResult: ApplyResult, allFindings: Finding[], remainingFindings: number): FixMetrics;
90
- /**
91
- * Generate compliance metrics
92
- */
93
- generateComplianceMetrics(runId: string, applyResult: ApplyResult, allFindings: Finding[], remainingFindings: number, verificationResult?: {
94
- passed: boolean;
95
- typecheck?: {
96
- passed: boolean;
97
- };
98
- build?: {
99
- passed: boolean;
100
- };
101
- tests?: {
102
- passed: boolean;
103
- };
104
- }, gitBranch?: string, gitCommit?: string, evidenceGenerated?: boolean, backupAvailable?: boolean): ComplianceMetrics;
105
- }
106
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/fix/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- /**
3
- * Enterprise Metrics and Compliance Reporting for Fix Service
4
- *
5
- * Provides comprehensive metrics collection and compliance reporting
6
- * for enterprise-grade operations tracking.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MetricsCollector = void 0;
10
- class MetricsCollector {
11
- constructor() {
12
- this.startTime = Date.now();
13
- this.stageTimings = {};
14
- }
15
- /**
16
- * Start timing a stage
17
- */
18
- startStage(stage) {
19
- if (this.currentStage && this.stageStartTime) {
20
- this.stageTimings[this.currentStage] = Date.now() - this.stageStartTime;
21
- }
22
- this.currentStage = stage;
23
- this.stageStartTime = Date.now();
24
- }
25
- /**
26
- * End current stage timing
27
- */
28
- endStage() {
29
- if (this.currentStage && this.stageStartTime) {
30
- this.stageTimings[this.currentStage] = Date.now() - this.stageStartTime;
31
- }
32
- this.currentStage = undefined;
33
- this.stageStartTime = undefined;
34
- }
35
- /**
36
- * Generate fix metrics from operations
37
- */
38
- generateFixMetrics(runId, packs, selectedPacks, applyResult, allFindings, remainingFindings) {
39
- this.endStage(); // Ensure all stages are recorded
40
- const allFixes = packs.flatMap((p) => p.fixes);
41
- const appliedFixes = selectedPacks.flatMap((p) => p.fixes);
42
- const filesChanged = new Set(applyResult.filesChanged);
43
- const confidenceScores = allFixes.map((f) => f.confidence);
44
- const avgConfidence = confidenceScores.length > 0
45
- ? confidenceScores.reduce((sum, c) => sum + c, 0) /
46
- confidenceScores.length
47
- : 0;
48
- const highConfidence = allFixes.filter((f) => f.confidence >= 0.8).length;
49
- const mediumConfidence = allFixes.filter((f) => f.confidence >= 0.6 && f.confidence < 0.8).length;
50
- const lowConfidence = allFixes.filter((f) => f.confidence < 0.6).length;
51
- const highRisk = allFixes.filter((f) => f.risk === 'high').length;
52
- const mediumRisk = allFixes.filter((f) => f.risk === 'medium').length;
53
- const lowRisk = allFixes.filter((f) => f.risk === 'low').length;
54
- const totalDuration = Date.now() - this.startTime;
55
- return {
56
- timestamp: new Date().toISOString(),
57
- runId,
58
- performance: {
59
- totalDuration,
60
- analysisDuration: this.stageTimings['analysis'],
61
- planningDuration: this.stageTimings['planning'],
62
- applicationDuration: this.stageTimings['application'],
63
- verificationDuration: this.stageTimings['verification'],
64
- },
65
- operations: {
66
- packsGenerated: packs.length,
67
- packsSelected: selectedPacks.length,
68
- packsApplied: selectedPacks.length - applyResult.errors.length,
69
- packsFailed: applyResult.failedFixes > 0 ? 1 : 0,
70
- fixesGenerated: allFixes.length,
71
- fixesApplied: applyResult.appliedFixes,
72
- fixesFailed: applyResult.failedFixes,
73
- filesChanged: filesChanged.size,
74
- },
75
- quality: {
76
- averageConfidence: avgConfidence,
77
- highConfidenceFixes: highConfidence,
78
- mediumConfidenceFixes: mediumConfidence,
79
- lowConfidenceFixes: lowConfidence,
80
- },
81
- risk: {
82
- highRiskFixes: highRisk,
83
- mediumRiskFixes: mediumRisk,
84
- lowRiskFixes: lowRisk,
85
- estimatedRisk: highRisk > allFixes.length * 0.3
86
- ? 'high'
87
- : mediumRisk > allFixes.length * 0.5
88
- ? 'medium'
89
- : 'low',
90
- },
91
- };
92
- }
93
- /**
94
- * Generate compliance metrics
95
- */
96
- generateComplianceMetrics(runId, applyResult, allFindings, remainingFindings, verificationResult, gitBranch, gitCommit, evidenceGenerated, backupAvailable) {
97
- const filesChanged = new Set(applyResult.filesChanged);
98
- const findingsBefore = allFindings.length;
99
- const findingsAfter = remainingFindings;
100
- const improvementCount = findingsBefore - findingsAfter;
101
- const improvementPercent = findingsBefore > 0
102
- ? ((improvementCount / findingsBefore) * 100).toFixed(1)
103
- : '0.0';
104
- return {
105
- timestamp: new Date().toISOString(),
106
- runId,
107
- compliance: {
108
- changeControl: {
109
- changesApplied: applyResult.appliedFixes,
110
- filesModified: filesChanged.size,
111
- verificationPassed: verificationResult?.passed || false,
112
- rollbackAvailable: backupAvailable || false,
113
- },
114
- auditTrail: {
115
- evidenceGenerated: evidenceGenerated || false,
116
- gitBranch,
117
- gitCommit,
118
- runId,
119
- auditLogAvailable: true,
120
- },
121
- qualityGates: {
122
- typecheckPassed: verificationResult?.typecheck?.passed,
123
- buildPassed: verificationResult?.build?.passed,
124
- testsPassed: verificationResult?.tests?.passed,
125
- overallPassed: verificationResult?.passed,
126
- },
127
- remediation: {
128
- findingsBefore,
129
- findingsAfter,
130
- improvementPercent,
131
- remediationRate: improvementCount,
132
- },
133
- },
134
- };
135
- }
136
- }
137
- exports.MetricsCollector = MetricsCollector;
138
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/fix/metrics.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuEH,MAAa,gBAAgB;IAA7B;QACU,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,iBAAY,GAA2B,EAAE,CAAC;IAmKpD,CAAC;IA/JC;;OAEG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,KAAa,EACb,KAAgB,EAChB,aAAwB,EACxB,WAAwB,EACxB,WAAsB,EACtB,iBAAyB;QAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,iCAAiC;QAElD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,aAAa,GACjB,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,gBAAgB,CAAC,MAAM;YACzB,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CACjD,CAAC,MAAM,CAAC;QACT,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QAExE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;QAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAElD,OAAO;YACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,WAAW,EAAE;gBACX,aAAa;gBACb,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC/C,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC/C,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;gBACrD,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;aACxD;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,KAAK,CAAC,MAAM;gBAC5B,aAAa,EAAE,aAAa,CAAC,MAAM;gBACnC,YAAY,EAAE,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM;gBAC9D,WAAW,EAAE,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,YAAY,EAAE,YAAY,CAAC,IAAI;aAChC;YACD,OAAO,EAAE;gBACP,iBAAiB,EAAE,aAAa;gBAChC,mBAAmB,EAAE,cAAc;gBACnC,qBAAqB,EAAE,gBAAgB;gBACvC,kBAAkB,EAAE,aAAa;aAClC;YACD,IAAI,EAAE;gBACJ,aAAa,EAAE,QAAQ;gBACvB,eAAe,EAAE,UAAU;gBAC3B,YAAY,EAAE,OAAO;gBACrB,aAAa,EACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;oBAC9B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;wBAClC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,KAAK;aACd;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yBAAyB,CACvB,KAAa,EACb,WAAwB,EACxB,WAAsB,EACtB,iBAAyB,EACzB,kBAKC,EACD,SAAkB,EAClB,SAAkB,EAClB,iBAA2B,EAC3B,eAAyB;QAEzB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;QAC1C,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACxC,MAAM,gBAAgB,GAAG,cAAc,GAAG,aAAa,CAAC;QACxD,MAAM,kBAAkB,GACtB,cAAc,GAAG,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,KAAK,CAAC;QAEZ,OAAO;YACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,UAAU,EAAE;gBACV,aAAa,EAAE;oBACb,cAAc,EAAE,WAAW,CAAC,YAAY;oBACxC,aAAa,EAAE,YAAY,CAAC,IAAI;oBAChC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,IAAI,KAAK;oBACvD,iBAAiB,EAAE,eAAe,IAAI,KAAK;iBAC5C;gBACD,UAAU,EAAE;oBACV,iBAAiB,EAAE,iBAAiB,IAAI,KAAK;oBAC7C,SAAS;oBACT,SAAS;oBACT,KAAK;oBACL,iBAAiB,EAAE,IAAI;iBACxB;gBACD,YAAY,EAAE;oBACZ,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM;oBACtD,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;oBAC9C,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM;oBAC9C,aAAa,EAAE,kBAAkB,EAAE,MAAM;iBAC1C;gBACD,WAAW,EAAE;oBACX,cAAc;oBACd,aAAa;oBACb,kBAAkB;oBAClB,eAAe,EAAE,gBAAgB;iBAClC;aACF;SACF,CAAC;IACJ,CAAC;CACF;AArKD,4CAqKC"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Parallel Fix Application
3
- *
4
- * Applies fixes in parallel with safety checks and conflict detection.
5
- * Optimizes performance for large codebases while maintaining safety.
6
- */
7
- import { FixPack, Fix } from './engine';
8
- export interface ParallelApplyOptions {
9
- maxConcurrent: number;
10
- batchSize: number;
11
- safetyChecks: boolean;
12
- onProgress?: (completed: number, total: number) => void;
13
- }
14
- export interface ParallelApplyResult {
15
- success: boolean;
16
- appliedFixes: number;
17
- failedFixes: number;
18
- errors: Array<{
19
- fix: Fix;
20
- error: string;
21
- errorCode?: string;
22
- recoverySuggestion?: string;
23
- }>;
24
- filesChanged: string[];
25
- warnings: Array<{
26
- fix: Fix;
27
- warning: string;
28
- }>;
29
- conflicts: Array<{
30
- fix1: Fix;
31
- fix2: Fix;
32
- reason: string;
33
- }>;
34
- performance: {
35
- totalDuration: number;
36
- averageFixDuration: number;
37
- parallelEfficiency: number;
38
- };
39
- }
40
- export declare class ParallelFixApplicator {
41
- private applicator;
42
- private projectPath;
43
- constructor(projectPath: string);
44
- /**
45
- * Apply fixes in parallel with safety checks
46
- */
47
- applyParallel(packs: FixPack[], options: ParallelApplyOptions): Promise<ParallelApplyResult>;
48
- /**
49
- * Group fixes by file
50
- */
51
- private groupFixesByFile;
52
- /**
53
- * Apply fixes in batches
54
- */
55
- private applyBatches;
56
- /**
57
- * Apply fixes sequentially (for conflicts)
58
- */
59
- private applySequentially;
60
- /**
61
- * Detect conflicts between fixes
62
- */
63
- private detectConflicts;
64
- /**
65
- * Merge multiple apply results
66
- */
67
- private mergeResults;
68
- }
69
- //# sourceMappingURL=parallel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../src/fix/parallel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIxC,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,GAAG,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,WAAW,EAAE;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAuC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;YACW,YAAY;IA+C1B;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsCvB;;OAEG;IACH,OAAO,CAAC,YAAY;CA2DrB"}