vibecodingmachine-core 2026.2.20-438 → 2026.2.26-1642

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,270 @@
1
+ /**
2
+ * Task Manager Integration
3
+ *
4
+ * Integrates continuous scanning with the task management system
5
+ * to automatically update and manage refactoring tasks.
6
+ */
7
+
8
+ const fs = require('fs').promises;
9
+ const path = require('path');
10
+ const taskListUpdater = require('./task-list-updater');
11
+ const prioritizer = require('./prioritizer');
12
+ const violationTaskGenerator = require('./violation-task-generator');
13
+
14
+ class TaskManagerIntegration {
15
+ constructor(options = {}) {
16
+ this.tasksFilePath = options.tasksFilePath || path.join(process.cwd(), 'specs/010-555-max-file-size/tasks.md');
17
+ this.backupEnabled = options.backup !== false;
18
+ this.autoCommit = options.autoCommit || false;
19
+ }
20
+
21
+ /**
22
+ * Integrate continuous scan results with task management
23
+ */
24
+ async integrateScanResults(scanResults, options = {}) {
25
+ try {
26
+ // Create backup before making changes
27
+ if (this.backupEnabled) {
28
+ await this.createBackup();
29
+ }
30
+
31
+ // Process violations and update tasks
32
+ const integrationResult = await this.processViolations(scanResults.violations, options);
33
+
34
+ // Update task file if there are changes
35
+ if (integrationResult.tasksModified) {
36
+ await this.updateTaskFile(integrationResult.taskUpdates);
37
+
38
+ if (this.autoCommit) {
39
+ await this.commitChanges(integrationResult.commitMessage);
40
+ }
41
+ }
42
+
43
+ return integrationResult;
44
+
45
+ } catch (error) {
46
+ console.error('Task manager integration failed:', error);
47
+ throw error;
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Process violations and determine task updates
53
+ */
54
+ async processViolations(violations, options = {}) {
55
+ const taskUpdates = {
56
+ newTasks: [],
57
+ updatedTasks: [],
58
+ completedTasks: []
59
+ };
60
+
61
+ // Read current tasks
62
+ const currentTasks = await this.readCurrentTasks();
63
+
64
+ // Generate tasks for new violations
65
+ const newViolations = this.filterNewViolations(violations, currentTasks);
66
+
67
+ if (newViolations.length > 0) {
68
+ const generatedTasks = await violationTaskGenerator.generateTasks(newViolations);
69
+ taskUpdates.newTasks = generatedTasks;
70
+ }
71
+
72
+ // Mark tasks as completed for files that are now compliant
73
+ const completedTasks = this.findCompletedTasks(violations, currentTasks);
74
+ taskUpdates.completedTasks = completedTasks;
75
+
76
+ // Update task priorities if needed
77
+ if (options.reprioritize) {
78
+ const updatedTasks = await this.reprioritizeTasks(currentTasks, violations);
79
+ taskUpdates.updatedTasks = updatedTasks;
80
+ }
81
+
82
+ return {
83
+ tasksModified: taskUpdates.newTasks.length > 0 ||
84
+ taskUpdates.completedTasks.length > 0 ||
85
+ taskUpdates.updatedTasks.length > 0,
86
+ taskUpdates,
87
+ summary: {
88
+ newTasks: taskUpdates.newTasks.length,
89
+ completedTasks: taskUpdates.completedTasks.length,
90
+ updatedTasks: taskUpdates.updatedTasks.length,
91
+ totalViolations: violations.length
92
+ }
93
+ };
94
+ }
95
+
96
+ /**
97
+ * Filter violations that don't have corresponding tasks
98
+ */
99
+ filterNewViolations(violations, currentTasks) {
100
+ const existingTaskFiles = new Set(
101
+ currentTasks.map(task => this.extractFilePathFromTask(task))
102
+ );
103
+
104
+ return violations.filter(violation =>
105
+ !existingTaskFiles.has(violation.filePath)
106
+ );
107
+ }
108
+
109
+ /**
110
+ * Find tasks for files that are now compliant
111
+ */
112
+ findCompletedTasks(violations, currentTasks) {
113
+ const violationFiles = new Set(violations.map(v => v.filePath));
114
+
115
+ return currentTasks.filter(task => {
116
+ const taskFilePath = this.extractFilePathFromTask(task);
117
+ return taskFilePath && !violationFiles.has(taskFilePath);
118
+ });
119
+ }
120
+
121
+ /**
122
+ * Reprioritize tasks based on current violations
123
+ */
124
+ async reprioritizeTasks(currentTasks, violations) {
125
+ const updatedTasks = [];
126
+
127
+ for (const task of currentTasks) {
128
+ const taskFilePath = this.extractFilePathFromTask(task);
129
+ const violation = violations.find(v => v.filePath === taskFilePath);
130
+
131
+ if (violation) {
132
+ const newPriority = prioritizer.calculatePriority(violation);
133
+ const updatedTask = this.updateTaskPriority(task, newPriority);
134
+ updatedTasks.push(updatedTask);
135
+ }
136
+ }
137
+
138
+ return updatedTasks;
139
+ }
140
+
141
+ /**
142
+ * Update the task file with changes
143
+ */
144
+ async updateTaskFile(taskUpdates) {
145
+ const content = await fs.readFile(this.tasksFilePath, 'utf8');
146
+ const lines = content.split('\n');
147
+
148
+ let modifiedContent = content;
149
+
150
+ // Add new tasks
151
+ if (taskUpdates.newTasks.length > 0) {
152
+ const insertionPoint = this.findInsertionPoint(lines);
153
+ const newTaskText = taskUpdates.newTasks.map(task => `- [ ] ${task}`).join('\n');
154
+ modifiedContent = this.insertTasksAtPoint(modifiedContent, insertionPoint, newTaskText);
155
+ }
156
+
157
+ // Mark completed tasks
158
+ for (const completedTask of taskUpdates.completedTasks) {
159
+ modifiedContent = modifiedContent.replace(
160
+ `- [ ] ${completedTask}`,
161
+ `- [x] ${completedTask}`
162
+ );
163
+ }
164
+
165
+ // Update task priorities
166
+ for (const updatedTask of taskUpdates.updatedTasks) {
167
+ modifiedContent = this.updateTaskInContent(modifiedContent, updatedTask);
168
+ }
169
+
170
+ await fs.writeFile(this.tasksFilePath, modifiedContent, 'utf8');
171
+ }
172
+
173
+ /**
174
+ * Read current tasks from the task file
175
+ */
176
+ async readCurrentTasks() {
177
+ const content = await fs.readFile(this.tasksFilePath, 'utf8');
178
+ const taskRegex = /^- \[([ x])\] (.+)$/gm;
179
+ const tasks = [];
180
+ let match;
181
+
182
+ while ((match = taskRegex.exec(content)) !== null) {
183
+ if (match[1] === ' ') { // Only include uncompleted tasks
184
+ tasks.push(match[2]);
185
+ }
186
+ }
187
+
188
+ return tasks;
189
+ }
190
+
191
+ /**
192
+ * Extract file path from task description
193
+ */
194
+ extractFilePathFromTask(taskDescription) {
195
+ const pathMatch = taskDescription.match(/packages\/[^)]+/);
196
+ return pathMatch ? pathMatch[0] : null;
197
+ }
198
+
199
+ /**
200
+ * Find the appropriate insertion point for new tasks
201
+ */
202
+ findInsertionPoint(lines) {
203
+ // Find the end of User Story 4 section
204
+ for (let i = lines.length - 1; i >= 0; i--) {
205
+ if (lines[i].includes('T082') && lines[i].includes('[US4]')) {
206
+ return i + 1;
207
+ }
208
+ }
209
+ return lines.length - 1;
210
+ }
211
+
212
+ /**
213
+ * Insert new tasks at the specified point
214
+ */
215
+ insertTasksAtPoint(content, insertionPoint, newTaskText) {
216
+ const lines = content.split('\n');
217
+ lines.splice(insertionPoint, 0, newTaskText);
218
+ return lines.join('\n');
219
+ }
220
+
221
+ /**
222
+ * Update task priority in content
223
+ */
224
+ updateTaskInContent(content, updatedTask) {
225
+ // Implementation would depend on the specific task format
226
+ // This is a placeholder for the actual update logic
227
+ return content;
228
+ }
229
+
230
+ /**
231
+ * Create backup of task file
232
+ */
233
+ async createBackup() {
234
+ const backupPath = `${this.tasksFilePath}.backup.${Date.now()}`;
235
+ await fs.copyFile(this.tasksFilePath, backupPath);
236
+ console.log(`Backup created: ${backupPath}`);
237
+ }
238
+
239
+ /**
240
+ * Commit changes to git
241
+ */
242
+ async commitChanges(commitMessage) {
243
+ const { execSync } = require('child_process');
244
+ try {
245
+ execSync('git add ' + this.tasksFilePath);
246
+ execSync(`git commit -m "${commitMessage}"`);
247
+ console.log('Changes committed to git');
248
+ } catch (error) {
249
+ console.warn('Failed to commit changes:', error.message);
250
+ }
251
+ }
252
+
253
+ /**
254
+ * Get integration status and statistics
255
+ */
256
+ async getIntegrationStatus() {
257
+ const currentTasks = await this.readCurrentTasks();
258
+ const completedTasks = currentTasks.filter(task => task.startsWith('[x]')).length;
259
+ const pendingTasks = currentTasks.length - completedTasks;
260
+
261
+ return {
262
+ totalTasks: currentTasks.length,
263
+ completedTasks,
264
+ pendingTasks,
265
+ completionRate: (completedTasks / currentTasks.length * 100).toFixed(1)
266
+ };
267
+ }
268
+ }
269
+
270
+ module.exports = TaskManagerIntegration;