vibecodingmachine-core 2026.3.14-1528 → 2026.6.17-1835

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 (414) hide show
  1. package/package.json +7 -2
  2. package/src/agents/Agent.js +1 -1
  3. package/src/agents/AgentAdditionService.js +1 -1
  4. package/src/agents/AgentCheckDiscoveryService.js +2 -2
  5. package/src/agents/AgentCheckService.js +16 -16
  6. package/src/agents/AgentCheckStatisticsService.js +11 -11
  7. package/src/agents/AgentInstallationService.js +6 -6
  8. package/src/agents/AgentSetupService.js +15 -15
  9. package/src/agents/AgentStatus.js +8 -8
  10. package/src/agents/AgentVerificationService.js +39 -39
  11. package/src/agents/ConfigurationSchemaValidator.js +8 -8
  12. package/src/agents/EnvironmentConfigurationManager.js +28 -28
  13. package/src/agents/InstallationErrorHandler.js +11 -11
  14. package/src/agents/InstallationLog.js +18 -18
  15. package/src/agents/InstallationMethod.js +1 -1
  16. package/src/agents/InstallationOrchestrator.js +37 -37
  17. package/src/agents/InstallationProgressReporter.js +13 -13
  18. package/src/agents/InstallationRetryManager.js +20 -20
  19. package/src/agents/InstallationType.js +14 -14
  20. package/src/agents/OperationTypes.js +12 -12
  21. package/src/agents/PerformanceMetricsCollector.js +59 -59
  22. package/src/agents/SecurityValidationService.js +17 -17
  23. package/src/agents/SimpleAgentCheckService.js +79 -74
  24. package/src/agents/VerificationTest.js +26 -26
  25. package/src/agents/VerificationType.js +5 -5
  26. package/src/agents/WindowsPermissionHandler.js +30 -30
  27. package/src/agents/config/AgentDefaultsRegistry.js +3 -3
  28. package/src/agents/config-managers/ConfigUtils.js +5 -5
  29. package/src/agents/config-managers/DefaultConfig.js +1 -1
  30. package/src/agents/config-managers/EnvVarLoader.js +7 -7
  31. package/src/agents/config-managers/FileConfigLoader.js +22 -22
  32. package/src/agents/config-managers/TypeConverters.js +1 -1
  33. package/src/agents/config-managers/VariableMappings.js +7 -7
  34. package/src/agents/discovery/AgentDiscoveryService-refactored.js +8 -8
  35. package/src/agents/discovery/AgentDiscoveryService.js +14 -14
  36. package/src/agents/discovery/agent-validator.js +4 -4
  37. package/src/agents/discovery/discovery-results.js +1 -1
  38. package/src/agents/discovery/discovery-scanner.js +29 -29
  39. package/src/agents/discovery/discovery-utils.js +6 -6
  40. package/src/agents/discovery/executable-analyzer.js +27 -27
  41. package/src/agents/discovery/history-manager.js +2 -2
  42. package/src/agents/logging/AgentLogger.js +20 -20
  43. package/src/agents/status/AgentStatusManager.js +30 -30
  44. package/src/agents/storage/FileManager.js +15 -15
  45. package/src/agents/validation.js +4 -4
  46. package/src/agents/verification/AgentCommunicationTester.js +46 -46
  47. package/src/agents/verification/BaseVerifier.js +31 -31
  48. package/src/agents/verification/CommandVerifier.js +34 -34
  49. package/src/agents/verification/FileOperationVerifier.js +14 -14
  50. package/src/agents/verification/ResultAnalyzer-refactored.js +7 -7
  51. package/src/agents/verification/ResultAnalyzer.js +29 -29
  52. package/src/agents/verification/TestRequirementManager.js +49 -49
  53. package/src/agents/verification/VerificationRunner.js +18 -18
  54. package/src/agents/verification/analysis-utils.js +27 -27
  55. package/src/agents/verification/batch-analyzer.js +55 -55
  56. package/src/agents/verification/pattern-recognizer.js +49 -49
  57. package/src/agents/verification/report-generator.js +9 -9
  58. package/src/agents/verification/test-analyzer.js +29 -29
  59. package/src/agents/windows/BaseWindowsInstaller.js +22 -22
  60. package/src/agents/windows/ChocolateyInstaller.js +31 -31
  61. package/src/agents/windows/DirectInstaller.js +23 -23
  62. package/src/agents/windows/InstallerFactory.js +16 -16
  63. package/src/agents/windows/NpmInstaller.js +39 -39
  64. package/src/agents/windows/PowerShellInstaller.js +27 -27
  65. package/src/agents/windows/VSCodeExtensionInstaller.js +10 -10
  66. package/src/agents/windows/WinGetInstaller.js +23 -23
  67. package/src/analysis/analysis-engine.js +35 -35
  68. package/src/analysis/analysis-reporter.js +7 -7
  69. package/src/analysis/ast-analyzer.js +28 -28
  70. package/src/analysis/boundary-detector-refactored.js +35 -35
  71. package/src/analysis/boundary-detector.js +35 -35
  72. package/src/analysis/boundary-scanner.js +52 -52
  73. package/src/analysis/boundary-types.js +3 -3
  74. package/src/analysis/boundary-utils.js +33 -33
  75. package/src/analysis/categorizer.js +20 -20
  76. package/src/analysis/codebase-scanner.js +22 -22
  77. package/src/analysis/detection-methods.js +25 -25
  78. package/src/analysis/line-counter.js +14 -14
  79. package/src/analysis/report/analysis-report.js +9 -9
  80. package/src/analysis/report/package-analyzer.js +33 -33
  81. package/src/analysis/report/recommendation-generator.js +29 -29
  82. package/src/analysis/report/statistics-generator.js +53 -53
  83. package/src/analysis/reports/analysis-report-model.js +4 -4
  84. package/src/analysis/reports/recommendation-generator.js +25 -25
  85. package/src/analysis/reports/report-generators.js +9 -9
  86. package/src/analysis/reports/statistics-calculator.js +23 -23
  87. package/src/analysis/reports/trend-analyzer.js +19 -19
  88. package/src/analysis/strategy-generator.js +5 -5
  89. package/src/auth/shared-auth-storage.js +15 -7
  90. package/src/auto-mode/AutoModeBusinessLogic.js +9 -15
  91. package/src/auto-mode/auto-mode-streaks.js +104 -0
  92. package/src/auto-mode/direct-run-recovery.js +99 -0
  93. package/src/auto-mode/rate-limit-budget.js +169 -0
  94. package/src/auto-mode/rate-limit-handler.js +218 -0
  95. package/src/auto-mode/rate-limit-store.js +174 -0
  96. package/src/auto-mode/stage-change-log.js +60 -0
  97. package/src/auto-mode/stage-stall-tracker.js +123 -0
  98. package/src/auto-mode-error-detector/error-detector.js +135 -0
  99. package/src/autonomous-mode/feature-implementer.js +20 -24
  100. package/src/beta-request.js +1 -1
  101. package/src/chat-management/chat-manager.js +3 -3
  102. package/src/commands/base.js +8 -8
  103. package/src/commands/disable-requirement.js +2 -2
  104. package/src/commands/disable-spec.js +2 -2
  105. package/src/commands/enable-requirement.js +2 -2
  106. package/src/commands/enable-spec.js +2 -2
  107. package/src/commands/help.js +5 -5
  108. package/src/commands/registry.js +12 -12
  109. package/src/commands/requirements.js +2 -2
  110. package/src/commands/resolver.js +7 -7
  111. package/src/commands/settings.js +79 -4
  112. package/src/compliance/compliance-manager.js +10 -10
  113. package/src/compliance/compliance-prompt.js +6 -6
  114. package/src/config/refactoring-config.js +6 -6
  115. package/src/database/migrations.js +1 -1
  116. package/src/database/user-database-client.js +1 -1
  117. package/src/database/user-schema.js +2 -2
  118. package/src/feedback/feedback-config-manager.js +95 -0
  119. package/src/feedback/feedback-manager.js +501 -0
  120. package/src/feedback/ui-preferences-manager.js +87 -0
  121. package/src/git/commit-manager.js +475 -0
  122. package/src/health-tracking/health-reporter.js +14 -14
  123. package/src/health-tracking/ide-health-tracker.js +17 -3
  124. package/src/health-tracking/json-storage.js +4 -4
  125. package/src/ide-integration/agent-test-runner.js +275 -0
  126. package/src/ide-integration/aider/commands/configuration-manager.js +39 -0
  127. package/src/ide-integration/aider/commands/installation-manager.js +111 -0
  128. package/src/ide-integration/aider/processes/process-manager.js +37 -0
  129. package/src/ide-integration/aider/utils/ollama-manager.js +154 -0
  130. package/src/ide-integration/aider-cli-manager.cjs +16 -241
  131. package/src/ide-integration/applescript-antigravity-quota.cjs +515 -0
  132. package/src/ide-integration/applescript-cursor-quota.cjs +351 -0
  133. package/src/ide-integration/applescript-ide-opener.cjs +489 -0
  134. package/src/ide-integration/applescript-kiro-quota.cjs +549 -0
  135. package/src/ide-integration/applescript-manager-core.js +30 -12
  136. package/src/ide-integration/applescript-manager.cjs +45 -3201
  137. package/src/ide-integration/applescript-manager.js +34 -16
  138. package/src/ide-integration/applescript-response-reader.cjs +658 -0
  139. package/src/ide-integration/applescript-send-text.cjs +307 -0
  140. package/src/ide-integration/applescript-status-continuation.cjs +581 -0
  141. package/src/ide-integration/applescript-utils.js +203 -192
  142. package/src/ide-integration/cdp-handlers/connection-handler.js +2 -2
  143. package/src/ide-integration/cdp-handlers/continuation-handler.js +7 -7
  144. package/src/ide-integration/cdp-handlers/text-sender.js +1 -1
  145. package/src/ide-integration/cdp-manager.js +2 -2
  146. package/src/ide-integration/cli-direct-runner.js +483 -0
  147. package/src/ide-integration/cli-session-manager.js +180 -0
  148. package/src/ide-integration/cline-cli-manager.js +24 -24
  149. package/src/ide-integration/continuation-handler.js +18 -18
  150. package/src/ide-integration/continue-cli-manager.js +14 -14
  151. package/src/ide-integration/ide-openers/claude-opener.js +23 -7
  152. package/src/ide-integration/ide-openers/other-ides-opener.js +17 -63
  153. package/src/ide-integration/ide-status-checker.js +20 -20
  154. package/src/ide-integration/macos-ide-manager.js +55 -4
  155. package/src/ide-integration/macos-quota-checker.js +1 -1
  156. package/src/ide-integration/macos-text-sender.js +204 -68
  157. package/src/ide-integration/quota-detector.cjs +11 -11
  158. package/src/ide-integration/quota-detector.js +11 -11
  159. package/src/ide-integration/response-reader.js +10 -10
  160. package/src/ide-integration/windows/cursor-automation.js +304 -0
  161. package/src/ide-integration/windows/ide-automation.js +735 -0
  162. package/src/ide-integration/windows/window-operations.js +183 -0
  163. package/src/ide-integration/windows-automation-manager.js +92 -865
  164. package/src/ide-integration/windows-ide-manager.js +13 -13
  165. package/src/index.cjs +87 -6
  166. package/src/index.js +56 -41
  167. package/src/installation/config-manager.js +247 -0
  168. package/src/installation/config-paths.js +64 -0
  169. package/src/installation/fs-validators.js +166 -0
  170. package/src/installation/index.js +30 -0
  171. package/src/installation/path-resolver.js +73 -0
  172. package/src/installation/types.js +57 -0
  173. package/src/installation/version-detector.js +233 -0
  174. package/src/items/item-conversation.js +101 -0
  175. package/src/items/items-migrator.js +358 -0
  176. package/src/items/items-slug.js +55 -0
  177. package/src/items/items-store-io.js +257 -0
  178. package/src/items/items-store.js +541 -0
  179. package/src/localization/index.js +3 -3
  180. package/src/localization/translations/en-part1.js +1 -1
  181. package/src/localization/translations/en-part2.js +1 -1
  182. package/src/localization/translations/es-part1.js +1 -1
  183. package/src/localization/translations/es-part2.js +1 -1
  184. package/src/models/compliance-report.js +44 -44
  185. package/src/models/file-analysis.js +33 -33
  186. package/src/models/plan-manager.js +44 -44
  187. package/src/models/refactoring-models.js +4 -4
  188. package/src/models/refactoring-plan-refactored.js +2 -2
  189. package/src/models/refactoring-plan.js +5 -5
  190. package/src/monitoring/alert-system.js +84 -84
  191. package/src/monitoring/compliance-progress-tracker.js +19 -19
  192. package/src/monitoring/continuous-scan-notifications.js +54 -54
  193. package/src/monitoring/continuous-scanner.js +24 -24
  194. package/src/monitoring/file-monitor/file-analyzer.js +23 -23
  195. package/src/monitoring/file-monitor/file-monitor.js +20 -20
  196. package/src/monitoring/file-monitor/watcher.js +18 -18
  197. package/src/monitoring/file-monitor.js +1 -1
  198. package/src/monitoring/notification-handlers/base-handler.js +3 -3
  199. package/src/monitoring/notification-handlers/error-handler.js +1 -1
  200. package/src/monitoring/notification-handlers/index.js +1 -1
  201. package/src/monitoring/notification-handlers/new-violation-handler.js +5 -5
  202. package/src/monitoring/notification-handlers/progress-handler.js +2 -2
  203. package/src/monitoring/notification-handlers/resolved-violation-handler.js +4 -4
  204. package/src/monitoring/notification-handlers/threshold-handler.js +1 -1
  205. package/src/monitoring/notification-manager.js +36 -36
  206. package/src/monitoring/scanner-core.js +43 -43
  207. package/src/monitoring/scanner-events.js +26 -26
  208. package/src/monitoring/violation-notification-system.js +10 -10
  209. package/src/progress/metrics-aggregator.js +194 -0
  210. package/src/progress/metrics-store.js +263 -0
  211. package/src/provider-registry.js +5 -5
  212. package/src/quota-management/index.js +2 -2
  213. package/src/refactoring/boundaries/cohesion-analyzer.js +21 -21
  214. package/src/refactoring/boundaries/extraction-result.js +1 -1
  215. package/src/refactoring/boundaries/extraction-strategies.js +27 -27
  216. package/src/refactoring/boundaries/module-boundary.js +8 -8
  217. package/src/refactoring/boundary/boundary-detector-refactored.js +1 -1
  218. package/src/refactoring/boundary/boundary-detector.js +26 -26
  219. package/src/refactoring/boundary/boundary-types.js +21 -21
  220. package/src/refactoring/boundary/detectors/boundary-analyzers.js +34 -34
  221. package/src/refactoring/boundary/detectors/boundary-core.js +14 -14
  222. package/src/refactoring/boundary/detectors/class-detector.js +28 -28
  223. package/src/refactoring/boundary/detectors/config-detector.js +28 -28
  224. package/src/refactoring/boundary/detectors/constant-detector.js +28 -28
  225. package/src/refactoring/boundary/detectors/function-detector.js +28 -28
  226. package/src/refactoring/boundary/detectors/module-detector.js +29 -29
  227. package/src/refactoring/boundary/detectors/object-detector.js +28 -28
  228. package/src/refactoring/boundary/detectors/type-detectors.js +34 -34
  229. package/src/refactoring/boundary/detectors/utility-detector.js +28 -28
  230. package/src/refactoring/boundary/extraction-strategies.js +61 -61
  231. package/src/refactoring/boundary-extraction-result.js +3 -3
  232. package/src/refactoring/boundary-extraction-strategies.js +28 -28
  233. package/src/refactoring/boundary-extractor.js +13 -13
  234. package/src/refactoring/boundary-types.js +1 -1
  235. package/src/refactoring/circular/circular-dependency.js +4 -4
  236. package/src/refactoring/circular/cycle-detection.js +10 -10
  237. package/src/refactoring/circular/dependency-node.js +1 -1
  238. package/src/refactoring/circular/dependency-result.js +1 -1
  239. package/src/refactoring/circular/dependency-types.js +2 -2
  240. package/src/refactoring/circular/graph-builder.js +25 -25
  241. package/src/refactoring/circular/resolution-strategy.js +1 -1
  242. package/src/refactoring/circular/strategy-generator.js +28 -28
  243. package/src/refactoring/circular-dependency-resolver-original.js +70 -70
  244. package/src/refactoring/circular-dependency-resolver.js +19 -19
  245. package/src/refactoring/code-mover-refactored.js +31 -31
  246. package/src/refactoring/code-mover.js +53 -53
  247. package/src/refactoring/execution-status.js +1 -1
  248. package/src/refactoring/execution-strategies.js +28 -28
  249. package/src/refactoring/file-splitter-core.js +58 -58
  250. package/src/refactoring/file-splitter-types.js +1 -1
  251. package/src/refactoring/file-splitter.js +1 -1
  252. package/src/refactoring/functionality-validator.js +90 -90
  253. package/src/refactoring/import-manager-refactored.js +42 -42
  254. package/src/refactoring/import-manager.js +57 -57
  255. package/src/refactoring/import-models.js +1 -1
  256. package/src/refactoring/import-parser.js +41 -41
  257. package/src/refactoring/module-boundary.js +3 -3
  258. package/src/refactoring/move-executor.js +45 -45
  259. package/src/refactoring/move-utils.js +27 -27
  260. package/src/refactoring/operation-executor.js +7 -7
  261. package/src/refactoring/plan-creator.js +3 -3
  262. package/src/refactoring/plan-executor.js +21 -21
  263. package/src/refactoring/plan-validator.js +10 -10
  264. package/src/refactoring/refactoring-executor-result.js +1 -1
  265. package/src/refactoring/refactoring-executor.js +5 -5
  266. package/src/refactoring/refactoring-operation.js +3 -3
  267. package/src/refactoring/refactoring-plan.js +2 -2
  268. package/src/refactoring/refactoring-rollback.js +1 -1
  269. package/src/refactoring/rollback-handlers/RollbackExecutor.js +12 -12
  270. package/src/refactoring/rollback-handlers/RollbackManager.js +34 -34
  271. package/src/refactoring/rollback-handlers/RollbackOperation.js +2 -2
  272. package/src/refactoring/rollback-handlers/RollbackResult.js +5 -5
  273. package/src/refactoring/rollback-handlers/RollbackStatistics.js +8 -8
  274. package/src/refactoring/test-validator.js +19 -19
  275. package/src/refactoring/validation/baseline-runner.js +10 -10
  276. package/src/refactoring/validation/report-generator.js +16 -16
  277. package/src/refactoring/validation/result-comparator.js +10 -10
  278. package/src/refactoring/validation/test-suite.js +2 -2
  279. package/src/refactoring/validation/test-validation-result.js +2 -2
  280. package/src/refactoring/validation/validation-runner.js +16 -16
  281. package/src/refactoring/validation/validation-status.js +1 -1
  282. package/src/repos/repos-store.js +220 -0
  283. package/src/requirement-management/default-requirement-manager.js +20 -20
  284. package/src/requirement-management/requirement-file-parser.js +3 -3
  285. package/src/requirement-management/requirement-sequencer.js +17 -17
  286. package/src/rui/base.js +6 -6
  287. package/src/rui/commands/AgentCommandParser.js +6 -6
  288. package/src/rui/commands/AgentCommands.js +26 -26
  289. package/src/rui/commands/AgentResponseFormatter.js +12 -12
  290. package/src/rui/commands/parsers/CommandMapper.js +5 -5
  291. package/src/rui/commands/parsers/CommandValidator.js +5 -5
  292. package/src/rui/commands/parsers/ComponentExtractor.js +4 -4
  293. package/src/rui/commands/parsers/TokenParser.js +6 -6
  294. package/src/rui/commands/parsers/tokenizer.js +9 -9
  295. package/src/rui/index.js +5 -5
  296. package/src/rui/registry.js +5 -5
  297. package/src/rui/resolver.js +3 -3
  298. package/src/screenshot/analysis-engine.js +249 -0
  299. package/src/screenshot/capture-engine.js +251 -0
  300. package/src/screenshot/verification-loop.js +191 -0
  301. package/src/scripts/verify-full-compliance.js +32 -32
  302. package/src/spec-management/queue-storage.js +320 -0
  303. package/src/spec-management/retry-manager.js +243 -0
  304. package/src/spec-management/spec-counter.js +301 -0
  305. package/src/spec-management/spec-fingerprint.js +148 -0
  306. package/src/spec-management/spec-logger.js +329 -0
  307. package/src/spec-management/spec-scanner.js +313 -0
  308. package/src/sync/aws-setup.js +41 -41
  309. package/src/sync/remote-control-server.js +50 -50
  310. package/src/sync/sync-engine-conflicts.js +10 -10
  311. package/src/sync/sync-engine-core.js +9 -9
  312. package/src/sync/sync-engine-file-ops.js +7 -7
  313. package/src/sync/sync-engine.js +12 -12
  314. package/src/task-generation/automated-task-generator.js +20 -20
  315. package/src/task-generation/prioritizer.js +39 -39
  316. package/src/task-generation/task-list-updater.js +29 -29
  317. package/src/task-generation/task-management-integration.js +92 -92
  318. package/src/task-generation/task-manager-integration.js +18 -18
  319. package/src/task-generation/violation-task-generator.js +54 -54
  320. package/src/task-management/continuous-scan-integration.js +25 -25
  321. package/src/ui/ChatInterface.js +1 -1
  322. package/src/ui/ChromeExtensionAdapter.js +309 -0
  323. package/src/ui/FeedbackComponent.js +334 -0
  324. package/src/utils/analyzer.js +18 -18
  325. package/src/utils/cleanup.js +28 -28
  326. package/src/utils/config-helpers.js +64 -4
  327. package/src/utils/constants.js +19 -0
  328. package/src/utils/current-requirement-operations.js +63 -11
  329. package/src/utils/dependency-mapper.js +8 -8
  330. package/src/utils/duplicate-detector.js +29 -29
  331. package/src/utils/error-reporter.js +6 -6
  332. package/src/utils/file-monitor.js +20 -20
  333. package/src/utils/git-branch-manager.js +157 -1
  334. package/src/utils/import-updater.js +10 -10
  335. package/src/utils/refactor-plan.js +22 -22
  336. package/src/utils/refactoring-tools.js +7 -7
  337. package/src/utils/repo-helpers.cjs +16 -11
  338. package/src/utils/repo-helpers.js +15 -8
  339. package/src/utils/report-generator.js +1 -1
  340. package/src/utils/report-generators/analysis-generator.js +4 -4
  341. package/src/utils/report-generators/base-generator.js +7 -7
  342. package/src/utils/report-generators/compliance-generator.js +2 -2
  343. package/src/utils/report-generators/format-handlers.js +16 -16
  344. package/src/utils/report-generators/refactoring-generator.js +1 -1
  345. package/src/utils/report-generators/validation-generator.js +3 -3
  346. package/src/utils/reports/report-analysis.js +13 -13
  347. package/src/utils/reports/report-types.js +1 -1
  348. package/src/utils/reports/summary-generators.js +4 -4
  349. package/src/utils/requirement-enable-disable.js +69 -44
  350. package/src/utils/requirement-file-management.js +10 -28
  351. package/src/utils/requirement-helpers/requirement-file-ops.js +22 -17
  352. package/src/utils/requirement-helpers/requirement-mover.js +13 -13
  353. package/src/utils/requirement-helpers/requirement-parser.js +6 -10
  354. package/src/utils/requirement-helpers/requirement-status.js +20 -18
  355. package/src/utils/requirement-helpers-new.js +8 -8
  356. package/src/utils/requirement-helpers-refactored.js +1 -1
  357. package/src/utils/requirement-helpers.js +1 -1
  358. package/src/utils/requirement-loader.js +238 -0
  359. package/src/utils/requirement-movement.js +46 -46
  360. package/src/utils/requirement-writer.js +466 -0
  361. package/src/utils/rollback/rollback-handlers.js +2 -2
  362. package/src/utils/rollback/rollback-operation.js +1 -1
  363. package/src/utils/rollback/rollback-recorder.js +4 -4
  364. package/src/utils/rollback/rollback-state-manager.js +5 -5
  365. package/src/utils/rollback/rollback-types.js +1 -1
  366. package/src/utils/rollback/rollback-utils.js +4 -4
  367. package/src/utils/rollback-manager-original.js +14 -14
  368. package/src/utils/rollback-manager.js +4 -4
  369. package/src/utils/smoke-test-cli.js +20 -20
  370. package/src/utils/smoke-test-gui.js +34 -34
  371. package/src/utils/smoke-test-orchestrator.js +24 -24
  372. package/src/utils/smoke-test-runner.js +5 -5
  373. package/src/utils/smoke-test-web.js +22 -22
  374. package/src/utils/spec-loader.js +308 -0
  375. package/src/utils/spec-writer.js +295 -0
  376. package/src/utils/specification-enable-disable.js +10 -10
  377. package/src/utils/task-parser.js +141 -0
  378. package/src/utils/test-comparator.js +2 -2
  379. package/src/utils/test-config.js +1 -1
  380. package/src/utils/test-executor.js +7 -7
  381. package/src/utils/test-parser.js +4 -4
  382. package/src/utils/test-runner-baseline.js +5 -5
  383. package/src/utils/test-runner-core.js +2 -2
  384. package/src/utils/test-runner-report.js +1 -1
  385. package/src/utils/test-runner-validation.js +9 -9
  386. package/src/utils/test-runner.js +1 -1
  387. package/src/utils/validation-framework.js +27 -27
  388. package/src/utils/verification-summary-validator.js +51 -0
  389. package/src/validation/comparison-analyzer.js +34 -34
  390. package/src/validation/compliance-analyzer.js +23 -23
  391. package/src/validation/compliance-report-generator.js +23 -23
  392. package/src/validation/compliance-reporter-new.js +18 -18
  393. package/src/validation/compliance-reporter-refactored.js +18 -18
  394. package/src/validation/compliance-reporter.js +45 -30
  395. package/src/validation/compliance-rules.js +12 -12
  396. package/src/validation/compliance-utils.js +20 -20
  397. package/src/validation/constitution-validator-new.js +16 -16
  398. package/src/validation/constitution-validator.js +1 -1
  399. package/src/validation/file-validators.js +13 -13
  400. package/src/validation/html-generator.js +27 -27
  401. package/src/validation/line-limit/file-analyzer.js +15 -15
  402. package/src/validation/line-limit/line-limit-validator.js +10 -10
  403. package/src/validation/line-limit/validation-result.js +6 -6
  404. package/src/validation/line-limit-core.js +29 -29
  405. package/src/validation/line-limit-reporter.js +20 -20
  406. package/src/validation/line-limit-result.js +3 -3
  407. package/src/validation/line-limit-validator.js +5 -5
  408. package/src/validation/metrics/category-calculator.js +9 -9
  409. package/src/validation/metrics/metrics-helpers.js +16 -16
  410. package/src/validation/metrics/overview-calculator.js +2 -2
  411. package/src/validation/metrics/overview-metrics.js +1 -1
  412. package/src/validation/metrics/quality-calculator.js +22 -22
  413. package/src/validation/metrics/size-calculator.js +3 -3
  414. package/src/validation/metrics-calculator.js +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Agent Verification Service
