claude-flow-novice 2.0.4 → 2.0.5

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 (496) hide show
  1. package/dist/src/cli/commands/guidance.js +668 -487
  2. package/dist/src/cli/commands/index-validate.js +29 -18
  3. package/dist/src/cli/commands/mcp-troubleshoot.js +282 -230
  4. package/dist/src/cli/commands/neural-goal-init.js +125 -92
  5. package/dist/src/cli/commands/swarm-exec.js +393 -317
  6. package/dist/src/cli/commands/validate-framework.js +1100 -983
  7. package/dist/src/cli/commands/validate.js +223 -144
  8. package/dist/src/cli/main.js +1 -1
  9. package/dist/src/cli/simple-commands/__tests__/agent.test.js +277 -265
  10. package/dist/src/cli/simple-commands/__tests__/memory.test.js +7 -6
  11. package/dist/src/cli/simple-commands/__tests__/swarm.test.js +356 -373
  12. package/dist/src/cli/simple-commands/__tests__/task.test.js +7 -6
  13. package/dist/src/cli/simple-commands/agent.js +193 -157
  14. package/dist/src/cli/simple-commands/analysis.js +446 -336
  15. package/dist/src/cli/simple-commands/automation-executor.js +1339 -1095
  16. package/dist/src/cli/simple-commands/automation.js +469 -481
  17. package/dist/src/cli/simple-commands/batch-manager.js +313 -261
  18. package/dist/src/cli/simple-commands/claude-telemetry.js +267 -241
  19. package/dist/src/cli/simple-commands/claude-track.js +90 -68
  20. package/dist/src/cli/simple-commands/concurrent-display.js +320 -266
  21. package/dist/src/cli/simple-commands/config.js +290 -245
  22. package/dist/src/cli/simple-commands/coordination.js +234 -182
  23. package/dist/src/cli/simple-commands/enhanced-ui-views.js +615 -812
  24. package/dist/src/cli/simple-commands/enhanced-webui-complete.js +981 -922
  25. package/dist/src/cli/simple-commands/fix-hook-variables.js +294 -274
  26. package/dist/src/cli/simple-commands/github/gh-coordinator.js +457 -378
  27. package/dist/src/cli/simple-commands/github/github-api.js +574 -535
  28. package/dist/src/cli/simple-commands/github/init.js +303 -276
  29. package/dist/src/cli/simple-commands/github.js +247 -222
  30. package/dist/src/cli/simple-commands/goal.js +63 -51
  31. package/dist/src/cli/simple-commands/hive-mind/auto-save-middleware.js +278 -208
  32. package/dist/src/cli/simple-commands/hive-mind/communication.js +696 -601
  33. package/dist/src/cli/simple-commands/hive-mind/core.js +979 -907
  34. package/dist/src/cli/simple-commands/hive-mind/db-optimizer.js +655 -406
  35. package/dist/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1245 -1125
  36. package/dist/src/cli/simple-commands/hive-mind/memory.js +1090 -854
  37. package/dist/src/cli/simple-commands/hive-mind/performance-optimizer.js +574 -459
  38. package/dist/src/cli/simple-commands/hive-mind/performance-test.js +347 -263
  39. package/dist/src/cli/simple-commands/hive-mind/queen.js +768 -727
  40. package/dist/src/cli/simple-commands/hive-mind/session-manager.js +1049 -745
  41. package/dist/src/cli/simple-commands/hive-mind-optimize.js +283 -227
  42. package/dist/src/cli/simple-commands/hive-mind-wizard.js +217 -174
  43. package/dist/src/cli/simple-commands/hive-mind.js +2282 -1841
  44. package/dist/src/cli/simple-commands/hive.js +79 -90
  45. package/dist/src/cli/simple-commands/hook-safety.js +521 -431
  46. package/dist/src/cli/simple-commands/hooks/session-start-soul.js +254 -203
  47. package/dist/src/cli/simple-commands/hooks.js +1204 -1064
  48. package/dist/src/cli/simple-commands/init/agent-copier.js +319 -294
  49. package/dist/src/cli/simple-commands/init/batch-init.js +562 -496
  50. package/dist/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +19 -13
  51. package/dist/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +19 -13
  52. package/dist/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +88 -61
  53. package/dist/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +150 -125
  54. package/dist/src/cli/simple-commands/init/claude-commands/slash-commands.js +49 -42
  55. package/dist/src/cli/simple-commands/init/claude-commands/sparc-commands.js +61 -43
  56. package/dist/src/cli/simple-commands/init/copy-revised-templates.js +147 -141
  57. package/dist/src/cli/simple-commands/init/executable-wrapper.js +44 -31
  58. package/dist/src/cli/simple-commands/init/gitignore-updater.js +90 -64
  59. package/dist/src/cli/simple-commands/init/help.js +107 -104
  60. package/dist/src/cli/simple-commands/init/hive-mind-init.js +528 -509
  61. package/dist/src/cli/simple-commands/init/index.js +1759 -1510
  62. package/dist/src/cli/simple-commands/init/performance-monitor.js +317 -234
  63. package/dist/src/cli/simple-commands/init/rollback/backup-manager.js +504 -441
  64. package/dist/src/cli/simple-commands/init/rollback/index.js +364 -289
  65. package/dist/src/cli/simple-commands/init/rollback/recovery-manager.js +728 -652
  66. package/dist/src/cli/simple-commands/init/rollback/rollback-executor.js +481 -416
  67. package/dist/src/cli/simple-commands/init/rollback/state-tracker.js +448 -369
  68. package/dist/src/cli/simple-commands/init/sparc/roo-readme.js +2 -1
  69. package/dist/src/cli/simple-commands/init/sparc/roomodes-config.js +99 -122
  70. package/dist/src/cli/simple-commands/init/sparc/workflows.js +37 -32
  71. package/dist/src/cli/simple-commands/init/sparc-structure.js +62 -55
  72. package/dist/src/cli/simple-commands/init/template-copier.js +533 -421
  73. package/dist/src/cli/simple-commands/init/templates/coordination-md.js +6 -3
  74. package/dist/src/cli/simple-commands/init/templates/enhanced-templates.js +318 -344
  75. package/dist/src/cli/simple-commands/init/templates/github-safe-enhanced.js +218 -173
  76. package/dist/src/cli/simple-commands/init/templates/github-safe.js +75 -65
  77. package/dist/src/cli/simple-commands/init/templates/memory-bank-md.js +6 -3
  78. package/dist/src/cli/simple-commands/init/templates/readme-files.js +4 -2
  79. package/dist/src/cli/simple-commands/init/templates/safe-hook-patterns.js +230 -187
  80. package/dist/src/cli/simple-commands/init/templates/sparc-modes.js +80 -53
  81. package/dist/src/cli/simple-commands/init/templates/verification-claude-md.js +85 -101
  82. package/dist/src/cli/simple-commands/init/validation/config-validator.js +330 -283
  83. package/dist/src/cli/simple-commands/init/validation/health-checker.js +561 -495
  84. package/dist/src/cli/simple-commands/init/validation/index.js +358 -302
  85. package/dist/src/cli/simple-commands/init/validation/mode-validator.js +359 -308
  86. package/dist/src/cli/simple-commands/init/validation/post-init-validator.js +366 -389
  87. package/dist/src/cli/simple-commands/init/validation/pre-init-validator.js +268 -270
  88. package/dist/src/cli/simple-commands/init/validation/test-runner.js +447 -427
  89. package/dist/src/cli/simple-commands/init.js +2 -1
  90. package/dist/src/cli/simple-commands/mcp-health.js +158 -131
  91. package/dist/src/cli/simple-commands/mcp-integration-layer.js +634 -533
  92. package/dist/src/cli/simple-commands/mcp.js +400 -345
  93. package/dist/src/cli/simple-commands/memory-consolidation.js +537 -426
  94. package/dist/src/cli/simple-commands/memory.js +311 -247
  95. package/dist/src/cli/simple-commands/migrate-hooks.js +46 -39
  96. package/dist/src/cli/simple-commands/monitor.js +363 -294
  97. package/dist/src/cli/simple-commands/neural.js +65 -51
  98. package/dist/src/cli/simple-commands/pair-autofix-only.js +662 -538
  99. package/dist/src/cli/simple-commands/pair-basic.js +656 -528
  100. package/dist/src/cli/simple-commands/pair-old.js +543 -430
  101. package/dist/src/cli/simple-commands/pair-working.js +751 -615
  102. package/dist/src/cli/simple-commands/pair.js +751 -615
  103. package/dist/src/cli/simple-commands/performance-hooks.js +111 -83
  104. package/dist/src/cli/simple-commands/performance-metrics.js +433 -348
  105. package/dist/src/cli/simple-commands/process-ui-enhanced.js +787 -708
  106. package/dist/src/cli/simple-commands/process-ui.js +254 -230
  107. package/dist/src/cli/simple-commands/realtime-update-system.js +611 -525
  108. package/dist/src/cli/simple-commands/sparc/architecture.js +1530 -1704
  109. package/dist/src/cli/simple-commands/sparc/commands.js +516 -438
  110. package/dist/src/cli/simple-commands/sparc/completion.js +1481 -1224
  111. package/dist/src/cli/simple-commands/sparc/coordinator.js +978 -913
  112. package/dist/src/cli/simple-commands/sparc/index.js +298 -241
  113. package/dist/src/cli/simple-commands/sparc/phase-base.js +390 -314
  114. package/dist/src/cli/simple-commands/sparc/pseudocode.js +869 -965
  115. package/dist/src/cli/simple-commands/sparc/refinement.js +1273 -980
  116. package/dist/src/cli/simple-commands/sparc/specification.js +645 -559
  117. package/dist/src/cli/simple-commands/sparc-modes/architect.js +1 -1
  118. package/dist/src/cli/simple-commands/sparc-modes/ask.js +1 -1
  119. package/dist/src/cli/simple-commands/sparc-modes/code.js +1 -1
  120. package/dist/src/cli/simple-commands/sparc-modes/debug.js +1 -1
  121. package/dist/src/cli/simple-commands/sparc-modes/devops.js +1 -1
  122. package/dist/src/cli/simple-commands/sparc-modes/docs-writer.js +1 -1
  123. package/dist/src/cli/simple-commands/sparc-modes/generic.js +1 -1
  124. package/dist/src/cli/simple-commands/sparc-modes/index.js +55 -47
  125. package/dist/src/cli/simple-commands/sparc-modes/integration.js +1 -1
  126. package/dist/src/cli/simple-commands/sparc-modes/mcp.js +1 -1
  127. package/dist/src/cli/simple-commands/sparc-modes/monitoring.js +1 -1
  128. package/dist/src/cli/simple-commands/sparc-modes/optimization.js +1 -1
  129. package/dist/src/cli/simple-commands/sparc-modes/security-review.js +1 -1
  130. package/dist/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +1 -1
  131. package/dist/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +1 -1
  132. package/dist/src/cli/simple-commands/sparc-modes/supabase-admin.js +1 -1
  133. package/dist/src/cli/simple-commands/sparc-modes/swarm.js +87 -101
  134. package/dist/src/cli/simple-commands/sparc-modes/tdd.js +1 -1
  135. package/dist/src/cli/simple-commands/sparc-modes/tutorial.js +1 -1
  136. package/dist/src/cli/simple-commands/sparc.js +493 -465
  137. package/dist/src/cli/simple-commands/start-ui.js +132 -108
  138. package/dist/src/cli/simple-commands/start-wrapper.js +268 -240
  139. package/dist/src/cli/simple-commands/start.js +1 -1
  140. package/dist/src/cli/simple-commands/status.js +275 -254
  141. package/dist/src/cli/simple-commands/stream-chain-clean.js +171 -128
  142. package/dist/src/cli/simple-commands/stream-chain-fixed.js +82 -61
  143. package/dist/src/cli/simple-commands/stream-chain-real.js +331 -267
  144. package/dist/src/cli/simple-commands/stream-chain-working.js +263 -211
  145. package/dist/src/cli/simple-commands/stream-chain.js +318 -260
  146. package/dist/src/cli/simple-commands/stream-processor.js +315 -290
  147. package/dist/src/cli/simple-commands/swarm-executor.js +222 -189
  148. package/dist/src/cli/simple-commands/swarm-metrics-integration.js +300 -208
  149. package/dist/src/cli/simple-commands/swarm-ui.js +703 -623
  150. package/dist/src/cli/simple-commands/swarm-webui-integration.js +286 -258
  151. package/dist/src/cli/simple-commands/swarm.js +1082 -887
  152. package/dist/src/cli/simple-commands/task.js +206 -161
  153. package/dist/src/cli/simple-commands/timestamp-fix.js +89 -59
  154. package/dist/src/cli/simple-commands/token-tracker.js +316 -258
  155. package/dist/src/cli/simple-commands/tool-execution-framework.js +519 -433
  156. package/dist/src/cli/simple-commands/train-and-stream.js +331 -275
  157. package/dist/src/cli/simple-commands/training-pipeline.js +725 -619
  158. package/dist/src/cli/simple-commands/training.js +227 -170
  159. package/dist/src/cli/simple-commands/verification-hooks.js +284 -261
  160. package/dist/src/cli/simple-commands/verification-integration.js +417 -389
  161. package/dist/src/cli/simple-commands/verification-training-integration.js +606 -486
  162. package/dist/src/cli/simple-commands/verification.js +513 -493
  163. package/dist/src/cli/simple-commands/web-server.js +836 -766
  164. package/dist/src/cli/simple-commands/webui-validator.js +124 -106
  165. package/dist/src/coordination/byzantine-memory-channels.js +25 -1
  166. package/dist/src/coordination/event-bus/demo-wasm-integration.js +251 -212
  167. package/dist/src/coordination/event-bus/qe-event-bus.js +748 -608
  168. package/dist/src/coordination/event-bus/qe-event-bus.test.js +454 -379
  169. package/dist/src/coordination/iteration-tracker.js +454 -363
  170. package/dist/src/index.js +384 -35
  171. package/dist/src/mcp/DEPRECATED.js +60 -46
  172. package/dist/src/mcp/fixes/mcp-error-fixes.js +134 -115
  173. package/dist/src/mcp/implementations/agent-tracker.js +128 -114
  174. package/dist/src/mcp/implementations/daa-tools.js +350 -292
  175. package/dist/src/mcp/implementations/workflow-tools.js +361 -329
  176. package/dist/src/mcp/mcp-config-manager.js +1331 -1183
  177. package/dist/src/mcp/mcp-server-novice-simplified.js +17 -11
  178. package/dist/src/mcp/mcp-server-novice.js +17 -11
  179. package/dist/src/mcp/mcp-server-sdk.js +17 -11
  180. package/dist/src/mcp/mcp-server.js +1484 -1620
  181. package/dist/src/mcp/ruv-swarm-wrapper.js +239 -209
  182. package/dist/src/memory/advanced-serializer.js +589 -609
  183. package/dist/src/memory/enhanced-examples.js +305 -220
  184. package/dist/src/memory/enhanced-memory.js +336 -295
  185. package/dist/src/memory/enhanced-session-serializer.js +492 -408
  186. package/dist/src/memory/fallback-memory-system.js +1021 -900
  187. package/dist/src/memory/fallback-store.js +131 -93
  188. package/dist/src/memory/high-performance-serialization.js +730 -592
  189. package/dist/src/memory/in-memory-store.js +213 -161
  190. package/dist/src/memory/index.js +157 -123
  191. package/dist/src/memory/lock-free-structures.js +764 -578
  192. package/dist/src/memory/memory-mapped-persistence.js +766 -585
  193. package/dist/src/memory/memory-pressure-manager.js +707 -569
  194. package/dist/src/memory/migration.js +445 -358
  195. package/dist/src/memory/shared-memory.js +768 -641
  196. package/dist/src/memory/sqlite-store.js +325 -245
  197. package/dist/src/memory/sqlite-wrapper.js +151 -122
  198. package/dist/src/memory/swarm-memory.js +603 -470
  199. package/dist/src/memory/test-example.js +134 -126
  200. package/dist/src/memory/ultra-fast-memory-store.js +821 -622
  201. package/dist/src/memory/unified-memory-manager.js +437 -356
  202. package/dist/src/swarm/CodeRefactoringSwarm.js +952 -777
  203. package/dist/src/utils/__tests__/github-cli-safety-wrapper.test.js +400 -332
  204. package/dist/src/utils/error-handler.js +2 -36
  205. package/dist/src/utils/github-cli-safe.js +64 -56
  206. package/dist/src/utils/github-cli-safety-wrapper.js +546 -451
  207. package/dist/src/utils/npx-isolated-cache.js +119 -104
  208. package/dist/src/utils/preference-manager.js +652 -622
  209. package/dist/src/utils/timezone-utils.js +105 -86
  210. package/dist/src/web/api/apm-routes.js +353 -0
  211. package/dist/src/web/api/config/api-config.js +184 -0
  212. package/dist/src/web/api/middleware/auth.js +203 -0
  213. package/dist/src/web/api/middleware/cache.js +273 -0
  214. package/dist/src/web/api/middleware/error-handler.js +257 -0
  215. package/dist/src/web/api/middleware/request-logger.js +215 -0
  216. package/dist/src/web/api/middleware/validation.js +323 -0
  217. package/dist/src/web/api/routes/events.js +463 -0
  218. package/dist/src/web/api/routes/hierarchy.js +300 -0
  219. package/dist/src/web/api/routes/index.js +12 -0
  220. package/dist/src/web/api/routes/metrics.js +559 -0
  221. package/dist/src/web/api/routes/parallel-status.js +359 -0
  222. package/dist/src/web/api/routes/status.js +448 -0
  223. package/dist/src/web/api/server.js +462 -0
  224. package/dist/src/web/dashboard/hooks/useWebSocket.js +383 -0
  225. package/dist/src/web/dashboard/index.js +85 -0
  226. package/dist/src/web/dashboard/realtime/CustomSyncManager.js +439 -0
  227. package/dist/src/web/dashboard/realtime/NativeWebSocketManager.js +323 -0
  228. package/dist/src/web/dashboard/realtime/PerformanceBenchmark.js +527 -0
  229. package/dist/src/web/dashboard/realtime/RealtimeCommunicationManager.js +474 -0
  230. package/dist/src/web/dashboard/realtime/RealtimeServer.js +666 -0
  231. package/dist/src/web/dashboard/realtime/SSEManager.js +426 -0
  232. package/dist/src/web/dashboard/types.js +4 -0
  233. package/dist/src/web/messaging/agent-status-tracker.js +453 -0
  234. package/dist/src/web/messaging/human-intervention-system.js +305 -0
  235. package/dist/src/web/messaging/message-filter.js +302 -0
  236. package/dist/src/web/messaging/swarm-message-router.js +324 -0
  237. package/dist/src/web/messaging/transparency-logger.js +421 -0
  238. package/dist/src/web/portal-server.js +460 -0
  239. package/dist/src/web/server.js +322 -0
  240. package/dist/src/web/websocket/apm-websocket-handler.js +453 -0
  241. package/dist/src/web/websocket/websocket-manager.js +780 -0
  242. package/package.json +5 -3
  243. package/dist/src/cli/minimal-main.js +0 -22
  244. package/dist/src/enterprise/analytics-manager.js +0 -1135
  245. package/dist/src/enterprise/audit-manager.js +0 -1115
  246. package/dist/src/enterprise/cloud-manager.js +0 -891
  247. package/dist/src/enterprise/deployment-manager.js +0 -966
  248. package/dist/src/enterprise/index.js +0 -6
  249. package/dist/src/enterprise/project-manager.js +0 -584
  250. package/dist/src/enterprise/security-manager.js +0 -991
  251. package/dist/src/migration/index.js +0 -92
  252. package/dist/src/migration/logger.js +0 -121
  253. package/dist/src/migration/migration-analyzer.js +0 -268
  254. package/dist/src/migration/migration-runner.js +0 -522
  255. package/dist/src/migration/migration-validator.js +0 -285
  256. package/dist/src/migration/progress-reporter.js +0 -150
  257. package/dist/src/migration/rollback-manager.js +0 -321
  258. package/dist/src/migration/tests/migration-system.test.js +0 -7
  259. package/dist/src/migration/types.js +0 -3
  260. package/dist/src/swarm/__tests__/integration.test.js +0 -227
  261. package/dist/src/swarm/__tests__/prompt-copier.test.js +0 -344
  262. package/dist/src/swarm/advanced-orchestrator.js +0 -1095
  263. package/dist/src/swarm/claude-code-interface.js +0 -961
  264. package/dist/src/swarm/claude-flow-executor.js +0 -229
  265. package/dist/src/swarm/consensus-coordinator.js +0 -475
  266. package/dist/src/swarm/coordinator.js +0 -2993
  267. package/dist/src/swarm/direct-executor.js +0 -1180
  268. package/dist/src/swarm/error-recovery/advanced-error-detection.js +0 -691
  269. package/dist/src/swarm/error-recovery/automated-recovery-workflows.js +0 -998
  270. package/dist/src/swarm/error-recovery/error-recovery-coordinator.js +0 -1197
  271. package/dist/src/swarm/error-recovery/recovery-monitoring.js +0 -772
  272. package/dist/src/swarm/error-recovery/resilience-architecture.js +0 -714
  273. package/dist/src/swarm/error-recovery/self-healing-mechanisms.js +0 -1319
  274. package/dist/src/swarm/error-recovery/test-error-recovery-effectiveness.js +0 -808
  275. package/dist/src/swarm/executor-v2.js +0 -322
  276. package/dist/src/swarm/executor.js +0 -815
  277. package/dist/src/swarm/hive-mind-integration.js +0 -703
  278. package/dist/src/swarm/index.js +0 -41
  279. package/dist/src/swarm/json-output-aggregator.js +0 -267
  280. package/dist/src/swarm/large-scale-coordinator.js +0 -542
  281. package/dist/src/swarm/mcp-integration-wrapper.js +0 -628
  282. package/dist/src/swarm/memory.js +0 -1117
  283. package/dist/src/swarm/optimizations/__tests__/optimization.test.js +0 -348
  284. package/dist/src/swarm/optimizations/async-file-manager.js +0 -285
  285. package/dist/src/swarm/optimizations/circular-buffer.js +0 -162
  286. package/dist/src/swarm/optimizations/connection-pool.js +0 -244
  287. package/dist/src/swarm/optimizations/index.js +0 -28
  288. package/dist/src/swarm/optimizations/optimized-executor.js +0 -320
  289. package/dist/src/swarm/optimizations/ttl-map.js +0 -234
  290. package/dist/src/swarm/prompt-cli.js +0 -200
  291. package/dist/src/swarm/prompt-copier-enhanced.js +0 -202
  292. package/dist/src/swarm/prompt-copier.js +0 -381
  293. package/dist/src/swarm/prompt-manager.js +0 -295
  294. package/dist/src/swarm/prompt-utils.js +0 -310
  295. package/dist/src/swarm/result-aggregator.js +0 -718
  296. package/dist/src/swarm/sparc-executor.js +0 -1568
  297. package/dist/src/swarm/strategies/auto.js +0 -758
  298. package/dist/src/swarm/strategies/base.js +0 -128
  299. package/dist/src/swarm/strategies/research.js +0 -914
  300. package/dist/src/swarm/strategies/strategy-metrics-patch.js +0 -2
  301. package/dist/src/swarm/types.js +0 -52
  302. package/dist/src/swarm/workers/copy-worker.js +0 -56
  303. package/dist/src/validators/epic-config-schema.js +0 -214
  304. package/dist/src/validators/index.js +0 -10
  305. package/dist/src/validators/swarm-init-validator.js +0 -259
  306. package/dist/src/validators/todowrite-batching-validator.js +0 -215
  307. package/dist/src/validators/todowrite-integration.js +0 -187
  308. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.js +0 -23
  309. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +0 -57
  310. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +0 -401
  311. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +0 -181
  312. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +0 -44
  313. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +0 -157
  314. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.js +0 -71
  315. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/editorState/browser/editorState.js +0 -112
  316. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findController.js +0 -990
  317. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findDecorations.js +0 -296
  318. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findModel.js +0 -488
  319. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findOptionsWidget.js +0 -138
  320. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findState.js +0 -243
  321. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findWidget.js +0 -1177
  322. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/folding.js +0 -1093
  323. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +0 -133
  324. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingModel.js +0 -538
  325. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingRanges.js +0 -351
  326. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +0 -49
  327. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/format.js +0 -360
  328. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formatActions.js +0 -263
  329. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formattingEdit.js +0 -54
  330. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +0 -149
  331. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/hover/browser/contentHover.js +0 -874
  332. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commandIds.js +0 -7
  333. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commands.js +0 -199
  334. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +0 -70
  335. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -26
  336. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +0 -153
  337. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +0 -33
  338. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +0 -354
  339. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.js +0 -146
  340. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/suggest/browser/completionModel.js +0 -224
  341. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +0 -119
  342. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/edcore.main.js +0 -14
  343. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.all.js +0 -63
  344. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.api.js +0 -55
  345. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.main.js +0 -7
  346. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.worker.js +0 -25
  347. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/standalone/browser/colorizer.js +0 -118
  348. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/css.worker.js +0 -36869
  349. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/cssMode.js +0 -2035
  350. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
  351. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
  352. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
  353. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
  354. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
  355. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
  356. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
  357. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
  358. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
  359. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
  360. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
  361. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
  362. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
  363. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
  364. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
  365. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
  366. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
  367. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
  368. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
  369. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
  370. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
  371. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
  372. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
  373. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
  374. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
  375. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
  376. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
  377. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
  378. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
  379. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
  380. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
  381. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
  382. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
  383. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
  384. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
  385. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
  386. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
  387. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
  388. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
  389. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
  390. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
  391. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
  392. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cameligo/cameligo.js +0 -10
  393. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/clojure/clojure.js +0 -10
  394. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/coffee/coffee.js +0 -10
  395. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cpp/cpp.js +0 -10
  396. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csharp/csharp.js +0 -10
  397. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csp/csp.js +0 -10
  398. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/css/css.js +0 -12
  399. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cypher/cypher.js +0 -10
  400. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dart/dart.js +0 -10
  401. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  402. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/ecl/ecl.js +0 -10
  403. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/elixir/elixir.js +0 -10
  404. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/flow9/flow9.js +0 -10
  405. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.js +0 -745
  406. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.de.js +0 -31
  407. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.es.js +0 -31
  408. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.fr.js +0 -29
  409. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.it.js +0 -29
  410. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ja.js +0 -31
  411. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.js +0 -29
  412. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ko.js +0 -29
  413. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ru.js +0 -31
  414. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-cn.js +0 -31
  415. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-tw.js +0 -29
  416. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssMode.js +0 -13
  417. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssWorker.js +0 -81
  418. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/cli.js +0 -64
  419. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/example.js +0 -36
  420. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/index.js +0 -205
  421. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/test.js +0 -260
  422. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.browser.js +0 -34
  423. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.js +0 -35
  424. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.native.js +0 -26
  425. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.browser.js +0 -34
  426. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.js +0 -45
  427. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/nanoid.js +0 -1
  428. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/non-secure/index.js +0 -21
  429. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/url-alphabet/index.js +0 -3
  430. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/bin/nodemon.js +0 -16
  431. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/index.js +0 -49
  432. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/parse.js +0 -230
  433. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/command.js +0 -43
  434. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/defaults.js +0 -34
  435. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/exec.js +0 -234
  436. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/index.js +0 -93
  437. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/load.js +0 -225
  438. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/help/index.js +0 -27
  439. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/index.js +0 -1
  440. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/index.js +0 -4
  441. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/match.js +0 -287
  442. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/run.js +0 -562
  443. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/signals.js +0 -34
  444. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/watch.js +0 -244
  445. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/nodemon.js +0 -317
  446. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/add.js +0 -89
  447. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/index.js +0 -53
  448. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/parse.js +0 -43
  449. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/spawn.js +0 -74
  450. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/bus.js +0 -44
  451. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/clone.js +0 -40
  452. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/colour.js +0 -26
  453. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/index.js +0 -103
  454. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/log.js +0 -82
  455. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/merge.js +0 -47
  456. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/version.js +0 -100
  457. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/brace-expansion/index.js +0 -201
  458. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/has-flag/index.js +0 -8
  459. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/minimatch/minimatch.js +0 -947
  460. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/browser.js +0 -5
  461. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/index.js +0 -131
  462. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/bin/pidtree.js +0 -128
  463. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/index.js +0 -49
  464. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/bin.js +0 -61
  465. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/get.js +0 -45
  466. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/pidtree.js +0 -104
  467. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/ps.js +0 -47
  468. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/wmic.js +0 -49
  469. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/doc.js +0 -1270
  470. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/acorn.js +0 -15
  471. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/angular.js +0 -2
  472. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/babel.js +0 -15
  473. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/estree.js +0 -36
  474. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/flow.js +0 -19
  475. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/glimmer.js +0 -29
  476. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/graphql.js +0 -29
  477. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/html.js +0 -22
  478. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/markdown.js +0 -63
  479. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/meriyah.js +0 -4
  480. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/postcss.js +0 -54
  481. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/typescript.js +0 -20
  482. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/yaml.js +0 -160
  483. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/standalone.js +0 -34
  484. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/bin/react-scripts.js +0 -58
  485. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/env.js +0 -112
  486. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/getHttpsConfig.js +0 -74
  487. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/babelTransform.js +0 -37
  488. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/cssTransform.js +0 -22
  489. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/fileTransform.js +0 -40
  490. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/modules.js +0 -142
  491. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/paths.js +0 -153
  492. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  493. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack.config.js +0 -796
  494. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpackDevServer.config.js +0 -135
  495. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/build.js +0 -225
  496. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/eject.js +0 -340
