claude-flow 2.0.0-alpha.3 → 2.0.0-alpha.31

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 (1024) hide show
  1. package/.claude/settings.json +31 -112
  2. package/README.md +637 -666
  3. package/bin/claude-flow +27 -3
  4. package/cli.mjs +3 -20
  5. package/package.json +3 -2
  6. package/scripts/claude-flow-wrapper.sh +35 -0
  7. package/src/cli/cli-core.ts +1 -1
  8. package/src/cli/command-registry.js +69 -1
  9. package/src/cli/commands/hook-types.ts +126 -0
  10. package/src/cli/commands/hook-validator.ts +191 -0
  11. package/src/cli/commands/hook.ts +346 -0
  12. package/src/cli/commands/index.ts +37 -0
  13. package/src/cli/commands/start/start-command.ts +3 -3
  14. package/src/cli/commands/swarm-new.ts +763 -353
  15. package/src/cli/commands/swarm-spawn.ts +8 -13
  16. package/src/cli/commands/swarm.ts +1 -1
  17. package/src/cli/commands/task.ts +51 -7
  18. package/src/cli/commands/workflow.ts +746 -10
  19. package/src/cli/index-remote.ts +1 -1
  20. package/src/cli/index.ts +35 -29
  21. package/src/cli/node-compat.js +2 -71
  22. package/src/cli/node-repl.ts +3 -5
  23. package/src/cli/repl.ts +33 -57
  24. package/src/cli/simple-cli.ts +27 -85
  25. package/src/cli/simple-commands/hive-mind/core.js +3 -1
  26. package/src/cli/simple-commands/hive-mind/db-optimizer.js +665 -0
  27. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +4 -1
  28. package/src/cli/simple-commands/hive-mind/memory.js +19 -5
  29. package/src/cli/simple-commands/hive-mind-optimize.js +357 -0
  30. package/src/cli/simple-commands/hive-mind.js +506 -675
  31. package/src/cli/simple-commands/hook-safety.js +668 -0
  32. package/src/cli/simple-commands/init/executable-wrapper.js +20 -13
  33. package/src/cli/simple-commands/init/help.js +6 -2
  34. package/src/cli/simple-commands/init/index.js +232 -195
  35. package/src/cli/simple-commands/init/sparc-structure.js +3 -1
  36. package/src/cli/simple-commands/init/templates/CLAUDE.md +15 -15
  37. package/src/cli/simple-commands/init/templates/claude-flow-universal +71 -0
  38. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +102 -0
  39. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +105 -0
  40. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +106 -0
  41. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +101 -0
  42. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +102 -0
  43. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +102 -0
  44. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +105 -0
  45. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +8 -8
  46. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +107 -0
  47. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +110 -0
  48. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +106 -0
  49. package/src/cli/simple-commands/init/templates/enhanced-templates.js +164 -224
  50. package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +381 -0
  51. package/src/cli/simple-commands/init/templates/settings.json +31 -112
  52. package/src/cli/simple-commands/swarm.js +9 -6
  53. package/src/cli/ui/compatible-ui.ts +1 -14
  54. package/src/cli/ui/fallback-handler.ts +2 -2
  55. package/src/cli/utils/environment-detector.ts +6 -6
  56. package/src/cli/utils/interactive-detector.js +126 -0
  57. package/src/communication/message-bus.ts +7 -3
  58. package/src/coordination/advanced-task-executor.ts +11 -8
  59. package/src/coordination/load-balancer.ts +19 -33
  60. package/src/coordination/work-stealing.ts +1 -1
  61. package/src/core/event-bus.ts +2 -2
  62. package/src/core/logger.ts +1 -1
  63. package/src/hive-mind/core/Agent.ts +2 -3
  64. package/src/hive-mind/core/Communication.ts +3 -16
  65. package/src/hive-mind/core/DatabaseManager.ts +3 -18
  66. package/src/hive-mind/core/HiveMind.ts +6 -8
  67. package/src/hive-mind/core/Memory.ts +35 -29
  68. package/src/hive-mind/integration/ConsensusEngine.ts +19 -4
  69. package/src/hive-mind/integration/MCPToolWrapper.ts +2 -1
  70. package/src/hive-mind/integration/SwarmOrchestrator.ts +4 -7
  71. package/src/integration/mock-components.ts +8 -8
  72. package/src/integration/system-integration.ts +20 -33
  73. package/src/mcp/index.ts +17 -20
  74. package/src/mcp/ruv-swarm-tools.ts +2 -12
  75. package/src/swarm/coordinator.ts +46 -97
  76. package/src/swarm/executor-v2.ts +18 -23
  77. package/src/swarm/executor.ts +9 -9
  78. package/src/swarm/optimizations/optimized-executor.ts +26 -79
  79. package/src/swarm/prompt-copier-enhanced.ts +9 -27
  80. package/src/swarm/prompt-copier.ts +12 -13
  81. package/src/swarm/types.ts +1 -7
  82. package/src/utils/error-handler.ts +6 -23
  83. package/src/utils/type-guards.ts +188 -0
  84. package/.claude/commands/analysis/README.md +0 -9
  85. package/.claude/commands/analysis/bottleneck-detect.md +0 -150
  86. package/.claude/commands/analysis/performance-report.md +0 -25
  87. package/.claude/commands/analysis/token-usage.md +0 -25
  88. package/.claude/commands/automation/README.md +0 -9
  89. package/.claude/commands/automation/auto-agent.md +0 -112
  90. package/.claude/commands/automation/smart-spawn.md +0 -25
  91. package/.claude/commands/automation/workflow-select.md +0 -25
  92. package/.claude/commands/coordination/README.md +0 -9
  93. package/.claude/commands/coordination/agent-spawn.md +0 -25
  94. package/.claude/commands/coordination/swarm-init.md +0 -76
  95. package/.claude/commands/coordination/task-orchestrate.md +0 -25
  96. package/.claude/commands/github/README.md +0 -11
  97. package/.claude/commands/github/code-review.md +0 -25
  98. package/.claude/commands/github/github-swarm.md +0 -108
  99. package/.claude/commands/github/issue-tracker-enhanced.md +0 -358
  100. package/.claude/commands/github/issue-triage.md +0 -25
  101. package/.claude/commands/github/pr-enhance.md +0 -26
  102. package/.claude/commands/github/repo-analyze.md +0 -25
  103. package/.claude/commands/hooks/README.md +0 -11
  104. package/.claude/commands/hooks/post-edit.md +0 -25
  105. package/.claude/commands/hooks/post-task.md +0 -25
  106. package/.claude/commands/hooks/pre-edit.md +0 -25
  107. package/.claude/commands/hooks/pre-task.md +0 -100
  108. package/.claude/commands/hooks/session-end.md +0 -25
  109. package/.claude/commands/hooks-overview.md +0 -245
  110. package/.claude/commands/memory/README.md +0 -9
  111. package/.claude/commands/memory/memory-persist.md +0 -25
  112. package/.claude/commands/memory/memory-search.md +0 -25
  113. package/.claude/commands/memory/memory-usage.md +0 -25
  114. package/.claude/commands/monitoring/README.md +0 -9
  115. package/.claude/commands/monitoring/agent-metrics.md +0 -25
  116. package/.claude/commands/monitoring/real-time-view.md +0 -25
  117. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  118. package/.claude/commands/optimization/README.md +0 -9
  119. package/.claude/commands/optimization/cache-manage.md +0 -25
  120. package/.claude/commands/optimization/parallel-execute.md +0 -25
  121. package/.claude/commands/optimization/topology-optimize.md +0 -25
  122. package/.claude/commands/training/README.md +0 -9
  123. package/.claude/commands/training/model-update.md +0 -25
  124. package/.claude/commands/training/neural-train.md +0 -25
  125. package/.claude/commands/training/pattern-learn.md +0 -25
  126. package/.claude/commands/workflows/README.md +0 -9
  127. package/.claude/commands/workflows/workflow-create.md +0 -25
  128. package/.claude/commands/workflows/workflow-execute.md +0 -25
  129. package/.claude/commands/workflows/workflow-export.md +0 -25
  130. package/.claude/helpers/github-setup.sh +0 -28
  131. package/.claude/helpers/quick-start.sh +0 -19
  132. package/.claude/helpers/setup-mcp.sh +0 -18
  133. package/dist/adapters/cliffy-node.d.ts +0 -45
  134. package/dist/adapters/cliffy-node.d.ts.map +0 -1
  135. package/dist/adapters/cliffy-node.js +0 -61
  136. package/dist/adapters/cliffy-node.js.map +0 -1
  137. package/dist/agents/agent-manager.d.ts +0 -191
  138. package/dist/agents/agent-manager.d.ts.map +0 -1
  139. package/dist/agents/agent-manager.js +0 -969
  140. package/dist/agents/agent-manager.js.map +0 -1
  141. package/dist/agents/agent-registry.d.ts +0 -112
  142. package/dist/agents/agent-registry.d.ts.map +0 -1
  143. package/dist/agents/agent-registry.js +0 -341
  144. package/dist/agents/agent-registry.js.map +0 -1
  145. package/dist/cli/agents/analyst.d.ts +0 -28
  146. package/dist/cli/agents/analyst.d.ts.map +0 -1
  147. package/dist/cli/agents/analyst.js +0 -718
  148. package/dist/cli/agents/analyst.js.map +0 -1
  149. package/dist/cli/agents/architect.d.ts +0 -27
  150. package/dist/cli/agents/architect.d.ts.map +0 -1
  151. package/dist/cli/agents/architect.js +0 -729
  152. package/dist/cli/agents/architect.js.map +0 -1
  153. package/dist/cli/agents/base-agent.d.ts +0 -80
  154. package/dist/cli/agents/base-agent.d.ts.map +0 -1
  155. package/dist/cli/agents/base-agent.js +0 -385
  156. package/dist/cli/agents/base-agent.js.map +0 -1
  157. package/dist/cli/agents/capabilities.d.ts +0 -106
  158. package/dist/cli/agents/capabilities.d.ts.map +0 -1
  159. package/dist/cli/agents/capabilities.js +0 -556
  160. package/dist/cli/agents/capabilities.js.map +0 -1
  161. package/dist/cli/agents/coder.d.ts +0 -34
  162. package/dist/cli/agents/coder.d.ts.map +0 -1
  163. package/dist/cli/agents/coder.js +0 -806
  164. package/dist/cli/agents/coder.js.map +0 -1
  165. package/dist/cli/agents/coordinator.d.ts +0 -25
  166. package/dist/cli/agents/coordinator.d.ts.map +0 -1
  167. package/dist/cli/agents/coordinator.js +0 -454
  168. package/dist/cli/agents/coordinator.js.map +0 -1
  169. package/dist/cli/agents/hive-agents.d.ts +0 -85
  170. package/dist/cli/agents/hive-agents.d.ts.map +0 -1
  171. package/dist/cli/agents/hive-agents.js +0 -549
  172. package/dist/cli/agents/hive-agents.js.map +0 -1
  173. package/dist/cli/agents/index.d.ts +0 -111
  174. package/dist/cli/agents/index.d.ts.map +0 -1
  175. package/dist/cli/agents/index.js +0 -276
  176. package/dist/cli/agents/index.js.map +0 -1
  177. package/dist/cli/agents/researcher.d.ts +0 -24
  178. package/dist/cli/agents/researcher.d.ts.map +0 -1
  179. package/dist/cli/agents/researcher.js +0 -356
  180. package/dist/cli/agents/researcher.js.map +0 -1
  181. package/dist/cli/agents/tester.d.ts +0 -27
  182. package/dist/cli/agents/tester.d.ts.map +0 -1
  183. package/dist/cli/agents/tester.js +0 -594
  184. package/dist/cli/agents/tester.js.map +0 -1
  185. package/dist/cli/cli-core.d.ts +0 -49
  186. package/dist/cli/cli-core.d.ts.map +0 -1
  187. package/dist/cli/cli-core.js +0 -263
  188. package/dist/cli/cli-core.js.map +0 -1
  189. package/dist/cli/commands/advanced-memory-commands.d.ts +0 -2
  190. package/dist/cli/commands/advanced-memory-commands.d.ts.map +0 -1
  191. package/dist/cli/commands/advanced-memory-commands.js +0 -849
  192. package/dist/cli/commands/advanced-memory-commands.js.map +0 -1
  193. package/dist/cli/commands/agent-simple.d.ts +0 -12
  194. package/dist/cli/commands/agent-simple.d.ts.map +0 -1
  195. package/dist/cli/commands/agent-simple.js +0 -353
  196. package/dist/cli/commands/agent-simple.js.map +0 -1
  197. package/dist/cli/commands/agent.d.ts +0 -7
  198. package/dist/cli/commands/agent.d.ts.map +0 -1
  199. package/dist/cli/commands/agent.js +0 -369
  200. package/dist/cli/commands/agent.js.map +0 -1
  201. package/dist/cli/commands/claude.d.ts +0 -3
  202. package/dist/cli/commands/claude.d.ts.map +0 -1
  203. package/dist/cli/commands/claude.js +0 -154
  204. package/dist/cli/commands/claude.js.map +0 -1
  205. package/dist/cli/commands/config-integration.d.ts +0 -10
  206. package/dist/cli/commands/config-integration.d.ts.map +0 -1
  207. package/dist/cli/commands/config-integration.js +0 -416
  208. package/dist/cli/commands/config-integration.js.map +0 -1
  209. package/dist/cli/commands/config.d.ts +0 -5
  210. package/dist/cli/commands/config.d.ts.map +0 -1
  211. package/dist/cli/commands/config.js +0 -89
  212. package/dist/cli/commands/config.js.map +0 -1
  213. package/dist/cli/commands/enterprise.d.ts +0 -3
  214. package/dist/cli/commands/enterprise.d.ts.map +0 -1
  215. package/dist/cli/commands/enterprise.js +0 -1486
  216. package/dist/cli/commands/enterprise.js.map +0 -1
  217. package/dist/cli/commands/help.d.ts +0 -6
  218. package/dist/cli/commands/help.d.ts.map +0 -1
  219. package/dist/cli/commands/help.js +0 -786
  220. package/dist/cli/commands/help.js.map +0 -1
  221. package/dist/cli/commands/hive-mind/index.d.ts +0 -15
  222. package/dist/cli/commands/hive-mind/index.d.ts.map +0 -1
  223. package/dist/cli/commands/hive-mind/index.js +0 -22
  224. package/dist/cli/commands/hive-mind/index.js.map +0 -1
  225. package/dist/cli/commands/hive-mind/init.d.ts +0 -10
  226. package/dist/cli/commands/hive-mind/init.d.ts.map +0 -1
  227. package/dist/cli/commands/hive-mind/init.js +0 -68
  228. package/dist/cli/commands/hive-mind/init.js.map +0 -1
  229. package/dist/cli/commands/hive-mind/optimize-memory.d.ts +0 -8
  230. package/dist/cli/commands/hive-mind/optimize-memory.d.ts.map +0 -1
  231. package/dist/cli/commands/hive-mind/optimize-memory.js +0 -391
  232. package/dist/cli/commands/hive-mind/optimize-memory.js.map +0 -1
  233. package/dist/cli/commands/hive-mind/spawn.d.ts +0 -10
  234. package/dist/cli/commands/hive-mind/spawn.d.ts.map +0 -1
  235. package/dist/cli/commands/hive-mind/spawn.js +0 -147
  236. package/dist/cli/commands/hive-mind/spawn.js.map +0 -1
  237. package/dist/cli/commands/hive-mind/status.d.ts +0 -10
  238. package/dist/cli/commands/hive-mind/status.d.ts.map +0 -1
  239. package/dist/cli/commands/hive-mind/status.js +0 -209
  240. package/dist/cli/commands/hive-mind/status.js.map +0 -1
  241. package/dist/cli/commands/hive-mind/task.d.ts +0 -10
  242. package/dist/cli/commands/hive-mind/task.d.ts.map +0 -1
  243. package/dist/cli/commands/hive-mind/task.js +0 -288
  244. package/dist/cli/commands/hive-mind/task.js.map +0 -1
  245. package/dist/cli/commands/hive-mind/wizard.d.ts +0 -10
  246. package/dist/cli/commands/hive-mind/wizard.d.ts.map +0 -1
  247. package/dist/cli/commands/hive-mind/wizard.js +0 -513
  248. package/dist/cli/commands/hive-mind/wizard.js.map +0 -1
  249. package/dist/cli/commands/hive.d.ts +0 -6
  250. package/dist/cli/commands/hive.d.ts.map +0 -1
  251. package/dist/cli/commands/hive.js +0 -374
  252. package/dist/cli/commands/hive.js.map +0 -1
  253. package/dist/cli/commands/index.d.ts +0 -3
  254. package/dist/cli/commands/index.d.ts.map +0 -1
  255. package/dist/cli/commands/index.js +0 -2416
  256. package/dist/cli/commands/index.js.map +0 -1
  257. package/dist/cli/commands/mcp.d.ts +0 -6
  258. package/dist/cli/commands/mcp.d.ts.map +0 -1
  259. package/dist/cli/commands/mcp.js +0 -177
  260. package/dist/cli/commands/mcp.js.map +0 -1
  261. package/dist/cli/commands/memory.d.ts +0 -30
  262. package/dist/cli/commands/memory.d.ts.map +0 -1
  263. package/dist/cli/commands/memory.js +0 -225
  264. package/dist/cli/commands/memory.js.map +0 -1
  265. package/dist/cli/commands/migrate.d.ts +0 -6
  266. package/dist/cli/commands/migrate.d.ts.map +0 -1
  267. package/dist/cli/commands/migrate.js +0 -139
  268. package/dist/cli/commands/migrate.js.map +0 -1
  269. package/dist/cli/commands/monitor.d.ts +0 -6
  270. package/dist/cli/commands/monitor.d.ts.map +0 -1
  271. package/dist/cli/commands/monitor.js +0 -477
  272. package/dist/cli/commands/monitor.js.map +0 -1
  273. package/dist/cli/commands/ruv-swarm.d.ts +0 -10
  274. package/dist/cli/commands/ruv-swarm.d.ts.map +0 -1
  275. package/dist/cli/commands/ruv-swarm.js +0 -563
  276. package/dist/cli/commands/ruv-swarm.js.map +0 -1
  277. package/dist/cli/commands/session.d.ts +0 -6
  278. package/dist/cli/commands/session.d.ts.map +0 -1
  279. package/dist/cli/commands/session.js +0 -543
  280. package/dist/cli/commands/session.js.map +0 -1
  281. package/dist/cli/commands/sparc.d.ts +0 -3
  282. package/dist/cli/commands/sparc.d.ts.map +0 -1
  283. package/dist/cli/commands/sparc.js +0 -452
  284. package/dist/cli/commands/sparc.js.map +0 -1
  285. package/dist/cli/commands/start/event-emitter.d.ts +0 -13
  286. package/dist/cli/commands/start/event-emitter.d.ts.map +0 -1
  287. package/dist/cli/commands/start/event-emitter.js +0 -35
  288. package/dist/cli/commands/start/event-emitter.js.map +0 -1
  289. package/dist/cli/commands/start/index.d.ts +0 -10
  290. package/dist/cli/commands/start/index.d.ts.map +0 -1
  291. package/dist/cli/commands/start/index.js +0 -9
  292. package/dist/cli/commands/start/index.js.map +0 -1
  293. package/dist/cli/commands/start/process-manager.d.ts +0 -31
  294. package/dist/cli/commands/start/process-manager.d.ts.map +0 -1
  295. package/dist/cli/commands/start/process-manager.js +0 -281
  296. package/dist/cli/commands/start/process-manager.js.map +0 -1
  297. package/dist/cli/commands/start/process-ui-simple.d.ts +0 -25
  298. package/dist/cli/commands/start/process-ui-simple.d.ts.map +0 -1
  299. package/dist/cli/commands/start/process-ui-simple.js +0 -334
  300. package/dist/cli/commands/start/process-ui-simple.js.map +0 -1
  301. package/dist/cli/commands/start/process-ui.d.ts +0 -5
  302. package/dist/cli/commands/start/process-ui.d.ts.map +0 -1
  303. package/dist/cli/commands/start/process-ui.js +0 -5
  304. package/dist/cli/commands/start/process-ui.js.map +0 -1
  305. package/dist/cli/commands/start/start-command.d.ts +0 -6
  306. package/dist/cli/commands/start/start-command.d.ts.map +0 -1
  307. package/dist/cli/commands/start/start-command.js +0 -450
  308. package/dist/cli/commands/start/start-command.js.map +0 -1
  309. package/dist/cli/commands/start/system-monitor.d.ts +0 -22
  310. package/dist/cli/commands/start/system-monitor.d.ts.map +0 -1
  311. package/dist/cli/commands/start/system-monitor.js +0 -267
  312. package/dist/cli/commands/start/system-monitor.js.map +0 -1
  313. package/dist/cli/commands/start/types.d.ts +0 -64
  314. package/dist/cli/commands/start/types.d.ts.map +0 -1
  315. package/dist/cli/commands/start/types.js +0 -22
  316. package/dist/cli/commands/start/types.js.map +0 -1
  317. package/dist/cli/commands/start.d.ts +0 -6
  318. package/dist/cli/commands/start.d.ts.map +0 -1
  319. package/dist/cli/commands/start.js +0 -6
  320. package/dist/cli/commands/start.js.map +0 -1
  321. package/dist/cli/commands/status.d.ts +0 -6
  322. package/dist/cli/commands/status.d.ts.map +0 -1
  323. package/dist/cli/commands/status.js +0 -312
  324. package/dist/cli/commands/status.js.map +0 -1
  325. package/dist/cli/commands/swarm-new.d.ts +0 -3
  326. package/dist/cli/commands/swarm-new.d.ts.map +0 -1
  327. package/dist/cli/commands/swarm-new.js +0 -989
  328. package/dist/cli/commands/swarm-new.js.map +0 -1
  329. package/dist/cli/commands/swarm-spawn.d.ts +0 -24
  330. package/dist/cli/commands/swarm-spawn.d.ts.map +0 -1
  331. package/dist/cli/commands/swarm-spawn.js +0 -61
  332. package/dist/cli/commands/swarm-spawn.js.map +0 -1
  333. package/dist/cli/commands/swarm.d.ts +0 -3
  334. package/dist/cli/commands/swarm.d.ts.map +0 -1
  335. package/dist/cli/commands/swarm.js +0 -460
  336. package/dist/cli/commands/swarm.js.map +0 -1
  337. package/dist/cli/commands/task.d.ts +0 -3
  338. package/dist/cli/commands/task.d.ts.map +0 -1
  339. package/dist/cli/commands/task.js +0 -29
  340. package/dist/cli/commands/task.js.map +0 -1
  341. package/dist/cli/commands/workflow.d.ts +0 -3
  342. package/dist/cli/commands/workflow.d.ts.map +0 -1
  343. package/dist/cli/commands/workflow.js +0 -23
  344. package/dist/cli/commands/workflow.js.map +0 -1
  345. package/dist/cli/completion.d.ts +0 -16
  346. package/dist/cli/completion.d.ts.map +0 -1
  347. package/dist/cli/completion.js +0 -535
  348. package/dist/cli/completion.js.map +0 -1
  349. package/dist/cli/formatter.d.ts +0 -66
  350. package/dist/cli/formatter.d.ts.map +0 -1
  351. package/dist/cli/formatter.js +0 -277
  352. package/dist/cli/formatter.js.map +0 -1
  353. package/dist/cli/index-remote.d.ts +0 -3
  354. package/dist/cli/index-remote.d.ts.map +0 -1
  355. package/dist/cli/index-remote.js +0 -126
  356. package/dist/cli/index-remote.js.map +0 -1
  357. package/dist/cli/index.d.ts +0 -7
  358. package/dist/cli/index.d.ts.map +0 -1
  359. package/dist/cli/index.js +0 -197
  360. package/dist/cli/index.js.map +0 -1
  361. package/dist/cli/init/batch-tools.d.ts +0 -2
  362. package/dist/cli/init/batch-tools.d.ts.map +0 -1
  363. package/dist/cli/init/batch-tools.js +0 -387
  364. package/dist/cli/init/batch-tools.js.map +0 -1
  365. package/dist/cli/init/claude-config.d.ts +0 -3
  366. package/dist/cli/init/claude-config.d.ts.map +0 -1
  367. package/dist/cli/init/claude-config.js +0 -289
  368. package/dist/cli/init/claude-config.js.map +0 -1
  369. package/dist/cli/init/directory-structure.d.ts +0 -2
  370. package/dist/cli/init/directory-structure.d.ts.map +0 -1
  371. package/dist/cli/init/directory-structure.js +0 -144
  372. package/dist/cli/init/directory-structure.js.map +0 -1
  373. package/dist/cli/init/index.d.ts +0 -6
  374. package/dist/cli/init/index.d.ts.map +0 -1
  375. package/dist/cli/init/index.js +0 -52
  376. package/dist/cli/init/index.js.map +0 -1
  377. package/dist/cli/init/sparc-environment.d.ts +0 -2
  378. package/dist/cli/init/sparc-environment.d.ts.map +0 -1
  379. package/dist/cli/init/sparc-environment.js +0 -426
  380. package/dist/cli/init/sparc-environment.js.map +0 -1
  381. package/dist/cli/init/swarm-commands.d.ts +0 -2
  382. package/dist/cli/init/swarm-commands.d.ts.map +0 -1
  383. package/dist/cli/init/swarm-commands.js +0 -795
  384. package/dist/cli/init/swarm-commands.js.map +0 -1
  385. package/dist/cli/init/utils.d.ts +0 -5
  386. package/dist/cli/init/utils.d.ts.map +0 -1
  387. package/dist/cli/init/utils.js +0 -14
  388. package/dist/cli/init/utils.js.map +0 -1
  389. package/dist/cli/main.d.ts +0 -3
  390. package/dist/cli/main.d.ts.map +0 -1
  391. package/dist/cli/main.js +0 -26
  392. package/dist/cli/main.js.map +0 -1
  393. package/dist/cli/node-repl.d.ts +0 -5
  394. package/dist/cli/node-repl.d.ts.map +0 -1
  395. package/dist/cli/node-repl.js +0 -677
  396. package/dist/cli/node-repl.js.map +0 -1
  397. package/dist/cli/repl.d.ts +0 -5
  398. package/dist/cli/repl.d.ts.map +0 -1
  399. package/dist/cli/repl.js +0 -909
  400. package/dist/cli/repl.js.map +0 -1
  401. package/dist/cli/simple-cli.d.ts +0 -3
  402. package/dist/cli/simple-cli.d.ts.map +0 -1
  403. package/dist/cli/simple-cli.js +0 -3059
  404. package/dist/cli/simple-cli.js.map +0 -1
  405. package/dist/cli/simple-mcp.d.ts +0 -6
  406. package/dist/cli/simple-mcp.d.ts.map +0 -1
  407. package/dist/cli/simple-mcp.js +0 -107
  408. package/dist/cli/simple-mcp.js.map +0 -1
  409. package/dist/cli/simple-orchestrator.d.ts +0 -16
  410. package/dist/cli/simple-orchestrator.d.ts.map +0 -1
  411. package/dist/cli/simple-orchestrator.js +0 -833
  412. package/dist/cli/simple-orchestrator.js.map +0 -1
  413. package/dist/cli/ui/compatible-ui.d.ts +0 -45
  414. package/dist/cli/ui/compatible-ui.d.ts.map +0 -1
  415. package/dist/cli/ui/compatible-ui.js +0 -318
  416. package/dist/cli/ui/compatible-ui.js.map +0 -1
  417. package/dist/cli/ui/fallback-handler.d.ts +0 -26
  418. package/dist/cli/ui/fallback-handler.d.ts.map +0 -1
  419. package/dist/cli/ui/fallback-handler.js +0 -163
  420. package/dist/cli/ui/fallback-handler.js.map +0 -1
  421. package/dist/cli/ui/index.d.ts +0 -11
  422. package/dist/cli/ui/index.d.ts.map +0 -1
  423. package/dist/cli/ui/index.js +0 -33
  424. package/dist/cli/ui/index.js.map +0 -1
  425. package/dist/cli/utils/environment-detector.d.ts +0 -52
  426. package/dist/cli/utils/environment-detector.d.ts.map +0 -1
  427. package/dist/cli/utils/environment-detector.js +0 -238
  428. package/dist/cli/utils/environment-detector.js.map +0 -1
  429. package/dist/cli/utils/prompt-defaults.d.ts +0 -82
  430. package/dist/cli/utils/prompt-defaults.d.ts.map +0 -1
  431. package/dist/cli/utils/prompt-defaults.js +0 -253
  432. package/dist/cli/utils/prompt-defaults.js.map +0 -1
  433. package/dist/communication/message-bus.d.ts +0 -283
  434. package/dist/communication/message-bus.d.ts.map +0 -1
  435. package/dist/communication/message-bus.js +0 -954
  436. package/dist/communication/message-bus.js.map +0 -1
  437. package/dist/config/config-manager.d.ts +0 -174
  438. package/dist/config/config-manager.d.ts.map +0 -1
  439. package/dist/config/config-manager.js +0 -443
  440. package/dist/config/config-manager.js.map +0 -1
  441. package/dist/config/ruv-swarm-config.d.ts +0 -167
  442. package/dist/config/ruv-swarm-config.d.ts.map +0 -1
  443. package/dist/config/ruv-swarm-config.js +0 -274
  444. package/dist/config/ruv-swarm-config.js.map +0 -1
  445. package/dist/config/ruv-swarm-integration.d.ts +0 -93
  446. package/dist/config/ruv-swarm-integration.d.ts.map +0 -1
  447. package/dist/config/ruv-swarm-integration.js +0 -292
  448. package/dist/config/ruv-swarm-integration.js.map +0 -1
  449. package/dist/constants/agent-types.d.ts +0 -46
  450. package/dist/constants/agent-types.d.ts.map +0 -1
  451. package/dist/constants/agent-types.js +0 -50
  452. package/dist/constants/agent-types.js.map +0 -1
  453. package/dist/coordination/advanced-scheduler.d.ts +0 -121
  454. package/dist/coordination/advanced-scheduler.d.ts.map +0 -1
  455. package/dist/coordination/advanced-scheduler.js +0 -386
  456. package/dist/coordination/advanced-scheduler.js.map +0 -1
  457. package/dist/coordination/advanced-task-executor.d.ts +0 -100
  458. package/dist/coordination/advanced-task-executor.d.ts.map +0 -1
  459. package/dist/coordination/advanced-task-executor.js +0 -459
  460. package/dist/coordination/advanced-task-executor.js.map +0 -1
  461. package/dist/coordination/background-executor.d.ts +0 -69
  462. package/dist/coordination/background-executor.d.ts.map +0 -1
  463. package/dist/coordination/background-executor.js +0 -362
  464. package/dist/coordination/background-executor.js.map +0 -1
  465. package/dist/coordination/circuit-breaker.d.ts +0 -124
  466. package/dist/coordination/circuit-breaker.d.ts.map +0 -1
  467. package/dist/coordination/circuit-breaker.js +0 -298
  468. package/dist/coordination/circuit-breaker.js.map +0 -1
  469. package/dist/coordination/conflict-resolution.d.ts +0 -133
  470. package/dist/coordination/conflict-resolution.d.ts.map +0 -1
  471. package/dist/coordination/conflict-resolution.js +0 -358
  472. package/dist/coordination/conflict-resolution.js.map +0 -1
  473. package/dist/coordination/dependency-graph.d.ts +0 -78
  474. package/dist/coordination/dependency-graph.d.ts.map +0 -1
  475. package/dist/coordination/dependency-graph.js +0 -386
  476. package/dist/coordination/dependency-graph.js.map +0 -1
  477. package/dist/coordination/hive-orchestrator.d.ts +0 -118
  478. package/dist/coordination/hive-orchestrator.d.ts.map +0 -1
  479. package/dist/coordination/hive-orchestrator.js +0 -321
  480. package/dist/coordination/hive-orchestrator.js.map +0 -1
  481. package/dist/coordination/hive-protocol.d.ts +0 -117
  482. package/dist/coordination/hive-protocol.d.ts.map +0 -1
  483. package/dist/coordination/hive-protocol.js +0 -373
  484. package/dist/coordination/hive-protocol.js.map +0 -1
  485. package/dist/coordination/index.d.ts +0 -14
  486. package/dist/coordination/index.d.ts.map +0 -1
  487. package/dist/coordination/index.js +0 -21
  488. package/dist/coordination/index.js.map +0 -1
  489. package/dist/coordination/load-balancer.d.ts +0 -139
  490. package/dist/coordination/load-balancer.d.ts.map +0 -1
  491. package/dist/coordination/load-balancer.js +0 -691
  492. package/dist/coordination/load-balancer.js.map +0 -1
  493. package/dist/coordination/manager.d.ts +0 -66
  494. package/dist/coordination/manager.d.ts.map +0 -1
  495. package/dist/coordination/manager.js +0 -360
  496. package/dist/coordination/manager.js.map +0 -1
  497. package/dist/coordination/messaging.d.ts +0 -37
  498. package/dist/coordination/messaging.d.ts.map +0 -1
  499. package/dist/coordination/messaging.js +0 -219
  500. package/dist/coordination/messaging.js.map +0 -1
  501. package/dist/coordination/metrics.d.ts +0 -153
  502. package/dist/coordination/metrics.d.ts.map +0 -1
  503. package/dist/coordination/metrics.js +0 -434
  504. package/dist/coordination/metrics.js.map +0 -1
  505. package/dist/coordination/resources.d.ts +0 -36
  506. package/dist/coordination/resources.d.ts.map +0 -1
  507. package/dist/coordination/resources.js +0 -250
  508. package/dist/coordination/resources.js.map +0 -1
  509. package/dist/coordination/scheduler.d.ts +0 -48
  510. package/dist/coordination/scheduler.d.ts.map +0 -1
  511. package/dist/coordination/scheduler.js +0 -308
  512. package/dist/coordination/scheduler.js.map +0 -1
  513. package/dist/coordination/swarm-coordinator.d.ts +0 -116
  514. package/dist/coordination/swarm-coordinator.d.ts.map +0 -1
  515. package/dist/coordination/swarm-coordinator.js +0 -565
  516. package/dist/coordination/swarm-coordinator.js.map +0 -1
  517. package/dist/coordination/swarm-monitor.d.ts +0 -101
  518. package/dist/coordination/swarm-monitor.d.ts.map +0 -1
  519. package/dist/coordination/swarm-monitor.js +0 -340
  520. package/dist/coordination/swarm-monitor.js.map +0 -1
  521. package/dist/coordination/work-stealing.d.ts +0 -44
  522. package/dist/coordination/work-stealing.d.ts.map +0 -1
  523. package/dist/coordination/work-stealing.js +0 -155
  524. package/dist/coordination/work-stealing.js.map +0 -1
  525. package/dist/core/config.d.ts +0 -239
  526. package/dist/core/config.d.ts.map +0 -1
  527. package/dist/core/config.js +0 -1128
  528. package/dist/core/config.js.map +0 -1
  529. package/dist/core/event-bus.d.ts +0 -60
  530. package/dist/core/event-bus.d.ts.map +0 -1
  531. package/dist/core/event-bus.js +0 -153
  532. package/dist/core/event-bus.js.map +0 -1
  533. package/dist/core/json-persistence.d.ts +0 -52
  534. package/dist/core/json-persistence.d.ts.map +0 -1
  535. package/dist/core/json-persistence.js +0 -115
  536. package/dist/core/json-persistence.js.map +0 -1
  537. package/dist/core/logger.d.ts +0 -57
  538. package/dist/core/logger.d.ts.map +0 -1
  539. package/dist/core/logger.js +0 -253
  540. package/dist/core/logger.js.map +0 -1
  541. package/dist/core/orchestrator-fixed.d.ts +0 -81
  542. package/dist/core/orchestrator-fixed.d.ts.map +0 -1
  543. package/dist/core/orchestrator-fixed.js +0 -210
  544. package/dist/core/orchestrator-fixed.js.map +0 -1
  545. package/dist/core/orchestrator.d.ts +0 -103
  546. package/dist/core/orchestrator.d.ts.map +0 -1
  547. package/dist/core/orchestrator.js +0 -965
  548. package/dist/core/orchestrator.js.map +0 -1
  549. package/dist/core/persistence.d.ts +0 -50
  550. package/dist/core/persistence.d.ts.map +0 -1
  551. package/dist/core/persistence.js +0 -186
  552. package/dist/core/persistence.js.map +0 -1
  553. package/dist/enterprise/analytics-manager.d.ts +0 -489
  554. package/dist/enterprise/analytics-manager.d.ts.map +0 -1
  555. package/dist/enterprise/analytics-manager.js +0 -949
  556. package/dist/enterprise/analytics-manager.js.map +0 -1
  557. package/dist/enterprise/audit-manager.d.ts +0 -459
  558. package/dist/enterprise/audit-manager.d.ts.map +0 -1
  559. package/dist/enterprise/audit-manager.js +0 -992
  560. package/dist/enterprise/audit-manager.js.map +0 -1
  561. package/dist/enterprise/cloud-manager.d.ts +0 -435
  562. package/dist/enterprise/cloud-manager.d.ts.map +0 -1
  563. package/dist/enterprise/cloud-manager.js +0 -784
  564. package/dist/enterprise/cloud-manager.js.map +0 -1
  565. package/dist/enterprise/deployment-manager.d.ts +0 -328
  566. package/dist/enterprise/deployment-manager.d.ts.map +0 -1
  567. package/dist/enterprise/deployment-manager.js +0 -823
  568. package/dist/enterprise/deployment-manager.js.map +0 -1
  569. package/dist/enterprise/index.d.ts +0 -13
  570. package/dist/enterprise/index.d.ts.map +0 -1
  571. package/dist/enterprise/index.js +0 -7
  572. package/dist/enterprise/index.js.map +0 -1
  573. package/dist/enterprise/project-manager.d.ts +0 -228
  574. package/dist/enterprise/project-manager.d.ts.map +0 -1
  575. package/dist/enterprise/project-manager.js +0 -529
  576. package/dist/enterprise/project-manager.js.map +0 -1
  577. package/dist/enterprise/security-manager.d.ts +0 -422
  578. package/dist/enterprise/security-manager.d.ts.map +0 -1
  579. package/dist/enterprise/security-manager.js +0 -902
  580. package/dist/enterprise/security-manager.js.map +0 -1
  581. package/dist/hive-mind/core/Agent.d.ts +0 -137
  582. package/dist/hive-mind/core/Agent.d.ts.map +0 -1
  583. package/dist/hive-mind/core/Agent.js +0 -567
  584. package/dist/hive-mind/core/Agent.js.map +0 -1
  585. package/dist/hive-mind/core/Communication.d.ts +0 -116
  586. package/dist/hive-mind/core/Communication.d.ts.map +0 -1
  587. package/dist/hive-mind/core/Communication.js +0 -407
  588. package/dist/hive-mind/core/Communication.js.map +0 -1
  589. package/dist/hive-mind/core/DatabaseManager.d.ts +0 -93
  590. package/dist/hive-mind/core/DatabaseManager.d.ts.map +0 -1
  591. package/dist/hive-mind/core/DatabaseManager.js +0 -551
  592. package/dist/hive-mind/core/DatabaseManager.js.map +0 -1
  593. package/dist/hive-mind/core/HiveMind.d.ts +0 -90
  594. package/dist/hive-mind/core/HiveMind.d.ts.map +0 -1
  595. package/dist/hive-mind/core/HiveMind.js +0 -439
  596. package/dist/hive-mind/core/HiveMind.js.map +0 -1
  597. package/dist/hive-mind/core/Memory.d.ts +0 -235
  598. package/dist/hive-mind/core/Memory.d.ts.map +0 -1
  599. package/dist/hive-mind/core/Memory.js +0 -1185
  600. package/dist/hive-mind/core/Memory.js.map +0 -1
  601. package/dist/hive-mind/core/MemoryMonitor.d.ts +0 -183
  602. package/dist/hive-mind/core/MemoryMonitor.d.ts.map +0 -1
  603. package/dist/hive-mind/core/MemoryMonitor.js +0 -547
  604. package/dist/hive-mind/core/MemoryMonitor.js.map +0 -1
  605. package/dist/hive-mind/core/Queen.d.ts +0 -115
  606. package/dist/hive-mind/core/Queen.d.ts.map +0 -1
  607. package/dist/hive-mind/core/Queen.js +0 -586
  608. package/dist/hive-mind/core/Queen.js.map +0 -1
  609. package/dist/hive-mind/index.d.ts +0 -17
  610. package/dist/hive-mind/index.d.ts.map +0 -1
  611. package/dist/hive-mind/index.js +0 -21
  612. package/dist/hive-mind/index.js.map +0 -1
  613. package/dist/hive-mind/integration/ConsensusEngine.d.ts +0 -117
  614. package/dist/hive-mind/integration/ConsensusEngine.d.ts.map +0 -1
  615. package/dist/hive-mind/integration/ConsensusEngine.js +0 -476
  616. package/dist/hive-mind/integration/ConsensusEngine.js.map +0 -1
  617. package/dist/hive-mind/integration/MCPToolWrapper.d.ts +0 -172
  618. package/dist/hive-mind/integration/MCPToolWrapper.d.ts.map +0 -1
  619. package/dist/hive-mind/integration/MCPToolWrapper.js +0 -216
  620. package/dist/hive-mind/integration/MCPToolWrapper.js.map +0 -1
  621. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts +0 -172
  622. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts.map +0 -1
  623. package/dist/hive-mind/integration/SwarmOrchestrator.js +0 -746
  624. package/dist/hive-mind/integration/SwarmOrchestrator.js.map +0 -1
  625. package/dist/hive-mind/types.d.ts +0 -298
  626. package/dist/hive-mind/types.d.ts.map +0 -1
  627. package/dist/hive-mind/types.js +0 -7
  628. package/dist/hive-mind/types.js.map +0 -1
  629. package/dist/integration/mock-components.d.ts +0 -107
  630. package/dist/integration/mock-components.d.ts.map +0 -1
  631. package/dist/integration/mock-components.js +0 -357
  632. package/dist/integration/mock-components.js.map +0 -1
  633. package/dist/integration/system-integration.d.ts +0 -84
  634. package/dist/integration/system-integration.d.ts.map +0 -1
  635. package/dist/integration/system-integration.js +0 -429
  636. package/dist/integration/system-integration.js.map +0 -1
  637. package/dist/integration/types.d.ts +0 -119
  638. package/dist/integration/types.d.ts.map +0 -1
  639. package/dist/integration/types.js +0 -5
  640. package/dist/integration/types.js.map +0 -1
  641. package/dist/mcp/auth.d.ts +0 -80
  642. package/dist/mcp/auth.d.ts.map +0 -1
  643. package/dist/mcp/auth.js +0 -343
  644. package/dist/mcp/auth.js.map +0 -1
  645. package/dist/mcp/claude-code-wrapper.d.ts +0 -26
  646. package/dist/mcp/claude-code-wrapper.d.ts.map +0 -1
  647. package/dist/mcp/claude-code-wrapper.js +0 -598
  648. package/dist/mcp/claude-code-wrapper.js.map +0 -1
  649. package/dist/mcp/claude-flow-tools.d.ts +0 -13
  650. package/dist/mcp/claude-flow-tools.d.ts.map +0 -1
  651. package/dist/mcp/claude-flow-tools.js +0 -1142
  652. package/dist/mcp/claude-flow-tools.js.map +0 -1
  653. package/dist/mcp/client.d.ts +0 -41
  654. package/dist/mcp/client.d.ts.map +0 -1
  655. package/dist/mcp/client.js +0 -194
  656. package/dist/mcp/client.js.map +0 -1
  657. package/dist/mcp/index.d.ts +0 -134
  658. package/dist/mcp/index.d.ts.map +0 -1
  659. package/dist/mcp/index.js +0 -212
  660. package/dist/mcp/index.js.map +0 -1
  661. package/dist/mcp/integrate-wrapper.d.ts +0 -16
  662. package/dist/mcp/integrate-wrapper.d.ts.map +0 -1
  663. package/dist/mcp/integrate-wrapper.js +0 -77
  664. package/dist/mcp/integrate-wrapper.js.map +0 -1
  665. package/dist/mcp/lifecycle-manager.d.ts +0 -121
  666. package/dist/mcp/lifecycle-manager.d.ts.map +0 -1
  667. package/dist/mcp/lifecycle-manager.js +0 -365
  668. package/dist/mcp/lifecycle-manager.js.map +0 -1
  669. package/dist/mcp/load-balancer.d.ts +0 -88
  670. package/dist/mcp/load-balancer.d.ts.map +0 -1
  671. package/dist/mcp/load-balancer.js +0 -389
  672. package/dist/mcp/load-balancer.js.map +0 -1
  673. package/dist/mcp/orchestration-integration.d.ts +0 -135
  674. package/dist/mcp/orchestration-integration.d.ts.map +0 -1
  675. package/dist/mcp/orchestration-integration.js +0 -722
  676. package/dist/mcp/orchestration-integration.js.map +0 -1
  677. package/dist/mcp/performance-monitor.d.ts +0 -164
  678. package/dist/mcp/performance-monitor.d.ts.map +0 -1
  679. package/dist/mcp/performance-monitor.js +0 -478
  680. package/dist/mcp/performance-monitor.js.map +0 -1
  681. package/dist/mcp/protocol-manager.d.ts +0 -88
  682. package/dist/mcp/protocol-manager.d.ts.map +0 -1
  683. package/dist/mcp/protocol-manager.js +0 -358
  684. package/dist/mcp/protocol-manager.js.map +0 -1
  685. package/dist/mcp/recovery/connection-health-monitor.d.ts +0 -69
  686. package/dist/mcp/recovery/connection-health-monitor.d.ts.map +0 -1
  687. package/dist/mcp/recovery/connection-health-monitor.js +0 -241
  688. package/dist/mcp/recovery/connection-health-monitor.js.map +0 -1
  689. package/dist/mcp/recovery/connection-state-manager.d.ts +0 -102
  690. package/dist/mcp/recovery/connection-state-manager.d.ts.map +0 -1
  691. package/dist/mcp/recovery/connection-state-manager.js +0 -318
  692. package/dist/mcp/recovery/connection-state-manager.js.map +0 -1
  693. package/dist/mcp/recovery/fallback-coordinator.d.ts +0 -79
  694. package/dist/mcp/recovery/fallback-coordinator.d.ts.map +0 -1
  695. package/dist/mcp/recovery/fallback-coordinator.js +0 -278
  696. package/dist/mcp/recovery/fallback-coordinator.js.map +0 -1
  697. package/dist/mcp/recovery/index.d.ts +0 -10
  698. package/dist/mcp/recovery/index.d.ts.map +0 -1
  699. package/dist/mcp/recovery/index.js +0 -10
  700. package/dist/mcp/recovery/index.js.map +0 -1
  701. package/dist/mcp/recovery/reconnection-manager.d.ts +0 -69
  702. package/dist/mcp/recovery/reconnection-manager.d.ts.map +0 -1
  703. package/dist/mcp/recovery/reconnection-manager.js +0 -226
  704. package/dist/mcp/recovery/reconnection-manager.js.map +0 -1
  705. package/dist/mcp/recovery/recovery-manager.d.ts +0 -93
  706. package/dist/mcp/recovery/recovery-manager.d.ts.map +0 -1
  707. package/dist/mcp/recovery/recovery-manager.js +0 -250
  708. package/dist/mcp/recovery/recovery-manager.js.map +0 -1
  709. package/dist/mcp/router.d.ts +0 -54
  710. package/dist/mcp/router.d.ts.map +0 -1
  711. package/dist/mcp/router.js +0 -201
  712. package/dist/mcp/router.js.map +0 -1
  713. package/dist/mcp/ruv-swarm-tools.d.ts +0 -58
  714. package/dist/mcp/ruv-swarm-tools.d.ts.map +0 -1
  715. package/dist/mcp/ruv-swarm-tools.js +0 -518
  716. package/dist/mcp/ruv-swarm-tools.js.map +0 -1
  717. package/dist/mcp/server-with-wrapper.d.ts +0 -3
  718. package/dist/mcp/server-with-wrapper.d.ts.map +0 -1
  719. package/dist/mcp/server-with-wrapper.js +0 -36
  720. package/dist/mcp/server-with-wrapper.js.map +0 -1
  721. package/dist/mcp/server-wrapper-mode.d.ts +0 -3
  722. package/dist/mcp/server-wrapper-mode.d.ts.map +0 -1
  723. package/dist/mcp/server-wrapper-mode.js +0 -28
  724. package/dist/mcp/server-wrapper-mode.js.map +0 -1
  725. package/dist/mcp/server.d.ts +0 -75
  726. package/dist/mcp/server.d.ts.map +0 -1
  727. package/dist/mcp/server.js +0 -533
  728. package/dist/mcp/server.js.map +0 -1
  729. package/dist/mcp/session-manager.d.ts +0 -60
  730. package/dist/mcp/session-manager.d.ts.map +0 -1
  731. package/dist/mcp/session-manager.js +0 -322
  732. package/dist/mcp/session-manager.js.map +0 -1
  733. package/dist/mcp/sparc-modes.d.ts +0 -12
  734. package/dist/mcp/sparc-modes.d.ts.map +0 -1
  735. package/dist/mcp/sparc-modes.js +0 -370
  736. package/dist/mcp/sparc-modes.js.map +0 -1
  737. package/dist/mcp/swarm-tools.d.ts +0 -87
  738. package/dist/mcp/swarm-tools.d.ts.map +0 -1
  739. package/dist/mcp/swarm-tools.js +0 -711
  740. package/dist/mcp/swarm-tools.js.map +0 -1
  741. package/dist/mcp/tools.d.ts +0 -145
  742. package/dist/mcp/tools.d.ts.map +0 -1
  743. package/dist/mcp/tools.js +0 -418
  744. package/dist/mcp/tools.js.map +0 -1
  745. package/dist/mcp/transports/base.d.ts +0 -22
  746. package/dist/mcp/transports/base.d.ts.map +0 -1
  747. package/dist/mcp/transports/base.js +0 -2
  748. package/dist/mcp/transports/base.js.map +0 -1
  749. package/dist/mcp/transports/http.d.ts +0 -45
  750. package/dist/mcp/transports/http.d.ts.map +0 -1
  751. package/dist/mcp/transports/http.js +0 -400
  752. package/dist/mcp/transports/http.js.map +0 -1
  753. package/dist/mcp/transports/stdio.d.ts +0 -34
  754. package/dist/mcp/transports/stdio.d.ts.map +0 -1
  755. package/dist/mcp/transports/stdio.js +0 -203
  756. package/dist/mcp/transports/stdio.js.map +0 -1
  757. package/dist/memory/advanced-memory-manager.d.ts +0 -303
  758. package/dist/memory/advanced-memory-manager.d.ts.map +0 -1
  759. package/dist/memory/advanced-memory-manager.js +0 -1458
  760. package/dist/memory/advanced-memory-manager.js.map +0 -1
  761. package/dist/memory/backends/base.d.ts +0 -21
  762. package/dist/memory/backends/base.d.ts.map +0 -1
  763. package/dist/memory/backends/base.js +0 -2
  764. package/dist/memory/backends/base.js.map +0 -1
  765. package/dist/memory/backends/markdown.d.ts +0 -32
  766. package/dist/memory/backends/markdown.d.ts.map +0 -1
  767. package/dist/memory/backends/markdown.js +0 -223
  768. package/dist/memory/backends/markdown.js.map +0 -1
  769. package/dist/memory/backends/sqlite.d.ts +0 -29
  770. package/dist/memory/backends/sqlite.d.ts.map +0 -1
  771. package/dist/memory/backends/sqlite.js +0 -272
  772. package/dist/memory/backends/sqlite.js.map +0 -1
  773. package/dist/memory/cache.d.ts +0 -65
  774. package/dist/memory/cache.d.ts.map +0 -1
  775. package/dist/memory/cache.js +0 -186
  776. package/dist/memory/cache.js.map +0 -1
  777. package/dist/memory/distributed-memory.d.ts +0 -188
  778. package/dist/memory/distributed-memory.d.ts.map +0 -1
  779. package/dist/memory/distributed-memory.js +0 -711
  780. package/dist/memory/distributed-memory.js.map +0 -1
  781. package/dist/memory/indexer.d.ts +0 -52
  782. package/dist/memory/indexer.d.ts.map +0 -1
  783. package/dist/memory/indexer.js +0 -188
  784. package/dist/memory/indexer.js.map +0 -1
  785. package/dist/memory/manager.d.ts +0 -58
  786. package/dist/memory/manager.d.ts.map +0 -1
  787. package/dist/memory/manager.js +0 -426
  788. package/dist/memory/manager.js.map +0 -1
  789. package/dist/memory/swarm-memory.d.ts +0 -91
  790. package/dist/memory/swarm-memory.d.ts.map +0 -1
  791. package/dist/memory/swarm-memory.js +0 -461
  792. package/dist/memory/swarm-memory.js.map +0 -1
  793. package/dist/migration/index.d.ts +0 -3
  794. package/dist/migration/index.d.ts.map +0 -1
  795. package/dist/migration/index.js +0 -166
  796. package/dist/migration/index.js.map +0 -1
  797. package/dist/migration/logger.d.ts +0 -26
  798. package/dist/migration/logger.d.ts.map +0 -1
  799. package/dist/migration/logger.js +0 -145
  800. package/dist/migration/logger.js.map +0 -1
  801. package/dist/migration/migration-analyzer.d.ts +0 -15
  802. package/dist/migration/migration-analyzer.d.ts.map +0 -1
  803. package/dist/migration/migration-analyzer.js +0 -279
  804. package/dist/migration/migration-analyzer.js.map +0 -1
  805. package/dist/migration/migration-runner.d.ts +0 -26
  806. package/dist/migration/migration-runner.d.ts.map +0 -1
  807. package/dist/migration/migration-runner.js +0 -499
  808. package/dist/migration/migration-runner.js.map +0 -1
  809. package/dist/migration/migration-validator.d.ts +0 -14
  810. package/dist/migration/migration-validator.d.ts.map +0 -1
  811. package/dist/migration/migration-validator.js +0 -313
  812. package/dist/migration/migration-validator.js.map +0 -1
  813. package/dist/migration/progress-reporter.d.ts +0 -25
  814. package/dist/migration/progress-reporter.d.ts.map +0 -1
  815. package/dist/migration/progress-reporter.js +0 -163
  816. package/dist/migration/progress-reporter.js.map +0 -1
  817. package/dist/migration/rollback-manager.d.ts +0 -21
  818. package/dist/migration/rollback-manager.d.ts.map +0 -1
  819. package/dist/migration/rollback-manager.js +0 -348
  820. package/dist/migration/rollback-manager.js.map +0 -1
  821. package/dist/migration/types.d.ts +0 -103
  822. package/dist/migration/types.d.ts.map +0 -1
  823. package/dist/migration/types.js +0 -6
  824. package/dist/migration/types.js.map +0 -1
  825. package/dist/monitoring/diagnostics.d.ts +0 -109
  826. package/dist/monitoring/diagnostics.d.ts.map +0 -1
  827. package/dist/monitoring/diagnostics.js +0 -545
  828. package/dist/monitoring/diagnostics.js.map +0 -1
  829. package/dist/monitoring/health-check.d.ts +0 -91
  830. package/dist/monitoring/health-check.d.ts.map +0 -1
  831. package/dist/monitoring/health-check.js +0 -371
  832. package/dist/monitoring/health-check.js.map +0 -1
  833. package/dist/monitoring/real-time-monitor.d.ts +0 -230
  834. package/dist/monitoring/real-time-monitor.d.ts.map +0 -1
  835. package/dist/monitoring/real-time-monitor.js +0 -839
  836. package/dist/monitoring/real-time-monitor.js.map +0 -1
  837. package/dist/resources/resource-manager.d.ts +0 -390
  838. package/dist/resources/resource-manager.d.ts.map +0 -1
  839. package/dist/resources/resource-manager.js +0 -1220
  840. package/dist/resources/resource-manager.js.map +0 -1
  841. package/dist/swarm/claude-flow-executor.d.ts +0 -28
  842. package/dist/swarm/claude-flow-executor.d.ts.map +0 -1
  843. package/dist/swarm/claude-flow-executor.js +0 -210
  844. package/dist/swarm/claude-flow-executor.js.map +0 -1
  845. package/dist/swarm/coordinator.d.ts +0 -134
  846. package/dist/swarm/coordinator.d.ts.map +0 -1
  847. package/dist/swarm/coordinator.js +0 -2607
  848. package/dist/swarm/coordinator.js.map +0 -1
  849. package/dist/swarm/direct-executor.d.ts +0 -48
  850. package/dist/swarm/direct-executor.d.ts.map +0 -1
  851. package/dist/swarm/direct-executor.js +0 -1113
  852. package/dist/swarm/direct-executor.js.map +0 -1
  853. package/dist/swarm/executor-v2.d.ts +0 -23
  854. package/dist/swarm/executor-v2.d.ts.map +0 -1
  855. package/dist/swarm/executor-v2.js +0 -320
  856. package/dist/swarm/executor-v2.js.map +0 -1
  857. package/dist/swarm/executor.d.ts +0 -117
  858. package/dist/swarm/executor.d.ts.map +0 -1
  859. package/dist/swarm/executor.js +0 -791
  860. package/dist/swarm/executor.js.map +0 -1
  861. package/dist/swarm/index.d.ts +0 -31
  862. package/dist/swarm/index.d.ts.map +0 -1
  863. package/dist/swarm/index.js +0 -42
  864. package/dist/swarm/index.js.map +0 -1
  865. package/dist/swarm/memory.d.ts +0 -176
  866. package/dist/swarm/memory.d.ts.map +0 -1
  867. package/dist/swarm/memory.js +0 -1068
  868. package/dist/swarm/memory.js.map +0 -1
  869. package/dist/swarm/optimizations/async-file-manager.d.ts +0 -49
  870. package/dist/swarm/optimizations/async-file-manager.d.ts.map +0 -1
  871. package/dist/swarm/optimizations/async-file-manager.js +0 -248
  872. package/dist/swarm/optimizations/async-file-manager.js.map +0 -1
  873. package/dist/swarm/optimizations/circular-buffer.d.ts +0 -46
  874. package/dist/swarm/optimizations/circular-buffer.d.ts.map +0 -1
  875. package/dist/swarm/optimizations/circular-buffer.js +0 -159
  876. package/dist/swarm/optimizations/circular-buffer.js.map +0 -1
  877. package/dist/swarm/optimizations/connection-pool.d.ts +0 -54
  878. package/dist/swarm/optimizations/connection-pool.d.ts.map +0 -1
  879. package/dist/swarm/optimizations/connection-pool.js +0 -227
  880. package/dist/swarm/optimizations/connection-pool.js.map +0 -1
  881. package/dist/swarm/optimizations/index.d.ts +0 -24
  882. package/dist/swarm/optimizations/index.d.ts.map +0 -1
  883. package/dist/swarm/optimizations/index.js +0 -30
  884. package/dist/swarm/optimizations/index.js.map +0 -1
  885. package/dist/swarm/optimizations/optimized-executor.d.ts +0 -109
  886. package/dist/swarm/optimizations/optimized-executor.d.ts.map +0 -1
  887. package/dist/swarm/optimizations/optimized-executor.js +0 -321
  888. package/dist/swarm/optimizations/optimized-executor.js.map +0 -1
  889. package/dist/swarm/optimizations/ttl-map.d.ts +0 -78
  890. package/dist/swarm/optimizations/ttl-map.d.ts.map +0 -1
  891. package/dist/swarm/optimizations/ttl-map.js +0 -229
  892. package/dist/swarm/optimizations/ttl-map.js.map +0 -1
  893. package/dist/swarm/prompt-cli.d.ts +0 -5
  894. package/dist/swarm/prompt-cli.d.ts.map +0 -1
  895. package/dist/swarm/prompt-cli.js +0 -256
  896. package/dist/swarm/prompt-cli.js.map +0 -1
  897. package/dist/swarm/prompt-copier-enhanced.d.ts +0 -17
  898. package/dist/swarm/prompt-copier-enhanced.d.ts.map +0 -1
  899. package/dist/swarm/prompt-copier-enhanced.js +0 -190
  900. package/dist/swarm/prompt-copier-enhanced.js.map +0 -1
  901. package/dist/swarm/prompt-copier.d.ts +0 -76
  902. package/dist/swarm/prompt-copier.d.ts.map +0 -1
  903. package/dist/swarm/prompt-copier.js +0 -379
  904. package/dist/swarm/prompt-copier.js.map +0 -1
  905. package/dist/swarm/prompt-manager.d.ts +0 -72
  906. package/dist/swarm/prompt-manager.d.ts.map +0 -1
  907. package/dist/swarm/prompt-manager.js +0 -270
  908. package/dist/swarm/prompt-manager.js.map +0 -1
  909. package/dist/swarm/prompt-utils.d.ts +0 -52
  910. package/dist/swarm/prompt-utils.d.ts.map +0 -1
  911. package/dist/swarm/prompt-utils.js +0 -265
  912. package/dist/swarm/prompt-utils.js.map +0 -1
  913. package/dist/swarm/sparc-executor.d.ts +0 -105
  914. package/dist/swarm/sparc-executor.d.ts.map +0 -1
  915. package/dist/swarm/sparc-executor.js +0 -1364
  916. package/dist/swarm/sparc-executor.js.map +0 -1
  917. package/dist/swarm/strategies/auto.d.ts +0 -57
  918. package/dist/swarm/strategies/auto.d.ts.map +0 -1
  919. package/dist/swarm/strategies/auto.js +0 -623
  920. package/dist/swarm/strategies/auto.js.map +0 -1
  921. package/dist/swarm/strategies/base.d.ts +0 -78
  922. package/dist/swarm/strategies/base.d.ts.map +0 -1
  923. package/dist/swarm/strategies/base.js +0 -108
  924. package/dist/swarm/strategies/base.js.map +0 -1
  925. package/dist/swarm/strategies/research.d.ts +0 -75
  926. package/dist/swarm/strategies/research.d.ts.map +0 -1
  927. package/dist/swarm/strategies/research.js +0 -841
  928. package/dist/swarm/strategies/research.js.map +0 -1
  929. package/dist/swarm/strategies/strategy-metrics-patch.d.ts +0 -11
  930. package/dist/swarm/strategies/strategy-metrics-patch.d.ts.map +0 -1
  931. package/dist/swarm/strategies/strategy-metrics-patch.js +0 -2
  932. package/dist/swarm/strategies/strategy-metrics-patch.js.map +0 -1
  933. package/dist/swarm/types.d.ts +0 -578
  934. package/dist/swarm/types.d.ts.map +0 -1
  935. package/dist/swarm/types.js +0 -51
  936. package/dist/swarm/types.js.map +0 -1
  937. package/dist/swarm/workers/copy-worker.d.ts +0 -2
  938. package/dist/swarm/workers/copy-worker.d.ts.map +0 -1
  939. package/dist/swarm/workers/copy-worker.js +0 -56
  940. package/dist/swarm/workers/copy-worker.js.map +0 -1
  941. package/dist/task/commands.d.ts +0 -60
  942. package/dist/task/commands.d.ts.map +0 -1
  943. package/dist/task/commands.js +0 -107
  944. package/dist/task/commands.js.map +0 -1
  945. package/dist/task/coordination.d.ts +0 -109
  946. package/dist/task/coordination.d.ts.map +0 -1
  947. package/dist/task/coordination.js +0 -629
  948. package/dist/task/coordination.js.map +0 -1
  949. package/dist/task/engine.d.ts +0 -198
  950. package/dist/task/engine.d.ts.map +0 -1
  951. package/dist/task/engine.js +0 -498
  952. package/dist/task/engine.js.map +0 -1
  953. package/dist/task/index.d.ts +0 -103
  954. package/dist/task/index.d.ts.map +0 -1
  955. package/dist/task/index.js +0 -276
  956. package/dist/task/index.js.map +0 -1
  957. package/dist/task/types.d.ts +0 -56
  958. package/dist/task/types.d.ts.map +0 -1
  959. package/dist/task/types.js +0 -2
  960. package/dist/task/types.js.map +0 -1
  961. package/dist/terminal/adapters/base.d.ts +0 -40
  962. package/dist/terminal/adapters/base.d.ts.map +0 -1
  963. package/dist/terminal/adapters/base.js +0 -5
  964. package/dist/terminal/adapters/base.js.map +0 -1
  965. package/dist/terminal/adapters/native.d.ts +0 -19
  966. package/dist/terminal/adapters/native.d.ts.map +0 -1
  967. package/dist/terminal/adapters/native.js +0 -414
  968. package/dist/terminal/adapters/native.js.map +0 -1
  969. package/dist/terminal/adapters/vscode.d.ts +0 -20
  970. package/dist/terminal/adapters/vscode.d.ts.map +0 -1
  971. package/dist/terminal/adapters/vscode.js +0 -265
  972. package/dist/terminal/adapters/vscode.js.map +0 -1
  973. package/dist/terminal/manager.d.ts +0 -59
  974. package/dist/terminal/manager.d.ts.map +0 -1
  975. package/dist/terminal/manager.js +0 -237
  976. package/dist/terminal/manager.js.map +0 -1
  977. package/dist/terminal/pool.d.ts +0 -32
  978. package/dist/terminal/pool.d.ts.map +0 -1
  979. package/dist/terminal/pool.js +0 -205
  980. package/dist/terminal/pool.js.map +0 -1
  981. package/dist/terminal/session.d.ts +0 -41
  982. package/dist/terminal/session.d.ts.map +0 -1
  983. package/dist/terminal/session.js +0 -206
  984. package/dist/terminal/session.js.map +0 -1
  985. package/dist/types/index.d.ts +0 -28
  986. package/dist/types/index.d.ts.map +0 -1
  987. package/dist/types/index.js +0 -15
  988. package/dist/types/index.js.map +0 -1
  989. package/dist/ui/hive-dashboard.d.ts +0 -140
  990. package/dist/ui/hive-dashboard.d.ts.map +0 -1
  991. package/dist/ui/hive-dashboard.js +0 -281
  992. package/dist/ui/hive-dashboard.js.map +0 -1
  993. package/dist/utils/error-handler.d.ts +0 -13
  994. package/dist/utils/error-handler.d.ts.map +0 -1
  995. package/dist/utils/error-handler.js +0 -45
  996. package/dist/utils/error-handler.js.map +0 -1
  997. package/dist/utils/errors.d.ts +0 -121
  998. package/dist/utils/errors.d.ts.map +0 -1
  999. package/dist/utils/errors.js +0 -194
  1000. package/dist/utils/errors.js.map +0 -1
  1001. package/dist/utils/formatters.d.ts +0 -15
  1002. package/dist/utils/formatters.d.ts.map +0 -1
  1003. package/dist/utils/formatters.js +0 -75
  1004. package/dist/utils/formatters.js.map +0 -1
  1005. package/dist/utils/helpers.d.ts +0 -131
  1006. package/dist/utils/helpers.d.ts.map +0 -1
  1007. package/dist/utils/helpers.js +0 -447
  1008. package/dist/utils/helpers.js.map +0 -1
  1009. package/dist/utils/paths.d.ts +0 -4
  1010. package/dist/utils/paths.d.ts.map +0 -1
  1011. package/dist/utils/paths.js +0 -39
  1012. package/dist/utils/paths.js.map +0 -1
  1013. package/dist/utils/types.d.ts +0 -512
  1014. package/dist/utils/types.d.ts.map +0 -1
  1015. package/dist/utils/types.js +0 -37
  1016. package/dist/utils/types.js.map +0 -1
  1017. package/src/cli/simple-commands/hive-mind/memory.d.ts +0 -37
  1018. package/src/cli/simple-commands/init/templates/CLAUDE-FLOW-SPECIFIC.md +0 -238
  1019. package/src/cli/simple-commands/init/templates/all-commands.js +0 -1355
  1020. package/src/cli/simple-commands/init/templates/commands/hooks/hooks-documentation.md +0 -272
  1021. package/src/cli/simple-commands/init/templates/github-enhanced.js +0 -505
  1022. package/src/cli/simple-commands/init/templates/hooks-documentation.md +0 -272
  1023. package/src/cli/simple-commands/web-server.d.ts +0 -22
  1024. package/src/cli/utils.d.ts +0 -8
