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
@@ -10,296 +10,361 @@
10
10
  * - Circuit breaker for Stop hooks
11
11
  * - Configuration validation
12
12
  * - Emergency override flags
13
- */ import { printError, printWarning, printSuccess } from "../utils.js";
14
- import { existsSync, readFileSync } from "fs";
15
- import path from "path";
13
+ */
14
+
15
+ import { printError, printWarning, printSuccess } from '../utils.js';
16
+ import { existsSync, readFileSync } from 'fs';
17
+ import path from 'path';
18
+
16
19
  /**
17
20
  * Hook Safety Configuration
18
- */ const HOOK_SAFETY_CONFIG = {
19
- // Maximum hook execution depth before blocking
20
- MAX_HOOK_DEPTH: 3,
21
- // Maximum Stop hook executions per session
22
- MAX_STOP_HOOK_EXECUTIONS: 2,
23
- // Circuit breaker timeout (milliseconds)
24
- CIRCUIT_BREAKER_TIMEOUT: 60000,
25
- // Environment variables for context detection
26
- ENV_VARS: {
27
- CONTEXT: 'CLAUDE_HOOK_CONTEXT',
28
- DEPTH: 'CLAUDE_HOOK_DEPTH',
29
- SESSION_ID: 'CLAUDE_HOOK_SESSION_ID',
30
- SKIP_HOOKS: 'CLAUDE_SKIP_HOOKS',
31
- SAFE_MODE: 'CLAUDE_SAFE_MODE'
32
- }
21
+ */
22
+ const HOOK_SAFETY_CONFIG = {
23
+ // Maximum hook execution depth before blocking
24
+ MAX_HOOK_DEPTH: 3,
25
+
26
+ // Maximum Stop hook executions per session
27
+ MAX_STOP_HOOK_EXECUTIONS: 2,
28
+
29
+ // Circuit breaker timeout (milliseconds)
30
+ CIRCUIT_BREAKER_TIMEOUT: 60000, // 1 minute
31
+
32
+ // Environment variables for context detection
33
+ ENV_VARS: {
34
+ CONTEXT: 'CLAUDE_HOOK_CONTEXT',
35
+ DEPTH: 'CLAUDE_HOOK_DEPTH',
36
+ SESSION_ID: 'CLAUDE_HOOK_SESSION_ID',
37
+ SKIP_HOOKS: 'CLAUDE_SKIP_HOOKS',
38
+ SAFE_MODE: 'CLAUDE_SAFE_MODE',
39
+ },
33
40
  };
41
+
34
42
  /**
35
43
  * Global hook execution tracking
36
- */ let HookExecutionTracker = class HookExecutionTracker {
37
- generateSessionId() {
38
- return `session-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
39
- }
40
- track(hookType) {
41
- const key = `${this.sessionId}:${hookType}`;
42
- const count = this.executions.get(key) || 0;
43
- this.executions.set(key, count + 1);
44
- // Auto-reset after timeout
45
- if (this.resetTimeout) clearTimeout(this.resetTimeout);
46
- this.resetTimeout = setTimeout(()=>{
47
- this.executions.clear();
48
- }, HOOK_SAFETY_CONFIG.CIRCUIT_BREAKER_TIMEOUT);
49
- return count + 1;
50
- }
51
- getExecutionCount(hookType) {
52
- const key = `${this.sessionId}:${hookType}`;
53
- return this.executions.get(key) || 0;
54
- }
55
- reset() {
56
- this.executions.clear();
57
- this.sessionId = this.generateSessionId();
58
- }
59
- constructor(){
60
- this.executions = new Map();
61
- this.sessionId = this.generateSessionId();
62
- this.resetTimeout = null;
63
- }
64
- };
44
+ */
45
+ class HookExecutionTracker {
46
+ constructor() {
47
+ this.executions = new Map();
48
+ this.sessionId = this.generateSessionId();
49
+ this.resetTimeout = null;
50
+ }
51
+
52
+ generateSessionId() {
53
+ return `session-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
54
+ }
55
+
56
+ track(hookType) {
57
+ const key = `${this.sessionId}:${hookType}`;
58
+ const count = this.executions.get(key) || 0;
59
+ this.executions.set(key, count + 1);
60
+
61
+ // Auto-reset after timeout
62
+ if (this.resetTimeout) clearTimeout(this.resetTimeout);
63
+ this.resetTimeout = setTimeout(() => {
64
+ this.executions.clear();
65
+ }, HOOK_SAFETY_CONFIG.CIRCUIT_BREAKER_TIMEOUT);
66
+
67
+ return count + 1;
68
+ }
69
+
70
+ getExecutionCount(hookType) {
71
+ const key = `${this.sessionId}:${hookType}`;
72
+ return this.executions.get(key) || 0;
73
+ }
74
+
75
+ reset() {
76
+ this.executions.clear();
77
+ this.sessionId = this.generateSessionId();
78
+ }
79
+ }
80
+
65
81
  // Global instance
66
82
  const executionTracker = new HookExecutionTracker();
83
+
67
84
  /**
68
85
  * Hook Context Manager - Tracks hook execution context
69
- */ export class HookContextManager {
70
- static setContext(hookType, depth = 1) {
71
- process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT] = hookType;
72
- process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH] = depth.toString();
73
- process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID] = executionTracker.sessionId;
74
- }
75
- static getContext() {
76
- return {
77
- type: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT],
78
- depth: parseInt(process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH] || '0'),
79
- sessionId: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID],
80
- skipHooks: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS] === 'true',
81
- safeMode: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE] === 'true'
82
- };
83
- }
84
- static clearContext() {
85
- delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT];
86
- delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH];
87
- delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID];
88
- }
89
- static isInHookContext() {
90
- return !!process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT];
91
- }
92
- static setSafeMode(enabled = true) {
93
- if (enabled) {
94
- process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE] = 'true';
95
- } else {
96
- delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE];
97
- }
86
+ */
87
+ export class HookContextManager {
88
+ static setContext(hookType, depth = 1) {
89
+ process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT] = hookType;
90
+ process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH] = depth.toString();
91
+ process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID] = executionTracker.sessionId;
92
+ }
93
+
94
+ static getContext() {
95
+ return {
96
+ type: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT],
97
+ depth: parseInt(process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH] || '0'),
98
+ sessionId: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID],
99
+ skipHooks: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS] === 'true',
100
+ safeMode: process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE] === 'true',
101
+ };
102
+ }
103
+
104
+ static clearContext() {
105
+ delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT];
106
+ delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.DEPTH];
107
+ delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SESSION_ID];
108
+ }
109
+
110
+ static isInHookContext() {
111
+ return !!process.env[HOOK_SAFETY_CONFIG.ENV_VARS.CONTEXT];
112
+ }
113
+
114
+ static setSafeMode(enabled = true) {
115
+ if (enabled) {
116
+ process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE] = 'true';
117
+ } else {
118
+ delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SAFE_MODE];
98
119
  }