3
- *
3
+ *
4
4
  * Orchestrates agent verification across multiple verifiers.
5
5
  * Follows constitutional requirements: <555 lines, test-first approach.
6
6
  */
@@ -30,14 +30,14 @@ class AgentVerificationService {
30
30
  this.continueOnFailure = config.continueOnFailure !== false; // Default to continue
31
31
  this.skipVerification = config.skipVerification || false;
32
32
  this.enableCommunicationTesting = config.enableCommunicationTesting !== false;
33
-
33
+
34
34
  // Initialize communication testing components
35
35
  if (this.enableCommunicationTesting) {
36
36
  this.testManager = new TestRequirementManager({
37
37
  logger: this.logger,
38
38
  ...config.testManagerOptions
39
39
  });
40
-
40
+
41
41
  this.communicationTester = new AgentCommunicationTester({
42
42
  testManager: this.testManager,
43
43
  logger: this.logger,
@@ -46,7 +46,7 @@ class AgentVerificationService {
46
46
  continueOnFailure: this.continueOnFailure,
47
47
  ...config.communicationTesterOptions
48
48
  });
49
-
49
+
50
50
  this.resultAnalyzer = new ResultAnalyzer({
51
51
  logger: this.logger,
52
52
  detailedAnalysis: config.detailedAnalysis !== false,
@@ -63,7 +63,7 @@ class AgentVerificationService {
63
63
  */
64
64
  async verifyAgent(agent, options = {}) {
65
65
  const { skipVerification = this.skipVerification, testTypes = null, timeout = this.timeout } = options;
66
-
66
+
67
67
  if (skipVerification) {
68
68
  return {
69
69
  success: true,
@@ -84,14 +84,14 @@ class AgentVerificationService {
84
84
  }
85
85
 
86
86
  const startTime = Date.now();
87
-
87
+
88
88
  try {
89
89
  // Update agent status to VERIFYING
90
90
  await this.updateAgentStatus(agent.id, AgentStatus.VERIFYING, 'Starting verification');
91
-
91
+
92
92
  // Create verification test configurations
93
93
  const testConfigs = this.createTestConfigs(agent, testTypes);
94
-
94
+
95
95
  if (testConfigs.length === 0) {
96
96
  throw new Error('No verification tests configured for agent');
97
97
  }
@@ -104,9 +104,9 @@ class AgentVerificationService {
104
104
  continueOnFailure: this.continueOnFailure,
105
105
  logger: this.logger
106
106
  });
107
-
107
+
108
108
  const verificationResult = await runner.runVerificationTests(agent, testConfigs);
109
-
109
+
110
110
  // Run communication tests if enabled
111
111
  let communicationResult = null;
112
112
  if (this.enableCommunicationTesting) {
@@ -116,11 +116,11 @@ class AgentVerificationService {
116
116
  agentName: agent.name
117
117
  });
118
118
  }
119
-
119
+
120
120
  communicationResult = await this.communicationTester.testCommunication(agent, {
121
121
  testTypes: [VerificationType.FILE_OPERATION, VerificationType.COMMAND_EXECUTION]
122
122
  });
123
-
123
+
124
124
  if (this.logger) {
125
125
  await this.logger.info('Agent communication testing completed', {
126
126
  agentId: agent.id,
@@ -129,15 +129,15 @@ class AgentVerificationService {
129
129
  });
130
130
  }
131
131
  }
132
-
132
+
133
133
  // Combine results and determine overall status
134
134
  const standardTestsPassed = verificationResult.summary.allPassed;
135
135
  const communicationTestsPassed = !communicationResult || communicationResult.success;
136
136
  const allPassed = standardTestsPassed && communicationTestsPassed;
137
-
137
+
138
138
  const finalStatus = allPassed ? AgentStatus.VERIFIED : AgentStatus.ERROR;
139
139
  const message = allPassed ? 'All verification tests passed' : 'Some verification tests failed';
140
-
140
+
141
141
  // Analyze results if analyzer is available
142
142
  let analysis = null;
143
143
  if (this.resultAnalyzer) {
@@ -153,18 +153,18 @@ class AgentVerificationService {
153
153
  communicationTests: communicationResult ? communicationResult.summary : null
154
154
  }
155
155
  };
156
-
156
+
157
157
  analysis = this.resultAnalyzer.analyzeAgentResult(combinedResult);
158
158
  }
159
-
159
+
160
160
  // Update agent status
161
161
  await this.updateAgentStatus(agent.id, finalStatus, message);
162
-
162
+
163
163
  const duration = Date.now() - startTime;
164
-
164
+
165
165
  // Log verification result
166
166
  await this.logVerification(agent, verificationResult, duration);
167
-
167
+
168
168
  return {
169
169
  success: allPassed,
170
170
  agentId: agent.id,
@@ -179,13 +179,13 @@ class AgentVerificationService {
179
179
  };
180
180
  } catch (error) {
181
181
  const duration = Date.now() - startTime;
182
-
182
+
183
183
  // Update agent status to ERROR
184
184
  await this.updateAgentStatus(agent.id, AgentStatus.ERROR, error.message);
185
-
185
+
186
186
  // Log verification failure
187
187
  await this.logVerificationFailure(agent, error, duration);
188
-
188
+
189
189
  return {
190
190
  success: false,
191
191
  agentId: agent.id,
@@ -231,7 +231,7 @@ class AgentVerificationService {
231
231
  if (this.parallel) {
232
232
  // Verify agents in parallel with concurrency limit
233
233
  const batches = this.createBatches(agents, this.maxConcurrency);
234
-
234
+
235
235
  for (const batch of batches) {
236
236
  const batchResults = await this.verifyBatchInParallel(batch, options);
237
237
  this.mergeBatchResults(results, batchResults);
@@ -250,7 +250,7 @@ class AgentVerificationService {
250
250
  error: error.message
251
251
  });
252
252
  }
253
-
253
+
254
254
  // Add error as failed verification for all agents
255
255
  for (const agent of agents) {
256
256
  const errorResult = {
@@ -260,7 +260,7 @@ class AgentVerificationService {
260
260
  duration: 0,
261
261
  timestamp: new Date().toISOString()
262
262
  };
263
-
263
+
264
264
  this.addVerificationResult(results, errorResult);
265
265
  }
266
266
  }
@@ -289,7 +289,7 @@ class AgentVerificationService {
289
289
  * @returns {Promise<Array<Object>>} - Batch results
290
290
  */
291
291
  async verifyBatchInParallel(batch, options) {
292
- const promises = batch.map(agent =>
292
+ const promises = batch.map(agent =>
293
293
  this.verifyAgent(agent, options)
294
294
  );
295
295
 
@@ -314,7 +314,7 @@ class AgentVerificationService {
314
314
  duration: 0,
315
315
  timestamp: new Date().toISOString()
316
316
  };
317
-
317
+
318
318
  this.addVerificationResult(results, errorResult);
319
319
  }
320
320
  }
@@ -327,13 +327,13 @@ class AgentVerificationService {
327
327
  */
328
328
  addVerificationResult(results, result) {
329
329
  results.results[result.agentId] = result;
330
-
330
+
331
331
  if (result.success) {
332
332
  results.successful++;
333
333
  } else {
334
334
  results.failed++;
335
335
  }
336
-
336
+
337
337
  if (result.skipped) {
338
338
  results.skipped++;
339
339
  }
@@ -361,7 +361,7 @@ class AgentVerificationService {
361
361
  */
362
362
  createTestConfigs(agent, testTypes = null) {
363
363
  const testConfigs = [];
364
-
364
+
365
365
  // Use agent's verification commands if available
366
366
  if (agent.verificationCommands && agent.verificationCommands.length > 0) {
367
367
  for (const command of agent.verificationCommands) {
@@ -403,11 +403,11 @@ class AgentVerificationService {
403
403
  */
404
404
  createBatches(items, batchSize) {
405
405
  const batches = [];
406
-
406
+
407
407
  for (let i = 0; i < items.length; i += batchSize) {
408
408
  batches.push(items.slice(i, i + batchSize));
409
409
  }
410
-
410
+
411
411
  return batches;
412
412
  }
413
413
 
@@ -482,7 +482,7 @@ class AgentVerificationService {
482
482
 
483
483
  for (const agent of agents) {
484
484
  const status = await this.configManager.getAgentStatus(agent.id);
485
-
485
+
486
486
  if (status) {
487
487
  switch (status.status) {
488
488
  case AgentStatus.VERIFIED:
@@ -498,7 +498,7 @@ class AgentVerificationService {
498
498
  stats.notVerified++;
499
499
  break;
500
500
  }
501
-
501
+
502
502
  // Track most recent verification
503
503
  if (status.lastChecked) {
504
504
  const lastChecked = new Date(status.lastChecked);
@@ -530,10 +530,10 @@ class AgentVerificationService {
530
530
  error: 'Communication testing not enabled'
531
531
  };
532
532
  }
533
-
533
+
534
534
  try {
535
535
  const result = await this.testManager.cleanupOldFiles(maxAge);
536
-
536
+
537
537
  if (this.logger) {
538
538
  await this.logger.info('Test requirement cleanup completed', {
539
539
  maxAge,
@@ -541,7 +541,7 @@ class AgentVerificationService {
541
541
  errorCount: result.errorCount
542
542
  });
543
543
  }
544
-
544
+
545
545
  return result;
546
546
  } catch (error) {
547
547
  if (this.logger) {
@@ -550,7 +550,7 @@ class AgentVerificationService {
550
550
  error: error.message
551
551
  });
552
552
  }
553
-
553
+
554
554
  return {
555
555
  success: false,
556
556
  error: error.message,
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Configuration Schema Validator
3
- *
3
+ *
4
4
  * Provides JSON schema validation for agent configurations.
5
5
  * Follows constitutional requirements: <555 lines, test-first approach.
6
6
  */
@@ -16,7 +16,7 @@ class ConfigurationSchemaValidator {
16
16
  constructor(options = {}) {
17
17
  this.logger = options.logger || null;
18
18
  this.strictMode = options.strictMode !== false; // Default to strict
19
-
19
+
20
20
  // Define JSON schemas
21
21
  this.schemas = {
22
22
  agent: this.getAgentSchema(),
@@ -88,14 +88,14 @@ class ConfigurationSchemaValidator {
88
88
 
89
89
  // Validate against schema
90
90
  this.validateAgainstSchema(data, schema, '', result);
91
-
91
+
92
92
  // Additional business logic validation
93
93
  this.validateBusinessRules(data, dataType, result);
94
94
 
95
95
  } catch (error) {
96
96
  result.valid = false;
97
97
  result.errors.push(`Validation error: ${error.message}`);
98
-
98
+
99
99
  if (this.logger) {
100
100
  this.logger.error('Schema validation failed', {
101
101
  dataType,
@@ -177,12 +177,12 @@ class ConfigurationSchemaValidator {
177
177
  result.valid = false;
178
178
  result.errors.push(`${path} is too short: minimum ${schema.minLength} characters`);
179
179
  }
180
-
180
+
181
181
  if (schema.maxLength !== undefined && value.length > schema.maxLength) {
182
182
  result.valid = false;
183
183
  result.errors.push(`${path} is too long: maximum ${schema.maxLength} characters`);
184
184
  }
185
-
185
+
186
186
  if (schema.pattern && !new RegExp(schema.pattern).test(value)) {
187
187
  result.valid = false;
188
188
  result.errors.push(`${path} does not match required pattern: ${schema.pattern}`);
@@ -195,7 +195,7 @@ class ConfigurationSchemaValidator {
195
195
  result.valid = false;
196
196
  result.errors.push(`${path} has too few items: minimum ${schema.minItems}`);
197
197
  }
198
-
198
+
199
199
  if (schema.maxItems !== undefined && value.length > schema.maxItems) {
200
200
  result.valid = false;
201
201
  result.errors.push(`${path} has too many items: maximum ${schema.maxItems}`);
@@ -528,7 +528,7 @@ class ConfigurationSchemaValidator {
528
528
 
529
529
  const sanitized = {};
530
530
  for (const [key, value] of Object.entries(data)) {
531
- if (key.toLowerCase().includes('password') ||
531
+ if (key.toLowerCase().includes('password') ||
532
532
  key.toLowerCase().includes('secret') ||
533
533
  key.toLowerCase().includes('token')) {
534
534
  sanitized[key] = '[REDACTED]';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Environment Configuration Manager
3
- *
3
+ *
4
4
  * Manages environment variable support for agent configuration.
5
5
  * Follows constitutional requirements: <555 lines, test-first approach.
6
6
  */
@@ -29,7 +29,7 @@ class EnvironmentConfigurationManager {
29
29
  this.configFile = options.configFile || null;
30
30
  this.overrideFile = options.overrideFile || path.join(os.homedir(), '.vibecodingmachine', 'env.json');
31
31
  this.caseSensitive = options.caseSensitive !== false; // Default to case sensitive
32
-
32
+
33
33
  // Load configuration modules
34
34
  this.variableMappings = getDefaultVariableMappings();
35
35
  this.typeConverters = getTypeConverters();
@@ -42,38 +42,38 @@ class EnvironmentConfigurationManager {
42
42
  */
43
43
  async loadConfiguration() {
44
44
  const config = JSON.parse(JSON.stringify(this.defaultConfig)); // Deep clone
45
-
45
+
46
46
  try {
47
47
  // Load from override file first
48
48
  const overrideConfig = await loadOverrideFile(this.overrideFile, this.logger);
49
49
  deepMerge(config, overrideConfig);
50
-
50
+
51
51
  // Load from environment variables
52
52
  const envConfig = loadEnvironmentVariables(this.variableMappings, this.prefix, this.logger);
53
53
  deepMerge(config, envConfig);
54
-
54
+
55
55
  // Load from specified config file
56
56
  if (this.configFile) {
57
57
  const fileConfig = await loadConfigFile(this.configFile, this.logger);
58
58
  deepMerge(config, fileConfig);
59
59
  }
60
-
60
+
61
61
  if (this.logger) {
62
62
  this.logger.info('Configuration loaded successfully', {
63
63
  sources: ['override file', 'environment variables', 'config file'].filter(Boolean),
64
64
  configKeys: Object.keys(config)
65
65
  });
66
66
  }
67
-
67
+
68
68
  } catch (error) {
69
69
  if (this.logger) {
70
70
  this.logger.error('Failed to load configuration', { error: error.message });
71
71
  }
72
-
72
+
73
73
  // Return default configuration on error
74
74
  return JSON.parse(JSON.stringify(this.defaultConfig));
75
75
  }
76
-
76
+
77
77
  return config;
78
78
  }
79
79
 
@@ -99,24 +99,24 @@ class EnvironmentConfigurationManager {
99
99
  error: null,
100
100
  previousValue: null
101
101
  };
102
-
102
+
103
103
  try {
104
104
  // Load current configuration
105
105
  const config = await this.loadConfiguration();
106
106
  result.previousValue = getNestedValue(config, key);
107
-
107
+
108
108
  // Convert value type
109
- const convertedValue = this.typeConverters[type] ?
109
+ const convertedValue = this.typeConverters[type] ?
110
110
  this.typeConverters[type](value) : value;
111
-
111
+
112
112
  // Set new value
113
113
  setNestedValue(config, key, convertedValue);
114
-
114
+
115
115
  // Save configuration
116
116
  const saveResult = await this.saveConfiguration(config);
117
117
  result.success = saveResult.success;
118
118
  result.error = saveResult.error;
119
-
119
+
120
120
  if (this.logger) {
121
121
  this.logger.info('Configuration value set', {
122
122
  key,
@@ -125,10 +125,10 @@ class EnvironmentConfigurationManager {
125
125
  previousValue: result.previousValue
126
126
  });
127
127
  }
128
-
128
+
129
129
  } catch (error) {
130
130
  result.error = error.message;
131
-
131
+
132
132
  if (this.logger) {
133
133
  this.logger.error('Failed to set configuration value', {
134
134
  key,
@@ -137,7 +137,7 @@ class EnvironmentConfigurationManager {
137
137
  });
138
138
  }
139
139
  }
140
-
140
+
141
141
  return result;
142
142
  }
143
143
 
@@ -170,11 +170,11 @@ class EnvironmentConfigurationManager {
170
170
  getEnvironmentVariableDocumentation() {
171
171
  const docs = {};
172
172
  const descriptions = getVariableDescriptions();
173
-
173
+
174
174
  for (const [envVar, configPath] of Object.entries(this.variableMappings)) {
175
175
  const fullEnvVar = this.prefix + envVar;
176
176
  const defaultValue = getNestedValue(this.defaultConfig, configPath);
177
-
177
+
178
178
  docs[fullEnvVar] = {
179
179
  configPath,
180
180
  description: descriptions[envVar] || 'Configuration variable',
@@ -182,7 +182,7 @@ class EnvironmentConfigurationManager {
182
182
  type: getVariableType(defaultValue)
183
183
  };
184
184
  }
185
-
185
+
186
186
  return docs;
187
187
  }
188
188
 
@@ -197,7 +197,7 @@ class EnvironmentConfigurationManager {
197
197
  error: null,
198
198
  filePath
199
199
  };
200
-
200
+
201
201
  try {
202
202
  const config = await this.loadConfiguration();
203
203
  const envVars = exportToEnvironmentVariables(
@@ -207,22 +207,22 @@ class EnvironmentConfigurationManager {
207
207
  this.prefix,
208
208
  getNestedValue
209
209
  );
210
-
210
+
211
211
  const content = envVars.join('\n');
212
212
  await fs.writeFile(filePath, content, 'utf8');
213
-
213
+
214
214
  result.success = true;
215
-
215
+
216
216
  if (this.logger) {
217
217
  this.logger.info('Configuration exported to environment file', {
218
218
  filePath,
219
219
  variableCount: envVars.length
220
220
  });
221
221
  }
222
-
222
+
223
223
  } catch (error) {
224
224
  result.error = error.message;
225
-
225
+
226
226
  if (this.logger) {
227
227
  this.logger.error('Failed to export configuration', {
228
228
  filePath,
@@ -230,7 +230,7 @@ class EnvironmentConfigurationManager {
230
230
  });
231
231
  }
232
232
  }
233
-
233
+
234
234
  return result;
235
235
  }
236
236
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Installation Error Handler
3
- *
3
+ *
4
4
  * Provides comprehensive error messages and resolution suggestions
5
5
  * for all installation failure scenarios.
6
6
  * Follows constitutional requirements: <555 lines, test-first approach.
@@ -28,7 +28,7 @@ class InstallationErrorHandler {
28
28
  */
29
29
  handleError(error, context = {}) {
30
30
  const { agentId, installerType, command, phase } = context;
31
-
31
+
32
32
  const errorInfo = {
33
33
  originalError: error,
34
34
  agentId,
@@ -42,7 +42,7 @@ class InstallationErrorHandler {
42
42
 
43
43
  // Categorize error and provide specific guidance
44
44
  const categorizedError = this.categorizeError(error, context);
45
-
45
+
46
46
  return {
47
47
  ...errorInfo,
48
48
  ...categorizedError,
@@ -191,7 +191,7 @@ class InstallationErrorHandler {
191
191
  'proxy', 'firewall', 'internet', 'offline', 'host not found',
192
192
  'connection refused', 'socket', 'etimedout', 'enotfound'
193
193
  ];
194
-
194
+
195
195
  return networkKeywords.some(keyword => errorMessage.includes(keyword));
196
196
  }
197
197
 
@@ -206,7 +206,7 @@ class InstallationErrorHandler {
206
206
  'administrator', 'privilege', 'unauthorized', 'forbidden',
207
207
  'write protected', 'read-only', 'uid', 'gid'
208
208
  ];
209
-
209
+
210
210
  return permissionKeywords.some(keyword => errorMessage.includes(keyword));
211
211
  }
212
212
 
@@ -279,7 +279,7 @@ class InstallationErrorHandler {
279
279
  };
280
280
 
281
281
  const errorInfo = pmErrors[installerType] || pmErrors['WINGET'];
282
-
282
+
283
283
  return {
284
284
  category: 'PACKAGE_MANAGER',
285
285
  severity: 'HIGH',
@@ -297,7 +297,7 @@ class InstallationErrorHandler {
297
297
  'disk space', 'insufficient space', 'no space left', 'disk full',
298
298
  'enospace', 'not enough space', 'storage', 'drive full'
299
299
  ];
300
-
300
+
301
301
  return diskKeywords.some(keyword => errorMessage.includes(keyword));
302
302
  }
303
303
 
@@ -311,7 +311,7 @@ class InstallationErrorHandler {
311
311
  'dependency', 'missing', 'required', 'not found', 'module not found',
312
312
  'cannot find module', 'dependency not satisfied', 'requires'
313
313
  ];
314
-
314
+
315
315
  return dependencyKeywords.some(keyword => errorMessage.includes(keyword));
316
316
  }
317
317
 
@@ -325,7 +325,7 @@ class InstallationErrorHandler {
325
325
  'timeout', 'timed out', 'time out', 'etimedout', 'timeout exceeded',
326
326
  'operation timed out', 'connection timeout'
327
327
  ];
328
-
328
+
329
329
  return timeoutKeywords.some(keyword => errorMessage.includes(keyword));
330
330
  }
331
331
 
@@ -339,7 +339,7 @@ class InstallationErrorHandler {
339
339
  'version conflict', 'already installed', 'exists', 'conflict',
340
340
  'version mismatch', 'incompatible version', 'already exists'
341
341
  ];
342
-
342
+
343
343
  return conflictKeywords.some(keyword => errorMessage.includes(keyword));
344
344
  }
345
345
 
@@ -350,7 +350,7 @@ class InstallationErrorHandler {
350
350
  */
351
351
  getSuccessMessage(context) {
352
352
  const { agentId, installerType, duration, version } = context;
353
-
353
+
354
354
  return {
355
355
  category: 'SUCCESS',
356
356
  severity: 'INFO',