vibecodingmachine-core 2026.2.26-1739 → 2026.3.9-850

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 (192) hide show
  1. package/package.json +1 -1
  2. package/src/agents/AgentCheckDiscoveryService.js +180 -0
  3. package/src/agents/AgentCheckService.js +18 -261
  4. package/src/agents/AgentCheckStatisticsService.js +195 -0
  5. package/src/agents/EnvironmentConfigurationManager.js +31 -380
  6. package/src/agents/InstallationType.js +19 -6
  7. package/src/agents/SimpleAgentCheckService.js +472 -0
  8. package/src/agents/config-managers/ConfigUtils.js +72 -0
  9. package/src/agents/config-managers/DefaultConfig.js +58 -0
  10. package/src/agents/config-managers/EnvVarLoader.js +66 -0
  11. package/src/agents/config-managers/FileConfigLoader.js +124 -0
  12. package/src/agents/config-managers/TypeConverters.js +61 -0
  13. package/src/agents/config-managers/VariableMappings.js +92 -0
  14. package/src/agents/discovery/AgentDiscoveryService-refactored.js +272 -0
  15. package/src/agents/discovery/AgentDiscoveryService.js +29 -403
  16. package/src/agents/discovery/agent-validator.js +262 -0
  17. package/src/agents/discovery/discovery-results.js +176 -0
  18. package/src/agents/discovery/discovery-scanner.js +268 -0
  19. package/src/agents/discovery/discovery-utils.js +161 -0
  20. package/src/agents/discovery/executable-analyzer.js +290 -0
  21. package/src/agents/discovery/history-manager.js +310 -0
  22. package/src/agents/verification/ResultAnalyzer-refactored.js +341 -0
  23. package/src/agents/verification/ResultAnalyzer.js +30 -431
  24. package/src/agents/verification/analysis-utils.js +310 -0
  25. package/src/agents/verification/batch-analyzer.js +440 -0
  26. package/src/agents/verification/pattern-recognizer.js +369 -0
  27. package/src/agents/verification/report-generator.js +320 -0
  28. package/src/agents/verification/test-analyzer.js +290 -0
  29. package/src/agents/windows/InstallerFactory.js +4 -0
  30. package/src/agents/windows/VSCodeExtensionInstaller.js +404 -0
  31. package/src/analysis/analysis-engine.js +314 -0
  32. package/src/analysis/ast-analyzer.js +342 -0
  33. package/src/analysis/boundary-detector-refactored.js +378 -0
  34. package/src/analysis/boundary-detector.js +200 -603
  35. package/src/analysis/boundary-scanner.js +609 -0
  36. package/src/analysis/boundary-types.js +118 -0
  37. package/src/analysis/boundary-utils.js +293 -0
  38. package/src/analysis/deadline-priority-calculator.js +18 -0
  39. package/src/analysis/detection-methods.js +347 -0
  40. package/src/analysis/importance-priority-calculator.js +18 -0
  41. package/src/analysis/priority/factor-calculators.js +204 -0
  42. package/src/analysis/priority/factor-helpers.js +71 -0
  43. package/src/analysis/priority/priority-constants.js +73 -0
  44. package/src/analysis/priority/priority-factor-calculators.js +301 -0
  45. package/src/analysis/priority/reasons-generator.js +44 -0
  46. package/src/analysis/priority-calculator.js +15 -580
  47. package/src/analysis/strategy-generator.js +16 -66
  48. package/src/analysis/type-priority-calculator.js +18 -0
  49. package/src/analysis/urgency-priority-calculator.js +18 -0
  50. package/src/auto-mode/AutoModeBusinessLogic.js +2 -40
  51. package/src/commands/disable-requirement.js +60 -0
  52. package/src/commands/disable-spec.js +60 -0
  53. package/src/commands/enable-requirement.js +60 -0
  54. package/src/commands/enable-spec.js +60 -0
  55. package/src/commands/registry.js +1 -6
  56. package/src/commands/requirements.js +8 -2
  57. package/src/ide-integration/applescript-manager.cjs +9 -24
  58. package/src/ide-integration/cdp-handlers/chat-reader.js +44 -0
  59. package/src/ide-integration/cdp-handlers/connection-handler.js +88 -0
  60. package/src/ide-integration/cdp-handlers/continuation-handler.js +314 -0
  61. package/src/ide-integration/cdp-handlers/message-submitter.js +75 -0
  62. package/src/ide-integration/cdp-handlers/text-sender.js +138 -0
  63. package/src/ide-integration/cdp-manager.js +28 -573
  64. package/src/ide-integration/claude-code-cli-manager.cjs +48 -12
  65. package/src/ide-integration/ide-openers/claude-opener.js +171 -0
  66. package/src/ide-integration/ide-openers/cursor-opener.js +53 -0
  67. package/src/ide-integration/ide-openers/other-ides-opener.js +230 -0
  68. package/src/ide-integration/ide-openers/vscode-opener.js +147 -0
  69. package/src/ide-integration/macos-ide-manager.js +20 -582
  70. package/src/ide-integration/macos-quota-checker.js +164 -0
  71. package/src/ide-integration/macos-text-sender.js +19 -38
  72. package/src/ide-integration/provider-manager.cjs +52 -7
  73. package/src/index.cjs +6 -0
  74. package/src/index.js +10 -0
  75. package/src/llm/direct-llm-manager.cjs +501 -0
  76. package/src/localization/translations/en-part1.js +363 -0
  77. package/src/localization/translations/en-part2.js +320 -0
  78. package/src/localization/translations/en.js +4 -687
  79. package/src/localization/translations/es-part1.js +363 -0
  80. package/src/localization/translations/es-part2.js +320 -0
  81. package/src/localization/translations/es.js +4 -688
  82. package/src/models/file-analysis-collection.js +139 -0
  83. package/src/models/file-analysis-metrics.js +50 -0
  84. package/src/models/file-analysis.js +15 -262
  85. package/src/models/plan-manager.js +410 -0
  86. package/src/models/refactoring-models.js +380 -0
  87. package/src/models/refactoring-plan-refactored.js +81 -0
  88. package/src/models/refactoring-plan.js +2 -663
  89. package/src/monitoring/alert-system.js +4 -45
  90. package/src/monitoring/continuous-scan-notifications.js +37 -191
  91. package/src/monitoring/notification-handlers/base-handler.js +58 -0
  92. package/src/monitoring/notification-handlers/error-handler.js +36 -0
  93. package/src/monitoring/notification-handlers/index.js +21 -0
  94. package/src/monitoring/notification-handlers/new-violation-handler.js +91 -0
  95. package/src/monitoring/notification-handlers/progress-handler.js +48 -0
  96. package/src/monitoring/notification-handlers/resolved-violation-handler.js +54 -0
  97. package/src/monitoring/notification-handlers/threshold-handler.js +36 -0
  98. package/src/provider-registry.js +8 -0
  99. package/src/refactoring/boundary/boundary-detector-refactored.js +58 -0
  100. package/src/refactoring/boundary/boundary-detector.js +26 -596
  101. package/src/refactoring/boundary/detectors/boundary-analyzers.js +281 -0
  102. package/src/refactoring/boundary/detectors/boundary-core.js +167 -0
  103. package/src/refactoring/boundary/detectors/class-detector.js +247 -0
  104. package/src/refactoring/boundary/detectors/config-detector.js +270 -0
  105. package/src/refactoring/boundary/detectors/constant-detector.js +269 -0
  106. package/src/refactoring/boundary/detectors/function-detector.js +248 -0
  107. package/src/refactoring/boundary/detectors/module-detector.js +249 -0
  108. package/src/refactoring/boundary/detectors/object-detector.js +247 -0
  109. package/src/refactoring/boundary/detectors/type-detectors.js +338 -0
  110. package/src/refactoring/boundary/detectors/utility-detector.js +270 -0
  111. package/src/refactoring/circular-dependency-resolver-original.js +16 -76
  112. package/src/refactoring/code-mover-refactored.js +309 -0
  113. package/src/refactoring/code-mover.js +48 -355
  114. package/src/refactoring/execution-status.js +18 -0
  115. package/src/refactoring/execution-strategies.js +172 -0
  116. package/src/refactoring/file-splitter-core.js +568 -0
  117. package/src/refactoring/file-splitter-types.js +136 -0
  118. package/src/refactoring/file-splitter.js +2 -682
  119. package/src/refactoring/functionality-validator.js +11 -51
  120. package/src/refactoring/import-manager-refactored.js +385 -0
  121. package/src/refactoring/import-manager.js +112 -487
  122. package/src/refactoring/import-models.js +189 -0
  123. package/src/refactoring/import-parser.js +306 -0
  124. package/src/refactoring/move-executor.js +431 -0
  125. package/src/refactoring/move-utils.js +368 -0
  126. package/src/refactoring/operation-executor.js +76 -0
  127. package/src/refactoring/plan-creator.js +36 -0
  128. package/src/refactoring/plan-executor.js +143 -0
  129. package/src/refactoring/plan-validator.js +68 -0
  130. package/src/refactoring/refactoring-executor-result.js +70 -0
  131. package/src/refactoring/refactoring-executor.js +34 -569
  132. package/src/refactoring/refactoring-operation.js +94 -0
  133. package/src/refactoring/refactoring-plan.js +69 -0
  134. package/src/refactoring/refactoring-rollback.js +22 -527
  135. package/src/refactoring/rollback-handlers/RollbackExecutor.js +107 -0
  136. package/src/refactoring/rollback-handlers/RollbackManager.js +265 -0
  137. package/src/refactoring/rollback-handlers/RollbackOperation.js +105 -0
  138. package/src/refactoring/rollback-handlers/RollbackResult.js +109 -0
  139. package/src/refactoring/rollback-handlers/RollbackStatistics.js +77 -0
  140. package/src/refactoring/test-validator.js +32 -448
  141. package/src/refactoring/validation/baseline-runner.js +71 -0
  142. package/src/refactoring/validation/report-generator.js +136 -0
  143. package/src/refactoring/validation/result-comparator.js +92 -0
  144. package/src/refactoring/validation/test-suite.js +59 -0
  145. package/src/refactoring/validation/test-validation-result.js +83 -0
  146. package/src/refactoring/validation/validation-runner.js +95 -0
  147. package/src/refactoring/validation/validation-status.js +18 -0
  148. package/src/rui/commands/AgentCommandParser.js +60 -369
  149. package/src/rui/commands/AgentResponseFormatter.js +7 -47
  150. package/src/rui/commands/parsers/CommandMapper.js +148 -0
  151. package/src/rui/commands/parsers/CommandValidator.js +228 -0
  152. package/src/rui/commands/parsers/ComponentExtractor.js +100 -0
  153. package/src/rui/commands/parsers/TokenParser.js +69 -0
  154. package/src/rui/commands/parsers/tokenizer.js +153 -0
  155. package/src/utils/current-requirement-operations.js +50 -1
  156. package/src/utils/report-generator.js +18 -514
  157. package/src/utils/report-generators/analysis-generator.js +115 -0
  158. package/src/utils/report-generators/base-generator.js +141 -0
  159. package/src/utils/report-generators/compliance-generator.js +41 -0
  160. package/src/utils/report-generators/format-handlers.js +185 -0
  161. package/src/utils/report-generators/refactoring-generator.js +46 -0
  162. package/src/utils/report-generators/validation-generator.js +63 -0
  163. package/src/utils/requirement-enable-disable.js +265 -0
  164. package/src/utils/requirement-helpers/requirement-file-ops.js +69 -1
  165. package/src/utils/requirement-helpers/requirement-mover.js +88 -1
  166. package/src/utils/requirement-helpers.js +5 -2
  167. package/src/utils/smoke-test-cli.js +45 -8
  168. package/src/utils/specification-enable-disable.js +122 -0
  169. package/src/utils/specification-helpers.js +30 -4
  170. package/src/utils/specification-migration.js +5 -5
  171. package/src/utils/test-comparator.js +118 -0
  172. package/src/utils/test-config.js +54 -0
  173. package/src/utils/test-executor.js +133 -0
  174. package/src/utils/test-parser.js +215 -0
  175. package/src/utils/test-runner-baseline.js +63 -0
  176. package/src/utils/test-runner-core.js +98 -0
  177. package/src/utils/test-runner-report.js +39 -0
  178. package/src/utils/test-runner-validation.js +71 -0
  179. package/src/utils/test-runner.js +11 -535
  180. package/src/validation/comparison-analyzer.js +333 -0
  181. package/src/validation/compliance-reporter-new.js +282 -0
  182. package/src/validation/compliance-reporter-refactored.js +344 -0
  183. package/src/validation/compliance-reporter.js +278 -591
  184. package/src/validation/compliance-utils.js +278 -0
  185. package/src/validation/html-generator.js +446 -0
  186. package/src/validation/metrics/category-calculator.js +137 -0
  187. package/src/validation/metrics/metrics-helpers.js +155 -0
  188. package/src/validation/metrics/overview-calculator.js +85 -0
  189. package/src/validation/metrics/overview-metrics.js +41 -0
  190. package/src/validation/metrics/quality-calculator.js +166 -0
  191. package/src/validation/metrics/size-calculator.js +69 -0
  192. package/src/validation/metrics-calculator.js +27 -551
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Compliance Report Utilities
3
+ *
4
+ * Utility functions for compliance reporting and analysis.
5
+ */
6
+
7
+ const { ComplianceReport, FileComplianceSummary, ComplianceIssue } = require('../models/compliance-report');
8
+
9
+ /**
10
+ * Create compliance report from validation results
11
+ * @param {Array} validationResults - Array of validation results
12
+ * @param {Object} options - Report options
13
+ * @returns {ComplianceReport} - Compliance report
14
+ */
15
+ function createComplianceReport(validationResults, options = {}) {
16
+ const report = new ComplianceReport();
17
+
18
+ // Process validation results
19
+ validationResults.forEach(result => {
20
+ if (result.compliant) {
21
+ report.addCompliantFile(result.filePath, result.metrics);
22
+ } else {
23
+ report.addNonCompliantFile(result.filePath, result.issues);
24
+ }
25
+ });
26
+
27
+ // Add metadata
28
+ report.addMetadata({
29
+ generatedAt: new Date().toISOString(),
30
+ totalFiles: validationResults.length,
31
+ options: options
32
+ });
33
+
34
+ return report;
35
+ }
36
+
37
+ /**
38
+ * Calculate compliance metrics
39
+ * @param {ComplianceReport} report - Compliance report
40
+ * @returns {Object} - Calculated metrics
41
+ */
42
+ function calculateComplianceMetrics(report) {
43
+ const totalFiles = report.compliantFiles.length + report.nonCompliantFiles.length;
44
+ const complianceRate = totalFiles > 0 ? (report.compliantFiles.length / totalFiles * 100) : 0;
45
+
46
+ return {
47
+ totalFiles,
48
+ compliantFiles: report.compliantFiles.length,
49
+ nonCompliantFiles: report.nonCompliantFiles.length,
50
+ complianceRate: complianceRate.toFixed(2),
51
+ totalIssues: report.getTotalIssues(),
52
+ issuesByCategory: groupIssuesByCategory(report),
53
+ issuesBySeverity: groupIssuesBySeverity(report),
54
+ averageFileSize: calculateAverageFileSize(report),
55
+ largestFiles: findLargestFiles(report),
56
+ mostCommonIssues: findMostCommonIssues(report)
57
+ };
58
+ }
59
+
60
+ /**
61
+ * Group issues by category
62
+ * @param {ComplianceReport} report - Compliance report
63
+ * @returns {Object} - Issues grouped by category
64
+ */
65
+ function groupIssuesByCategory(report) {
66
+ const categories = {};
67
+
68
+ report.nonCompliantFiles.forEach(file => {
69
+ file.issues.forEach(issue => {
70
+ const category = issue.category || 'general';
71
+ categories[category] = (categories[category] || 0) + 1;
72
+ });
73
+ });
74
+
75
+ return categories;
76
+ }
77
+
78
+ /**
79
+ * Group issues by severity
80
+ * @param {ComplianceReport} report - Compliance report
81
+ * @returns {Object} - Issues grouped by severity
82
+ */
83
+ function groupIssuesBySeverity(report) {
84
+ const severities = {
85
+ critical: 0,
86
+ high: 0,
87
+ medium: 0,
88
+ low: 0,
89
+ info: 0
90
+ };
91
+
92
+ report.nonCompliantFiles.forEach(file => {
93
+ file.issues.forEach(issue => {
94
+ const severity = issue.severity || 'medium';
95
+ if (severities[severity] !== undefined) {
96
+ severities[severity]++;
97
+ }
98
+ });
99
+ });
100
+
101
+ return severities;
102
+ }
103
+
104
+ /**
105
+ * Calculate average file size
106
+ * @param {ComplianceReport} report - Compliance report
107
+ * @returns {number} - Average file size
108
+ */
109
+ function calculateAverageFileSize(report) {
110
+ const allFiles = [...report.compliantFiles, ...report.nonCompliantFiles];
111
+ const totalSize = allFiles.reduce((sum, file) => sum + (file.size || 0), 0);
112
+ return allFiles.length > 0 ? totalSize / allFiles.length : 0;
113
+ }
114
+
115
+ /**
116
+ * Find largest files
117
+ * @param {ComplianceReport} report - Compliance report
118
+ * @returns {Array} - Array of largest files
119
+ */
120
+ function findLargestFiles(report) {
121
+ const allFiles = [...report.compliantFiles, ...report.nonCompliantFiles];
122
+ return allFiles
123
+ .sort((a, b) => (b.size || 0) - (a.size || 0))
124
+ .slice(0, 10);
125
+ }
126
+
127
+ /**
128
+ * Find most common issues
129
+ * @param {ComplianceReport} report - Compliance report
130
+ * @returns {Array} - Array of common issues
131
+ */
132
+ function findMostCommonIssues(report) {
133
+ const issueCounts = {};
134
+
135
+ report.nonCompliantFiles.forEach(file => {
136
+ file.issues.forEach(issue => {
137
+ const key = `${issue.category}:${issue.type}`;
138
+ issueCounts[key] = (issueCounts[key] || 0) + 1;
139
+ });
140
+ });
141
+
142
+ return Object.entries(issueCounts)
143
+ .sort(([, a], [, b]) => b - a)
144
+ .slice(0, 10)
145
+ .map(([key, count]) => ({
146
+ key,
147
+ count,
148
+ category: key.split(':')[0],
149
+ type: key.split(':')[1]
150
+ }));
151
+ }
152
+
153
+ /**
154
+ * Generate compliance recommendations
155
+ * @param {ComplianceReport} report - Compliance report
156
+ * @returns {Array} - Array of recommendations
157
+ */
158
+ function generateComplianceRecommendations(report) {
159
+ const recommendations = [];
160
+ const metrics = calculateComplianceMetrics(report);
161
+
162
+ // Overall compliance recommendations
163
+ if (metrics.complianceRate < 80) {
164
+ recommendations.push({
165
+ type: 'compliance',
166
+ priority: 'high',
167
+ title: 'Low Compliance Rate',
168
+ description: `Overall compliance rate is ${metrics.complianceRate}%, below target of 80%`,
169
+ action: 'review_and_fix_non_compliant_files'
170
+ });
171
+ }
172
+
173
+ // Critical issues recommendations
174
+ if (metrics.issuesBySeverity.critical > 0) {
175
+ recommendations.push({
176
+ type: 'critical_issues',
177
+ priority: 'critical',
178
+ title: 'Critical Compliance Issues',
179
+ description: `${metrics.issuesBySeverity.critical} critical issues found that require immediate attention`,
180
+ action: 'address_critical_issues_first'
181
+ });
182
+ }
183
+
184
+ // File size recommendations
185
+ if (metrics.averageFileSize > 800) {
186
+ recommendations.push({
187
+ type: 'file_size',
188
+ priority: 'medium',
189
+ title: 'Large File Sizes',
190
+ description: `Average file size is ${metrics.averageFileSize} lines, exceeding the 800-line limit`,
191
+ action: 'refactor_large_files'
192
+ });
193
+ }
194
+
195
+ // Most common issue categories
196
+ const topCategories = Object.entries(metrics.issuesByCategory)
197
+ .sort(([, a], [, b]) => b - a)
198
+ .slice(0, 3);
199
+
200
+ if (topCategories.length > 0) {
201
+ recommendations.push({
202
+ type: 'common_issues',
203
+ priority: 'medium',
204
+ title: 'Common Issue Categories',
205
+ description: `Top issue categories: ${topCategories.map(([cat]) => cat).join(', ')}`,
206
+ action: 'focus_on_common_issue_categories'
207
+ });
208
+ }
209
+
210
+ return recommendations;
211
+ }
212
+
213
+ /**
214
+ * Create file compliance summary
215
+ * @param {Object} file - File information
216
+ * @returns {FileComplianceSummary} - File summary
217
+ */
218
+ function createFileComplianceSummary(file) {
219
+ return new FileComplianceSummary({
220
+ filePath: file.path,
221
+ size: file.size,
222
+ lines: file.lines,
223
+ compliant: file.compliant || false,
224
+ issues: file.issues || [],
225
+ metrics: file.metrics || {},
226
+ lastChecked: new Date().toISOString()
227
+ });
228
+ }
229
+
230
+ /**
231
+ * Validate compliance report
232
+ * @param {ComplianceReport} report - Compliance report to validate
233
+ * @returns {Object} - Validation result
234
+ */
235
+ function validateComplianceReport(report) {
236
+ const validation = {
237
+ isValid: true,
238
+ errors: [],
239
+ warnings: []
240
+ };
241
+
242
+ // Check required fields
243
+ if (!report.metadata) {
244
+ validation.isValid = false;
245
+ validation.errors.push('Missing report metadata');
246
+ }
247
+
248
+ if (!Array.isArray(report.compliantFiles)) {
249
+ validation.isValid = false;
250
+ validation.errors.push('Invalid compliant files array');
251
+ }
252
+
253
+ if (!Array.isArray(report.nonCompliantFiles)) {
254
+ validation.isValid = false;
255
+ validation.errors.push('Invalid non-compliant files array');
256
+ }
257
+
258
+ // Check data consistency
259
+ const totalFiles = report.compliantFiles.length + report.nonCompliantFiles.length;
260
+ if (totalFiles !== report.metadata.totalFiles) {
261
+ validation.warnings.push('File count mismatch in metadata');
262
+ }
263
+
264
+ return validation;
265
+ }
266
+
267
+ module.exports = {
268
+ createComplianceReport,
269
+ calculateComplianceMetrics,
270
+ groupIssuesByCategory,
271
+ groupIssuesBySeverity,
272
+ calculateAverageFileSize,
273
+ findLargestFiles,
274
+ findMostCommonIssues,
275
+ generateComplianceRecommendations,
276
+ createFileComplianceSummary,
277
+ validateComplianceReport
278
+ };