@@ -8,812 +8,987 @@
8
8
  * - 52x performance improvement with WASM
9
9
  * - Real-time progress tracking
10
10
  * - Error recovery and rollback
11
- */ import { EventEmitter } from "events";
12
- import { createClient } from "redis";
13
- import path from "path";
14
- import fs from "node:fs/promises";
15
- import crypto from "crypto";
11
+ */
12
+
13
+ import { EventEmitter } from 'events';
14
+ import { createClient } from 'redis';
15
+ import path from 'path';
16
+ import fs from 'fs/promises';
17
+ import crypto from 'crypto';
18
+
16
19
  /**
17
20
  * Code refactoring swarm with agent-booster integration
18
- */ export class CodeRefactoringSwarm extends EventEmitter {
19
- /**
21
+ */
22
+ export class CodeRefactoringSwarm extends EventEmitter {
23
+ constructor(config = {}) {
24
+ super();
25
+
26
+ this.config = {
27
+ // Processing limits
28
+ maxFilesPerJob: 10000,
29
+ maxConcurrency: 50,
30
+ batchSize: 100,
31
+
32
+ // Performance targets
33
+ targetImprovement: 52, // 52x faster than traditional methods
34
+ maxTaskLatency: 100, // ms
35
+
36
+ // Quality checks
37
+ enableAstValidation: true,
38
+ enableLinting: true,
39
+ enableTypeChecking: true,
40
+
41
+ // Error handling
42
+ maxRetries: 3,
43
+ enableRollback: true,
44
+
45
+ // Redis configuration
46
+ redis: {
47
+ host: config.redis?.host || 'localhost',
48
+ port: config.redis?.port || 6379,
49
+ db: config.redis?.db || 0
50
+ },
51
+
52
+ // Agent-booster configuration
53
+ boosterConfig: {
54
+ instancePoolSize: 10,
55
+ memoryLimitPerInstance: 512, // MB
56
+ taskTimeout: 30000, // ms
57
+ fallbackToRegularAgents: true
58
+ },
59
+
60
+ // Data storage
61
+ dataDir: config.dataDir || './data/code-refactoring',
62
+ logLevel: config.logLevel || 'info'
63
+ };
64
+
65
+ // Internal state
66
+ this.isRunning = false;
67
+ this.jobId = null;
68
+ this.redisClient = null;
69
+ this.redisPublisher = null;
70
+ this.redisSubscriber = null;
71
+
72
+ // Job tracking
73
+ this.currentJob = null;
74
+ this.activeBoosters = new Map();
75
+ this.fileQueue = [];
76
+ this.processedFiles = new Map();
77
+ this.failedFiles = new Map();
78
+
79
+ // Performance tracking
80
+ this.startTime = null;
81
+ this.progress = {
82
+ totalFiles: 0,
83
+ processedFiles: 0,
84
+ failedFiles: 0,
85
+ skippedFiles: 0,
86
+ currentPhase: 'idle',
87
+ estimatedTimeRemaining: 0
88
+ };
89
+
90
+ // Quality metrics
91
+ this.qualityMetrics = {
92
+ astValidationPassed: 0,
93
+ astValidationFailed: 0,
94
+ lintingPassed: 0,
95
+ lintingFailed: 0,
96
+ typeCheckingPassed: 0,
97
+ typeCheckingFailed: 0,
98
+ totalQualityChecks: 0
99
+ };
100
+
101
+ // Performance metrics
102
+ this.performanceMetrics = {
103
+ baselineExecutionTime: null,
104
+ currentExecutionTime: 0,
105
+ improvementFactor: 0,
106
+ operationsPerSecond: 0,
107
+ averageFileProcessingTime: 0,
108
+ boosterUtilization: 0
109
+ };
110
+ }
111
+
112
+ /**
20
113
  * Initialize the code refactoring swarm
21
- */ async initialize() {
22
- try {
23
- console.log('🚀 Initializing Code Refactoring Swarm...');
24
- // Ensure data directory exists
25
- await this.ensureDataDirectory();
26
- // Initialize Redis connections
27
- await this.initializeRedis();
28
- // Set up Redis subscriptions
29
- await this.setupRedisSubscriptions();
30
- console.log('✅ Code Refactoring Swarm initialized');
31
- this.emit('initialized', {
32
- timestamp: Date.now()
33
- });
34
- } catch (error) {
35
- console.error(' Failed to initialize Code Refactoring Swarm:', error);
36
- this.emit('error', error);
37
- throw error;
38
- }
39
- }
40
- /**
114
+ */
115
+ async initialize() {
116
+ try {
117
+ console.log('🚀 Initializing Code Refactoring Swarm...');
118
+
119
+ // Ensure data directory exists
120
+ await this.ensureDataDirectory();
121
+
122
+ // Initialize Redis connections
123
+ await this.initializeRedis();
124
+
125
+ // Set up Redis subscriptions
126
+ await this.setupRedisSubscriptions();
127
+
128
+ console.log(' Code Refactoring Swarm initialized');
129
+ this.emit('initialized', { timestamp: Date.now() });
130
+
131
+ } catch (error) {
132
+ console.error('❌ Failed to initialize Code Refactoring Swarm:', error);
133
+ this.emit('error', error);
134
+ throw error;
135
+ }
136
+ }
137
+
138
+ /**
41
139
  * Start code refactoring job
42
- */ async startRefactoringJob(jobConfig) {
43
- if (this.isRunning) {
44
- throw new Error('Refactoring job already in progress');
45
- }
46
- try {
47
- console.log('▶️ Starting code refactoring job...');
48
- // Generate job ID
49
- this.jobId = `refactor-${crypto.randomBytes(8).toString('hex')}`;
50
- // Initialize job state
51
- this.currentJob = {
52
- id: this.jobId,
53
- config: jobConfig,
54
- status: 'initializing',
55
- startTime: Date.now(),
56
- endTime: null,
57
- result: null,
58
- errors: []
59
- };
60
- // Validate job configuration
61
- this.validateJobConfig(jobConfig);
62
- // Discover files to process
63
- await this.discoverFiles(jobConfig);
64
- // Set baseline performance measurement
65
- await this.establishBaseline(jobConfig);
66
- this.isRunning = true;
67
- this.startTime = Date.now();
68
- // Start processing phases
69
- await this.executeRefactoringPhases();
70
- console.log('✅ Code refactoring job started');
71
- this.emit('job_started', {
72
- jobId: this.jobId,
73
- config: jobConfig,
74
- fileCount: this.fileQueue.length
75
- });
76
- } catch (error) {
77
- this.isRunning = false;
78
- console.error('❌ Failed to start refactoring job:', error);
79
- this.emit('error', error);
80
- throw error;
81
- }
82
- }
83
- /**
140
+ */
141
+ async startRefactoringJob(jobConfig) {
142
+ if (this.isRunning) {
143
+ throw new Error('Refactoring job already in progress');
144
+ }
145
+
146
+ try {
147
+ console.log('▶️ Starting code refactoring job...');
148
+
149
+ // Generate job ID
150
+ this.jobId = `refactor-${crypto.randomBytes(8).toString('hex')}`;
151
+
152
+ // Initialize job state
153
+ this.currentJob = {
154
+ id: this.jobId,
155
+ config: jobConfig,
156
+ status: 'initializing',
157
+ startTime: Date.now(),
158
+ endTime: null,
159
+ result: null,
160
+ errors: []
161
+ };
162
+
163
+ // Validate job configuration
164
+ this.validateJobConfig(jobConfig);
165
+
166
+ // Discover files to process
167
+ await this.discoverFiles(jobConfig);
168
+
169
+ // Set baseline performance measurement
170
+ await this.establishBaseline(jobConfig);
171
+
172
+ this.isRunning = true;
173
+ this.startTime = Date.now();
174
+
175
+ // Start processing phases
176
+ await this.executeRefactoringPhases();
177
+
178
+ console.log('✅ Code refactoring job started');
179
+ this.emit('job_started', {
180
+ jobId: this.jobId,
181
+ config: jobConfig,
182
+ fileCount: this.fileQueue.length
183
+ });
184
+
185
+ } catch (error) {
186
+ this.isRunning = false;
187
+ console.error('❌ Failed to start refactoring job:', error);
188
+ this.emit('error', error);
189
+ throw error;
190
+ }
191
+ }
192
+
193
+ /**
84
194
  * Validate job configuration
85
- */ validateJobConfig(jobConfig) {
86
- const required = [
87
- 'projectPath',
88
- 'transformations'
89
- ];
90
- const missing = required.filter((field)=>!jobConfig[field]);
91
- if (missing.length > 0) {
92
- throw new Error(`Missing required job configuration: ${missing.join(', ')}`);
93
- }
94
- if (!Array.isArray(jobConfig.transformations) || jobConfig.transformations.length === 0) {
95
- throw new Error('At least one transformation must be specified');
96
- }
97
- if (jobConfig.maxFiles && jobConfig.maxFiles > this.config.maxFilesPerJob) {
98
- throw new Error(`File count exceeds maximum allowed (${this.config.maxFilesPerJob})`);
99
- }
100
- }
101
- /**
195
+ */
196
+ validateJobConfig(jobConfig) {
197
+ const required = ['projectPath', 'transformations'];
198
+ const missing = required.filter(field => !jobConfig[field]);
199
+
200
+ if (missing.length > 0) {
201
+ throw new Error(`Missing required job configuration: ${missing.join(', ')}`);
202
+ }
203
+
204
+ if (!Array.isArray(jobConfig.transformations) || jobConfig.transformations.length === 0) {
205
+ throw new Error('At least one transformation must be specified');
206
+ }
207
+
208
+ if (jobConfig.maxFiles && jobConfig.maxFiles > this.config.maxFilesPerJob) {
209
+ throw new Error(`File count exceeds maximum allowed (${this.config.maxFilesPerJob})`);
210
+ }
211
+ }
212
+
213
+ /**
102
214
  * Discover files to process
103
- */ async discoverFiles(jobConfig) {
104
- const { projectPath, filePatterns, excludePatterns } = jobConfig;
105
- const patterns = filePatterns || [
106
- '**/*.{js,ts,jsx,tsx}'
107
- ];
108
- const excludes = excludePatterns || [
109
- 'node_modules/**',
110
- 'dist/**',
111
- 'build/**'
112
- ];
113
- console.log(`🔍 Discovering files in: ${projectPath}`);
114
- // Simulate file discovery - in real implementation, use glob patterns
115
- const discoveredFiles = [];
116
- // Generate mock file list for demonstration
117
- for(let i = 1; i <= Math.min(jobConfig.maxFiles || 1000, this.config.maxFilesPerJob); i++){
118
- const filePath = `src/component${i}.js`;
119
- discoveredFiles.push({
120
- path: filePath,
121
- fullPath: path.join(projectPath, filePath),
122
- size: 1000 + Math.floor(Math.random() * 10000),
123
- type: this.getFileType(filePath),
124
- lastModified: Date.now() - Math.random() * 86400000 // Random time within last day
125
- });
126
- }
127
- this.fileQueue = discoveredFiles;
128
- this.progress.totalFiles = discoveredFiles.length;
129
- console.log(`📁 Discovered ${discoveredFiles.length} files for processing`);
130
- }
131
- /**
215
+ */
216
+ async discoverFiles(jobConfig) {
217
+ const { projectPath, filePatterns, excludePatterns } = jobConfig;
218
+ const patterns = filePatterns || ['**/*.{js,ts,jsx,tsx}'];
219
+ const excludes = excludePatterns || ['node_modules/**', 'dist/**', 'build/**'];
220
+
221
+ console.log(`🔍 Discovering files in: ${projectPath}`);
222
+
223
+ // Simulate file discovery - in real implementation, use glob patterns
224
+ const discoveredFiles = [];
225
+
226
+ // Generate mock file list for demonstration
227
+ for (let i = 1; i <= Math.min(jobConfig.maxFiles || 1000, this.config.maxFilesPerJob); i++) {
228
+ const filePath = `src/component${i}.js`;
229
+ discoveredFiles.push({
230
+ path: filePath,
231
+ fullPath: path.join(projectPath, filePath),
232
+ size: 1000 + Math.floor(Math.random() * 10000), // 1KB-11KB
233
+ type: this.getFileType(filePath),
234
+ lastModified: Date.now() - Math.random() * 86400000 // Random time within last day
235
+ });
236
+ }
237
+
238
+ this.fileQueue = discoveredFiles;
239
+ this.progress.totalFiles = discoveredFiles.length;
240
+
241
+ console.log(`📁 Discovered ${discoveredFiles.length} files for processing`);
242
+ }
243
+
244
+ /**
132
245
  * Get file type from path
133
- */ getFileType(filePath) {
134
- const ext = path.extname(filePath).toLowerCase();
135
- const typeMap = {
136
- '.js': 'javascript',
137
- '.ts': 'typescript',
138
- '.jsx': 'react',
139
- '.tsx': 'react-typescript'
140
- };
141
- return typeMap[ext] || 'unknown';
142
- }
143
- /**
246
+ */
247
+ getFileType(filePath) {
248
+ const ext = path.extname(filePath).toLowerCase();
249
+ const typeMap = {
250
+ '.js': 'javascript',
251
+ '.ts': 'typescript',
252
+ '.jsx': 'react',
253
+ '.tsx': 'react-typescript'
254
+ };
255
+ return typeMap[ext] || 'unknown';
256
+ }
257
+
258
+ /**
144
259
  * Establish baseline performance measurement
145
- */ async establishBaseline(jobConfig) {
146
- console.log('📊 Establishing performance baseline...');
147
- // Simulate baseline measurement - in real implementation,
148
- // this would run a sample without agent-booster
149
- const sampleSize = Math.min(50, this.fileQueue.length);
150
- const sampleFiles = this.fileQueue.slice(0, sampleSize);
151
- const baselineStartTime = Date.now();
152
- // Simulate traditional processing time
153
- await new Promise((resolve)=>setTimeout(resolve, sampleSize * 10)); // 10ms per file
154
- const baselineEndTime = Date.now();
155
- const baselineTime = baselineEndTime - baselineStartTime;
156
- this.performanceMetrics.baselineExecutionTime = baselineTime;
157
- this.performanceMetrics.baselineTimePerFile = baselineTime / sampleSize;
158
- console.log(`📈 Baseline established: ${baselineTime}ms for ${sampleSize} files (${(baselineTime / sampleSize).toFixed(2)}ms/file)`);
159
- }
160
- /**
260
+ */
261
+ async establishBaseline(jobConfig) {
262
+ console.log('📊 Establishing performance baseline...');
263
+
264
+ // Simulate baseline measurement - in real implementation,
265
+ // this would run a sample without agent-booster
266
+ const sampleSize = Math.min(50, this.fileQueue.length);
267
+ const sampleFiles = this.fileQueue.slice(0, sampleSize);
268
+
269
+ const baselineStartTime = Date.now();
270
+
271
+ // Simulate traditional processing time
272
+ await new Promise(resolve => setTimeout(resolve, sampleSize * 10)); // 10ms per file
273
+
274
+ const baselineEndTime = Date.now();
275
+ const baselineTime = baselineEndTime - baselineStartTime;
276
+
277
+ this.performanceMetrics.baselineExecutionTime = baselineTime;
278
+ this.performanceMetrics.baselineTimePerFile = baselineTime / sampleSize;
279
+
280
+ console.log(`📈 Baseline established: ${baselineTime}ms for ${sampleSize} files (${(baselineTime / sampleSize).toFixed(2)}ms/file)`);
281
+ }
282
+
283
+ /**
161
284
  * Execute refactoring phases
162
- */ async executeRefactoringPhases() {
163
- const phases = [
164
- {
165
- name: 'preparation',
166
- execute: ()=>this.executePreparationPhase()
167
- },
168
- {
169
- name: 'transformation',
170
- execute: ()=>this.executeTransformationPhase()
171
- },
172
- {
173
- name: 'validation',
174
- execute: ()=>this.executeValidationPhase()
175
- },
176
- {
177
- name: 'completion',
178
- execute: ()=>this.executeCompletionPhase()
179
- }
180
- ];
181
- for (const phase of phases){
182
- this.progress.currentPhase = phase.name;
183
- console.log(`🔄 Starting phase: ${phase.name}`);
184
- try {
185
- await phase.execute();
186
- console.log(`✅ Completed phase: ${phase.name}`);
187
- } catch (error) {
188
- console.error(`❌ Failed phase: ${phase.name}`, error);
189
- this.currentJob.errors.push({
190
- phase: phase.name,
191
- error: error.message,
192
- timestamp: Date.now()
193
- });
194
- if (phase.name === 'transformation') {
195
- // Attempt rollback if transformation failed
196
- if (this.config.enableRollback) {
197
- await this.executeRollback();
198
- }
199
- }
200
- throw error;
201
- }
202
- }
203
- }
204
- /**
285
+ */
286
+ async executeRefactoringPhases() {
287
+ const phases = [
288
+ { name: 'preparation', execute: () => this.executePreparationPhase() },
289
+ { name: 'transformation', execute: () => this.executeTransformationPhase() },
290
+ { name: 'validation', execute: () => this.executeValidationPhase() },
291
+ { name: 'completion', execute: () => this.executeCompletionPhase() }
292
+ ];
293
+
294
+ for (const phase of phases) {
295
+ this.progress.currentPhase = phase.name;
296
+ console.log(`🔄 Starting phase: ${phase.name}`);
297
+
298
+ try {
299
+ await phase.execute();
300
+ console.log(`✅ Completed phase: ${phase.name}`);
301
+ } catch (error) {
302
+ console.error(`❌ Failed phase: ${phase.name}`, error);
303
+ this.currentJob.errors.push({
304
+ phase: phase.name,
305
+ error: error.message,
306
+ timestamp: Date.now()
307
+ });
308
+
309
+ if (phase.name === 'transformation') {
310
+ // Attempt rollback if transformation failed
311
+ if (this.config.enableRollback) {
312
+ await this.executeRollback();
313
+ }
314
+ }
315
+
316
+ throw error;
317
+ }
318
+ }
319
+ }
320
+
321
+ /**
205
322
  * Execute preparation phase
206
- */ async executePreparationPhase() {
207
- console.log('🔧 Preparing files for transformation...');
208
- // Prepare file batches for parallel processing
209
- const batches = this.createFileBatches();
210
- // Initialize booster instances
211
- await this.initializeBoosterInstances();
212
- // Publish preparation status
213
- await this.publishJobStatus({
214
- type: 'PHASE_STARTED',
215
- phase: 'preparation',
216
- batchesCount: batches.length,
217
- boostersInitialized: this.activeBoosters.size
218
- });
219
- this.progress.currentPhase = 'preparation';
220
- }
221
- /**
323
+ */
324
+ async executePreparationPhase() {
325
+ console.log('🔧 Preparing files for transformation...');
326
+
327
+ // Prepare file batches for parallel processing
328
+ const batches = this.createFileBatches();
329
+
330
+ // Initialize booster instances
331
+ await this.initializeBoosterInstances();
332
+
333
+ // Publish preparation status
334
+ await this.publishJobStatus({
335
+ type: 'PHASE_STARTED',
336
+ phase: 'preparation',
337
+ batchesCount: batches.length,
338
+ boostersInitialized: this.activeBoosters.size
339
+ });
340
+
341
+ this.progress.currentPhase = 'preparation';
342
+ }
343
+
344
+ /**
222
345
  * Create file batches for processing
223
- */ createFileBatches() {
224
- const batches = [];
225
- const batchSize = this.config.batchSize;
226
- for(let i = 0; i < this.fileQueue.length; i += batchSize){
227
- batches.push(this.fileQueue.slice(i, i + batchSize));
228
- }
229
- return batches;
230
- }
231
- /**
346
+ */
347
+ createFileBatches() {
348
+ const batches = [];
349
+ const batchSize = this.config.batchSize;
350
+
351
+ for (let i = 0; i < this.fileQueue.length; i += batchSize) {
352
+ batches.push(this.fileQueue.slice(i, i + batchSize));
353
+ }
354
+
355
+ return batches;
356
+ }
357
+
358
+ /**
232
359
  * Initialize booster instances
233
- */ async initializeBoosterInstances() {
234
- console.log('🚀 Initializing agent-booster instances...');
235
- const boosterCount = Math.min(this.config.boosterConfig.instancePoolSize, Math.ceil(this.fileQueue.length / this.config.batchSize));
236
- for(let i = 1; i <= boosterCount; i++){
237
- const boosterId = `booster-${i.toString().padStart(3, '0')}`;
238
- const booster = {
239
- id: boosterId,
240
- status: 'initializing',
241
- startTime: Date.now(),
242
- filesProcessed: 0,
243
- totalProcessingTime: 0,
244
- errors: 0,
245
- memoryUsage: 0,
246
- wasmInstance: {
247
- memoryAllocated: 256 + Math.random() * 256,
248
- compileTime: 50 + Math.random() * 200,
249
- executionTime: 1 + Math.random() * 5 // 1-6ms
250
- }
251
- };
252
- this.activeBoosters.set(boosterId, booster);
253
- // Publish booster initialization
254
- await this.publishBoosterStatus(boosterId, 'initialized');
255
- }
256
- console.log(`✅ Initialized ${boosterCount} booster instances`);
257
- }
258
- /**
360
+ */
361
+ async initializeBoosterInstances() {
362
+ console.log('🚀 Initializing agent-booster instances...');
363
+
364
+ const boosterCount = Math.min(
365
+ this.config.boosterConfig.instancePoolSize,
366
+ Math.ceil(this.fileQueue.length / this.config.batchSize)
367
+ );
368
+
369
+ for (let i = 1; i <= boosterCount; i++) {
370
+ const boosterId = `booster-${i.toString().padStart(3, '0')}`;
371
+
372
+ const booster = {
373
+ id: boosterId,
374
+ status: 'initializing',
375
+ startTime: Date.now(),
376
+ filesProcessed: 0,
377
+ totalProcessingTime: 0,
378
+ errors: 0,
379
+ memoryUsage: 0,
380
+ wasmInstance: {
381
+ memoryAllocated: 256 + Math.random() * 256, // 256-512 MB
382
+ compileTime: 50 + Math.random() * 200, // 50-250ms
383
+ executionTime: 1 + Math.random() * 5 // 1-6ms
384
+ }
385
+ };
386
+
387
+ this.activeBoosters.set(boosterId, booster);
388
+
389
+ // Publish booster initialization
390
+ await this.publishBoosterStatus(boosterId, 'initialized');
391
+ }
392
+
393
+ console.log(`✅ Initialized ${boosterCount} booster instances`);
394
+ }
395
+
396
+ /**
259
397
  * Execute transformation phase
260
- */ async executeTransformationPhase() {
261
- console.log('⚡ Starting file transformation with agent-booster...');
262
- const batches = this.createFileBatches();
263
- const boosterIds = Array.from(this.activeBoosters.keys());
264
- let currentBoosterIndex = 0;
265
- // Process batches in parallel with boosters
266
- const transformationPromises = batches.map(async (batch, batchIndex)=>{
267
- const boosterId = boosterIds[currentBoosterIndex % boosterIds.length];
268
- currentBoosterIndex++;
269
- return this.processBatchWithBooster(batch, boosterId, batchIndex);
270
- });
271
- // Wait for all transformations to complete
272
- const results = await Promise.allSettled(transformationPromises);
273
- // Analyze results
274
- const successful = results.filter((r)=>r.status === 'fulfilled').length;
275
- const failed = results.filter((r)=>r.status === 'rejected').length;
276
- console.log(`📊 Transformation complete: ${successful} successful, ${failed} failed batches`);
277
- if (failed > 0) {
278
- console.warn(`⚠️ ${failed} batches failed during transformation`);
279
- }
280
- // Publish transformation completion
281
- await this.publishJobStatus({
282
- type: 'PHASE_COMPLETED',
283
- phase: 'transformation',
284
- successfulBatches: successful,
285
- failedBatches: failed,
286
- totalBatches: batches.length
287
- });
288
- }
289
- /**
398
+ */
399
+ async executeTransformationPhase() {
400
+ console.log('⚡ Starting file transformation with agent-booster...');
401
+
402
+ const batches = this.createFileBatches();
403
+ const boosterIds = Array.from(this.activeBoosters.keys());
404
+ let currentBoosterIndex = 0;
405
+
406
+ // Process batches in parallel with boosters
407
+ const transformationPromises = batches.map(async (batch, batchIndex) => {
408
+ const boosterId = boosterIds[currentBoosterIndex % boosterIds.length];
409
+ currentBoosterIndex++;
410
+
411
+ return this.processBatchWithBooster(batch, boosterId, batchIndex);
412
+ });
413
+
414
+ // Wait for all transformations to complete
415
+ const results = await Promise.allSettled(transformationPromises);
416
+
417
+ // Analyze results
418
+ const successful = results.filter(r => r.status === 'fulfilled').length;
419
+ const failed = results.filter(r => r.status === 'rejected').length;
420
+
421
+ console.log(`📊 Transformation complete: ${successful} successful, ${failed} failed batches`);
422
+
423
+ if (failed > 0) {
424
+ console.warn(`⚠️ ${failed} batches failed during transformation`);
425
+ }
426
+
427
+ // Publish transformation completion
428
+ await this.publishJobStatus({
429
+ type: 'PHASE_COMPLETED',
430
+ phase: 'transformation',
431
+ successfulBatches: successful,
432
+ failedBatches: failed,
433
+ totalBatches: batches.length
434
+ });
435
+ }
436
+
437
+ /**
290
438
  * Process batch with booster agent
291
- */ async processBatchWithBooster(batch, boosterId, batchIndex) {
292
- const booster = this.activeBoosters.get(boosterId);
293
- if (!booster) {
294
- throw new Error(`Booster ${boosterId} not found`);
295
- }
296
- const batchStartTime = Date.now();
297
- booster.status = 'processing';
298
- try {
299
- console.log(`🔄 Processing batch ${batchIndex + 1} with ${boosterId} (${batch.length} files)`);
300
- // Simulate WASM-based processing with agent-booster
301
- const processingResults = await Promise.all(batch.map(async (file, fileIndex)=>{
302
- return this.processFileWithBooster(file, booster, batchIndex, fileIndex);
303
- }));
304
- // Update booster metrics
305
- const batchTime = Date.now() - batchStartTime;
306
- booster.totalProcessingTime += batchTime;
307
- booster.filesProcessed += batch.length;
308
- booster.status = 'idle';
309
- // Update progress
310
- this.progress.processedFiles += batch.length;
311
- this.updateEstimatedTimeRemaining();
312
- // Publish batch completion
313
- await this.publishBoosterStatus(boosterId, 'batch_completed', {
314
- batchIndex,
315
- filesProcessed: batch.length,
316
- batchTime,
317
- results: processingResults
318
- });
319
- return {
320
- batchIndex,
321
- boosterId,
322
- filesProcessed: batch.length,
323
- processingTime: batchTime,
324
- results: processingResults
325
- };
326
- } catch (error) {
327
- booster.status = 'error';
328
- booster.errors++;
329
- this.progress.failedFiles += batch.length;
330
- await this.publishBoosterStatus(boosterId, 'error', {
331
- batchIndex,
332
- error: error.message
333
- });
334
- throw error;
335
- }
336
- }
337
- /**
439
+ */
440
+ async processBatchWithBooster(batch, boosterId, batchIndex) {
441
+ const booster = this.activeBoosters.get(boosterId);
442
+ if (!booster) {
443
+ throw new Error(`Booster ${boosterId} not found`);
444
+ }
445
+
446
+ const batchStartTime = Date.now();
447
+ booster.status = 'processing';
448
+
449
+ try {
450
+ console.log(`🔄 Processing batch ${batchIndex + 1} with ${boosterId} (${batch.length} files)`);
451
+
452
+ // Simulate WASM-based processing with agent-booster
453
+ const processingResults = await Promise.all(batch.map(async (file, fileIndex) => {
454
+ return this.processFileWithBooster(file, booster, batchIndex, fileIndex);
455
+ }));
456
+
457
+ // Update booster metrics
458
+ const batchTime = Date.now() - batchStartTime;
459
+ booster.totalProcessingTime += batchTime;
460
+ booster.filesProcessed += batch.length;
461
+ booster.status = 'idle';
462
+
463
+ // Update progress
464
+ this.progress.processedFiles += batch.length;
465
+ this.updateEstimatedTimeRemaining();
466
+
467
+ // Publish batch completion
468
+ await this.publishBoosterStatus(boosterId, 'batch_completed', {
469
+ batchIndex,
470
+ filesProcessed: batch.length,
471
+ batchTime,
472
+ results: processingResults
473
+ });
474
+
475
+ return {
476
+ batchIndex,
477
+ boosterId,
478
+ filesProcessed: batch.length,
479
+ processingTime: batchTime,
480
+ results: processingResults
481
+ };
482
+
483
+ } catch (error) {
484
+ booster.status = 'error';
485
+ booster.errors++;
486
+
487
+ this.progress.failedFiles += batch.length;
488
+
489
+ await this.publishBoosterStatus(boosterId, 'error', {
490
+ batchIndex,
491
+ error: error.message
492
+ });
493
+
494
+ throw error;
495
+ }
496
+ }
497
+
498
+ /**
338
499
  * Process individual file with booster
339
- */ async processFileWithBooster(file, booster, batchIndex, fileIndex) {
340
- const fileStartTime = Date.now();
341
- try {
342
- // Simulate WASM-based AST operations
343
- const simulatedOperations = {
344
- // AST parsing and manipulation
345
- astParsing: 1 + Math.random() * 2,
346
- astTransformation: 2 + Math.random() * 3,
347
- codeGeneration: 1 + Math.random() * 2,
348
- // Agent-booster specific operations
349
- wasmCompilation: booster.wasmInstance.compileTime,
350
- wasmExecution: booster.wasmInstance.executionTime,
351
- // Quality checks
352
- astValidation: this.config.enableAstValidation ? 0.5 + Math.random() : 0,
353
- linting: this.config.enableLinting ? 1 + Math.random() * 2 : 0,
354
- typeChecking: this.config.enableTypeChecking ? 2 + Math.random() * 3 : 0
355
- };
356
- // Simulate processing time (much faster than traditional)
357
- const totalProcessingTime = Object.values(simulatedOperations).reduce((sum, time)=>sum + time, 0);
358
- // Simulate actual processing with realistic timing
359
- await new Promise((resolve)=>setTimeout(resolve, Math.max(1, totalProcessingTime * 0.1)));
360
- const fileEndTime = Date.now();
361
- const actualProcessingTime = fileEndTime - fileStartTime;
362
- // Simulate transformation results
363
- const transformationResult = {
364
- file: file.path,
365
- success: true,
366
- processingTime: actualProcessingTime,
367
- operationsPerformed: {
368
- astNodesProcessed: Math.floor(100 + Math.random() * 1000),
369
- transformationsApplied: Math.floor(1 + Math.random() * 5),
370
- linesChanged: Math.floor(5 + Math.random() * 50)
371
- },
372
- qualityChecks: {
373
- astValidation: this.config.enableAstValidation ? Math.random() > 0.05 : 'skipped',
374
- linting: this.config.enableLinting ? Math.random() > 0.1 : 'skipped',
375
- typeChecking: this.config.enableTypeChecking ? Math.random() > 0.08 : 'skipped' // 92% pass rate
376
- },
377
- boosterMetrics: {
378
- boosterId: booster.id,
379
- wasmMemoryUsage: booster.wasmInstance.memoryAllocated * (0.7 + Math.random() * 0.3),
380
- operationsPerSecond: 10000 + Math.random() * 40000 // 10k-50k ops/sec
381
- }
382
- };
383
- // Update quality metrics
384
- this.updateQualityMetrics(transformationResult.qualityChecks);
385
- // Store processing result
386
- this.processedFiles.set(file.path, transformationResult);
387
- return transformationResult;
388
- } catch (error) {
389
- const fileEndTime = Date.now();
390
- const processingTime = fileEndTime - fileStartTime;
391
- const errorResult = {
392
- file: file.path,
393
- success: false,
394
- processingTime,
395
- error: error.message,
396
- boosterId: booster.id
397
- };
398
- this.failedFiles.set(file.path, errorResult);
399
- throw error;
400
- }
401
- }
402
- /**
500
+ */
501
+ async processFileWithBooster(file, booster, batchIndex, fileIndex) {
502
+ const fileStartTime = Date.now();
503
+
504
+ try {
505
+ // Simulate WASM-based AST operations
506
+ const simulatedOperations = {
507
+ // AST parsing and manipulation
508
+ astParsing: 1 + Math.random() * 2, // 1-3ms
509
+ astTransformation: 2 + Math.random() * 3, // 2-5ms
510
+ codeGeneration: 1 + Math.random() * 2, // 1-3ms
511
+
512
+ // Agent-booster specific operations
513
+ wasmCompilation: booster.wasmInstance.compileTime,
514
+ wasmExecution: booster.wasmInstance.executionTime,
515
+
516
+ // Quality checks
517
+ astValidation: this.config.enableAstValidation ? 0.5 + Math.random() : 0,
518
+ linting: this.config.enableLinting ? 1 + Math.random() * 2 : 0,
519
+ typeChecking: this.config.enableTypeChecking ? 2 + Math.random() * 3 : 0
520
+ };
521
+
522
+ // Simulate processing time (much faster than traditional)
523
+ const totalProcessingTime = Object.values(simulatedOperations).reduce((sum, time) => sum + time, 0);
524
+
525
+ // Simulate actual processing with realistic timing
526
+ await new Promise(resolve => setTimeout(resolve, Math.max(1, totalProcessingTime * 0.1)));
527
+
528
+ const fileEndTime = Date.now();
529
+ const actualProcessingTime = fileEndTime - fileStartTime;
530
+
531
+ // Simulate transformation results
532
+ const transformationResult = {
533
+ file: file.path,
534
+ success: true,
535
+ processingTime: actualProcessingTime,
536
+ operationsPerformed: {
537
+ astNodesProcessed: Math.floor(100 + Math.random() * 1000),
538
+ transformationsApplied: Math.floor(1 + Math.random() * 5),
539
+ linesChanged: Math.floor(5 + Math.random() * 50)
540
+ },
541
+ qualityChecks: {
542
+ astValidation: this.config.enableAstValidation ? Math.random() > 0.05 : 'skipped', // 95% pass rate
543
+ linting: this.config.enableLinting ? Math.random() > 0.1 : 'skipped', // 90% pass rate
544
+ typeChecking: this.config.enableTypeChecking ? Math.random() > 0.08 : 'skipped' // 92% pass rate
545
+ },
546
+ boosterMetrics: {
547
+ boosterId: booster.id,
548
+ wasmMemoryUsage: booster.wasmInstance.memoryAllocated * (0.7 + Math.random() * 0.3),
549
+ operationsPerSecond: 10000 + Math.random() * 40000 // 10k-50k ops/sec
550
+ }
551
+ };
552
+
553
+ // Update quality metrics
554
+ this.updateQualityMetrics(transformationResult.qualityChecks);
555
+
556
+ // Store processing result
557
+ this.processedFiles.set(file.path, transformationResult);
558
+
559
+ return transformationResult;
560
+
561
+ } catch (error) {
562
+ const fileEndTime = Date.now();
563
+ const processingTime = fileEndTime - fileStartTime;
564
+
565
+ const errorResult = {
566
+ file: file.path,
567
+ success: false,
568
+ processingTime,
569
+ error: error.message,
570
+ boosterId: booster.id
571
+ };
572
+
573
+ this.failedFiles.set(file.path, errorResult);
574
+ throw error;
575
+ }
576
+ }
577
+
578
+ /**
403
579
  * Update quality metrics
404
- */ updateQualityMetrics(qualityChecks) {
405
- if (qualityChecks.astValidation !== 'skipped') {
406
- this.qualityMetrics.totalQualityChecks++;
407
- if (qualityChecks.astValidation) {
408
- this.qualityMetrics.astValidationPassed++;
409
- } else {
410
- this.qualityMetrics.astValidationFailed++;
411
- }
412
- }
413
- if (qualityChecks.linting !== 'skipped') {
414
- this.qualityMetrics.totalQualityChecks++;
415
- if (qualityChecks.linting) {
416
- this.qualityMetrics.lintingPassed++;
417
- } else {
418
- this.qualityMetrics.lintingFailed++;
419
- }
420
- }
421
- if (qualityChecks.typeChecking !== 'skipped') {
422
- this.qualityMetrics.totalQualityChecks++;
423
- if (qualityChecks.typeChecking) {
424
- this.qualityMetrics.typeCheckingPassed++;
425
- } else {
426
- this.qualityMetrics.typeCheckingFailed++;
427
- }
428
- }
429
- }
430
- /**
580
+ */
581
+ updateQualityMetrics(qualityChecks) {
582
+ if (qualityChecks.astValidation !== 'skipped') {
583
+ this.qualityMetrics.totalQualityChecks++;
584
+ if (qualityChecks.astValidation) {
585
+ this.qualityMetrics.astValidationPassed++;
586
+ } else {
587
+ this.qualityMetrics.astValidationFailed++;
588
+ }
589
+ }
590
+
591
+ if (qualityChecks.linting !== 'skipped') {
592
+ this.qualityMetrics.totalQualityChecks++;
593
+ if (qualityChecks.linting) {
594
+ this.qualityMetrics.lintingPassed++;
595
+ } else {
596
+ this.qualityMetrics.lintingFailed++;
597
+ }
598
+ }
599
+
600
+ if (qualityChecks.typeChecking !== 'skipped') {
601
+ this.qualityMetrics.totalQualityChecks++;
602
+ if (qualityChecks.typeChecking) {
603
+ this.qualityMetrics.typeCheckingPassed++;
604
+ } else {
605
+ this.qualityMetrics.typeCheckingFailed++;
606
+ }
607
+ }
608
+ }
609
+
610
+ /**
431
611
  * Execute validation phase
432
- */ async executeValidationPhase() {
433
- console.log('✅ Running post-transformation validation...');
434
- const validationStartTime = Date.now();
435
- // Perform comprehensive validation
436
- const validationResults = await this.performComprehensiveValidation();
437
- const validationTime = Date.now() - validationStartTime;
438
- // Publish validation results
439
- await this.publishJobStatus({
440
- type: 'PHASE_COMPLETED',
441
- phase: 'validation',
442
- validationTime,
443
- results: validationResults
444
- });
445
- console.log(`✅ Validation completed in ${validationTime}ms`);
446
- }
447
- /**
612
+ */
613
+ async executeValidationPhase() {
614
+ console.log('✅ Running post-transformation validation...');
615
+
616
+ const validationStartTime = Date.now();
617
+
618
+ // Perform comprehensive validation
619
+ const validationResults = await this.performComprehensiveValidation();
620
+
621
+ const validationTime = Date.now() - validationStartTime;
622
+
623
+ // Publish validation results
624
+ await this.publishJobStatus({
625
+ type: 'PHASE_COMPLETED',
626
+ phase: 'validation',
627
+ validationTime,
628
+ results: validationResults
629
+ });
630
+
631
+ console.log(`✅ Validation completed in ${validationTime}ms`);
632
+ }
633
+
634
+ /**
448
635
  * Perform comprehensive validation
449
- */ async performComprehensiveValidation() {
450
- const results = {
451
- totalFiles: this.processedFiles.size,
452
- validFiles: 0,
453
- invalidFiles: 0,
454
- qualityScore: 0,
455
- issues: []
456
- };
457
- let totalQualityScore = 0;
458
- for (const [filePath, result] of this.processedFiles){
459
- let fileValid = true;
460
- let fileQualityScore = 0;
461
- // Check quality check results
462
- const checks = result.qualityChecks;
463
- if (checks.astValidation === true) fileQualityScore += 33;
464
- if (checks.linting === true) fileQualityScore += 33;
465
- if (checks.typeChecking === true) fileQualityScore += 34;
466
- if (fileQualityScore >= 66) {
467
- results.validFiles++;
468
- } else {
469
- results.invalidFiles++;
470
- fileValid = false;
471
- results.issues.push({
472
- file: filePath,
473
- type: 'quality_check_failure',
474
- score: fileQualityScore,
475
- checks: checks
476
- });
477
- }
478
- totalQualityScore += fileQualityScore;
479
- }
480
- results.qualityScore = results.totalFiles > 0 ? totalQualityScore / results.totalFiles : 0;
481
- return results;
482
- }
483
- /**
636
+ */
637
+ async performComprehensiveValidation() {
638
+ const results = {
639
+ totalFiles: this.processedFiles.size,
640
+ validFiles: 0,
641
+ invalidFiles: 0,
642
+ qualityScore: 0,
643
+ issues: []
644
+ };
645
+
646
+ let totalQualityScore = 0;
647
+
648
+ for (const [filePath, result] of this.processedFiles) {
649
+ let fileValid = true;
650
+ let fileQualityScore = 0;
651
+
652
+ // Check quality check results
653
+ const checks = result.qualityChecks;
654
+
655
+ if (checks.astValidation === true) fileQualityScore += 33;
656
+ if (checks.linting === true) fileQualityScore += 33;
657
+ if (checks.typeChecking === true) fileQualityScore += 34;
658
+
659
+ if (fileQualityScore >= 66) { // At least 2/3 checks passed
660
+ results.validFiles++;
661
+ } else {
662
+ results.invalidFiles++;
663
+ fileValid = false;
664
+
665
+ results.issues.push({
666
+ file: filePath,
667
+ type: 'quality_check_failure',
668
+ score: fileQualityScore,
669
+ checks: checks
670
+ });
671
+ }
672
+
673
+ totalQualityScore += fileQualityScore;
674
+ }
675
+
676
+ results.qualityScore = results.totalFiles > 0 ? totalQualityScore / results.totalFiles : 0;
677
+
678
+ return results;
679
+ }
680
+
681
+ /**
484
682
  * Execute completion phase
485
- */ async executeCompletionPhase() {
486
- console.log('🎉 Completing refactoring job...');
487
- const endTime = Date.now();
488
- const totalExecutionTime = endTime - this.startTime;
489
- // Calculate performance metrics
490
- this.calculatePerformanceMetrics(totalExecutionTime);
491
- // Prepare final job result
492
- const jobResult = {
493
- jobId: this.jobId,
494
- status: 'completed',
495
- startTime: this.startTime,
496
- endTime: endTime,
497
- totalExecutionTime,
498
- filesProcessed: this.progress.processedFiles,
499
- filesFailed: this.progress.failedFiles,
500
- filesSkipped: this.progress.skippedFiles,
501
- performanceMetrics: this.performanceMetrics,
502
- qualityMetrics: this.qualityMetrics,
503
- improvementAchieved: this.performanceMetrics.improvementFactor >= this.config.targetImprovement
504
- };
505
- // Update current job
506
- this.currentJob.status = 'completed';
507
- this.currentJob.endTime = endTime;
508
- this.currentJob.result = jobResult;
509
- // Publish completion
510
- await this.publishJobStatus({
511
- type: 'JOB_COMPLETED',
512
- result: jobResult
513
- });
514
- console.log(`✅ Refactoring job completed in ${totalExecutionTime}ms`);
515
- console.log(`📈 Performance improvement: ${this.performanceMetrics.improvementFactor.toFixed(2)}x`);
516
- console.log(`📊 Quality score: ${this.qualityMetrics.totalQualityChecks > 0 ? (this.qualityMetrics.astValidationPassed + this.qualityMetrics.lintingPassed + this.qualityMetrics.typeCheckingPassed) / this.qualityMetrics.totalQualityChecks * 100 : 0}%`);
517
- this.emit('job_completed', jobResult);
518
- }
519
- /**
683
+ */
684
+ async executeCompletionPhase() {
685
+ console.log('🎉 Completing refactoring job...');
686
+
687
+ const endTime = Date.now();
688
+ const totalExecutionTime = endTime - this.startTime;
689
+
690
+ // Calculate performance metrics
691
+ this.calculatePerformanceMetrics(totalExecutionTime);
692
+
693
+ // Prepare final job result
694
+ const jobResult = {
695
+ jobId: this.jobId,
696
+ status: 'completed',
697
+ startTime: this.startTime,
698
+ endTime: endTime,
699
+ totalExecutionTime,
700
+ filesProcessed: this.progress.processedFiles,
701
+ filesFailed: this.progress.failedFiles,
702
+ filesSkipped: this.progress.skippedFiles,
703
+ performanceMetrics: this.performanceMetrics,
704
+ qualityMetrics: this.qualityMetrics,
705
+ improvementAchieved: this.performanceMetrics.improvementFactor >= this.config.targetImprovement
706
+ };
707
+
708
+ // Update current job
709
+ this.currentJob.status = 'completed';
710
+ this.currentJob.endTime = endTime;
711
+ this.currentJob.result = jobResult;
712
+
713
+ // Publish completion
714
+ await this.publishJobStatus({
715
+ type: 'JOB_COMPLETED',
716
+ result: jobResult
717
+ });
718
+
719
+ console.log(`✅ Refactoring job completed in ${totalExecutionTime}ms`);
720
+ console.log(`📈 Performance improvement: ${this.performanceMetrics.improvementFactor.toFixed(2)}x`);
721
+ console.log(`📊 Quality score: ${this.qualityMetrics.totalQualityChecks > 0 ? (this.qualityMetrics.astValidationPassed + this.qualityMetrics.lintingPassed + this.qualityMetrics.typeCheckingPassed) / this.qualityMetrics.totalQualityChecks * 100 : 0}%`);
722
+
723
+ this.emit('job_completed', jobResult);
724
+ }
725
+
726
+ /**
520
727
  * Calculate performance metrics
521
- */ calculatePerformanceMetrics(totalExecutionTime) {
522
- const baselineTime = this.performanceMetrics.baselineExecutionTime;
523
- const currentTime = totalExecutionTime;
524
- if (baselineTime) {
525
- this.performanceMetrics.improvementFactor = baselineTime / currentTime;
526
- }
527
- this.performanceMetrics.currentExecutionTime = currentTime;
528
- this.performanceMetrics.operationsPerSecond = this.progress.processedFiles / currentTime * 1000;
529
- this.performanceMetrics.averageFileProcessingTime = currentTime / this.progress.processedFiles;
530
- // Calculate booster utilization
531
- const totalBoosterTime = Array.from(this.activeBoosters.values()).reduce((sum, booster)=>sum + booster.totalProcessingTime, 0);
532
- const totalPossibleTime = this.activeBoosters.size * currentTime;
533
- this.performanceMetrics.boosterUtilization = totalPossibleTime > 0 ? totalBoosterTime / totalPossibleTime * 100 : 0;
534
- }
535
- /**
728
+ */
729
+ calculatePerformanceMetrics(totalExecutionTime) {
730
+ const baselineTime = this.performanceMetrics.baselineExecutionTime;
731
+ const currentTime = totalExecutionTime;
732
+
733
+ if (baselineTime) {
734
+ this.performanceMetrics.improvementFactor = baselineTime / currentTime;
735
+ }
736
+
737
+ this.performanceMetrics.currentExecutionTime = currentTime;
738
+ this.performanceMetrics.operationsPerSecond = (this.progress.processedFiles / currentTime) * 1000;
739
+ this.performanceMetrics.averageFileProcessingTime = currentTime / this.progress.processedFiles;
740
+
741
+ // Calculate booster utilization
742
+ const totalBoosterTime = Array.from(this.activeBoosters.values())
743
+ .reduce((sum, booster) => sum + booster.totalProcessingTime, 0);
744
+ const totalPossibleTime = this.activeBoosters.size * currentTime;
745
+ this.performanceMetrics.boosterUtilization = totalPossibleTime > 0 ? (totalBoosterTime / totalPossibleTime) * 100 : 0;
746
+ }
747
+
748
+ /**
536
749
  * Execute rollback if transformation failed
537
- */ async executeRollback() {
538
- console.log('🔄 Executing rollback due to transformation failure...');
539
- // In a real implementation, this would restore files from backup
540
- // For now, we'll simulate the rollback process
541
- await new Promise((resolve)=>setTimeout(resolve, 1000)); // Simulate rollback time
542
- console.log(' Rollback completed');
543
- }
544
- /**
750
+ */
751
+ async executeRollback() {
752
+ console.log('🔄 Executing rollback due to transformation failure...');
753
+
754
+ // In a real implementation, this would restore files from backup
755
+ // For now, we'll simulate the rollback process
756
+
757
+ await new Promise(resolve => setTimeout(resolve, 1000)); // Simulate rollback time
758
+
759
+ console.log('✅ Rollback completed');
760
+ }
761
+
762
+ /**
545
763
  * Update estimated time remaining
546
- */ updateEstimatedTimeRemaining() {
547
- if (this.progress.processedFiles === 0) return;
548
- const elapsedTime = Date.now() - this.startTime;
549
- const averageTimePerFile = elapsedTime / this.progress.processedFiles;
550
- const remainingFiles = this.progress.totalFiles - this.progress.processedFiles;
551
- this.progress.estimatedTimeRemaining = remainingFiles * averageTimePerFile;
552
- }
553
- /**
764
+ */
765
+ updateEstimatedTimeRemaining() {
766
+ if (this.progress.processedFiles === 0) return;
767
+
768
+ const elapsedTime = Date.now() - this.startTime;
769
+ const averageTimePerFile = elapsedTime / this.progress.processedFiles;
770
+ const remainingFiles = this.progress.totalFiles - this.progress.processedFiles;
771
+
772
+ this.progress.estimatedTimeRemaining = remainingFiles * averageTimePerFile;
773
+ }
774
+
775
+ /**
554
776
  * Initialize Redis connections
555
- */ async initializeRedis() {
556
- try {
557
- this.redisClient = createClient(this.config.redis);
558
- await this.redisClient.connect();
559
- this.redisPublisher = this.redisClient.duplicate();
560
- await this.redisPublisher.connect();
561
- this.redisSubscriber = this.redisClient.duplicate();
562
- await this.redisSubscriber.connect();
563
- console.log('✅ Redis clients initialized for Code Refactoring Swarm');
564
- } catch (error) {
565
- console.error('❌ Failed to initialize Redis:', error);
566
- throw error;
567
- }
568
- }
569
- /**
777
+ */
778
+ async initializeRedis() {
779
+ try {
780
+ this.redisClient = createClient(this.config.redis);
781
+ await this.redisClient.connect();
782
+
783
+ this.redisPublisher = this.redisClient.duplicate();
784
+ await this.redisPublisher.connect();
785
+
786
+ this.redisSubscriber = this.redisClient.duplicate();
787
+ await this.redisSubscriber.connect();
788
+
789
+ console.log('✅ Redis clients initialized for Code Refactoring Swarm');
790
+ } catch (error) {
791
+ console.error('❌ Failed to initialize Redis:', error);
792
+ throw error;
793
+ }
794
+ }
795
+
796
+ /**
570
797
  * Setup Redis subscriptions
571
- */ async setupRedisSubscriptions() {
572
- await this.redisSubscriber.subscribe('swarm:phase-5:refactoring', (message)=>{
573
- try {
574
- const data = JSON.parse(message);
575
- this.handleRedisMessage(data);
576
- } catch (error) {
577
- console.error('❌ Error handling Redis message:', error);
578
- }
579
- });
580
- console.log('✅ Redis subscriptions configured');
581
- }
582
- /**
798
+ */
799
+ async setupRedisSubscriptions() {
800
+ await this.redisSubscriber.subscribe('swarm:phase-5:refactoring', (message) => {
801
+ try {
802
+ const data = JSON.parse(message);
803
+ this.handleRedisMessage(data);
804
+ } catch (error) {
805
+ console.error('❌ Error handling Redis message:', error);
806
+ }
807
+ });
808
+
809
+ console.log('✅ Redis subscriptions configured');
810
+ }
811
+
812
+ /**
583
813
  * Handle Redis messages
584
- */ handleRedisMessage(data) {
585
- switch(data.type){
586
- case 'STATUS_REQUEST':
587
- this.publishJobStatus({
588
- type: 'STATUS_RESPONSE',
589
- jobId: this.jobId,
590
- progress: this.progress,
591
- performance: this.performanceMetrics
592
- });
593
- break;
594
- case 'CANCEL_REQUEST':
595
- this.handleCancelRequest();
596
- break;
597
- default:
598
- console.log(`📨 Unknown message type: ${data.type}`);
599
- }
600
- }
601
- /**
814
+ */
815
+ handleRedisMessage(data) {
816
+ switch (data.type) {
817
+ case 'STATUS_REQUEST':
818
+ this.publishJobStatus({
819
+ type: 'STATUS_RESPONSE',
820
+ jobId: this.jobId,
821
+ progress: this.progress,
822
+ performance: this.performanceMetrics
823
+ });
824
+ break;
825
+ case 'CANCEL_REQUEST':
826
+ this.handleCancelRequest();
827
+ break;
828
+ default:
829
+ console.log(`📨 Unknown message type: ${data.type}`);
830
+ }
831
+ }
832
+
833
+ /**
602
834
  * Handle cancel request
603
- */ async handleCancelRequest() {
604
- console.log('🛑 Cancel request received, stopping refactoring job...');
605
- this.isRunning = false;
606
- this.currentJob.status = 'cancelled';
607
- this.currentJob.endTime = Date.now();
608
- await this.publishJobStatus({
609
- type: 'JOB_CANCELLED',
610
- jobId: this.jobId,
611
- progress: this.progress
612
- });
613
- this.emit('job_cancelled', {
614
- jobId: this.jobId,
615
- progress: this.progress
616
- });
617
- }
618
- /**
835
+ */
836
+ async handleCancelRequest() {
837
+ console.log('🛑 Cancel request received, stopping refactoring job...');
838
+
839
+ this.isRunning = false;
840
+ this.currentJob.status = 'cancelled';
841
+ this.currentJob.endTime = Date.now();
842
+
843
+ await this.publishJobStatus({
844
+ type: 'JOB_CANCELLED',
845
+ jobId: this.jobId,
846
+ progress: this.progress
847
+ });
848
+
849
+ this.emit('job_cancelled', { jobId: this.jobId, progress: this.progress });
850
+ }
851
+
852
+ /**
619
853
  * Publish job status to Redis
620
- */ async publishJobStatus(statusData) {
621
- try {
622
- const message = {
623
- type: statusData.type,
624
- swarmId: 'phase-5-code-refactoring',
625
- jobId: this.jobId,
626
- timestamp: Date.now(),
627
- ...statusData
628
- };
629
- await this.redisPublisher.publish('swarm:phase-5:refactoring', JSON.stringify(message));
630
- // Store in Redis memory
631
- await this.redisClient.setex(`swarm:memory:phase-5:refactoring:${this.jobId}:${Date.now()}`, 3600, JSON.stringify(message));
632
- } catch (error) {
633
- console.error('❌ Error publishing job status:', error);
634
- }
635
- }
636
- /**
854
+ */
855
+ async publishJobStatus(statusData) {
856
+ try {
857
+ const message = {
858
+ type: statusData.type,
859
+ swarmId: 'phase-5-code-refactoring',
860
+ jobId: this.jobId,
861
+ timestamp: Date.now(),
862
+ ...statusData
863
+ };
864
+
865
+ await this.redisPublisher.publish('swarm:phase-5:refactoring', JSON.stringify(message));
866
+
867
+ // Store in Redis memory
868
+ await this.redisClient.setex(
869
+ `swarm:memory:phase-5:refactoring:${this.jobId}:${Date.now()}`,
870
+ 3600, // 1 hour TTL
871
+ JSON.stringify(message)
872
+ );
873
+
874
+ } catch (error) {
875
+ console.error('❌ Error publishing job status:', error);
876
+ }
877
+ }
878
+
879
+ /**
637
880
  * Publish booster status
638
- */ async publishBoosterStatus(boosterId, status, additionalData = {}) {
639
- try {
640
- const booster = this.activeBoosters.get(boosterId);
641
- if (!booster) return;
642
- const message = {
643
- type: 'BOOSTER_STATUS',
644
- boosterId,
645
- status,
646
- jobId: this.jobId,
647
- timestamp: Date.now(),
648
- metrics: {
649
- filesProcessed: booster.filesProcessed,
650
- totalProcessingTime: booster.totalProcessingTime,
651
- errors: booster.errors,
652
- memoryUsage: booster.memoryUsage,
653
- wasmInstance: booster.wasmInstance
654
- },
655
- ...additionalData
656
- };
657
- await this.redisPublisher.publish('swarm:phase-5:refactoring', JSON.stringify(message));
658
- } catch (error) {
659
- console.error('❌ Error publishing booster status:', error);
660
- }
661
- }
662
- /**
881
+ */
882
+ async publishBoosterStatus(boosterId, status, additionalData = {}) {
883
+ try {
884
+ const booster = this.activeBoosters.get(boosterId);
885
+ if (!booster) return;
886
+
887
+ const message = {
888
+ type: 'BOOSTER_STATUS',
889
+ boosterId,
890
+ status,
891
+ jobId: this.jobId,
892
+ timestamp: Date.now(),
893
+ metrics: {
894
+ filesProcessed: booster.filesProcessed,
895
+ totalProcessingTime: booster.totalProcessingTime,
896
+ errors: booster.errors,
897
+ memoryUsage: booster.memoryUsage,
898
+ wasmInstance: booster.wasmInstance
899
+ },
900
+ ...additionalData
901
+ };
902
+
903
+ await this.redisPublisher.publish('swarm:phase-5:refactoring', JSON.stringify(message));
904
+
905
+ } catch (error) {
906
+ console.error('❌ Error publishing booster status:', error);
907
+ }
908
+ }
909
+
910
+ /**
663
911
  * Ensure data directory exists
664
- */ async ensureDataDirectory() {
665
- try {
666
- await fs.mkdir(this.config.dataDir, {
667
- recursive: true
668
- });
669
- await fs.mkdir(path.join(this.config.dataDir, 'jobs'), {
670
- recursive: true
671
- });
672
- await fs.mkdir(path.join(this.config.dataDir, 'results'), {
673
- recursive: true
674
- });
675
- } catch (error) {
676
- console.error('❌ Error creating data directory:', error);
677
- }
678
- }
679
- /**
912
+ */
913
+ async ensureDataDirectory() {
914
+ try {
915
+ await fs.mkdir(this.config.dataDir, { recursive: true });
916
+ await fs.mkdir(path.join(this.config.dataDir, 'jobs'), { recursive: true });
917
+ await fs.mkdir(path.join(this.config.dataDir, 'results'), { recursive: true });
918
+ } catch (error) {
919
+ console.error('❌ Error creating data directory:', error);
920
+ }
921
+ }
922
+
923
+ /**
680
924
  * Get current job status
681
- */ getJobStatus() {
682
- return {
683
- jobId: this.jobId,
684
- isRunning: this.isRunning,
685
- currentJob: this.currentJob,
686
- progress: this.progress,
687
- performanceMetrics: this.performanceMetrics,
688
- qualityMetrics: this.qualityMetrics,
689
- activeBoosters: Array.from(this.activeBoosters.values()),
690
- processedFilesCount: this.processedFiles.size,
691
- failedFilesCount: this.failedFiles.size
692
- };
693
- }
694
- /**
925
+ */
926
+ getJobStatus() {
927
+ return {
928
+ jobId: this.jobId,
929
+ isRunning: this.isRunning,
930
+ currentJob: this.currentJob,
931
+ progress: this.progress,
932
+ performanceMetrics: this.performanceMetrics,
933
+ qualityMetrics: this.qualityMetrics,
934
+ activeBoosters: Array.from(this.activeBoosters.values()),
935
+ processedFilesCount: this.processedFiles.size,
936
+ failedFilesCount: this.failedFiles.size
937
+ };
938
+ }
939
+
940
+ /**
695
941
  * Get detailed results
696
- */ getJobResults() {
697
- if (!this.currentJob || this.currentJob.status !== 'completed') {
698
- return {
699
- status: 'NO_RESULTS',
700
- message: 'Job not completed'
701
- };
702
- }
703
- return {
704
- ...this.currentJob.result,
705
- processedFiles: Array.from(this.processedFiles.values()),
706
- failedFiles: Array.from(this.failedFiles.values()),
707
- boosterPerformance: Array.from(this.activeBoosters.values()).map((booster)=>({
708
- id: booster.id,
709
- filesProcessed: booster.filesProcessed,
710
- totalProcessingTime: booster.totalProcessingTime,
711
- averageTimePerFile: booster.filesProcessed > 0 ? booster.totalProcessingTime / booster.filesProcessed : 0,
712
- errors: booster.errors,
713
- memoryUsage: booster.memoryUsage
714
- }))
715
- };
716
- }
717
- /**
942
+ */
943
+ getJobResults() {
944
+ if (!this.currentJob || this.currentJob.status !== 'completed') {
945
+ return { status: 'NO_RESULTS', message: 'Job not completed' };
946
+ }
947
+
948
+ return {
949
+ ...this.currentJob.result,
950
+ processedFiles: Array.from(this.processedFiles.values()),
951
+ failedFiles: Array.from(this.failedFiles.values()),
952
+ boosterPerformance: Array.from(this.activeBoosters.values()).map(booster => ({
953
+ id: booster.id,
954
+ filesProcessed: booster.filesProcessed,
955
+ totalProcessingTime: booster.totalProcessingTime,
956
+ averageTimePerFile: booster.filesProcessed > 0 ? booster.totalProcessingTime / booster.filesProcessed : 0,
957
+ errors: booster.errors,
958
+ memoryUsage: booster.memoryUsage
959
+ }))
960
+ };
961
+ }
962
+
963
+ /**
718
964
  * Cleanup resources
719
- */ async cleanup() {
720
- try {
721
- this.isRunning = false;
722
- // Cleanup Redis connections
723
- if (this.redisSubscriber) await this.redisSubscriber.quit();
724
- if (this.redisPublisher) await this.redisPublisher.quit();
725
- if (this.redisClient) await this.redisClient.quit();
726
- // Save final job data
727
- if (this.currentJob) {
728
- const jobDataFile = path.join(this.config.dataDir, 'jobs', `${this.jobId}.json`);
729
- await fs.writeFile(jobDataFile, JSON.stringify({
730
- job: this.currentJob,
731
- progress: this.progress,
732
- performanceMetrics: this.performanceMetrics,
733
- qualityMetrics: this.qualityMetrics,
734
- results: this.getJobResults()
735
- }, null, 2));
736
- }
737
- console.log('✅ Code Refactoring Swarm cleanup completed');
738
- } catch (error) {
739
- console.error('❌ Error during cleanup:', error);
740
- }
741
- }
742
- constructor(config = {}){
743
- super();
744
- this.config = {
745
- // Processing limits
746
- maxFilesPerJob: 10000,
747
- maxConcurrency: 50,
748
- batchSize: 100,
749
- // Performance targets
750
- targetImprovement: 52,
751
- maxTaskLatency: 100,
752
- // Quality checks
753
- enableAstValidation: true,
754
- enableLinting: true,
755
- enableTypeChecking: true,
756
- // Error handling
757
- maxRetries: 3,
758
- enableRollback: true,
759
- // Redis configuration
760
- redis: {
761
- host: config.redis?.host || 'localhost',
762
- port: config.redis?.port || 6379,
763
- db: config.redis?.db || 0
764
- },
765
- // Agent-booster configuration
766
- boosterConfig: {
767
- instancePoolSize: 10,
768
- memoryLimitPerInstance: 512,
769
- taskTimeout: 30000,
770
- fallbackToRegularAgents: true
771
- },
772
- // Data storage
773
- dataDir: config.dataDir || './data/code-refactoring',
774
- logLevel: config.logLevel || 'info'
775
- };
776
- // Internal state
777
- this.isRunning = false;
778
- this.jobId = null;
779
- this.redisClient = null;
780
- this.redisPublisher = null;
781
- this.redisSubscriber = null;
782
- // Job tracking
783
- this.currentJob = null;
784
- this.activeBoosters = new Map();
785
- this.fileQueue = [];
786
- this.processedFiles = new Map();
787
- this.failedFiles = new Map();
788
- // Performance tracking
789
- this.startTime = null;
790
- this.progress = {
791
- totalFiles: 0,
792
- processedFiles: 0,
793
- failedFiles: 0,
794
- skippedFiles: 0,
795
- currentPhase: 'idle',
796
- estimatedTimeRemaining: 0
797
- };
798
- // Quality metrics
799
- this.qualityMetrics = {
800
- astValidationPassed: 0,
801
- astValidationFailed: 0,
802
- lintingPassed: 0,
803
- lintingFailed: 0,
804
- typeCheckingPassed: 0,
805
- typeCheckingFailed: 0,
806
- totalQualityChecks: 0
807
- };
808
- // Performance metrics
809
- this.performanceMetrics = {
810
- baselineExecutionTime: null,
811
- currentExecutionTime: 0,
812
- improvementFactor: 0,
813
- operationsPerSecond: 0,
814
- averageFileProcessingTime: 0,
815
- boosterUtilization: 0
816
- };
817
- }
818
- }
819
- export default CodeRefactoringSwarm;
965
+ */
966
+ async cleanup() {
967
+ try {
968
+ this.isRunning = false;
969
+
970
+ // Cleanup Redis connections
971
+ if (this.redisSubscriber) await this.redisSubscriber.quit();
972
+ if (this.redisPublisher) await this.redisPublisher.quit();
973
+ if (this.redisClient) await this.redisClient.quit();
974
+
975
+ // Save final job data
976
+ if (this.currentJob) {
977
+ const jobDataFile = path.join(this.config.dataDir, 'jobs', `${this.jobId}.json`);
978
+ await fs.writeFile(jobDataFile, JSON.stringify({
979
+ job: this.currentJob,
980
+ progress: this.progress,
981
+ performanceMetrics: this.performanceMetrics,
982
+ qualityMetrics: this.qualityMetrics,
983
+ results: this.getJobResults()
984
+ }, null, 2));
985
+ }
986
+
987
+ console.log('✅ Code Refactoring Swarm cleanup completed');
988
+ } catch (error) {
989
+ console.error('❌ Error during cleanup:', error);
990
+ }
991
+ }
992
+ }
993
+
994
+ export default CodeRefactoringSwarm;