@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,158 +0,0 @@
1
- "use strict";
2
- /**
3
- * Shared utilities for quality commands (tidy, setup-quality, check)
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.detectPackageManager = detectPackageManager;
7
- exports.loadPackageJson = loadPackageJson;
8
- exports.getProjectInfo = getProjectInfo;
9
- exports.fileExists = fileExists;
10
- exports.dirExists = dirExists;
11
- exports.getFileSize = getFileSize;
12
- exports.readFile = readFile;
13
- exports.hasDependency = hasDependency;
14
- exports.getScripts = getScripts;
15
- exports.hasScript = hasScript;
16
- exports.findFiles = findFiles;
17
- exports.getRelativePath = getRelativePath;
18
- const fs_1 = require("fs");
19
- const path_1 = require("path");
20
- const detect_framework_1 = require("../../init/detect-framework");
21
- /**
22
- * Detect package manager from lockfiles
23
- */
24
- function detectPackageManager(projectPath) {
25
- if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'pnpm-lock.yaml'))) {
26
- return { manager: 'pnpm', lockfile: 'pnpm-lock.yaml' };
27
- }
28
- if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'yarn.lock'))) {
29
- return { manager: 'yarn', lockfile: 'yarn.lock' };
30
- }
31
- if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, 'package-lock.json'))) {
32
- return { manager: 'npm', lockfile: 'package-lock.json' };
33
- }
34
- return { manager: null, lockfile: null };
35
- }
36
- /**
37
- * Load package.json if it exists
38
- */
39
- function loadPackageJson(projectPath) {
40
- const packageJsonPath = (0, path_1.join)(projectPath, 'package.json');
41
- if (!(0, fs_1.existsSync)(packageJsonPath)) {
42
- return null;
43
- }
44
- try {
45
- return JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
46
- }
47
- catch {
48
- return null;
49
- }
50
- }
51
- /**
52
- * Get comprehensive project info
53
- */
54
- function getProjectInfo(projectPath) {
55
- const pkg = loadPackageJson(projectPath);
56
- const pm = detectPackageManager(projectPath);
57
- const frameworkInfo = (0, detect_framework_1.detectFramework)(projectPath);
58
- return {
59
- path: projectPath,
60
- hasPackageJson: pkg !== null,
61
- hasPyprojectToml: (0, fs_1.existsSync)((0, path_1.join)(projectPath, 'pyproject.toml')),
62
- hasTsconfig: (0, fs_1.existsSync)((0, path_1.join)(projectPath, 'tsconfig.json')) ||
63
- (0, fs_1.existsSync)((0, path_1.join)(projectPath, 'tsconfig.base.json')),
64
- packageJson: pkg || undefined,
65
- framework: frameworkInfo.framework,
66
- packageManager: pm.manager || undefined,
67
- hasLockfile: pm.lockfile !== null,
68
- lockfileType: pm.lockfile,
69
- };
70
- }
71
- /**
72
- * Check if file exists
73
- */
74
- function fileExists(filePath) {
75
- return (0, fs_1.existsSync)(filePath);
76
- }
77
- /**
78
- * Check if directory exists
79
- */
80
- function dirExists(dirPath) {
81
- try {
82
- return (0, fs_1.existsSync)(dirPath) && (0, fs_1.statSync)(dirPath).isDirectory();
83
- }
84
- catch {
85
- return false;
86
- }
87
- }
88
- /**
89
- * Get file size in bytes
90
- */
91
- function getFileSize(filePath) {
92
- try {
93
- return (0, fs_1.statSync)(filePath).size;
94
- }
95
- catch {
96
- return 0;
97
- }
98
- }
99
- /**
100
- * Read file content safely
101
- */
102
- function readFile(filePath) {
103
- try {
104
- return (0, fs_1.readFileSync)(filePath, 'utf-8');
105
- }
106
- catch {
107
- return null;
108
- }
109
- }
110
- /**
111
- * Check if a dependency exists in package.json
112
- */
113
- function hasDependency(pkg, depName) {
114
- if (!pkg)
115
- return false;
116
- return Boolean(pkg.dependencies?.[depName] || pkg.devDependencies?.[depName]);
117
- }
118
- /**
119
- * Get scripts from package.json
120
- */
121
- function getScripts(pkg) {
122
- if (!pkg || !pkg.scripts)
123
- return [];
124
- return Object.keys(pkg.scripts);
125
- }
126
- /**
127
- * Check if a script exists
128
- */
129
- function hasScript(pkg, scriptName) {
130
- if (!pkg || !pkg.scripts)
131
- return false;
132
- return scriptName in pkg.scripts;
133
- }
134
- /**
135
- * Find files matching pattern (simple, non-recursive in root)
136
- */
137
- function findFiles(projectPath, patterns) {
138
- const files = [];
139
- try {
140
- const entries = (0, fs_1.readdirSync)(projectPath);
141
- for (const pattern of patterns) {
142
- if (entries.includes(pattern)) {
143
- files.push((0, path_1.join)(projectPath, pattern));
144
- }
145
- }
146
- }
147
- catch {
148
- // Ignore errors
149
- }
150
- return files;
151
- }
152
- /**
153
- * Get relative path from project root
154
- */
155
- function getRelativePath(projectPath, filePath) {
156
- return (0, path_1.relative)(projectPath, filePath);
157
- }
158
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/quality/utils.ts"],"names":[],"mappings":"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"}
@@ -1,121 +0,0 @@
1
- /**
2
- * Fix Analytics and Insights Dashboard
3
- *
4
- * Provides comprehensive analytics, insights, and reporting
5
- * for fix operations over time.
6
- */
7
- export interface AnalyticsDashboard {
8
- overview: DashboardOverview;
9
- trends: TrendAnalysis;
10
- performance: PerformanceAnalytics;
11
- quality: QualityAnalytics;
12
- recommendations: Recommendation[];
13
- insights: Insight[];
14
- }
15
- export interface DashboardOverview {
16
- totalRuns: number;
17
- totalFixes: number;
18
- successRate: number;
19
- averageFixesPerRun: number;
20
- timeRange: {
21
- start: string;
22
- end: string;
23
- };
24
- recentActivity: ActivitySummary[];
25
- }
26
- export interface TrendAnalysis {
27
- fixesOverTime: TimeSeriesPoint[];
28
- successRateOverTime: TimeSeriesPoint[];
29
- confidenceOverTime: TimeSeriesPoint[];
30
- categoriesOverTime: Map<string, TimeSeriesPoint[]>;
31
- }
32
- export interface TimeSeriesPoint {
33
- date: string;
34
- value: number;
35
- count?: number;
36
- }
37
- export interface PerformanceAnalytics {
38
- averageDuration: number;
39
- fastestRun: number;
40
- slowestRun: number;
41
- durationByStage: {
42
- analysis: number;
43
- planning: number;
44
- application: number;
45
- verification: number;
46
- };
47
- parallelEfficiency: number;
48
- }
49
- export interface QualityAnalytics {
50
- averageConfidence: number;
51
- confidenceDistribution: {
52
- high: number;
53
- medium: number;
54
- low: number;
55
- };
56
- riskDistribution: {
57
- high: number;
58
- medium: number;
59
- low: number;
60
- };
61
- verificationPassRate: number;
62
- rollbackRate: number;
63
- }
64
- export interface Recommendation {
65
- type: 'strategy' | 'template' | 'validation' | 'performance';
66
- priority: 'high' | 'medium' | 'low';
67
- title: string;
68
- description: string;
69
- action?: string;
70
- }
71
- export interface Insight {
72
- type: 'success' | 'warning' | 'info';
73
- title: string;
74
- description: string;
75
- metrics?: Record<string, number>;
76
- }
77
- export interface ActivitySummary {
78
- date: string;
79
- runs: number;
80
- fixes: number;
81
- successRate: number;
82
- }
83
- export declare class FixAnalytics {
84
- private projectPath;
85
- private learningSystem;
86
- private auditDir;
87
- constructor(projectPath: string);
88
- /**
89
- * Generate comprehensive analytics dashboard
90
- */
91
- generateDashboard(): AnalyticsDashboard;
92
- /**
93
- * Generate dashboard overview
94
- */
95
- private generateOverview;
96
- /**
97
- * Analyze trends over time
98
- */
99
- private analyzeTrends;
100
- /**
101
- * Analyze performance metrics
102
- */
103
- private analyzePerformance;
104
- /**
105
- * Analyze quality metrics
106
- */
107
- private analyzeQuality;
108
- /**
109
- * Generate recommendations
110
- */
111
- private generateRecommendations;
112
- /**
113
- * Generate insights
114
- */
115
- private generateInsights;
116
- /**
117
- * Load audit logs
118
- */
119
- private loadAuditLogs;
120
- }
121
- //# sourceMappingURL=analytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/fix/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,289 +0,0 @@
1
- "use strict";
2
- /**
3
- * Fix Analytics and Insights Dashboard
4
- *
5
- * Provides comprehensive analytics, insights, and reporting
6
- * for fix operations over time.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FixAnalytics = void 0;
10
- const learning_1 = require("./learning");
11
- const fs_1 = require("fs");
12
- const path_1 = require("path");
13
- class FixAnalytics {
14
- constructor(projectPath) {
15
- this.projectPath = projectPath;
16
- this.learningSystem = new learning_1.FixLearningSystem(projectPath);
17
- this.auditDir = (0, path_1.join)(projectPath, '.guardrail', 'audit');
18
- }
19
- /**
20
- * Generate comprehensive analytics dashboard
21
- */
22
- generateDashboard() {
23
- const overview = this.generateOverview();
24
- const trends = this.analyzeTrends();
25
- const performance = this.analyzePerformance();
26
- const quality = this.analyzeQuality();
27
- const recommendations = this.generateRecommendations(overview, quality);
28
- const insights = this.generateInsights(overview, trends, quality);
29
- return {
30
- overview,
31
- trends,
32
- performance,
33
- quality,
34
- recommendations,
35
- insights,
36
- };
37
- }
38
- /**
39
- * Generate dashboard overview
40
- */
41
- generateOverview() {
42
- const auditLogs = this.loadAuditLogs();
43
- const learningStats = this.learningSystem.getStatistics();
44
- const runs = auditLogs.filter((log) => log.action === 'apply').length;
45
- const totalFixes = learningStats.totalFixes;
46
- const successRate = learningStats.successRate;
47
- // Get time range
48
- const timestamps = auditLogs.map((log) => new Date(log.timestamp).getTime());
49
- const start = timestamps.length > 0
50
- ? new Date(Math.min(...timestamps)).toISOString()
51
- : new Date().toISOString();
52
- const end = timestamps.length > 0
53
- ? new Date(Math.max(...timestamps)).toISOString()
54
- : new Date().toISOString();
55
- // Recent activity (last 7 days)
56
- const sevenDaysAgo = Date.now() - 7 * 24 * 60 * 60 * 1000;
57
- const recentLogs = auditLogs.filter((log) => new Date(log.timestamp).getTime() > sevenDaysAgo);
58
- const activityByDate = new Map();
59
- for (const log of recentLogs) {
60
- if (log.action === 'apply') {
61
- const date = log.timestamp.split('T')[0];
62
- if (!activityByDate.has(date)) {
63
- activityByDate.set(date, {
64
- date,
65
- runs: 0,
66
- fixes: 0,
67
- successRate: 0,
68
- });
69
- }
70
- const activity = activityByDate.get(date);
71
- activity.runs++;
72
- activity.fixes += log.details?.fixesApplied || 0;
73
- }
74
- }
75
- const recentActivity = Array.from(activityByDate.values()).sort((a, b) => b.date.localeCompare(a.date));
76
- return {
77
- totalRuns: runs,
78
- totalFixes,
79
- successRate,
80
- averageFixesPerRun: runs > 0 ? totalFixes / runs : 0,
81
- timeRange: { start, end },
82
- recentActivity,
83
- };
84
- }
85
- /**
86
- * Analyze trends over time
87
- */
88
- analyzeTrends() {
89
- const auditLogs = this.loadAuditLogs();
90
- const learningStats = this.learningSystem.getStatistics();
91
- // Group by date
92
- const byDate = new Map();
93
- for (const log of auditLogs) {
94
- if (log.action === 'apply') {
95
- const date = log.timestamp.split('T')[0];
96
- if (!byDate.has(date)) {
97
- byDate.set(date, []);
98
- }
99
- byDate.get(date).push(log);
100
- }
101
- }
102
- const fixesOverTime = [];
103
- const successRateOverTime = [];
104
- const confidenceOverTime = [];
105
- for (const [date, logs] of byDate.entries()) {
106
- const fixes = logs.reduce((sum, log) => sum + (log.details?.fixesApplied || 0), 0);
107
- const successful = logs.filter((log) => log.outcome === 'success').length;
108
- const successRate = logs.length > 0 ? successful / logs.length : 0;
109
- fixesOverTime.push({ date, value: fixes, count: logs.length });
110
- successRateOverTime.push({ date, value: successRate * 100 });
111
- // Calculate average confidence (simplified)
112
- const avgConfidence = learningStats.averageConfidence * 100;
113
- confidenceOverTime.push({ date, value: avgConfidence });
114
- }
115
- // Categories over time (simplified - would need more detailed tracking)
116
- const categoriesOverTime = new Map();
117
- return {
118
- fixesOverTime: fixesOverTime.sort((a, b) => a.date.localeCompare(b.date)),
119
- successRateOverTime: successRateOverTime.sort((a, b) => a.date.localeCompare(b.date)),
120
- confidenceOverTime: confidenceOverTime.sort((a, b) => a.date.localeCompare(b.date)),
121
- categoriesOverTime,
122
- };
123
- }
124
- /**
125
- * Analyze performance metrics
126
- */
127
- analyzePerformance() {
128
- const auditLogs = this.loadAuditLogs();
129
- const applyLogs = auditLogs.filter((log) => log.action === 'apply');
130
- if (applyLogs.length === 0) {
131
- return {
132
- averageDuration: 0,
133
- fastestRun: 0,
134
- slowestRun: 0,
135
- durationByStage: {
136
- analysis: 0,
137
- planning: 0,
138
- application: 0,
139
- verification: 0,
140
- },
141
- parallelEfficiency: 0,
142
- };
143
- }
144
- const durations = applyLogs
145
- .map((log) => log.performance?.duration || 0)
146
- .filter((d) => d > 0);
147
- const averageDuration = durations.reduce((sum, d) => sum + d, 0) / durations.length;
148
- const fastestRun = Math.min(...durations);
149
- const slowestRun = Math.max(...durations);
150
- return {
151
- averageDuration,
152
- fastestRun,
153
- slowestRun,
154
- durationByStage: {
155
- analysis: averageDuration * 0.1, // Estimates
156
- planning: averageDuration * 0.2,
157
- application: averageDuration * 0.5,
158
- verification: averageDuration * 0.2,
159
- },
160
- parallelEfficiency: 0.75, // Would need to track this
161
- };
162
- }
163
- /**
164
- * Analyze quality metrics
165
- */
166
- analyzeQuality() {
167
- const learningStats = this.learningSystem.getStatistics();
168
- // Confidence distribution (would need more detailed tracking)
169
- const confidenceDistribution = {
170
- high: 0.4,
171
- medium: 0.4,
172
- low: 0.2,
173
- };
174
- // Risk distribution (would need more detailed tracking)
175
- const riskDistribution = {
176
- high: 0.1,
177
- medium: 0.3,
178
- low: 0.6,
179
- };
180
- const auditLogs = this.loadAuditLogs();
181
- const applyLogs = auditLogs.filter((log) => log.action === 'apply');
182
- const verified = applyLogs.filter((log) => log.compliance.verificationPassed).length;
183
- const rollbacked = applyLogs.filter((log) => log.compliance.backupCreated && log.outcome === 'failure').length;
184
- return {
185
- averageConfidence: learningStats.averageConfidence,
186
- confidenceDistribution,
187
- riskDistribution,
188
- verificationPassRate: applyLogs.length > 0 ? verified / applyLogs.length : 0,
189
- rollbackRate: applyLogs.length > 0 ? rollbacked / applyLogs.length : 0,
190
- };
191
- }
192
- /**
193
- * Generate recommendations
194
- */
195
- generateRecommendations(overview, quality) {
196
- const recommendations = [];
197
- if (quality.successRate < 0.7) {
198
- recommendations.push({
199
- type: 'strategy',
200
- priority: 'high',
201
- title: 'Consider Conservative Strategy',
202
- description: `Success rate is ${(quality.successRate * 100).toFixed(0)}%. Consider using conservative strategy to improve reliability.`,
203
- action: 'Use --strategy conservative',
204
- });
205
- }
206
- if (quality.verificationPassRate < 0.9) {
207
- recommendations.push({
208
- type: 'validation',
209
- priority: 'high',
210
- title: 'Improve Verification',
211
- description: `Verification pass rate is ${(quality.verificationPassRate * 100).toFixed(0)}%. Review fixes before applying.`,
212
- });
213
- }
214
- if (quality.averageConfidence < 0.75) {
215
- recommendations.push({
216
- type: 'template',
217
- priority: 'medium',
218
- title: 'Review Fix Templates',
219
- description: `Average confidence is ${(quality.averageConfidence * 100).toFixed(0)}%. Consider refining fix templates.`,
220
- });
221
- }
222
- return recommendations;
223
- }
224
- /**
225
- * Generate insights
226
- */
227
- generateInsights(overview, trends, quality) {
228
- const insights = [];
229
- if (overview.successRate > 0.9) {
230
- insights.push({
231
- type: 'success',
232
- title: 'Excellent Success Rate',
233
- description: `Your fix operations have a ${(overview.successRate * 100).toFixed(0)}% success rate.`,
234
- metrics: { successRate: overview.successRate },
235
- });
236
- }
237
- if (trends.fixesOverTime.length > 0) {
238
- const recent = trends.fixesOverTime.slice(-7);
239
- const avgRecent = recent.reduce((sum, p) => sum + p.value, 0) / recent.length;
240
- const older = trends.fixesOverTime.slice(0, -7);
241
- const avgOlder = older.length > 0
242
- ? older.reduce((sum, p) => sum + p.value, 0) / older.length
243
- : avgRecent;
244
- if (avgRecent > avgOlder * 1.5) {
245
- insights.push({
246
- type: 'info',
247
- title: 'Increased Fix Activity',
248
- description: 'Fix activity has increased recently. This may indicate improving code quality or more issues being detected.',
249
- metrics: { recentAverage: avgRecent, olderAverage: avgOlder },
250
- });
251
- }
252
- }
253
- return insights;
254
- }
255
- /**
256
- * Load audit logs
257
- */
258
- loadAuditLogs() {
259
- if (!(0, fs_1.existsSync)(this.auditDir)) {
260
- return [];
261
- }
262
- try {
263
- const files = require('fs').readdirSync(this.auditDir);
264
- const logFiles = files.filter((f) => f.startsWith('fix-audit-') && f.endsWith('.jsonl'));
265
- const logs = [];
266
- for (const file of logFiles) {
267
- const content = (0, fs_1.readFileSync)((0, path_1.join)(this.auditDir, file), 'utf-8');
268
- const lines = content
269
- .trim()
270
- .split('\n')
271
- .filter((line) => line.trim());
272
- for (const line of lines) {
273
- try {
274
- logs.push(JSON.parse(line));
275
- }
276
- catch {
277
- // Skip invalid lines
278
- }
279
- }
280
- }
281
- return logs;
282
- }
283
- catch {
284
- return [];
285
- }
286
- }
287
- }
288
- exports.FixAnalytics = FixAnalytics;
289
- //# sourceMappingURL=analytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/fix/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Enterprise Audit Logging for Fix Service
3
- *
4
- * Provides comprehensive audit logging with JSONL format for compliance
5
- * and enterprise-grade tracking of all fix operations.
6
- */
7
- export interface FixAuditLogEntry {
8
- timestamp: string;
9
- runId: string;
10
- action: 'analyze' | 'plan' | 'apply' | 'verify' | 'rollback' | 'cancel';
11
- user?: string;
12
- projectPath: string;
13
- outcome: 'success' | 'failure' | 'partial' | 'cancelled';
14
- details: Record<string, any>;
15
- compliance: {
16
- evidenceGenerated?: boolean;
17
- gitBranch?: string;
18
- gitCommit?: string;
19
- verificationPassed?: boolean;
20
- fixesApplied?: number;
21
- filesChanged?: number;
22
- backupCreated?: boolean;
23
- backupId?: string;
24
- };
25
- performance?: {
26
- duration?: number;
27
- stage?: string;
28
- };
29
- environment?: {
30
- nodeVersion?: string;
31
- platform?: string;
32
- ci?: boolean;
33
- };
34
- }
35
- export declare class FixAuditLogger {
36
- private projectPath;
37
- private auditDir;
38
- constructor(projectPath: string);
39
- /**
40
- * Write audit log entry
41
- */
42
- write(entry: Omit<FixAuditLogEntry, 'timestamp' | 'runId'> & {
43
- runId?: string;
44
- }): void;
45
- /**
46
- * Detect if running in CI/CD environment
47
- */
48
- private isCIEnvironment;
49
- /**
50
- * Get current user information
51
- */
52
- getCurrentUser(): string;
53
- /**
54
- * Get git information if available
55
- */
56
- getGitInfo(): Promise<{
57
- branch?: string;
58
- commit?: string;
59
- }>;
60
- }
61
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/fix/audit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,UAAU,EAAE;QACV,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,OAAO,CAAC;KACd,CAAC;CACH;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACH,KAAK,CACH,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxE,IAAI;IAiCP;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,cAAc,IAAI,MAAM;IAUxB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAqClE"}