@@ -1,1220 +0,0 @@
1
- /**
2
- * Comprehensive resource management system for swarm operations
3
- */
4
- import { EventEmitter } from 'node:events';
5
- import { generateId } from '../utils/helpers.js';
6
- /**
7
- * Comprehensive resource management with allocation, monitoring, and optimization
8
- */
9
- export class ResourceManager extends EventEmitter {
10
- logger;
11
- eventBus;
12
- config;
13
- // Resource tracking
14
- resources = new Map();
15
- pools = new Map();
16
- reservations = new Map();
17
- allocations = new Map();
18
- // Monitoring and optimization
19
- usageHistory = new Map();
20
- predictions = new Map();
21
- optimizer;
22
- // Scheduling and cleanup
23
- monitoringInterval;
24
- cleanupInterval;
25
- scalingInterval;
26
- // Performance tracking
27
- metrics;
28
- constructor(config, logger, eventBus) {
29
- super();
30
- this.logger = logger;
31
- this.eventBus = eventBus;
32
- this.config = {
33
- enableResourcePooling: true,
34
- enableResourceMonitoring: true,
35
- enableAutoScaling: true,
36
- enableQoS: true,
37
- monitoringInterval: 30000,
38
- cleanupInterval: 300000,
39
- defaultLimits: {
40
- cpu: 4.0,
41
- memory: 8 * 1024 * 1024 * 1024, // 8GB
42
- disk: 100 * 1024 * 1024 * 1024, // 100GB
43
- network: 1024 * 1024 * 1024, // 1Gbps
44
- custom: {}
45
- },
46
- reservationTimeout: 300000, // 5 minutes
47
- allocationStrategy: 'best-fit',
48
- priorityWeights: {
49
- critical: 1.0,
50
- high: 0.8,
51
- normal: 0.6,
52
- low: 0.4,
53
- background: 0.2
54
- },
55
- enablePredictiveAllocation: true,
56
- enableResourceSharing: true,
57
- debugMode: false,
58
- ...config
59
- };
60
- this.optimizer = new ResourceOptimizer(this.config, this.logger);
61
- this.metrics = new ResourceManagerMetrics();
62
- this.setupEventHandlers();
63
- }
64
- setupEventHandlers() {
65
- this.eventBus.on('agent:resource-request', (data) => {
66
- this.handleResourceRequest(data);
67
- });
68
- this.eventBus.on('agent:resource-release', (data) => {
69
- this.handleResourceRelease(data);
70
- });
71
- this.eventBus.on('resource:usage-update', (data) => {
72
- this.updateResourceUsage(data.resourceId, data.usage);
73
- });
74
- this.eventBus.on('resource:failure', (data) => {
75
- this.handleResourceFailure(data);
76
- });
77
- this.eventBus.on('scaling:trigger', (data) => {
78
- this.handleScalingTrigger(data);
79
- });
80
- }
81
- async initialize() {
82
- this.logger.info('Initializing resource manager', {
83
- pooling: this.config.enableResourcePooling,
84
- monitoring: this.config.enableResourceMonitoring,
85
- autoScaling: this.config.enableAutoScaling
86
- });
87
- // Initialize optimizer
88
- await this.optimizer.initialize();
89
- // Create default resource pools
90
- await this.createDefaultPools();
91
- // Start monitoring
92
- if (this.config.enableResourceMonitoring) {
93
- this.startMonitoring();
94
- }
95
- // Start cleanup
96
- this.startCleanup();
97
- // Start auto-scaling
98
- if (this.config.enableAutoScaling) {
99
- this.startAutoScaling();
100
- }
101
- this.emit('resource-manager:initialized');
102
- }
103
- async shutdown() {
104
- this.logger.info('Shutting down resource manager');
105
- // Stop intervals
106
- if (this.monitoringInterval)
107
- clearInterval(this.monitoringInterval);
108
- if (this.cleanupInterval)
109
- clearInterval(this.cleanupInterval);
110
- if (this.scalingInterval)
111
- clearInterval(this.scalingInterval);
112
- // Release all active allocations
113
- await this.releaseAllAllocations();
114
- // Shutdown optimizer
115
- await this.optimizer.shutdown();
116
- this.emit('resource-manager:shutdown');
117
- }
118
- // === RESOURCE MANAGEMENT ===
119
- async registerResource(type, name, capacity, metadata = {}) {
120
- const resourceId = generateId('resource');
121
- const resource = {
122
- id: resourceId,
123
- type,
124
- name,
125
- description: `${type} resource: ${name}`,
126
- capacity,
127
- allocated: this.createEmptyLimits(),
128
- available: { ...capacity },
129
- status: 'available',
130
- metadata: {
131
- provider: 'local',
132
- capabilities: [],
133
- performance: this.createDefaultPerformanceMetrics(),
134
- reliability: this.createDefaultReliabilityMetrics(),
135
- cost: this.createDefaultCostMetrics(),
136
- lastUpdated: new Date(),
137
- ...metadata
138
- },
139
- reservations: [],
140
- allocations: [],
141
- sharable: this.config.enableResourceSharing,
142
- persistent: true,
143
- cost: 1.0,
144
- tags: []
145
- };
146
- this.resources.set(resourceId, resource);
147
- this.logger.info('Resource registered', {
148
- resourceId,
149
- type,
150
- name,
151
- capacity
152
- });
153
- this.emit('resource:registered', { resource });
154
- return resourceId;
155
- }
156
- async unregisterResource(resourceId) {
157
- const resource = this.resources.get(resourceId);
158
- if (!resource) {
159
- throw new Error(`Resource ${resourceId} not found`);
160
- }
161
- // Check for active allocations
162
- if (resource.allocations.length > 0) {
163
- throw new Error(`Cannot unregister resource ${resourceId}: has active allocations`);
164
- }
165
- // Cancel pending reservations
166
- for (const reservation of resource.reservations) {
167
- await this.cancelReservation(reservation.id, 'resource_unregistered');
168
- }
169
- this.resources.delete(resourceId);
170
- this.logger.info('Resource unregistered', { resourceId });
171
- this.emit('resource:unregistered', { resourceId });
172
- }
173
- // === RESOURCE ALLOCATION ===
174
- async requestResources(agentId, requirements, options = {}) {
175
- const reservationId = generateId('reservation');
176
- const now = new Date();
177
- const reservation = {
178
- id: reservationId,
179
- resourceId: '', // Will be set when resource is found
180
- agentId,
181
- taskId: options.taskId,
182
- requirements,
183
- status: 'pending',
184
- priority: options.priority || 'normal',
185
- createdAt: now,
186
- expiresAt: options.timeout ? new Date(now.getTime() + options.timeout) :
187
- new Date(now.getTime() + this.config.reservationTimeout),
188
- metadata: {
189
- preemptible: options.preemptible || false
190
- }
191
- };
192
- this.reservations.set(reservationId, reservation);
193
- try {
194
- // Find suitable resource
195
- const resource = await this.findSuitableResource(requirements, reservation.priority);
196
- if (!resource) {
197
- reservation.status = 'failed';
198
- throw new Error('No suitable resource available');
199
- }
200
- // Reserve resource
201
- reservation.resourceId = resource.id;
202
- resource.reservations.push(reservation);
203
- // Update availability
204
- this.updateResourceAvailability(resource);
205
- reservation.status = 'confirmed';
206
- this.logger.info('Resource reservation created', {
207
- reservationId,
208
- resourceId: resource.id,
209
- agentId: agentId.id,
210
- requirements
211
- });
212
- this.emit('reservation:created', { reservation });
213
- // Auto-activate if possible
214
- if (this.canActivateReservation(reservation)) {
215
- await this.activateReservation(reservationId);
216
- }
217
- return reservationId;
218
- }
219
- catch (error) {
220
- reservation.status = 'failed';
221
- this.logger.error('Resource reservation failed', {
222
- reservationId,
223
- agentId: agentId.id,
224
- error
225
- });
226
- throw error;
227
- }
228
- }
229
- async activateReservation(reservationId) {
230
- const reservation = this.reservations.get(reservationId);
231
- if (!reservation) {
232
- throw new Error(`Reservation ${reservationId} not found`);
233
- }
234
- if (reservation.status !== 'confirmed') {
235
- throw new Error(`Reservation ${reservationId} is not confirmed`);
236
- }
237
- const resource = this.resources.get(reservation.resourceId);
238
- if (!resource) {
239
- throw new Error(`Resource ${reservation.resourceId} not found`);
240
- }
241
- // Create allocation
242
- const allocationId = generateId('allocation');
243
- const allocation = {
244
- id: allocationId,
245
- reservationId,
246
- resourceId: resource.id,
247
- agentId: reservation.agentId,
248
- taskId: reservation.taskId,
249
- allocated: this.calculateAllocation(reservation.requirements, resource),
250
- actualUsage: this.createEmptyUsage(),
251
- efficiency: 1.0,
252
- startTime: new Date(),
253
- status: 'active',
254
- qosViolations: []
255
- };
256
- this.allocations.set(allocationId, allocation);
257
- resource.allocations.push(allocation);
258
- // Update resource allocated amounts
259
- this.addToResourceLimits(resource.allocated, allocation.allocated);
260
- this.updateResourceAvailability(resource);
261
- // Update reservation status
262
- reservation.status = 'active';
263
- reservation.activatedAt = new Date();
264
- this.logger.info('Resource allocation activated', {
265
- allocationId,
266
- reservationId,
267
- resourceId: resource.id,
268
- agentId: reservation.agentId.id,
269
- allocated: allocation.allocated
270
- });
271
- this.emit('allocation:activated', { allocation });
272
- return allocationId;
273
- }
274
- async releaseResources(allocationId, reason = 'completed') {
275
- const allocation = this.allocations.get(allocationId);
276
- if (!allocation) {
277
- throw new Error(`Allocation ${allocationId} not found`);
278
- }
279
- const resource = this.resources.get(allocation.resourceId);
280
- if (!resource) {
281
- throw new Error(`Resource ${allocation.resourceId} not found`);
282
- }
283
- // Update allocation status
284
- allocation.status = 'completed';
285
- allocation.endTime = new Date();
286
- // Calculate final efficiency
287
- allocation.efficiency = this.calculateEfficiency(allocation);
288
- // Remove from resource allocated amounts
289
- this.subtractFromResourceLimits(resource.allocated, allocation.allocated);
290
- // Remove allocation from resource
291
- resource.allocations = resource.allocations.filter(a => a.id !== allocationId);
292
- // Update resource availability
293
- this.updateResourceAvailability(resource);
294
- // Update reservation if exists
295
- const reservation = this.reservations.get(allocation.reservationId);
296
- if (reservation) {
297
- reservation.releasedAt = new Date();
298
- }
299
- this.logger.info('Resource allocation released', {
300
- allocationId,
301
- resourceId: resource.id,
302
- agentId: allocation.agentId.id,
303
- reason,
304
- efficiency: allocation.efficiency
305
- });
306
- this.emit('allocation:released', { allocation, reason });
307
- // Update metrics
308
- this.metrics.recordAllocationReleased(allocation);
309
- }
310
- async cancelReservation(reservationId, reason = 'cancelled') {
311
- const reservation = this.reservations.get(reservationId);
312
- if (!reservation) {
313
- throw new Error(`Reservation ${reservationId} not found`);
314
- }
315
- // If reservation is active, release the allocation first
316
- if (reservation.status === 'active') {
317
- const allocation = Array.from(this.allocations.values())
318
- .find(a => a.reservationId === reservationId);
319
- if (allocation) {
320
- await this.releaseResources(allocation.id, reason);
321
- }
322
- }
323
- // Update reservation status
324
- reservation.status = 'cancelled';
325
- // Remove from resource if it was reserved
326
- if (reservation.resourceId) {
327
- const resource = this.resources.get(reservation.resourceId);
328
- if (resource) {
329
- resource.reservations = resource.reservations.filter(r => r.id !== reservationId);
330
- this.updateResourceAvailability(resource);
331
- }
332
- }
333
- this.logger.info('Resource reservation cancelled', {
334
- reservationId,
335
- reason
336
- });
337
- this.emit('reservation:cancelled', { reservation, reason });
338
- }
339
- // === RESOURCE POOLS ===
340
- async createResourcePool(name, type, resourceIds, strategy = 'least-loaded') {
341
- const poolId = generateId('pool');
342
- // Validate resources exist and are of correct type
343
- for (const resourceId of resourceIds) {
344
- const resource = this.resources.get(resourceId);
345
- if (!resource) {
346
- throw new Error(`Resource ${resourceId} not found`);
347
- }
348
- if (resource.type !== type) {
349
- throw new Error(`Resource ${resourceId} type mismatch: expected ${type}, got ${resource.type}`);
350
- }
351
- }
352
- const pool = {
353
- id: poolId,
354
- name,
355
- type,
356
- resources: [...resourceIds],
357
- strategy,
358
- loadBalancing: 'least-connections',
359
- scaling: {
360
- enabled: this.config.enableAutoScaling,
361
- minResources: Math.max(1, resourceIds.length),
362
- maxResources: resourceIds.length * 3,
363
- scaleUpThreshold: 0.8,
364
- scaleDownThreshold: 0.3,
365
- cooldownPeriod: 300000,
366
- metrics: [
367
- { name: 'utilization', weight: 1.0, threshold: 0.8, aggregation: 'avg' },
368
- { name: 'queue_depth', weight: 0.5, threshold: 10, aggregation: 'max' }
369
- ]
370
- },
371
- qos: {
372
- guarantees: [],
373
- objectives: [],
374
- violations: {
375
- autoRemediation: true,
376
- escalationThreshold: 3,
377
- penaltyFunction: 'linear',
378
- notificationEnabled: true
379
- }
380
- },
381
- statistics: this.createPoolStatistics(),
382
- filters: []
383
- };
384
- this.pools.set(poolId, pool);
385
- this.logger.info('Resource pool created', {
386
- poolId,
387
- name,
388
- type,
389
- resourceCount: resourceIds.length
390
- });
391
- this.emit('pool:created', { pool });
392
- return poolId;
393
- }
394
- async addResourceToPool(poolId, resourceId) {
395
- const pool = this.pools.get(poolId);
396
- if (!pool) {
397
- throw new Error(`Pool ${poolId} not found`);
398
- }
399
- const resource = this.resources.get(resourceId);
400
- if (!resource) {
401
- throw new Error(`Resource ${resourceId} not found`);
402
- }
403
- if (resource.type !== pool.type) {
404
- throw new Error(`Resource type mismatch: pool expects ${pool.type}, resource is ${resource.type}`);
405
- }
406
- if (!pool.resources.includes(resourceId)) {
407
- pool.resources.push(resourceId);
408
- this.updatePoolStatistics(pool);
409
- }
410
- this.logger.info('Resource added to pool', { poolId, resourceId });
411
- this.emit('pool:resource-added', { poolId, resourceId });
412
- }
413
- async removeResourceFromPool(poolId, resourceId) {
414
- const pool = this.pools.get(poolId);
415
- if (!pool) {
416
- throw new Error(`Pool ${poolId} not found`);
417
- }
418
- if (pool.resources.length <= pool.scaling.minResources) {
419
- throw new Error(`Cannot remove resource: pool would go below minimum size`);
420
- }
421
- pool.resources = pool.resources.filter(id => id !== resourceId);
422
- this.updatePoolStatistics(pool);
423
- this.logger.info('Resource removed from pool', { poolId, resourceId });
424
- this.emit('pool:resource-removed', { poolId, resourceId });
425
- }
426
- // === RESOURCE DISCOVERY AND ALLOCATION ===
427
- async findSuitableResource(requirements, priority) {
428
- const candidates = [];
429
- for (const resource of this.resources.values()) {
430
- if (resource.status !== 'available')
431
- continue;
432
- const score = this.calculateResourceScore(resource, requirements, priority);
433
- if (score > 0) {
434
- candidates.push({ resource, score });
435
- }
436
- }
437
- if (candidates.length === 0) {
438
- return null;
439
- }
440
- // Sort by score (highest first)
441
- candidates.sort((a, b) => b.score - a.score);
442
- // Apply allocation strategy
443
- return this.selectResourceByStrategy(candidates, requirements);
444
- }
445
- calculateResourceScore(resource, requirements, priority) {
446
- let score = 0;
447
- // Check if resource can satisfy requirements
448
- if (!this.canSatisfyRequirements(resource, requirements)) {
449
- return 0;
450
- }
451
- // Base score from resource utilization (prefer less utilized)
452
- const utilization = this.calculateResourceUtilization(resource);
453
- score += (1 - utilization) * 100;
454
- // Performance score
455
- score += resource.metadata.performance.cpuScore * 10;
456
- // Reliability score
457
- score += resource.metadata.reliability.uptime * 50;
458
- // Cost efficiency (lower cost is better)
459
- score += (1 / resource.cost) * 20;
460
- // Priority adjustment
461
- const priorityWeight = this.config.priorityWeights[priority] || 1.0;
462
- score *= priorityWeight;
463
- return score;
464
- }
465
- canSatisfyRequirements(resource, requirements) {
466
- // Check CPU
467
- if (requirements.cpu && requirements.cpu.min > resource.available.cpu) {
468
- return false;
469
- }
470
- // Check memory
471
- if (requirements.memory && requirements.memory.min > resource.available.memory) {
472
- return false;
473
- }
474
- // Check disk
475
- if (requirements.disk && requirements.disk.min > resource.available.disk) {
476
- return false;
477
- }
478
- // Check network
479
- if (requirements.network && requirements.network.min > resource.available.network) {
480
- return false;
481
- }
482
- // Check custom resources
483
- if (requirements.custom) {
484
- for (const [name, spec] of Object.entries(requirements.custom)) {
485
- const available = resource.available.custom[name] || 0;
486
- if (spec.min > available) {
487
- return false;
488
- }
489
- }
490
- }
491
- // Check constraints
492
- if (requirements.constraints) {
493
- if (!this.checkConstraints(resource, requirements.constraints)) {
494
- return false;
495
- }
496
- }
497
- return true;
498
- }
499
- checkConstraints(resource, constraints) {
500
- // Location constraints
501
- if (constraints.location && constraints.location.length > 0) {
502
- if (!constraints.location.includes(resource.location || '')) {
503
- return false;
504
- }
505
- }
506
- if (constraints.excludeLocation && constraints.excludeLocation.length > 0) {
507
- if (constraints.excludeLocation.includes(resource.location || '')) {
508
- return false;
509
- }
510
- }
511
- // Cost constraints
512
- if (constraints.maxCost && resource.cost > constraints.maxCost) {
513
- return false;
514
- }
515
- // Time window constraints
516
- if (constraints.timeWindow) {
517
- const now = new Date();
518
- if (now < constraints.timeWindow.start || now > constraints.timeWindow.end) {
519
- return false;
520
- }
521
- }
522
- return true;
523
- }
524
- selectResourceByStrategy(candidates, requirements) {
525
- switch (this.config.allocationStrategy) {
526
- case 'first-fit':
527
- return candidates[0].resource;
528
- case 'best-fit':
529
- // Find resource with smallest waste
530
- return candidates.reduce((best, current) => {
531
- const bestWaste = this.calculateWaste(best.resource, requirements);
532
- const currentWaste = this.calculateWaste(current.resource, requirements);
533
- return currentWaste < bestWaste ? current : best;
534
- }).resource;
535
- case 'worst-fit':
536
- // Find resource with largest waste (for fragmentation avoidance)
537
- return candidates.reduce((worst, current) => {
538
- const worstWaste = this.calculateWaste(worst.resource, requirements);
539
- const currentWaste = this.calculateWaste(current.resource, requirements);
540
- return currentWaste > worstWaste ? current : worst;
541
- }).resource;
542
- case 'balanced':
543
- default:
544
- // Use highest score (balanced approach)
545
- return candidates[0].resource;
546
- }
547
- }
548
- calculateWaste(resource, requirements) {
549
- let waste = 0;
550
- if (requirements.cpu) {
551
- waste += Math.max(0, resource.available.cpu - requirements.cpu.min);
552
- }
553
- if (requirements.memory) {
554
- waste += Math.max(0, resource.available.memory - requirements.memory.min);
555
- }
556
- return waste;
557
- }
558
- calculateAllocation(requirements, resource) {
559
- const allocation = {
560
- cpu: 0,
561
- memory: 0,
562
- disk: 0,
563
- network: 0,
564
- custom: {}
565
- };
566
- if (requirements.cpu) {
567
- allocation.cpu = Math.min(requirements.cpu.preferred || requirements.cpu.min, resource.available.cpu);
568
- }
569
- if (requirements.memory) {
570
- allocation.memory = Math.min(requirements.memory.preferred || requirements.memory.min, resource.available.memory);
571
- }
572
- if (requirements.disk) {
573
- allocation.disk = Math.min(requirements.disk.preferred || requirements.disk.min, resource.available.disk);
574
- }
575
- if (requirements.network) {
576
- allocation.network = Math.min(requirements.network.preferred || requirements.network.min, resource.available.network);
577
- }
578
- if (requirements.custom) {
579
- for (const [name, spec] of Object.entries(requirements.custom)) {
580
- const available = resource.available.custom[name] || 0;
581
- allocation.custom[name] = Math.min(spec.preferred || spec.min, available);
582
- }
583
- }
584
- return allocation;
585
- }
586
- // === MONITORING AND OPTIMIZATION ===
587
- startMonitoring() {
588
- this.monitoringInterval = setInterval(() => {
589
- this.performMonitoring();
590
- }, this.config.monitoringInterval);
591
- this.logger.info('Started resource monitoring', {
592
- interval: this.config.monitoringInterval
593
- });
594
- }
595
- startCleanup() {
596
- this.cleanupInterval = setInterval(() => {
597
- this.performCleanup();
598
- }, this.config.cleanupInterval);
599
- this.logger.info('Started resource cleanup', {
600
- interval: this.config.cleanupInterval
601
- });
602
- }
603
- startAutoScaling() {
604
- this.scalingInterval = setInterval(() => {
605
- this.evaluateScaling();
606
- }, 60000); // Every minute
607
- this.logger.info('Started auto-scaling');
608
- }
609
- async performMonitoring() {
610
- try {
611
- // Update resource statistics
612
- for (const resource of this.resources.values()) {
613
- await this.updateResourceStatistics(resource);
614
- }
615
- // Update pool statistics
616
- for (const pool of this.pools.values()) {
617
- this.updatePoolStatistics(pool);
618
- }
619
- // Check QoS violations
620
- if (this.config.enableQoS) {
621
- await this.checkQoSViolations();
622
- }
623
- // Predictive analysis
624
- if (this.config.enablePredictiveAllocation) {
625
- await this.updatePredictions();
626
- }
627
- // Emit monitoring update
628
- this.emit('monitoring:updated', {
629
- resources: this.resources.size,
630
- pools: this.pools.size,
631
- allocations: this.allocations.size
632
- });
633
- }
634
- catch (error) {
635
- this.logger.error('Monitoring failed', error);
636
- }
637
- }
638
- async performCleanup() {
639
- const now = new Date();
640
- // Clean up expired reservations
641
- const expiredReservations = Array.from(this.reservations.values())
642
- .filter(r => r.expiresAt && r.expiresAt < now && r.status === 'pending');
643
- for (const reservation of expiredReservations) {
644
- await this.cancelReservation(reservation.id, 'expired');
645
- }
646
- // Clean up old usage history
647
- const cutoff = new Date(now.getTime() - 86400000); // 24 hours
648
- for (const [resourceId, history] of this.usageHistory) {
649
- this.usageHistory.set(resourceId, history.filter(usage => usage.timestamp > cutoff));
650
- }
651
- this.logger.debug('Cleanup completed', {
652
- expiredReservations: expiredReservations.length
653
- });
654
- }
655
- async evaluateScaling() {
656
- for (const pool of this.pools.values()) {
657
- if (!pool.scaling.enabled)
658
- continue;
659
- const metrics = this.calculatePoolMetrics(pool);
660
- const shouldScale = this.shouldScale(pool, metrics);
661
- if (shouldScale.action === 'scale-up') {
662
- await this.scalePoolUp(pool);
663
- }
664
- else if (shouldScale.action === 'scale-down') {
665
- await this.scalePoolDown(pool);
666
- }
667
- }
668
- }
669
- // === UTILITY METHODS ===
670
- canActivateReservation(reservation) {
671
- const resource = this.resources.get(reservation.resourceId);
672
- if (!resource)
673
- return false;
674
- return this.canSatisfyRequirements(resource, reservation.requirements);
675
- }
676
- calculateResourceUtilization(resource) {
677
- let totalCapacity = 0;
678
- let totalAllocated = 0;
679
- // CPU utilization
680
- totalCapacity += resource.capacity.cpu;
681
- totalAllocated += resource.allocated.cpu;
682
- // Memory utilization
683
- totalCapacity += resource.capacity.memory / (1024 * 1024); // Convert to MB for comparison
684
- totalAllocated += resource.allocated.memory / (1024 * 1024);
685
- return totalCapacity > 0 ? totalAllocated / totalCapacity : 0;
686
- }
687
- calculateEfficiency(allocation) {
688
- if (!allocation.endTime)
689
- return 0;
690
- const duration = allocation.endTime.getTime() - allocation.startTime.getTime();
691
- if (duration <= 0)
692
- return 0;
693
- // Calculate efficiency based on actual usage vs allocated
694
- let efficiencySum = 0;
695
- let factors = 0;
696
- if (allocation.allocated.cpu > 0) {
697
- efficiencySum += allocation.actualUsage.cpu / allocation.allocated.cpu;
698
- factors++;
699
- }
700
- if (allocation.allocated.memory > 0) {
701
- efficiencySum += allocation.actualUsage.memory / allocation.allocated.memory;
702
- factors++;
703
- }
704
- return factors > 0 ? efficiencySum / factors : 1.0;
705
- }
706
- updateResourceAvailability(resource) {
707
- resource.available = {
708
- cpu: Math.max(0, resource.capacity.cpu - resource.allocated.cpu),
709
- memory: Math.max(0, resource.capacity.memory - resource.allocated.memory),
710
- disk: Math.max(0, resource.capacity.disk - resource.allocated.disk),
711
- network: Math.max(0, resource.capacity.network - resource.allocated.network),
712
- custom: {}
713
- };
714
- // Update custom resources
715
- for (const [name, capacity] of Object.entries(resource.capacity.custom)) {
716
- const allocated = resource.allocated.custom[name] || 0;
717
- resource.available.custom[name] = Math.max(0, capacity - allocated);
718
- }
719
- }
720
- addToResourceLimits(target, source) {
721
- target.cpu += source.cpu;
722
- target.memory += source.memory;
723
- target.disk += source.disk;
724
- target.network += source.network;
725
- for (const [name, value] of Object.entries(source.custom)) {
726
- target.custom[name] = (target.custom[name] || 0) + value;
727
- }
728
- }
729
- subtractFromResourceLimits(target, source) {
730
- target.cpu = Math.max(0, target.cpu - source.cpu);
731
- target.memory = Math.max(0, target.memory - source.memory);
732
- target.disk = Math.max(0, target.disk - source.disk);
733
- target.network = Math.max(0, target.network - source.network);
734
- for (const [name, value] of Object.entries(source.custom)) {
735
- target.custom[name] = Math.max(0, (target.custom[name] || 0) - value);
736
- }
737
- }
738
- createEmptyLimits() {
739
- return {
740
- cpu: 0,
741
- memory: 0,
742
- disk: 0,
743
- network: 0,
744
- custom: {}
745
- };
746
- }
747
- createEmptyUsage() {
748
- return {
749
- cpu: 0,
750
- memory: 0,
751
- disk: 0,
752
- network: 0,
753
- custom: {},
754
- timestamp: new Date(),
755
- duration: 0
756
- };
757
- }
758
- createDefaultPerformanceMetrics() {
759
- return {
760
- cpuScore: 1.0,
761
- memoryBandwidth: 1000000000, // 1GB/s
762
- diskIOPS: 1000,
763
- networkBandwidth: 1000000000, // 1Gbps
764
- benchmarkResults: {}
765
- };
766
- }
767
- createDefaultReliabilityMetrics() {
768
- return {
769
- uptime: 0.99,
770
- meanTimeBetweenFailures: 8760, // 1 year in hours
771
- errorRate: 0.01,
772
- failureHistory: []
773
- };
774
- }
775
- createDefaultCostMetrics() {
776
- return {
777
- hourlyRate: 1.0,
778
- dataTransferCost: 0.1,
779
- storageCost: 0.1,
780
- billing: 'hourly'
781
- };
782
- }
783
- createPoolStatistics() {
784
- return {
785
- totalResources: 0,
786
- availableResources: 0,
787
- utilizationRate: 0,
788
- allocationSuccessRate: 100,
789
- averageWaitTime: 0,
790
- throughput: 0,
791
- efficiency: 1.0,
792
- costPerHour: 0,
793
- qosScore: 100
794
- };
795
- }
796
- async createDefaultPools() {
797
- // Create default compute pool if we have compute resources
798
- const computeResources = Array.from(this.resources.values())
799
- .filter(r => r.type === 'compute')
800
- .map(r => r.id);
801
- if (computeResources.length > 0) {
802
- await this.createResourcePool('default-compute', 'compute', computeResources);
803
- }
804
- }
805
- updateResourceUsage(resourceId, usage) {
806
- const resource = this.resources.get(resourceId);
807
- if (!resource)
808
- return;
809
- // Store usage history
810
- const history = this.usageHistory.get(resourceId) || [];
811
- history.push(usage);
812
- // Keep only last 1000 entries
813
- if (history.length > 1000) {
814
- history.shift();
815
- }
816
- this.usageHistory.set(resourceId, history);
817
- // Update active allocations with actual usage
818
- for (const allocation of resource.allocations) {
819
- if (allocation.status === 'active') {
820
- allocation.actualUsage = usage;
821
- allocation.efficiency = this.calculateEfficiency(allocation);
822
- }
823
- }
824
- }
825
- async updateResourceStatistics(resource) {
826
- // Update utilization
827
- const utilization = this.calculateResourceUtilization(resource);
828
- // Update performance metrics based on usage history
829
- const history = this.usageHistory.get(resource.id) || [];
830
- if (history.length > 0) {
831
- const recent = history.slice(-10); // Last 10 measurements
832
- const avgCpu = recent.reduce((sum, h) => sum + h.cpu, 0) / recent.length;
833
- // Update performance score based on load
834
- resource.metadata.performance.cpuScore = Math.max(0.1, 1.0 - (avgCpu / 100));
835
- }
836
- resource.metadata.lastUpdated = new Date();
837
- }
838
- updatePoolStatistics(pool) {
839
- const resources = pool.resources.map(id => this.resources.get(id)).filter(Boolean);
840
- pool.statistics.totalResources = resources.length;
841
- pool.statistics.availableResources = resources.filter(r => r.status === 'available').length;
842
- if (resources.length > 0) {
843
- const totalUtilization = resources.reduce((sum, r) => sum + this.calculateResourceUtilization(r), 0);
844
- pool.statistics.utilizationRate = totalUtilization / resources.length;
845
- const totalCost = resources.reduce((sum, r) => sum + r.cost, 0);
846
- pool.statistics.costPerHour = totalCost;
847
- }
848
- }
849
- async checkQoSViolations() {
850
- // Check QoS for all active allocations
851
- for (const allocation of this.allocations.values()) {
852
- if (allocation.status !== 'active')
853
- continue;
854
- const resource = this.resources.get(allocation.resourceId);
855
- if (!resource)
856
- continue;
857
- // Find applicable pools
858
- const pools = Array.from(this.pools.values())
859
- .filter(p => p.resources.includes(resource.id));
860
- for (const pool of pools) {
861
- await this.checkPoolQoS(pool, allocation);
862
- }
863
- }
864
- }
865
- async checkPoolQoS(pool, allocation) {
866
- for (const guarantee of pool.qos.guarantees) {
867
- const value = this.getMetricValue(allocation, guarantee.metric);
868
- const violated = this.evaluateQoSCondition(value, guarantee.operator, guarantee.threshold);
869
- if (violated) {
870
- const violation = {
871
- timestamp: new Date(),
872
- metric: guarantee.metric,
873
- expected: guarantee.threshold,
874
- actual: value,
875
- severity: this.calculateViolationSeverity(guarantee, value),
876
- duration: 0, // Will be calculated over time
877
- resolved: false
878
- };
879
- allocation.qosViolations.push(violation);
880
- this.logger.warn('QoS violation detected', {
881
- allocationId: allocation.id,
882
- metric: guarantee.metric,
883
- expected: guarantee.threshold,
884
- actual: value
885
- });
886
- this.emit('qos:violation', { allocation, violation });
887
- // Auto-remediation if enabled
888
- if (pool.qos.violations.autoRemediation) {
889
- await this.remediateQoSViolation(allocation, violation);
890
- }
891
- }
892
- }
893
- }
894
- async updatePredictions() {
895
- for (const resource of this.resources.values()) {
896
- const history = this.usageHistory.get(resource.id) || [];
897
- if (history.length < 10)
898
- continue; // Need minimum history
899
- const prediction = await this.optimizer.predictUsage(resource, history);
900
- this.predictions.set(resource.id, prediction);
901
- }
902
- }
903
- calculatePoolMetrics(pool) {
904
- const resources = pool.resources.map(id => this.resources.get(id)).filter(Boolean);
905
- const metrics = {};
906
- if (resources.length === 0)
907
- return metrics;
908
- // Calculate utilization
909
- const totalUtilization = resources.reduce((sum, r) => sum + this.calculateResourceUtilization(r), 0);
910
- metrics.utilization = totalUtilization / resources.length;
911
- // Calculate queue depth (simplified)
912
- const totalReservations = resources.reduce((sum, r) => sum + r.reservations.length, 0);
913
- metrics.queue_depth = totalReservations;
914
- return metrics;
915
- }
916
- shouldScale(pool, metrics) {
917
- const scaling = pool.scaling;
918
- // Check scale-up conditions
919
- for (const metric of scaling.metrics) {
920
- const value = metrics[metric.name] || 0;
921
- if (metric.aggregation === 'avg' && value > metric.threshold) {
922
- if (pool.resources.length < scaling.maxResources) {
923
- return { action: 'scale-up', reason: `${metric.name} threshold exceeded` };
924
- }
925
- }
926
- }
927
- // Check scale-down conditions
928
- for (const metric of scaling.metrics) {
929
- const value = metrics[metric.name] || 0;
930
- if (metric.aggregation === 'avg' && value < scaling.scaleDownThreshold) {
931
- if (pool.resources.length > scaling.minResources) {
932
- return { action: 'scale-down', reason: `${metric.name} below threshold` };
933
- }
934
- }
935
- }
936
- return { action: 'none', reason: 'No scaling needed' };
937
- }
938
- async scalePoolUp(pool) {
939
- this.logger.info('Scaling pool up', { poolId: pool.id });
940
- // Implementation would add new resources to the pool
941
- this.emit('pool:scaled-up', { pool });
942
- }
943
- async scalePoolDown(pool) {
944
- this.logger.info('Scaling pool down', { poolId: pool.id });
945
- // Implementation would remove underutilized resources from the pool
946
- this.emit('pool:scaled-down', { pool });
947
- }
948
- getMetricValue(allocation, metric) {
949
- switch (metric) {
950
- case 'cpu': return allocation.actualUsage.cpu;
951
- case 'memory': return allocation.actualUsage.memory;
952
- case 'efficiency': return allocation.efficiency;
953
- default: return 0;
954
- }
955
- }
956
- evaluateQoSCondition(value, operator, threshold) {
957
- switch (operator) {
958
- case 'gt': return value > threshold;
959
- case 'lt': return value < threshold;
960
- case 'eq': return value === threshold;
961
- case 'gte': return value >= threshold;
962
- case 'lte': return value <= threshold;
963
- default: return false;
964
- }
965
- }
966
- calculateViolationSeverity(guarantee, actualValue) {
967
- const deviation = Math.abs(actualValue - guarantee.threshold) / guarantee.threshold;
968
- if (deviation > 0.5)
969
- return 'critical';
970
- if (deviation > 0.3)
971
- return 'high';
972
- if (deviation > 0.1)
973
- return 'medium';
974
- return 'low';
975
- }
976
- async remediateQoSViolation(allocation, violation) {
977
- this.logger.info('Attempting QoS violation remediation', {
978
- allocationId: allocation.id,
979
- metric: violation.metric,
980
- severity: violation.severity
981
- });
982
- // Simple remediation strategies
983
- switch (violation.metric) {
984
- case 'cpu':
985
- // Could migrate to a less loaded resource
986
- break;
987
- case 'memory':
988
- // Could increase memory allocation if available
989
- break;
990
- case 'efficiency':
991
- // Could provide optimization recommendations
992
- break;
993
- }
994
- this.emit('qos:remediation-attempted', { allocation, violation });
995
- }
996
- async releaseAllAllocations() {
997
- const activeAllocations = Array.from(this.allocations.values())
998
- .filter(a => a.status === 'active');
999
- for (const allocation of activeAllocations) {
1000
- await this.releaseResources(allocation.id, 'system_shutdown');
1001
- }
1002
- }
1003
- handleResourceRequest(data) {
1004
- // Handle resource requests from agents
1005
- this.emit('resource:request-received', data);
1006
- }
1007
- handleResourceRelease(data) {
1008
- // Handle resource releases from agents
1009
- this.emit('resource:release-received', data);
1010
- }
1011
- handleResourceFailure(data) {
1012
- const resource = this.resources.get(data.resourceId);
1013
- if (resource) {
1014
- resource.status = 'failed';
1015
- // Record failure
1016
- resource.metadata.reliability.failureHistory.push({
1017
- timestamp: new Date(),
1018
- type: data.type || 'unknown',
1019
- duration: data.duration || 0,
1020
- impact: data.impact || 'medium',
1021
- resolved: false
1022
- });
1023
- this.logger.error('Resource failure detected', {
1024
- resourceId: data.resourceId,
1025
- type: data.type
1026
- });
1027
- this.emit('resource:failed', { resource, failure: data });
1028
- }
1029
- }
1030
- handleScalingTrigger(data) {
1031
- // Handle scaling triggers from monitoring system
1032
- this.emit('scaling:triggered', data);
1033
- }
1034
- // === PUBLIC API ===
1035
- getResource(resourceId) {
1036
- return this.resources.get(resourceId);
1037
- }
1038
- getAllResources() {
1039
- return Array.from(this.resources.values());
1040
- }
1041
- getResourcesByType(type) {
1042
- return Array.from(this.resources.values()).filter(r => r.type === type);
1043
- }
1044
- getPool(poolId) {
1045
- return this.pools.get(poolId);
1046
- }
1047
- getAllPools() {
1048
- return Array.from(this.pools.values());
1049
- }
1050
- getReservation(reservationId) {
1051
- return this.reservations.get(reservationId);
1052
- }
1053
- getAllReservations() {
1054
- return Array.from(this.reservations.values());
1055
- }
1056
- getAllocation(allocationId) {
1057
- return this.allocations.get(allocationId);
1058
- }
1059
- getAllAllocations() {
1060
- return Array.from(this.allocations.values());
1061
- }
1062
- getResourceUsageHistory(resourceId) {
1063
- return this.usageHistory.get(resourceId) || [];
1064
- }
1065
- getResourcePrediction(resourceId) {
1066
- return this.predictions.get(resourceId);
1067
- }
1068
- getManagerStatistics() {
1069
- const resources = Array.from(this.resources.values());
1070
- const allocations = Array.from(this.allocations.values());
1071
- const totalCapacity = resources.reduce((sum, r) => sum + r.capacity.cpu, 0);
1072
- const totalAllocated = resources.reduce((sum, r) => sum + r.allocated.cpu, 0);
1073
- const activeAllocations = allocations.filter(a => a.status === 'active');
1074
- const avgEfficiency = activeAllocations.length > 0 ?
1075
- activeAllocations.reduce((sum, a) => sum + a.efficiency, 0) / activeAllocations.length : 1.0;
1076
- return {
1077
- resources: this.resources.size,
1078
- pools: this.pools.size,
1079
- reservations: this.reservations.size,
1080
- allocations: this.allocations.size,
1081
- utilization: totalCapacity > 0 ? totalAllocated / totalCapacity : 0,
1082
- efficiency: avgEfficiency
1083
- };
1084
- }
1085
- }
1086
- class ResourceOptimizer {
1087
- config;
1088
- logger;
1089
- constructor(config, logger) {
1090
- this.config = config;
1091
- this.logger = logger;
1092
- }
1093
- async initialize() {
1094
- this.logger.debug('Resource optimizer initialized');
1095
- }
1096
- async shutdown() {
1097
- this.logger.debug('Resource optimizer shutdown');
1098
- }
1099
- async predictUsage(resource, history) {
1100
- // Simple linear trend analysis
1101
- const predictions = [];
1102
- // Calculate trends
1103
- const cpuTrend = this.calculateTrend(history.map(h => h.cpu));
1104
- const memoryTrend = this.calculateTrend(history.map(h => h.memory));
1105
- const diskTrend = this.calculateTrend(history.map(h => h.disk));
1106
- // Generate predictions for next 24 hours
1107
- for (let i = 1; i <= 24; i++) {
1108
- const futureTime = new Date(Date.now() + i * 3600000); // i hours from now
1109
- predictions.push({
1110
- timestamp: futureTime,
1111
- predictedUsage: {
1112
- cpu: Math.max(0, Math.min(100, this.extrapolateTrend(cpuTrend, i))),
1113
- memory: Math.max(0, this.extrapolateTrend(memoryTrend, i)),
1114
- disk: Math.max(0, this.extrapolateTrend(diskTrend, i)),
1115
- network: 0, // Simplified
1116
- custom: {},
1117
- timestamp: futureTime,
1118
- duration: 3600000 // 1 hour
1119
- },
1120
- confidence: Math.max(0.1, 1.0 - (i * 0.05)) // Decreasing confidence over time
1121
- });
1122
- }
1123
- return {
1124
- resourceId: resource.id,
1125
- predictions,
1126
- trends: {
1127
- cpu: this.categorizeTrend(cpuTrend),
1128
- memory: this.categorizeTrend(memoryTrend),
1129
- disk: this.categorizeTrend(diskTrend)
1130
- },
1131
- recommendations: this.generateRecommendations(resource, history)
1132
- };
1133
- }
1134
- calculateTrend(values) {
1135
- if (values.length < 2) {
1136
- return { slope: 0, intercept: values[0] || 0, r2: 0 };
1137
- }
1138
- const n = values.length;
1139
- const sumX = values.reduce((sum, _, i) => sum + i, 0);
1140
- const sumY = values.reduce((sum, val) => sum + val, 0);
1141
- const sumXY = values.reduce((sum, val, i) => sum + i * val, 0);
1142
- const sumXX = values.reduce((sum, _, i) => sum + i * i, 0);
1143
- const slope = (n * sumXY - sumX * sumY) / (n * sumXX - sumX * sumX);
1144
- const intercept = (sumY - slope * sumX) / n;
1145
- // Calculate R²
1146
- const meanY = sumY / n;
1147
- const ssTotal = values.reduce((sum, val) => sum + Math.pow(val - meanY, 2), 0);
1148
- const ssRes = values.reduce((sum, val, i) => {
1149
- const predicted = slope * i + intercept;
1150
- return sum + Math.pow(val - predicted, 2);
1151
- }, 0);
1152
- const r2 = 1 - (ssRes / ssTotal);
1153
- return { slope, intercept, r2 };
1154
- }
1155
- extrapolateTrend(trend, steps) {
1156
- return trend.slope * steps + trend.intercept;
1157
- }
1158
- categorizeTrend(trend) {
1159
- const threshold = 0.1;
1160
- if (trend.slope > threshold)
1161
- return 'increasing';
1162
- if (trend.slope < -threshold)
1163
- return 'decreasing';
1164
- return 'stable';
1165
- }
1166
- generateRecommendations(resource, history) {
1167
- const recommendations = [];
1168
- if (history.length === 0) {
1169
- return recommendations;
1170
- }
1171
- const recent = history.slice(-10);
1172
- const avgCpu = recent.reduce((sum, h) => sum + h.cpu, 0) / recent.length;
1173
- const avgMemory = recent.reduce((sum, h) => sum + h.memory, 0) / recent.length;
1174
- // CPU recommendations
1175
- if (avgCpu > 80) {
1176
- recommendations.push('High CPU usage detected. Consider scaling up or optimizing workloads.');
1177
- }
1178
- else if (avgCpu < 20) {
1179
- recommendations.push('Low CPU usage. Consider scaling down to reduce costs.');
1180
- }
1181
- // Memory recommendations
1182
- const memoryUtilization = avgMemory / resource.capacity.memory;
1183
- if (memoryUtilization > 0.9) {
1184
- recommendations.push('High memory usage. Consider increasing memory allocation.');
1185
- }
1186
- else if (memoryUtilization < 0.3) {
1187
- recommendations.push('Low memory usage. Consider reducing memory allocation.');
1188
- }
1189
- return recommendations;
1190
- }
1191
- }
1192
- class ResourceManagerMetrics {
1193
- allocationsCreated = 0;
1194
- allocationsReleased = 0;
1195
- reservationsFailed = 0;
1196
- qosViolations = 0;
1197
- recordAllocationCreated() {
1198
- this.allocationsCreated++;
1199
- }
1200
- recordAllocationReleased(allocation) {
1201
- this.allocationsReleased++;
1202
- }
1203
- recordReservationFailed() {
1204
- this.reservationsFailed++;
1205
- }
1206
- recordQoSViolation() {
1207
- this.qosViolations++;
1208
- }
1209
- getMetrics() {
1210
- return {
1211
- allocationsCreated: this.allocationsCreated,
1212
- allocationsReleased: this.allocationsReleased,
1213
- reservationsFailed: this.reservationsFailed,
1214
- qosViolations: this.qosViolations,
1215
- successRate: this.allocationsCreated > 0 ?
1216
- ((this.allocationsCreated - this.reservationsFailed) / this.allocationsCreated) * 100 : 100
1217
- };
1218
- }
1219
- }
1220
- //# sourceMappingURL=resource-manager.js.map