99
- static setSkipHooks(enabled = true) {
100
- if (enabled) {
101
- process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS] = 'true';
102
- } else {
103
- delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS];
104
- }
120
+ }
121
+
122
+ static setSkipHooks(enabled = true) {
123
+ if (enabled) {
124
+ process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS] = 'true';
125
+ } else {
126
+ delete process.env[HOOK_SAFETY_CONFIG.ENV_VARS.SKIP_HOOKS];
105
127
  }
128
+ }
106
129
  }
130
+
107
131
  /**
108
132
  * Command Validator - Validates commands for hook safety
109
- */ export class HookCommandValidator {
110
- /**
133
+ */
134
+ export class HookCommandValidator {
135
+ /**
111
136
  * Validate if a command is safe to execute from a hook
112
- */ static validateCommand(command, hookType) {
113
- const context = HookContextManager.getContext();
114
- const warnings = [];
115
- const errors = [];
116
- // Critical check: Claude commands in Stop hooks
117
- if (hookType === 'Stop' && this.isClaudeCommand(command)) {
118
- errors.push({
119
- type: 'CRITICAL_RECURSION_RISK',
120
- message: '🚨 CRITICAL ERROR: Claude command detected in Stop hook!\n' + 'This creates an INFINITE LOOP that can cost THOUSANDS OF DOLLARS.\n' + 'Stop hooks that call "claude" commands bypass rate limits and\n' + 'can result in massive unexpected API charges.\n\n' + 'BLOCKED FOR SAFETY - Use alternative patterns instead.'
121
- });
122
- }
123
- // General recursion detection
124
- if (context.type && this.isClaudeCommand(command)) {
125
- const depth = context.depth;
126
- if (depth >= HOOK_SAFETY_CONFIG.MAX_HOOK_DEPTH) {
127
- errors.push({
128
- type: 'HOOK_RECURSION_LIMIT',
129
- message: `🚨 Hook recursion limit exceeded! (Depth: ${depth})\n` + `Hook type: ${context.type}\n` + 'Blocking execution to prevent infinite loop.'
130
- });
131
- } else {
132
- warnings.push({
133
- type: 'POTENTIAL_RECURSION',
134
- message: `⚠️ WARNING: Claude command in ${context.type} hook (depth: ${depth})\n` + 'This could create recursion. Consider using --skip-hooks flag.'
135
- });
136
- }
137
- }
138
- // Check for other dangerous patterns
139
- if (this.isDangerousPattern(command, hookType)) {
140
- warnings.push({
141
- type: 'DANGEROUS_PATTERN',
142
- message: `⚠️ WARNING: Potentially dangerous hook pattern detected.\n` + 'Review the command and consider safer alternatives.'
143
- });
144
- }
145
- return {
146
- warnings,
147
- errors,
148
- safe: errors.length === 0
149
- };
137
+ */
138
+ static validateCommand(command, hookType) {
139
+ const context = HookContextManager.getContext();
140
+ const warnings = [];
141
+ const errors = [];
142
+
143
+ // Critical check: Claude commands in Stop hooks
144
+ if (hookType === 'Stop' && this.isClaudeCommand(command)) {
145
+ errors.push({
146
+ type: 'CRITICAL_RECURSION_RISK',
147
+ message:
148
+ '🚨 CRITICAL ERROR: Claude command detected in Stop hook!\n' +
149
+ 'This creates an INFINITE LOOP that can cost THOUSANDS OF DOLLARS.\n' +
150
+ 'Stop hooks that call "claude" commands bypass rate limits and\n' +
151
+ 'can result in massive unexpected API charges.\n\n' +
152
+ 'BLOCKED FOR SAFETY - Use alternative patterns instead.',
153
+ });
150
154
  }
151
- static isClaudeCommand(command) {
152
- // Match various forms of claude command invocation
153
- const claudePatterns = [
154
- /\bclaude\b/,
155
- /claude-code\b/,
156
- /npx\s+claude\b/,
157
- /\.\/claude\b/,
158
- /claude\.exe\b/
159
- ];
160
- return claudePatterns.some((pattern)=>pattern.test(command));
155
+
156
+ // General recursion detection
157
+ if (context.type && this.isClaudeCommand(command)) {
158
+ const depth = context.depth;
159
+
160
+ if (depth >= HOOK_SAFETY_CONFIG.MAX_HOOK_DEPTH) {
161
+ errors.push({
162
+ type: 'HOOK_RECURSION_LIMIT',
163
+ message:
164
+ `🚨 Hook recursion limit exceeded! (Depth: ${depth})\n` +
165
+ `Hook type: ${context.type}\n` +
166
+ 'Blocking execution to prevent infinite loop.',
167
+ });
168
+ } else {
169
+ warnings.push({
170
+ type: 'POTENTIAL_RECURSION',
171
+ message:
172
+ `⚠️ WARNING: Claude command in ${context.type} hook (depth: ${depth})\n` +
173
+ 'This could create recursion. Consider using --skip-hooks flag.',
174
+ });
175
+ }
161
176
  }
162
- static isDangerousPattern(command, hookType) {
163
- const dangerousPatterns = [
164
- // Commands that could trigger more hooks
165
- /git\s+commit.*--all/,
166
- /git\s+add\s+\./,
167
- // File operations that might trigger watchers
168
- /watch\s+.*claude/,
169
- /nodemon.*claude/,
170
- // Recursive script execution
171
- /bash.*hook/,
172
- /sh.*hook/
173
- ];
174
- return dangerousPatterns.some((pattern)=>pattern.test(command));
177
+
178
+ // Check for other dangerous patterns
179
+ if (this.isDangerousPattern(command, hookType)) {
180
+ warnings.push({
181
+ type: 'DANGEROUS_PATTERN',
182
+ message:
183
+ `⚠️ WARNING: Potentially dangerous hook pattern detected.\n` +
184
+ 'Review the command and consider safer alternatives.',
185
+ });
175
186
  }
187
+
188
+ return { warnings, errors, safe: errors.length === 0 };
189
+ }
190
+
191
+ static isClaudeCommand(command) {
192
+ // Match various forms of claude command invocation
193
+ const claudePatterns = [
194
+ /\bclaude\b/, // Direct claude command
195
+ /claude-code\b/, // claude-code command
196
+ /npx\s+claude\b/, // NPX claude
197
+ /\.\/claude\b/, // Local claude wrapper
198
+ /claude\.exe\b/, // Windows executable
199
+ ];
200
+
201
+ return claudePatterns.some((pattern) => pattern.test(command));
202
+ }
203
+
204
+ static isDangerousPattern(command, hookType) {
205
+ const dangerousPatterns = [
206
+ // Commands that could trigger more hooks
207
+ /git\s+commit.*--all/,
208
+ /git\s+add\s+\./,
209
+ // File operations that might trigger watchers
210
+ /watch\s+.*claude/,
211
+ /nodemon.*claude/,
212
+ // Recursive script execution
213
+ /bash.*hook/,
214
+ /sh.*hook/,
215
+ ];
216
+
217
+ return dangerousPatterns.some((pattern) => pattern.test(command));
218
+ }
176
219
  }
220
+
177
221
  /**
178
222
  * Circuit Breaker - Prevents runaway hook execution
179
- */ export class HookCircuitBreaker {
180
- /**
223
+ */
224
+ export class HookCircuitBreaker {
225
+ /**
181
226
  * Check if hook execution should be allowed
182
- */ static checkExecution(hookType) {
183
- const executionCount = executionTracker.track(hookType);
184
- // Stop hook protection - maximum 2 executions per session
185
- if (hookType === 'Stop' && executionCount > HOOK_SAFETY_CONFIG.MAX_STOP_HOOK_EXECUTIONS) {
186
- throw new Error(`🚨 CIRCUIT BREAKER ACTIVATED!\n` + `Stop hook has executed ${executionCount} times in this session.\n` + `This indicates a potential infinite loop that could cost thousands of dollars.\n` + `Execution blocked for financial protection.\n\n` + `To reset: Use --reset-circuit-breaker flag or restart your session.`);
187
- }
188
- // General protection for any hook type
189
- if (executionCount > 20) {
190
- throw new Error(`🚨 CIRCUIT BREAKER: ${hookType} hook executed ${executionCount} times!\n` + `This is highly unusual and indicates a potential problem.\n` + `Execution blocked to prevent system overload.`);
191
- }
192
- // Log warnings for concerning patterns
193
- if (hookType === 'Stop' && executionCount > 1) {
194
- printWarning(`⚠️ Stop hook execution #${executionCount} detected. Monitor for recursion.`);
195
- }
196
- return true;
227
+ */
228
+ static checkExecution(hookType) {
229
+ const executionCount = executionTracker.track(hookType);
230
+
231
+ // Stop hook protection - maximum 2 executions per session
232
+ if (hookType === 'Stop' && executionCount > HOOK_SAFETY_CONFIG.MAX_STOP_HOOK_EXECUTIONS) {
233
+ throw new Error(
234
+ `🚨 CIRCUIT BREAKER ACTIVATED!\n` +
235
+ `Stop hook has executed ${executionCount} times in this session.\n` +
236
+ `This indicates a potential infinite loop that could cost thousands of dollars.\n` +
237
+ `Execution blocked for financial protection.\n\n` +
238
+ `To reset: Use --reset-circuit-breaker flag or restart your session.`,
239
+ );
197
240
  }
198
- static reset() {
199
- executionTracker.reset();
200
- printSuccess('Circuit breaker reset successfully.');
241
+
242
+ // General protection for any hook type
243
+ if (executionCount > 20) {
244
+ throw new Error(
245
+ `🚨 CIRCUIT BREAKER: ${hookType} hook executed ${executionCount} times!\n` +
246
+ `This is highly unusual and indicates a potential problem.\n` +
247
+ `Execution blocked to prevent system overload.`,
248
+ );
201
249
  }
202
- static getStatus() {
203
- return {
204
- sessionId: executionTracker.sessionId,
205
- executions: Array.from(executionTracker.executions.entries()).map(([key, count])=>{
206
- const [sessionId, hookType] = key.split(':');
207
- return {
208
- hookType,
209
- count
210
- };
211
- })
212
- };
250
+
251
+ // Log warnings for concerning patterns
252
+ if (hookType === 'Stop' && executionCount > 1) {
253
+ printWarning(`⚠️ Stop hook execution #${executionCount} detected. Monitor for recursion.`);
213
254
  }
255
+
256
+ return true;
257
+ }
258
+
259
+ static reset() {
260
+ executionTracker.reset();
261
+ printSuccess('Circuit breaker reset successfully.');
262
+ }
263
+
264
+ static getStatus() {
265
+ return {
266
+ sessionId: executionTracker.sessionId,
267
+ executions: Array.from(executionTracker.executions.entries()).map(([key, count]) => {
268
+ const [sessionId, hookType] = key.split(':');
269
+ return { hookType, count };
270
+ }),
271
+ };
272
+ }
214
273
  }
274
+
215
275
  /**
216
276
  * Configuration Validator - Validates hook configurations for safety
217
- */ export class HookConfigValidator {
218
- /**
277
+ */
278
+ export class HookConfigValidator {
279
+ /**
219
280
  * Validate Claude Code settings.json for dangerous hook configurations
220
- */ static validateClaudeCodeConfig(configPath = null) {
221
- if (!configPath) {
222
- // Try to find Claude Code settings
223
- const possiblePaths = [
224
- path.join(process.env.HOME || '.', '.claude', 'settings.json'),
225
- path.join(process.cwd(), '.claude', 'settings.json'),
226
- path.join(process.cwd(), 'settings.json')
227
- ];
228
- configPath = possiblePaths.find((p)=>existsSync(p));
229
- if (!configPath) {
230
- return {
231
- safe: true,
232
- message: 'No Claude Code configuration found.'
233
- };
234
- }
235
- }
236
- try {
237
- const config = JSON.parse(readFileSync(configPath, 'utf8'));
238
- const validation = this.validateHooksConfig(config.hooks || {});
239
- return {
240
- safe: validation.errors.length === 0,
241
- configPath,
242
- ...validation
243
- };
244
- } catch (err) {
245
- return {
246
- safe: false,
247
- error: `Failed to validate configuration: ${err.message}`,
248
- configPath
249
- };
250
- }
281
+ */
282
+ static validateClaudeCodeConfig(configPath = null) {
283
+ if (!configPath) {
284
+ // Try to find Claude Code settings
285
+ const possiblePaths = [
286
+ path.join(process.env.HOME || '.', '.claude', 'settings.json'),
287
+ path.join(process.cwd(), '.claude', 'settings.json'),
288
+ path.join(process.cwd(), 'settings.json'),
289
+ ];
290
+
291
+ configPath = possiblePaths.find((p) => existsSync(p));
292
+
293
+ if (!configPath) {
294
+ return { safe: true, message: 'No Claude Code configuration found.' };
295
+ }
251
296
  }
252
- /**
297
+
298
+ try {
299
+ const config = JSON.parse(readFileSync(configPath, 'utf8'));
300
+ const validation = this.validateHooksConfig(config.hooks || {});
301
+
302
+ return {
303
+ safe: validation.errors.length === 0,
304
+ configPath,
305
+ ...validation,
306
+ };
307
+ } catch (err) {
308
+ return {
309
+ safe: false,
310
+ error: `Failed to validate configuration: ${err.message}`,
311
+ configPath,
312
+ };
313
+ }
314
+ }
315
+
316
+ /**
253
317
  * Validate hooks configuration object
254
- */ static validateHooksConfig(hooksConfig) {
255
- const warnings = [];
256
- const errors = [];
257
- // Check Stop hooks specifically
258
- if (hooksConfig.Stop) {
259
- for (const hookGroup of hooksConfig.Stop){
260
- for (const hook of hookGroup.hooks || []){
261
- if (hook.type === 'command' && hook.command) {
262
- const result = HookCommandValidator.validateCommand(hook.command, 'Stop');
263
- warnings.push(...result.warnings);
264
- errors.push(...result.errors);
265
- }
266
- }
267
- }
318
+ */
319
+ static validateHooksConfig(hooksConfig) {
320
+ const warnings = [];
321
+ const errors = [];
322
+
323
+ // Check Stop hooks specifically
324
+ if (hooksConfig.Stop) {
325
+ for (const hookGroup of hooksConfig.Stop) {
326
+ for (const hook of hookGroup.hooks || []) {
327
+ if (hook.type === 'command' && hook.command) {
328
+ const result = HookCommandValidator.validateCommand(hook.command, 'Stop');
329
+ warnings.push(...result.warnings);
330
+ errors.push(...result.errors);
331
+ }
268
332
  }
269
- // Check other dangerous hook types
270
- const dangerousHookTypes = [
271
- 'SubagentStop',
272
- 'PostToolUse'
273
- ];
274
- for (const hookType of dangerousHookTypes){
275
- if (hooksConfig[hookType]) {
276
- for (const hookGroup of hooksConfig[hookType]){
277
- for (const hook of hookGroup.hooks || []){
278
- if (hook.type === 'command' && hook.command) {
279
- const result = HookCommandValidator.validateCommand(hook.command, hookType);
280
- warnings.push(...result.warnings);
281
- errors.push(...result.errors);
282
- }
283
- }
284
- }
333
+ }
334
+ }
335
+
336
+ // Check other dangerous hook types
337
+ const dangerousHookTypes = ['SubagentStop', 'PostToolUse'];
338
+ for (const hookType of dangerousHookTypes) {
339
+ if (hooksConfig[hookType]) {
340
+ for (const hookGroup of hooksConfig[hookType]) {
341
+ for (const hook of hookGroup.hooks || []) {
342
+ if (hook.type === 'command' && hook.command) {
343
+ const result = HookCommandValidator.validateCommand(hook.command, hookType);
344
+ warnings.push(...result.warnings);
345
+ errors.push(...result.errors);
285
346
  }
347
+ }
286
348
  }
287
- return {
288
- warnings,
289
- errors
290
- };
349
+ }
291
350
  }
292
- /**
351
+
352
+ return { warnings, errors };
353
+ }
354
+
355
+ /**
293
356
  * Generate safe configuration recommendations
294
- */ static generateSafeAlternatives(dangerousConfig) {
295
- const alternatives = [];
296
- // Example: Stop hook calling claude
297
- if (dangerousConfig.includes('claude')) {
298
- alternatives.push({
299
- pattern: 'Stop hook with claude command',
300
- problem: 'Creates infinite recursion loop',
301
- solution: 'Use flag-based approach instead',
302
- example: `
357
+ */
358
+ static generateSafeAlternatives(dangerousConfig) {
359
+ const alternatives = [];
360
+
361
+ // Example: Stop hook calling claude
362
+ if (dangerousConfig.includes('claude')) {
363
+ alternatives.push({
364
+ pattern: 'Stop hook with claude command',
365
+ problem: 'Creates infinite recursion loop',
366
+ solution: 'Use flag-based approach instead',
367
+ example: `
303
368
  // Instead of this DANGEROUS pattern:
304
369
  {
305
370
  "Stop": [{
@@ -315,13 +380,14 @@ const executionTracker = new HookExecutionTracker();
315
380
  }
316
381
 
317
382
  // Then manually run: claude -c -p "Update history" when needed
318
- `
319
- });
320
- alternatives.push({
321
- pattern: 'PostToolUse hook alternative',
322
- problem: 'Stop hooks execute too frequently',
323
- solution: 'Use PostToolUse for specific tools',
324
- example: `
383
+ `,
384
+ });
385
+
386
+ alternatives.push({
387
+ pattern: 'PostToolUse hook alternative',
388
+ problem: 'Stop hooks execute too frequently',
389
+ solution: 'Use PostToolUse for specific tools',
390
+ example: `
325
391
  // SAFER: Use PostToolUse for specific operations
326
392
  {
327
393
  "PostToolUse": [{
@@ -329,177 +395,195 @@ const executionTracker = new HookExecutionTracker();
329
395
  "hooks": [{"type": "command", "command": "echo 'File modified' >> ~/.claude/changes.log"}]
330
396
  }]
331
397
  }
332
- `
333
- });
334
- }
335
- return alternatives;
398
+ `,
399
+ });
336
400
  }
401
+
402
+ return alternatives;
403
+ }
337
404
  }
405
+
338
406
  /**
339
407
  * Safe Hook Execution Wrapper
340
- */ export class SafeHookExecutor {
341
- /**
408
+ */
409
+ export class SafeHookExecutor {
410
+ /**
342
411
  * Safely execute a hook command with all safety checks
343
- */ static async executeHookCommand(command, hookType, options = {}) {
344
- try {
345
- // Skip if hooks are disabled
346
- if (HookContextManager.getContext().skipHooks) {
347
- console.log(`⏭️ Skipping ${hookType} hook (hooks disabled)`);
348
- return {
349
- success: true,
350
- skipped: true
351
- };
352
- }
353
- // Circuit breaker check
354
- HookCircuitBreaker.checkExecution(hookType);
355
- // Command validation
356
- const validation = HookCommandValidator.validateCommand(command, hookType);
357
- // Show warnings
358
- for (const warning of validation.warnings){
359
- printWarning(warning.message);
360
- }
361
- // Block on errors
362
- if (!validation.safe) {
363
- for (const error of validation.errors){
364
- printError(error.message);
365
- }
366
- return {
367
- success: false,
368
- blocked: true,
369
- errors: validation.errors
370
- };
371
- }
372
- // Set hook context for nested calls
373
- const currentContext = HookContextManager.getContext();
374
- const newDepth = currentContext.depth + 1;
375
- HookContextManager.setContext(hookType, newDepth);
376
- // Execute the command with safety context
377
- const result = await this.executeCommand(command, options);
378
- return {
379
- success: true,
380
- result
381
- };
382
- } catch (err) {
383
- printError(`Hook execution failed: ${err.message}`);
384
- return {
385
- success: false,
386
- error: err.message
387
- };
388
- } finally{
389
- // Clear context
390
- HookContextManager.clearContext();
412
+ */
413
+ static async executeHookCommand(command, hookType, options = {}) {
414
+ try {
415
+ // Skip if hooks are disabled
416
+ if (HookContextManager.getContext().skipHooks) {
417
+ console.log(`⏭️ Skipping ${hookType} hook (hooks disabled)`);
418
+ return { success: true, skipped: true };
419
+ }
420
+
421
+ // Circuit breaker check
422
+ HookCircuitBreaker.checkExecution(hookType);
423
+
424
+ // Command validation
425
+ const validation = HookCommandValidator.validateCommand(command, hookType);
426
+
427
+ // Show warnings
428
+ for (const warning of validation.warnings) {
429
+ printWarning(warning.message);
430
+ }
431
+
432
+ // Block on errors
433
+ if (!validation.safe) {
434
+ for (const error of validation.errors) {
435
+ printError(error.message);
391
436
  }
437
+ return { success: false, blocked: true, errors: validation.errors };
438
+ }
439
+
440
+ // Set hook context for nested calls
441
+ const currentContext = HookContextManager.getContext();
442
+ const newDepth = currentContext.depth + 1;
443
+ HookContextManager.setContext(hookType, newDepth);
444
+
445
+ // Execute the command with safety context
446
+ const result = await this.executeCommand(command, options);
447
+
448
+ return { success: true, result };
449
+ } catch (err) {
450
+ printError(`Hook execution failed: ${err.message}`);
451
+ return { success: false, error: err.message };
452
+ } finally {
453
+ // Clear context
454
+ HookContextManager.clearContext();
392
455
  }
393
- static async executeCommand(command, options = {}) {
394
- // This would integrate with the actual command execution system
395
- // For now, just log what would be executed
396
- console.log(`🔗 Executing hook command: ${command}`);
397
- // Here you would actually execute the command
398
- // return await execCommand(command, options);
399
- return {
400
- stdout: '',
401
- stderr: '',
402
- exitCode: 0
403
- };
404
- }
456
+ }
457
+
458
+ static async executeCommand(command, options = {}) {
459
+ // This would integrate with the actual command execution system
460
+ // For now, just log what would be executed
461
+ console.log(`🔗 Executing hook command: ${command}`);
462
+
463
+ // Here you would actually execute the command
464
+ // return await execCommand(command, options);
465
+
466
+ return { stdout: '', stderr: '', exitCode: 0 };
467
+ }
405
468
  }
469
+
406
470
  /**
407
471
  * Hook Safety CLI Commands
408
- */ export async function hookSafetyCommand(subArgs, flags) {
409
- const subcommand = subArgs[0];
410
- switch(subcommand){
411
- case 'validate':
412
- return await validateConfigCommand(subArgs, flags);
413
- case 'status':
414
- return await statusCommand(subArgs, flags);
415
- case 'reset':
416
- return await resetCommand(subArgs, flags);
417
- case 'safe-mode':
418
- return await safeModeCommand(subArgs, flags);
419
- default:
420
- showHookSafetyHelp();
421
- }
472
+ */
473
+ export async function hookSafetyCommand(subArgs, flags) {
474
+ const subcommand = subArgs[0];
475
+
476
+ switch (subcommand) {
477
+ case 'validate':
478
+ return await validateConfigCommand(subArgs, flags);
479
+ case 'status':
480
+ return await statusCommand(subArgs, flags);
481
+ case 'reset':
482
+ return await resetCommand(subArgs, flags);
483
+ case 'safe-mode':
484
+ return await safeModeCommand(subArgs, flags);
485
+ default:
486
+ showHookSafetyHelp();
487
+ }
422
488
  }
489
+
423
490
  async function validateConfigCommand(subArgs, flags) {
424
- const configPath = flags.config || flags.c;
425
- console.log('🔍 Validating hook configuration for safety...\n');
426
- const result = HookConfigValidator.validateClaudeCodeConfig(configPath);
427
- if (result.safe) {
428
- printSuccess('✅ Hook configuration is safe!');
429
- if (result.configPath) {
430
- console.log(`📄 Validated: ${result.configPath}`);
431
- }
432
- } else {
433
- printError('❌ DANGEROUS hook configuration detected!');
434
- if (result.errors) {
435
- console.log('\n🚨 CRITICAL ERRORS:');
436
- for (const error of result.errors){
437
- console.log(`\n${error.message}`);
438
- }
439
- }
440
- if (result.warnings) {
441
- console.log('\n⚠️ WARNINGS:');
442
- for (const warning of result.warnings){
443
- console.log(`\n${warning.message}`);
444
- }
445
- }
446
- console.log('\n💡 RECOMMENDATIONS:');
447
- console.log('1. Remove claude commands from Stop hooks');
448
- console.log('2. Use PostToolUse hooks for specific tools');
449
- console.log('3. Implement flag-based update patterns');
450
- console.log('4. Use claude --skip-hooks for manual updates');
491
+ const configPath = flags.config || flags.c;
492
+
493
+ console.log('🔍 Validating hook configuration for safety...\n');
494
+
495
+ const result = HookConfigValidator.validateClaudeCodeConfig(configPath);
496
+
497
+ if (result.safe) {
498
+ printSuccess('✅ Hook configuration is safe!');
499
+ if (result.configPath) {
500
+ console.log(`📄 Validated: ${result.configPath}`);
501
+ }
502
+ } else {
503
+ printError('❌ DANGEROUS hook configuration detected!');
504
+
505
+ if (result.errors) {
506
+ console.log('\n🚨 CRITICAL ERRORS:');
507
+ for (const error of result.errors) {
508
+ console.log(`\n${error.message}`);
509
+ }
451
510
  }
511
+
512
+ if (result.warnings) {
513
+ console.log('\n⚠️ WARNINGS:');
514
+ for (const warning of result.warnings) {
515
+ console.log(`\n${warning.message}`);
516
+ }
517
+ }
518
+
519
+ console.log('\n💡 RECOMMENDATIONS:');
520
+ console.log('1. Remove claude commands from Stop hooks');
521
+ console.log('2. Use PostToolUse hooks for specific tools');
522
+ console.log('3. Implement flag-based update patterns');
523
+ console.log('4. Use claude --skip-hooks for manual updates');
524
+ }
452
525
  }
526
+
453
527
  async function statusCommand(subArgs, flags) {
454
- const context = HookContextManager.getContext();
455
- const circuitStatus = HookCircuitBreaker.getStatus();
456
- console.log('🔗 Hook Safety Status\n');
457
- console.log('📊 Current Context:');
458
- if (context.type) {
459
- console.log(` 🔄 Hook Type: ${context.type}`);
460
- console.log(` 📏 Depth: ${context.depth}`);
461
- console.log(` 🆔 Session: ${context.sessionId}`);
462
- console.log(` ⏭️ Skip Hooks: ${context.skipHooks ? 'Yes' : 'No'}`);
463
- console.log(` 🛡️ Safe Mode: ${context.safeMode ? 'Yes' : 'No'}`);
464
- } else {
465
- console.log(' Not currently in hook context');
466
- }
467
- console.log('\n⚡ Circuit Breaker Status:');
468
- console.log(` 🆔 Session: ${circuitStatus.sessionId}`);
469
- if (circuitStatus.executions.length > 0) {
470
- console.log(' 📊 Hook Executions:');
471
- for (const exec of circuitStatus.executions){
472
- console.log(` • ${exec.hookType}: ${exec.count} times`);
473
- }
474
- } else {
475
- console.log(' ✅ No hook executions in current session');
528
+ const context = HookContextManager.getContext();
529
+ const circuitStatus = HookCircuitBreaker.getStatus();
530
+
531
+ console.log('🔗 Hook Safety Status\n');
532
+
533
+ console.log('📊 Current Context:');
534
+ if (context.type) {
535
+ console.log(` 🔄 Hook Type: ${context.type}`);
536
+ console.log(` 📏 Depth: ${context.depth}`);
537
+ console.log(` 🆔 Session: ${context.sessionId}`);
538
+ console.log(` ⏭️ Skip Hooks: ${context.skipHooks ? 'Yes' : 'No'}`);
539
+ console.log(` 🛡️ Safe Mode: ${context.safeMode ? 'Yes' : 'No'}`);
540
+ } else {
541
+ console.log(' Not currently in hook context');
542
+ }
543
+
544
+ console.log('\n⚡ Circuit Breaker Status:');
545
+ console.log(` 🆔 Session: ${circuitStatus.sessionId}`);
546
+
547
+ if (circuitStatus.executions.length > 0) {
548
+ console.log(' 📊 Hook Executions:');
549
+ for (const exec of circuitStatus.executions) {
550
+ console.log(` • ${exec.hookType}: ${exec.count} times`);
476
551
  }
552
+ } else {
553
+ console.log(' ✅ No hook executions in current session');
554
+ }
477
555
  }
556
+
478
557
  async function resetCommand(subArgs, flags) {
479
- console.log('🔄 Resetting hook safety systems...\n');
480
- HookCircuitBreaker.reset();
481
- HookContextManager.clearContext();
482
- printSuccess('✅ Hook safety systems reset successfully!');
483
- console.log('All execution counters and context cleared.');
558
+ console.log('🔄 Resetting hook safety systems...\n');
559
+
560
+ HookCircuitBreaker.reset();
561
+ HookContextManager.clearContext();
562
+
563
+ printSuccess('✅ Hook safety systems reset successfully!');
564
+ console.log('All execution counters and context cleared.');
484
565
  }
566
+
485
567
  async function safeModeCommand(subArgs, flags) {
486
- const enable = !flags.disable && !flags.off;
487
- if (enable) {
488
- HookContextManager.setSafeMode(true);
489
- HookContextManager.setSkipHooks(true);
490
- printSuccess('🛡️ Safe mode enabled!');
491
- console.log(' All hooks will be skipped');
492
- console.log('• Claude commands will show safety warnings');
493
- console.log('• Additional validation will be performed');
494
- } else {
495
- HookContextManager.setSafeMode(false);
496
- HookContextManager.setSkipHooks(false);
497
- printSuccess('⚡ Safe mode disabled.');
498
- console.log('Normal hook execution restored.');
499
- }
568
+ const enable = !flags.disable && !flags.off;
569
+
570
+ if (enable) {
571
+ HookContextManager.setSafeMode(true);
572
+ HookContextManager.setSkipHooks(true);
573
+ printSuccess('🛡️ Safe mode enabled!');
574
+ console.log('• All hooks will be skipped');
575
+ console.log('• Claude commands will show safety warnings');
576
+ console.log('• Additional validation will be performed');
577
+ } else {
578
+ HookContextManager.setSafeMode(false);
579
+ HookContextManager.setSkipHooks(false);
580
+ printSuccess(' Safe mode disabled.');
581
+ console.log('Normal hook execution restored.');
582
+ }
500
583
  }
584
+
501
585
  function showHookSafetyHelp() {
502
- console.log(`
586
+ console.log(`
503
587
  🛡️ Hook Safety System - Prevent Infinite Loops & Financial Damage
504
588
 
505
589
  USAGE:
@@ -551,31 +635,37 @@ SAFE ALTERNATIVES:
551
635
  For more information: https://github.com/ruvnet/claude-flow/issues/166
552
636
  `);
553
637
  }
638
+
554
639
  /**
555
640
  * Emergency CLI flags for Claude commands
556
- */ export function addSafetyFlags(command) {
557
- // Add safety flags to any claude command
558
- const context = HookContextManager.getContext();
559
- if (context.type) {
560
- // Automatically add --skip-hooks if in hook context
561
- if (!command.includes('--skip-hooks')) {
562
- command += ' --skip-hooks';
563
- }
641
+ */
642
+ export function addSafetyFlags(command) {
643
+ // Add safety flags to any claude command
644
+ const context = HookContextManager.getContext();
645
+
646
+ if (context.type) {
647
+ // Automatically add --skip-hooks if in hook context
648
+ if (!command.includes('--skip-hooks')) {
649
+ command += ' --skip-hooks';
564
650
  }
565
- if (context.safeMode) {
566
- // Add additional safety flags in safe mode
567
- if (!command.includes('--dry-run')) {
568
- command += ' --dry-run';
569
- }
651
+ }
652
+
653
+ if (context.safeMode) {
654
+ // Add additional safety flags in safe mode
655
+ if (!command.includes('--dry-run')) {
656
+ command += ' --dry-run';
570
657
  }
571
- return command;
658
+ }
659
+
660
+ return command;
572
661
  }
662
+
573
663
  export default {
574
- HookContextManager,
575
- HookCommandValidator,
576
- HookCircuitBreaker,
577
- HookConfigValidator,
578
- SafeHookExecutor,
579
- hookSafetyCommand,
580
- addSafetyFlags
664
+ HookContextManager,
665
+ HookCommandValidator,
666
+ HookCircuitBreaker,
667
+ HookConfigValidator,
668
+ SafeHookExecutor,
669
+ hookSafetyCommand,
670
+ addSafetyFlags,
581
671
  };