vibecodingmachine-core 2026.2.20-438 → 2026.2.26-1739

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 (202) hide show
  1. package/README.md +240 -0
  2. package/package.json +10 -2
  3. package/src/agents/Agent.js +300 -0
  4. package/src/agents/AgentAdditionService.js +311 -0
  5. package/src/agents/AgentCheckService.js +690 -0
  6. package/src/agents/AgentInstallationService.js +140 -0
  7. package/src/agents/AgentSetupService.js +467 -0
  8. package/src/agents/AgentStatus.js +183 -0
  9. package/src/agents/AgentVerificationService.js +634 -0
  10. package/src/agents/ConfigurationSchemaValidator.js +543 -0
  11. package/src/agents/EnvironmentConfigurationManager.js +602 -0
  12. package/src/agents/InstallationErrorHandler.js +372 -0
  13. package/src/agents/InstallationLog.js +363 -0
  14. package/src/agents/InstallationMethod.js +510 -0
  15. package/src/agents/InstallationOrchestrator.js +352 -0
  16. package/src/agents/InstallationProgressReporter.js +372 -0
  17. package/src/agents/InstallationRetryManager.js +322 -0
  18. package/src/agents/InstallationType.js +254 -0
  19. package/src/agents/OperationTypes.js +310 -0
  20. package/src/agents/PerformanceMetricsCollector.js +493 -0
  21. package/src/agents/SecurityValidationService.js +534 -0
  22. package/src/agents/VerificationTest.js +354 -0
  23. package/src/agents/VerificationType.js +226 -0
  24. package/src/agents/WindowsPermissionHandler.js +518 -0
  25. package/src/agents/config/AgentConfigManager.js +393 -0
  26. package/src/agents/config/AgentDefaultsRegistry.js +373 -0
  27. package/src/agents/config/ConfigValidator.js +281 -0
  28. package/src/agents/discovery/AgentDiscoveryService.js +707 -0
  29. package/src/agents/logging/AgentLogger.js +511 -0
  30. package/src/agents/status/AgentStatusManager.js +481 -0
  31. package/src/agents/storage/FileManager.js +454 -0
  32. package/src/agents/verification/AgentCommunicationTester.js +474 -0
  33. package/src/agents/verification/BaseVerifier.js +430 -0
  34. package/src/agents/verification/CommandVerifier.js +480 -0
  35. package/src/agents/verification/FileOperationVerifier.js +453 -0
  36. package/src/agents/verification/ResultAnalyzer.js +707 -0
  37. package/src/agents/verification/TestRequirementManager.js +495 -0
  38. package/src/agents/verification/VerificationRunner.js +433 -0
  39. package/src/agents/windows/BaseWindowsInstaller.js +441 -0
  40. package/src/agents/windows/ChocolateyInstaller.js +509 -0
  41. package/src/agents/windows/DirectInstaller.js +443 -0
  42. package/src/agents/windows/InstallerFactory.js +391 -0
  43. package/src/agents/windows/NpmInstaller.js +505 -0
  44. package/src/agents/windows/PowerShellInstaller.js +458 -0
  45. package/src/agents/windows/WinGetInstaller.js +390 -0
  46. package/src/analysis/analysis-reporter.js +132 -0
  47. package/src/analysis/boundary-detector.js +712 -0
  48. package/src/analysis/categorizer.js +340 -0
  49. package/src/analysis/codebase-scanner.js +384 -0
  50. package/src/analysis/line-counter.js +513 -0
  51. package/src/analysis/priority-calculator.js +679 -0
  52. package/src/analysis/report/analysis-report.js +250 -0
  53. package/src/analysis/report/package-analyzer.js +278 -0
  54. package/src/analysis/report/recommendation-generator.js +382 -0
  55. package/src/analysis/report/statistics-generator.js +515 -0
  56. package/src/analysis/reports/analysis-report-model.js +101 -0
  57. package/src/analysis/reports/recommendation-generator.js +283 -0
  58. package/src/analysis/reports/report-generators.js +191 -0
  59. package/src/analysis/reports/statistics-calculator.js +231 -0
  60. package/src/analysis/reports/trend-analyzer.js +219 -0
  61. package/src/analysis/strategy-generator.js +814 -0
  62. package/src/auto-mode/AutoModeBusinessLogic.js +836 -0
  63. package/src/config/refactoring-config.js +307 -0
  64. package/src/health-tracking/json-storage.js +38 -2
  65. package/src/ide-integration/applescript-manager-core.js +233 -0
  66. package/src/ide-integration/applescript-manager.cjs +357 -28
  67. package/src/ide-integration/applescript-manager.js +89 -3599
  68. package/src/ide-integration/cdp-manager.js +306 -0
  69. package/src/ide-integration/claude-code-cli-manager.cjs +1 -1
  70. package/src/ide-integration/continuation-handler.js +337 -0
  71. package/src/ide-integration/ide-status-checker.js +292 -0
  72. package/src/ide-integration/macos-ide-manager.js +627 -0
  73. package/src/ide-integration/macos-text-sender.js +528 -0
  74. package/src/ide-integration/response-reader.js +548 -0
  75. package/src/ide-integration/windows-automation-manager.js +121 -0
  76. package/src/ide-integration/windows-ide-manager.js +373 -0
  77. package/src/index.cjs +25 -3
  78. package/src/index.js +15 -1
  79. package/src/llm/direct-llm-manager.cjs +90 -2
  80. package/src/models/compliance-report.js +538 -0
  81. package/src/models/file-analysis.js +681 -0
  82. package/src/models/refactoring-plan.js +770 -0
  83. package/src/monitoring/alert-system.js +834 -0
  84. package/src/monitoring/compliance-progress-tracker.js +437 -0
  85. package/src/monitoring/continuous-scan-notifications.js +661 -0
  86. package/src/monitoring/continuous-scanner.js +279 -0
  87. package/src/monitoring/file-monitor/file-analyzer.js +262 -0
  88. package/src/monitoring/file-monitor/file-monitor.js +237 -0
  89. package/src/monitoring/file-monitor/watcher.js +194 -0
  90. package/src/monitoring/file-monitor.js +17 -0
  91. package/src/monitoring/notification-manager.js +437 -0
  92. package/src/monitoring/scanner-core.js +368 -0
  93. package/src/monitoring/scanner-events.js +214 -0
  94. package/src/monitoring/violation-notification-system.js +515 -0
  95. package/src/refactoring/boundaries/cohesion-analyzer.js +316 -0
  96. package/src/refactoring/boundaries/extraction-result.js +285 -0
  97. package/src/refactoring/boundaries/extraction-strategies.js +392 -0
  98. package/src/refactoring/boundaries/module-boundary.js +209 -0
  99. package/src/refactoring/boundary/boundary-detector.js +741 -0
  100. package/src/refactoring/boundary/boundary-types.js +405 -0
  101. package/src/refactoring/boundary/extraction-strategies.js +554 -0
  102. package/src/refactoring/boundary-extraction-result.js +77 -0
  103. package/src/refactoring/boundary-extraction-strategies.js +330 -0
  104. package/src/refactoring/boundary-extractor.js +384 -0
  105. package/src/refactoring/boundary-types.js +46 -0
  106. package/src/refactoring/circular/circular-dependency.js +88 -0
  107. package/src/refactoring/circular/cycle-detection.js +147 -0
  108. package/src/refactoring/circular/dependency-node.js +82 -0
  109. package/src/refactoring/circular/dependency-result.js +107 -0
  110. package/src/refactoring/circular/dependency-types.js +58 -0
  111. package/src/refactoring/circular/graph-builder.js +213 -0
  112. package/src/refactoring/circular/resolution-strategy.js +72 -0
  113. package/src/refactoring/circular/strategy-generator.js +229 -0
  114. package/src/refactoring/circular-dependency-resolver-original.js +809 -0
  115. package/src/refactoring/circular-dependency-resolver.js +200 -0
  116. package/src/refactoring/code-mover.js +761 -0
  117. package/src/refactoring/file-splitter.js +696 -0
  118. package/src/refactoring/functionality-validator.js +816 -0
  119. package/src/refactoring/import-manager.js +774 -0
  120. package/src/refactoring/module-boundary.js +107 -0
  121. package/src/refactoring/refactoring-executor.js +672 -0
  122. package/src/refactoring/refactoring-rollback.js +614 -0
  123. package/src/refactoring/test-validator.js +631 -0
  124. package/src/requirement-management/default-requirement-manager.js +321 -0
  125. package/src/requirement-management/requirement-file-parser.js +159 -0
  126. package/src/requirement-management/requirement-sequencer.js +221 -0
  127. package/src/rui/commands/AgentCommandParser.js +600 -0
  128. package/src/rui/commands/AgentCommands.js +487 -0
  129. package/src/rui/commands/AgentResponseFormatter.js +832 -0
  130. package/src/scripts/verify-full-compliance.js +269 -0
  131. package/src/sync/sync-engine-core.js +1 -0
  132. package/src/sync/sync-engine-remote-handlers.js +135 -0
  133. package/src/task-generation/automated-task-generator.js +351 -0
  134. package/src/task-generation/prioritizer.js +287 -0
  135. package/src/task-generation/task-list-updater.js +215 -0
  136. package/src/task-generation/task-management-integration.js +480 -0
  137. package/src/task-generation/task-manager-integration.js +270 -0
  138. package/src/task-generation/violation-task-generator.js +474 -0
  139. package/src/task-management/continuous-scan-integration.js +342 -0
  140. package/src/timeout-management/index.js +12 -3
  141. package/src/timeout-management/response-time-tracker.js +167 -0
  142. package/src/timeout-management/timeout-calculator.js +159 -0
  143. package/src/timeout-management/timeout-config-manager.js +172 -0
  144. package/src/utils/ast-analyzer.js +417 -0
  145. package/src/utils/current-requirement-manager.js +276 -0
  146. package/src/utils/current-requirement-operations.js +472 -0
  147. package/src/utils/dependency-mapper.js +456 -0
  148. package/src/utils/download-with-progress.js +4 -2
  149. package/src/utils/electron-update-checker.js +4 -1
  150. package/src/utils/file-size-analyzer.js +272 -0
  151. package/src/utils/import-updater.js +280 -0
  152. package/src/utils/refactoring-tools.js +512 -0
  153. package/src/utils/report-generator.js +569 -0
  154. package/src/utils/reports/report-analysis.js +218 -0
  155. package/src/utils/reports/report-types.js +55 -0
  156. package/src/utils/reports/summary-generators.js +102 -0
  157. package/src/utils/requirement-file-management.js +157 -0
  158. package/src/utils/requirement-helpers/requirement-file-ops.js +392 -0
  159. package/src/utils/requirement-helpers/requirement-mover.js +414 -0
  160. package/src/utils/requirement-helpers/requirement-parser.js +326 -0
  161. package/src/utils/requirement-helpers/requirement-status.js +320 -0
  162. package/src/utils/requirement-helpers-new.js +55 -0
  163. package/src/utils/requirement-helpers-refactored.js +367 -0
  164. package/src/utils/requirement-helpers.js +291 -1191
  165. package/src/utils/requirement-movement-operations.js +450 -0
  166. package/src/utils/requirement-movement.js +312 -0
  167. package/src/utils/requirement-parsing-helpers.js +56 -0
  168. package/src/utils/requirement-statistics.js +200 -0
  169. package/src/utils/requirement-text-utils.js +58 -0
  170. package/src/utils/rollback/rollback-handlers.js +125 -0
  171. package/src/utils/rollback/rollback-operation.js +63 -0
  172. package/src/utils/rollback/rollback-recorder.js +166 -0
  173. package/src/utils/rollback/rollback-state-manager.js +175 -0
  174. package/src/utils/rollback/rollback-types.js +33 -0
  175. package/src/utils/rollback/rollback-utils.js +110 -0
  176. package/src/utils/rollback-manager-original.js +569 -0
  177. package/src/utils/rollback-manager.js +202 -0
  178. package/src/utils/smoke-test-cli.js +362 -0
  179. package/src/utils/smoke-test-gui.js +351 -0
  180. package/src/utils/smoke-test-orchestrator.js +321 -0
  181. package/src/utils/smoke-test-runner.js +60 -0
  182. package/src/utils/smoke-test-web.js +347 -0
  183. package/src/utils/specification-helpers.js +39 -13
  184. package/src/utils/specification-migration.js +97 -0
  185. package/src/utils/test-runner.js +579 -0
  186. package/src/utils/validation-framework.js +518 -0
  187. package/src/validation/compliance-analyzer.js +197 -0
  188. package/src/validation/compliance-report-generator.js +343 -0
  189. package/src/validation/compliance-reporter.js +711 -0
  190. package/src/validation/compliance-rules.js +127 -0
  191. package/src/validation/constitution-validator-new.js +196 -0
  192. package/src/validation/constitution-validator.js +17 -0
  193. package/src/validation/file-validators.js +170 -0
  194. package/src/validation/line-limit/file-analyzer.js +201 -0
  195. package/src/validation/line-limit/line-limit-validator.js +208 -0
  196. package/src/validation/line-limit/validation-result.js +144 -0
  197. package/src/validation/line-limit-core.js +225 -0
  198. package/src/validation/line-limit-reporter.js +134 -0
  199. package/src/validation/line-limit-result.js +125 -0
  200. package/src/validation/line-limit-validator.js +41 -0
  201. package/src/validation/metrics-calculator.js +660 -0
  202. package/src/sync/sync-engine-backup.js +0 -559
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Trend Analyzer
3
+ *
4
+ * Analyzes trends in file sizes, complexity, and refactoring progress.
5
+ */
6
+
7
+ /**
8
+ * Trend Analyzer class
9
+ */
10
+ class TrendAnalyzer {
11
+ constructor(report) {
12
+ this.report = report;
13
+ }
14
+
15
+ analyzeAllTrends() {
16
+ return {
17
+ sizeTrends: this.analyzeSizeTrends(),
18
+ complexityTrends: this.analyzeComplexityTrends(),
19
+ packageTrends: this.analyzePackageTrends(),
20
+ refactoringTrends: this.analyzeRefactoringTrends(),
21
+ complianceTrends: this.analyzeComplianceTrends()
22
+ };
23
+ }
24
+
25
+ analyzeSizeTrends() {
26
+ // For now, provide baseline analysis
27
+ // In future versions, this could compare with historical data
28
+ const files = this.report.fileAnalysis;
29
+ const sizeCategories = this.categorizeFileSizes(files);
30
+
31
+ return {
32
+ increasing: 0, // Would need historical data
33
+ decreasing: 0, // Would need historical data
34
+ stable: files.length,
35
+ sizeDistribution: sizeCategories,
36
+ averageGrowthRate: 0, // Would need historical data
37
+ largestGrowthFile: null,
38
+ largestReductionFile: null
39
+ };
40
+ }
41
+
42
+ analyzeComplexityTrends() {
43
+ // For now, provide baseline analysis
44
+ const files = this.report.fileAnalysis;
45
+ const complexityCategories = this.categorizeComplexity(files);
46
+
47
+ return {
48
+ improving: 0, // Would need historical data
49
+ degrading: 0, // Would need historical data
50
+ stable: files.length,
51
+ complexityDistribution: complexityCategories,
52
+ averageComplexityChange: 0,
53
+ mostImprovedFile: null,
54
+ mostDegradedFile: null
55
+ };
56
+ }
57
+
58
+ analyzePackageTrends() {
59
+ const packages = this.report.packageAnalysis;
60
+
61
+ return {
62
+ growing: Object.keys(packages).length,
63
+ shrinking: 0,
64
+ stable: 0,
65
+ packageCountTrend: 'stable',
66
+ averagePackageSize: this.calculateAveragePackageSize(packages),
67
+ largestGrowingPackage: null,
68
+ fastestShrinkingPackage: null
69
+ };
70
+ }
71
+
72
+ analyzeRefactoringTrends() {
73
+ // For now, provide baseline analysis
74
+ const filesNeedingRefactoring = this.report.summary.filesNeedingRefactoring;
75
+
76
+ return {
77
+ completed: 0, // Would need historical data
78
+ inProgress: 0, // Would need historical data
79
+ planned: filesNeedingRefactoring,
80
+ completionRate: 0,
81
+ averageRefactoringTime: 0,
82
+ estimatedTotalTime: this.estimateTotalRefactoringTime(),
83
+ refactoringVelocity: 0
84
+ };
85
+ }
86
+
87
+ analyzeComplianceTrends() {
88
+ const currentCompliance = parseFloat(this.report.summary.complianceRate);
89
+
90
+ return {
91
+ currentComplianceRate: currentCompliance,
92
+ targetComplianceRate: 100,
93
+ gapToTarget: 100 - currentCompliance,
94
+ improvementRate: 0, // Would need historical data
95
+ estimatedTimeToCompliance: this.estimateTimeToCompliance(currentCompliance),
96
+ complianceTrajectory: 'stable'
97
+ };
98
+ }
99
+
100
+ // Helper methods
101
+ categorizeFileSizes(files) {
102
+ const categories = {
103
+ small: 0, // < 100 lines
104
+ medium: 0, // 100-300 lines
105
+ large: 0, // 301-555 lines
106
+ xlarge: 0 // > 555 lines
107
+ };
108
+
109
+ for (const file of files) {
110
+ if (file.lineCount < 100) categories.small++;
111
+ else if (file.lineCount <= 300) categories.medium++;
112
+ else if (file.lineCount <= 555) categories.large++;
113
+ else categories.xlarge++;
114
+ }
115
+
116
+ return categories;
117
+ }
118
+
119
+ categorizeComplexity(files) {
120
+ const categories = {
121
+ low: 0, // 0-20
122
+ medium: 0, // 21-50
123
+ high: 0, // 51-100
124
+ critical: 0 // > 100
125
+ };
126
+
127
+ for (const file of files) {
128
+ const complexity = file.getComplexityScore ? file.getComplexityScore() : 0;
129
+ if (complexity <= 20) categories.low++;
130
+ else if (complexity <= 50) categories.medium++;
131
+ else if (complexity <= 100) categories.high++;
132
+ else categories.critical++;
133
+ }
134
+
135
+ return categories;
136
+ }
137
+
138
+ calculateAveragePackageSize(packages) {
139
+ const packageSizes = Object.values(packages).map(p => p.totalLines);
140
+ if (packageSizes.length === 0) return 0;
141
+
142
+ const total = packageSizes.reduce((sum, size) => sum + size, 0);
143
+ return Math.round(total / packageSizes.length);
144
+ }
145
+
146
+ estimateTotalRefactoringTime() {
147
+ const filesNeedingRefactoring = this.report.summary.filesNeedingRefactoring;
148
+ const totalLines = this.report.fileAnalysis
149
+ .filter(f => f.needsRefactoring)
150
+ .reduce((sum, f) => sum + f.lineCount, 0);
151
+
152
+ // Estimate: 1 hour per 100 lines, plus complexity factor
153
+ const baseTime = Math.ceil(totalLines / 100);
154
+ const complexityFactor = this.calculateComplexityFactor();
155
+
156
+ return baseTime * complexityFactor;
157
+ }
158
+
159
+ calculateComplexityFactor() {
160
+ const avgComplexity = parseFloat(this.report.summary.averageComplexity);
161
+
162
+ // Complexity multiplier based on average complexity
163
+ if (avgComplexity <= 20) return 1.0;
164
+ if (avgComplexity <= 50) return 1.5;
165
+ if (avgComplexity <= 100) return 2.0;
166
+ return 3.0;
167
+ }
168
+
169
+ estimateTimeToCompliance(currentCompliance) {
170
+ if (currentCompliance >= 100) return 0;
171
+
172
+ const filesNeedingRefactoring = this.report.summary.filesNeedingRefactoring;
173
+ const estimatedTimePerFile = 2; // hours per file average
174
+
175
+ const totalHours = filesNeedingRefactoring * estimatedTimePerFile;
176
+ const days = Math.ceil(totalHours / 8); // Assuming 8-hour workdays
177
+
178
+ return days;
179
+ }
180
+
181
+ generateTrendSummary() {
182
+ const trends = this.analyzeAllTrends();
183
+
184
+ return {
185
+ overall: 'stable',
186
+ keyInsights: [
187
+ `${this.report.summary.filesNeedingRefactoring} files need refactoring to achieve 100% compliance`,
188
+ `Estimated ${trends.refactoringTrends.estimatedTotalTime} hours of refactoring work remaining`,
189
+ `Current compliance rate: ${this.report.summary.complianceRate}%`,
190
+ `${trends.complianceTrends.estimatedTimeToCompliance} days estimated to reach full compliance`
191
+ ],
192
+ recommendations: this.generateTrendRecommendations(trends)
193
+ };
194
+ }
195
+
196
+ generateTrendRecommendations(trends) {
197
+ const recommendations = [];
198
+
199
+ if (trends.complianceTrends.currentComplianceRate < 80) {
200
+ recommendations.push('Focus on high-priority files first to improve compliance rate quickly');
201
+ }
202
+
203
+ if (trends.refactoringTrends.estimatedTotalTime > 40) {
204
+ recommendations.push('Consider parallel refactoring efforts to reduce total time');
205
+ }
206
+
207
+ if (trends.sizeTrends.sizeDistribution.xlarge > 10) {
208
+ recommendations.push('Prioritize extra-large files as they contribute most to violations');
209
+ }
210
+
211
+ if (trends.complexityTrends.complexityDistribution.critical > 5) {
212
+ recommendations.push('Address critical complexity files early to prevent further issues');
213
+ }
214
+
215
+ return recommendations;
216
+ }
217
+ }
218
+
219
+ module.exports = TrendAnalyzer;