claude-flow 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (1018) hide show
  1. package/.claude/settings.json +30 -110
  2. package/README.md +301 -605
  3. package/bin/claude-flow +26 -2
  4. package/cli.mjs +2 -19
  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 +1 -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/mcp-wrapper.js +4 -1
  27. package/src/cli/simple-commands/hive-mind/memory.js +19 -5
  28. package/src/cli/simple-commands/hive-mind.js +390 -636
  29. package/src/cli/simple-commands/init/executable-wrapper.js +8 -5
  30. package/src/cli/simple-commands/init/help.js +6 -2
  31. package/src/cli/simple-commands/init/index.js +201 -168
  32. package/src/cli/simple-commands/init/templates/claude-flow-universal +78 -0
  33. package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +102 -0
  34. package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +105 -0
  35. package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +106 -0
  36. package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +101 -0
  37. package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +102 -0
  38. package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +102 -0
  39. package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +105 -0
  40. package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +8 -8
  41. package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +107 -0
  42. package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +110 -0
  43. package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +106 -0
  44. package/src/cli/simple-commands/init/templates/enhanced-templates.js +170 -222
  45. package/src/cli/simple-commands/init/templates/settings.json +30 -110
  46. package/src/cli/simple-commands/swarm.js +9 -6
  47. package/src/cli/ui/compatible-ui.ts +1 -14
  48. package/src/cli/ui/fallback-handler.ts +2 -2
  49. package/src/cli/utils/environment-detector.ts +6 -6
  50. package/src/cli/utils/interactive-detector.js +126 -0
  51. package/src/communication/message-bus.ts +7 -3
  52. package/src/coordination/advanced-task-executor.ts +11 -8
  53. package/src/coordination/load-balancer.ts +19 -33
  54. package/src/coordination/work-stealing.ts +1 -1
  55. package/src/core/event-bus.ts +2 -2
  56. package/src/core/logger.ts +1 -1
  57. package/src/hive-mind/core/Agent.ts +2 -3
  58. package/src/hive-mind/core/Communication.ts +3 -16
  59. package/src/hive-mind/core/DatabaseManager.ts +3 -18
  60. package/src/hive-mind/core/HiveMind.ts +6 -8
  61. package/src/hive-mind/core/Memory.ts +35 -29
  62. package/src/hive-mind/integration/ConsensusEngine.ts +19 -4
  63. package/src/hive-mind/integration/MCPToolWrapper.ts +2 -1
  64. package/src/hive-mind/integration/SwarmOrchestrator.ts +4 -7
  65. package/src/integration/mock-components.ts +8 -8
  66. package/src/integration/system-integration.ts +20 -33
  67. package/src/mcp/index.ts +17 -20
  68. package/src/mcp/ruv-swarm-tools.ts +2 -12
  69. package/src/swarm/coordinator.ts +46 -97
  70. package/src/swarm/executor-v2.ts +18 -23
  71. package/src/swarm/executor.ts +9 -9
  72. package/src/swarm/optimizations/optimized-executor.ts +26 -79
  73. package/src/swarm/prompt-copier-enhanced.ts +9 -27
  74. package/src/swarm/prompt-copier.ts +12 -13
  75. package/src/swarm/types.ts +1 -7
  76. package/src/utils/error-handler.ts +6 -23
  77. package/src/utils/type-guards.ts +188 -0
  78. package/.claude/commands/analysis/README.md +0 -9
  79. package/.claude/commands/analysis/bottleneck-detect.md +0 -150
  80. package/.claude/commands/analysis/performance-report.md +0 -25
  81. package/.claude/commands/analysis/token-usage.md +0 -25
  82. package/.claude/commands/automation/README.md +0 -9
  83. package/.claude/commands/automation/auto-agent.md +0 -112
  84. package/.claude/commands/automation/smart-spawn.md +0 -25
  85. package/.claude/commands/automation/workflow-select.md +0 -25
  86. package/.claude/commands/coordination/README.md +0 -9
  87. package/.claude/commands/coordination/agent-spawn.md +0 -25
  88. package/.claude/commands/coordination/swarm-init.md +0 -76
  89. package/.claude/commands/coordination/task-orchestrate.md +0 -25
  90. package/.claude/commands/github/README.md +0 -11
  91. package/.claude/commands/github/code-review.md +0 -25
  92. package/.claude/commands/github/github-swarm.md +0 -108
  93. package/.claude/commands/github/issue-tracker-enhanced.md +0 -358
  94. package/.claude/commands/github/issue-triage.md +0 -25
  95. package/.claude/commands/github/pr-enhance.md +0 -26
  96. package/.claude/commands/github/repo-analyze.md +0 -25
  97. package/.claude/commands/hooks/README.md +0 -11
  98. package/.claude/commands/hooks/post-edit.md +0 -25
  99. package/.claude/commands/hooks/post-task.md +0 -25
  100. package/.claude/commands/hooks/pre-edit.md +0 -25
  101. package/.claude/commands/hooks/pre-task.md +0 -100
  102. package/.claude/commands/hooks/session-end.md +0 -25
  103. package/.claude/commands/hooks-overview.md +0 -245
  104. package/.claude/commands/memory/README.md +0 -9
  105. package/.claude/commands/memory/memory-persist.md +0 -25
  106. package/.claude/commands/memory/memory-search.md +0 -25
  107. package/.claude/commands/memory/memory-usage.md +0 -25
  108. package/.claude/commands/monitoring/README.md +0 -9
  109. package/.claude/commands/monitoring/agent-metrics.md +0 -25
  110. package/.claude/commands/monitoring/real-time-view.md +0 -25
  111. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  112. package/.claude/commands/optimization/README.md +0 -9
  113. package/.claude/commands/optimization/cache-manage.md +0 -25
  114. package/.claude/commands/optimization/parallel-execute.md +0 -25
  115. package/.claude/commands/optimization/topology-optimize.md +0 -25
  116. package/.claude/commands/training/README.md +0 -9
  117. package/.claude/commands/training/model-update.md +0 -25
  118. package/.claude/commands/training/neural-train.md +0 -25
  119. package/.claude/commands/training/pattern-learn.md +0 -25
  120. package/.claude/commands/workflows/README.md +0 -9
  121. package/.claude/commands/workflows/workflow-create.md +0 -25
  122. package/.claude/commands/workflows/workflow-execute.md +0 -25
  123. package/.claude/commands/workflows/workflow-export.md +0 -25
  124. package/.claude/helpers/github-setup.sh +0 -28
  125. package/.claude/helpers/quick-start.sh +0 -19
  126. package/.claude/helpers/setup-mcp.sh +0 -18
  127. package/dist/adapters/cliffy-node.d.ts +0 -45
  128. package/dist/adapters/cliffy-node.d.ts.map +0 -1
  129. package/dist/adapters/cliffy-node.js +0 -61
  130. package/dist/adapters/cliffy-node.js.map +0 -1
  131. package/dist/agents/agent-manager.d.ts +0 -191
  132. package/dist/agents/agent-manager.d.ts.map +0 -1
  133. package/dist/agents/agent-manager.js +0 -969
  134. package/dist/agents/agent-manager.js.map +0 -1
  135. package/dist/agents/agent-registry.d.ts +0 -112
  136. package/dist/agents/agent-registry.d.ts.map +0 -1
  137. package/dist/agents/agent-registry.js +0 -341
  138. package/dist/agents/agent-registry.js.map +0 -1
  139. package/dist/cli/agents/analyst.d.ts +0 -28
  140. package/dist/cli/agents/analyst.d.ts.map +0 -1
  141. package/dist/cli/agents/analyst.js +0 -718
  142. package/dist/cli/agents/analyst.js.map +0 -1
  143. package/dist/cli/agents/architect.d.ts +0 -27
  144. package/dist/cli/agents/architect.d.ts.map +0 -1
  145. package/dist/cli/agents/architect.js +0 -729
  146. package/dist/cli/agents/architect.js.map +0 -1
  147. package/dist/cli/agents/base-agent.d.ts +0 -80
  148. package/dist/cli/agents/base-agent.d.ts.map +0 -1
  149. package/dist/cli/agents/base-agent.js +0 -385
  150. package/dist/cli/agents/base-agent.js.map +0 -1
  151. package/dist/cli/agents/capabilities.d.ts +0 -106
  152. package/dist/cli/agents/capabilities.d.ts.map +0 -1
  153. package/dist/cli/agents/capabilities.js +0 -556
  154. package/dist/cli/agents/capabilities.js.map +0 -1
  155. package/dist/cli/agents/coder.d.ts +0 -34
  156. package/dist/cli/agents/coder.d.ts.map +0 -1
  157. package/dist/cli/agents/coder.js +0 -806
  158. package/dist/cli/agents/coder.js.map +0 -1
  159. package/dist/cli/agents/coordinator.d.ts +0 -25
  160. package/dist/cli/agents/coordinator.d.ts.map +0 -1
  161. package/dist/cli/agents/coordinator.js +0 -454
  162. package/dist/cli/agents/coordinator.js.map +0 -1
  163. package/dist/cli/agents/hive-agents.d.ts +0 -85
  164. package/dist/cli/agents/hive-agents.d.ts.map +0 -1
  165. package/dist/cli/agents/hive-agents.js +0 -549
  166. package/dist/cli/agents/hive-agents.js.map +0 -1
  167. package/dist/cli/agents/index.d.ts +0 -111
  168. package/dist/cli/agents/index.d.ts.map +0 -1
  169. package/dist/cli/agents/index.js +0 -276
  170. package/dist/cli/agents/index.js.map +0 -1
  171. package/dist/cli/agents/researcher.d.ts +0 -24
  172. package/dist/cli/agents/researcher.d.ts.map +0 -1
  173. package/dist/cli/agents/researcher.js +0 -356
  174. package/dist/cli/agents/researcher.js.map +0 -1
  175. package/dist/cli/agents/tester.d.ts +0 -27
  176. package/dist/cli/agents/tester.d.ts.map +0 -1
  177. package/dist/cli/agents/tester.js +0 -594
  178. package/dist/cli/agents/tester.js.map +0 -1
  179. package/dist/cli/cli-core.d.ts +0 -49
  180. package/dist/cli/cli-core.d.ts.map +0 -1
  181. package/dist/cli/cli-core.js +0 -263
  182. package/dist/cli/cli-core.js.map +0 -1
  183. package/dist/cli/commands/advanced-memory-commands.d.ts +0 -2
  184. package/dist/cli/commands/advanced-memory-commands.d.ts.map +0 -1
  185. package/dist/cli/commands/advanced-memory-commands.js +0 -849
  186. package/dist/cli/commands/advanced-memory-commands.js.map +0 -1
  187. package/dist/cli/commands/agent-simple.d.ts +0 -12
  188. package/dist/cli/commands/agent-simple.d.ts.map +0 -1
  189. package/dist/cli/commands/agent-simple.js +0 -353
  190. package/dist/cli/commands/agent-simple.js.map +0 -1
  191. package/dist/cli/commands/agent.d.ts +0 -7
  192. package/dist/cli/commands/agent.d.ts.map +0 -1
  193. package/dist/cli/commands/agent.js +0 -369
  194. package/dist/cli/commands/agent.js.map +0 -1
  195. package/dist/cli/commands/claude.d.ts +0 -3
  196. package/dist/cli/commands/claude.d.ts.map +0 -1
  197. package/dist/cli/commands/claude.js +0 -154
  198. package/dist/cli/commands/claude.js.map +0 -1
  199. package/dist/cli/commands/config-integration.d.ts +0 -10
  200. package/dist/cli/commands/config-integration.d.ts.map +0 -1
  201. package/dist/cli/commands/config-integration.js +0 -416
  202. package/dist/cli/commands/config-integration.js.map +0 -1
  203. package/dist/cli/commands/config.d.ts +0 -5
  204. package/dist/cli/commands/config.d.ts.map +0 -1
  205. package/dist/cli/commands/config.js +0 -89
  206. package/dist/cli/commands/config.js.map +0 -1
  207. package/dist/cli/commands/enterprise.d.ts +0 -3
  208. package/dist/cli/commands/enterprise.d.ts.map +0 -1
  209. package/dist/cli/commands/enterprise.js +0 -1486
  210. package/dist/cli/commands/enterprise.js.map +0 -1
  211. package/dist/cli/commands/help.d.ts +0 -6
  212. package/dist/cli/commands/help.d.ts.map +0 -1
  213. package/dist/cli/commands/help.js +0 -786
  214. package/dist/cli/commands/help.js.map +0 -1
  215. package/dist/cli/commands/hive-mind/index.d.ts +0 -15
  216. package/dist/cli/commands/hive-mind/index.d.ts.map +0 -1
  217. package/dist/cli/commands/hive-mind/index.js +0 -22
  218. package/dist/cli/commands/hive-mind/index.js.map +0 -1
  219. package/dist/cli/commands/hive-mind/init.d.ts +0 -10
  220. package/dist/cli/commands/hive-mind/init.d.ts.map +0 -1
  221. package/dist/cli/commands/hive-mind/init.js +0 -68
  222. package/dist/cli/commands/hive-mind/init.js.map +0 -1
  223. package/dist/cli/commands/hive-mind/optimize-memory.d.ts +0 -8
  224. package/dist/cli/commands/hive-mind/optimize-memory.d.ts.map +0 -1
  225. package/dist/cli/commands/hive-mind/optimize-memory.js +0 -391
  226. package/dist/cli/commands/hive-mind/optimize-memory.js.map +0 -1
  227. package/dist/cli/commands/hive-mind/spawn.d.ts +0 -10
  228. package/dist/cli/commands/hive-mind/spawn.d.ts.map +0 -1
  229. package/dist/cli/commands/hive-mind/spawn.js +0 -147
  230. package/dist/cli/commands/hive-mind/spawn.js.map +0 -1
  231. package/dist/cli/commands/hive-mind/status.d.ts +0 -10
  232. package/dist/cli/commands/hive-mind/status.d.ts.map +0 -1
  233. package/dist/cli/commands/hive-mind/status.js +0 -209
  234. package/dist/cli/commands/hive-mind/status.js.map +0 -1
  235. package/dist/cli/commands/hive-mind/task.d.ts +0 -10
  236. package/dist/cli/commands/hive-mind/task.d.ts.map +0 -1
  237. package/dist/cli/commands/hive-mind/task.js +0 -288
  238. package/dist/cli/commands/hive-mind/task.js.map +0 -1
  239. package/dist/cli/commands/hive-mind/wizard.d.ts +0 -10
  240. package/dist/cli/commands/hive-mind/wizard.d.ts.map +0 -1
  241. package/dist/cli/commands/hive-mind/wizard.js +0 -513
  242. package/dist/cli/commands/hive-mind/wizard.js.map +0 -1
  243. package/dist/cli/commands/hive.d.ts +0 -6
  244. package/dist/cli/commands/hive.d.ts.map +0 -1
  245. package/dist/cli/commands/hive.js +0 -374
  246. package/dist/cli/commands/hive.js.map +0 -1
  247. package/dist/cli/commands/index.d.ts +0 -3
  248. package/dist/cli/commands/index.d.ts.map +0 -1
  249. package/dist/cli/commands/index.js +0 -2416
  250. package/dist/cli/commands/index.js.map +0 -1
  251. package/dist/cli/commands/mcp.d.ts +0 -6
  252. package/dist/cli/commands/mcp.d.ts.map +0 -1
  253. package/dist/cli/commands/mcp.js +0 -177
  254. package/dist/cli/commands/mcp.js.map +0 -1
  255. package/dist/cli/commands/memory.d.ts +0 -30
  256. package/dist/cli/commands/memory.d.ts.map +0 -1
  257. package/dist/cli/commands/memory.js +0 -225
  258. package/dist/cli/commands/memory.js.map +0 -1
  259. package/dist/cli/commands/migrate.d.ts +0 -6
  260. package/dist/cli/commands/migrate.d.ts.map +0 -1
  261. package/dist/cli/commands/migrate.js +0 -139
  262. package/dist/cli/commands/migrate.js.map +0 -1
  263. package/dist/cli/commands/monitor.d.ts +0 -6
  264. package/dist/cli/commands/monitor.d.ts.map +0 -1
  265. package/dist/cli/commands/monitor.js +0 -477
  266. package/dist/cli/commands/monitor.js.map +0 -1
  267. package/dist/cli/commands/ruv-swarm.d.ts +0 -10
  268. package/dist/cli/commands/ruv-swarm.d.ts.map +0 -1
  269. package/dist/cli/commands/ruv-swarm.js +0 -563
  270. package/dist/cli/commands/ruv-swarm.js.map +0 -1
  271. package/dist/cli/commands/session.d.ts +0 -6
  272. package/dist/cli/commands/session.d.ts.map +0 -1
  273. package/dist/cli/commands/session.js +0 -543
  274. package/dist/cli/commands/session.js.map +0 -1
  275. package/dist/cli/commands/sparc.d.ts +0 -3
  276. package/dist/cli/commands/sparc.d.ts.map +0 -1
  277. package/dist/cli/commands/sparc.js +0 -452
  278. package/dist/cli/commands/sparc.js.map +0 -1
  279. package/dist/cli/commands/start/event-emitter.d.ts +0 -13
  280. package/dist/cli/commands/start/event-emitter.d.ts.map +0 -1
  281. package/dist/cli/commands/start/event-emitter.js +0 -35
  282. package/dist/cli/commands/start/event-emitter.js.map +0 -1
  283. package/dist/cli/commands/start/index.d.ts +0 -10
  284. package/dist/cli/commands/start/index.d.ts.map +0 -1
  285. package/dist/cli/commands/start/index.js +0 -9
  286. package/dist/cli/commands/start/index.js.map +0 -1
  287. package/dist/cli/commands/start/process-manager.d.ts +0 -31
  288. package/dist/cli/commands/start/process-manager.d.ts.map +0 -1
  289. package/dist/cli/commands/start/process-manager.js +0 -281
  290. package/dist/cli/commands/start/process-manager.js.map +0 -1
  291. package/dist/cli/commands/start/process-ui-simple.d.ts +0 -25
  292. package/dist/cli/commands/start/process-ui-simple.d.ts.map +0 -1
  293. package/dist/cli/commands/start/process-ui-simple.js +0 -334
  294. package/dist/cli/commands/start/process-ui-simple.js.map +0 -1
  295. package/dist/cli/commands/start/process-ui.d.ts +0 -5
  296. package/dist/cli/commands/start/process-ui.d.ts.map +0 -1
  297. package/dist/cli/commands/start/process-ui.js +0 -5
  298. package/dist/cli/commands/start/process-ui.js.map +0 -1
  299. package/dist/cli/commands/start/start-command.d.ts +0 -6
  300. package/dist/cli/commands/start/start-command.d.ts.map +0 -1
  301. package/dist/cli/commands/start/start-command.js +0 -450
  302. package/dist/cli/commands/start/start-command.js.map +0 -1
  303. package/dist/cli/commands/start/system-monitor.d.ts +0 -22
  304. package/dist/cli/commands/start/system-monitor.d.ts.map +0 -1
  305. package/dist/cli/commands/start/system-monitor.js +0 -267
  306. package/dist/cli/commands/start/system-monitor.js.map +0 -1
  307. package/dist/cli/commands/start/types.d.ts +0 -64
  308. package/dist/cli/commands/start/types.d.ts.map +0 -1
  309. package/dist/cli/commands/start/types.js +0 -22
  310. package/dist/cli/commands/start/types.js.map +0 -1
  311. package/dist/cli/commands/start.d.ts +0 -6
  312. package/dist/cli/commands/start.d.ts.map +0 -1
  313. package/dist/cli/commands/start.js +0 -6
  314. package/dist/cli/commands/start.js.map +0 -1
  315. package/dist/cli/commands/status.d.ts +0 -6
  316. package/dist/cli/commands/status.d.ts.map +0 -1
  317. package/dist/cli/commands/status.js +0 -312
  318. package/dist/cli/commands/status.js.map +0 -1
  319. package/dist/cli/commands/swarm-new.d.ts +0 -3
  320. package/dist/cli/commands/swarm-new.d.ts.map +0 -1
  321. package/dist/cli/commands/swarm-new.js +0 -989
  322. package/dist/cli/commands/swarm-new.js.map +0 -1
  323. package/dist/cli/commands/swarm-spawn.d.ts +0 -24
  324. package/dist/cli/commands/swarm-spawn.d.ts.map +0 -1
  325. package/dist/cli/commands/swarm-spawn.js +0 -61
  326. package/dist/cli/commands/swarm-spawn.js.map +0 -1
  327. package/dist/cli/commands/swarm.d.ts +0 -3
  328. package/dist/cli/commands/swarm.d.ts.map +0 -1
  329. package/dist/cli/commands/swarm.js +0 -460
  330. package/dist/cli/commands/swarm.js.map +0 -1
  331. package/dist/cli/commands/task.d.ts +0 -3
  332. package/dist/cli/commands/task.d.ts.map +0 -1
  333. package/dist/cli/commands/task.js +0 -29
  334. package/dist/cli/commands/task.js.map +0 -1
  335. package/dist/cli/commands/workflow.d.ts +0 -3
  336. package/dist/cli/commands/workflow.d.ts.map +0 -1
  337. package/dist/cli/commands/workflow.js +0 -23
  338. package/dist/cli/commands/workflow.js.map +0 -1
  339. package/dist/cli/completion.d.ts +0 -16
  340. package/dist/cli/completion.d.ts.map +0 -1
  341. package/dist/cli/completion.js +0 -535
  342. package/dist/cli/completion.js.map +0 -1
  343. package/dist/cli/formatter.d.ts +0 -66
  344. package/dist/cli/formatter.d.ts.map +0 -1
  345. package/dist/cli/formatter.js +0 -277
  346. package/dist/cli/formatter.js.map +0 -1
  347. package/dist/cli/index-remote.d.ts +0 -3
  348. package/dist/cli/index-remote.d.ts.map +0 -1
  349. package/dist/cli/index-remote.js +0 -126
  350. package/dist/cli/index-remote.js.map +0 -1
  351. package/dist/cli/index.d.ts +0 -7
  352. package/dist/cli/index.d.ts.map +0 -1
  353. package/dist/cli/index.js +0 -197
  354. package/dist/cli/index.js.map +0 -1
  355. package/dist/cli/init/batch-tools.d.ts +0 -2
  356. package/dist/cli/init/batch-tools.d.ts.map +0 -1
  357. package/dist/cli/init/batch-tools.js +0 -387
  358. package/dist/cli/init/batch-tools.js.map +0 -1
  359. package/dist/cli/init/claude-config.d.ts +0 -3
  360. package/dist/cli/init/claude-config.d.ts.map +0 -1
  361. package/dist/cli/init/claude-config.js +0 -289
  362. package/dist/cli/init/claude-config.js.map +0 -1
  363. package/dist/cli/init/directory-structure.d.ts +0 -2
  364. package/dist/cli/init/directory-structure.d.ts.map +0 -1
  365. package/dist/cli/init/directory-structure.js +0 -144
  366. package/dist/cli/init/directory-structure.js.map +0 -1
  367. package/dist/cli/init/index.d.ts +0 -6
  368. package/dist/cli/init/index.d.ts.map +0 -1
  369. package/dist/cli/init/index.js +0 -52
  370. package/dist/cli/init/index.js.map +0 -1
  371. package/dist/cli/init/sparc-environment.d.ts +0 -2
  372. package/dist/cli/init/sparc-environment.d.ts.map +0 -1
  373. package/dist/cli/init/sparc-environment.js +0 -426
  374. package/dist/cli/init/sparc-environment.js.map +0 -1
  375. package/dist/cli/init/swarm-commands.d.ts +0 -2
  376. package/dist/cli/init/swarm-commands.d.ts.map +0 -1
  377. package/dist/cli/init/swarm-commands.js +0 -795
  378. package/dist/cli/init/swarm-commands.js.map +0 -1
  379. package/dist/cli/init/utils.d.ts +0 -5
  380. package/dist/cli/init/utils.d.ts.map +0 -1
  381. package/dist/cli/init/utils.js +0 -14
  382. package/dist/cli/init/utils.js.map +0 -1
  383. package/dist/cli/main.d.ts +0 -3
  384. package/dist/cli/main.d.ts.map +0 -1
  385. package/dist/cli/main.js +0 -26
  386. package/dist/cli/main.js.map +0 -1
  387. package/dist/cli/node-repl.d.ts +0 -5
  388. package/dist/cli/node-repl.d.ts.map +0 -1
  389. package/dist/cli/node-repl.js +0 -677
  390. package/dist/cli/node-repl.js.map +0 -1
  391. package/dist/cli/repl.d.ts +0 -5
  392. package/dist/cli/repl.d.ts.map +0 -1
  393. package/dist/cli/repl.js +0 -909
  394. package/dist/cli/repl.js.map +0 -1
  395. package/dist/cli/simple-cli.d.ts +0 -3
  396. package/dist/cli/simple-cli.d.ts.map +0 -1
  397. package/dist/cli/simple-cli.js +0 -3059
  398. package/dist/cli/simple-cli.js.map +0 -1
  399. package/dist/cli/simple-mcp.d.ts +0 -6
  400. package/dist/cli/simple-mcp.d.ts.map +0 -1
  401. package/dist/cli/simple-mcp.js +0 -107
  402. package/dist/cli/simple-mcp.js.map +0 -1
  403. package/dist/cli/simple-orchestrator.d.ts +0 -16
  404. package/dist/cli/simple-orchestrator.d.ts.map +0 -1
  405. package/dist/cli/simple-orchestrator.js +0 -833
  406. package/dist/cli/simple-orchestrator.js.map +0 -1
  407. package/dist/cli/ui/compatible-ui.d.ts +0 -45
  408. package/dist/cli/ui/compatible-ui.d.ts.map +0 -1
  409. package/dist/cli/ui/compatible-ui.js +0 -318
  410. package/dist/cli/ui/compatible-ui.js.map +0 -1
  411. package/dist/cli/ui/fallback-handler.d.ts +0 -26
  412. package/dist/cli/ui/fallback-handler.d.ts.map +0 -1
  413. package/dist/cli/ui/fallback-handler.js +0 -163
  414. package/dist/cli/ui/fallback-handler.js.map +0 -1
  415. package/dist/cli/ui/index.d.ts +0 -11
  416. package/dist/cli/ui/index.d.ts.map +0 -1
  417. package/dist/cli/ui/index.js +0 -33
  418. package/dist/cli/ui/index.js.map +0 -1
  419. package/dist/cli/utils/environment-detector.d.ts +0 -52
  420. package/dist/cli/utils/environment-detector.d.ts.map +0 -1
  421. package/dist/cli/utils/environment-detector.js +0 -238
  422. package/dist/cli/utils/environment-detector.js.map +0 -1
  423. package/dist/cli/utils/prompt-defaults.d.ts +0 -82
  424. package/dist/cli/utils/prompt-defaults.d.ts.map +0 -1
  425. package/dist/cli/utils/prompt-defaults.js +0 -253
  426. package/dist/cli/utils/prompt-defaults.js.map +0 -1
  427. package/dist/communication/message-bus.d.ts +0 -283
  428. package/dist/communication/message-bus.d.ts.map +0 -1
  429. package/dist/communication/message-bus.js +0 -954
  430. package/dist/communication/message-bus.js.map +0 -1
  431. package/dist/config/config-manager.d.ts +0 -174
  432. package/dist/config/config-manager.d.ts.map +0 -1
  433. package/dist/config/config-manager.js +0 -443
  434. package/dist/config/config-manager.js.map +0 -1
  435. package/dist/config/ruv-swarm-config.d.ts +0 -167
  436. package/dist/config/ruv-swarm-config.d.ts.map +0 -1
  437. package/dist/config/ruv-swarm-config.js +0 -274
  438. package/dist/config/ruv-swarm-config.js.map +0 -1
  439. package/dist/config/ruv-swarm-integration.d.ts +0 -93
  440. package/dist/config/ruv-swarm-integration.d.ts.map +0 -1
  441. package/dist/config/ruv-swarm-integration.js +0 -292
  442. package/dist/config/ruv-swarm-integration.js.map +0 -1
  443. package/dist/constants/agent-types.d.ts +0 -46
  444. package/dist/constants/agent-types.d.ts.map +0 -1
  445. package/dist/constants/agent-types.js +0 -50
  446. package/dist/constants/agent-types.js.map +0 -1
  447. package/dist/coordination/advanced-scheduler.d.ts +0 -121
  448. package/dist/coordination/advanced-scheduler.d.ts.map +0 -1
  449. package/dist/coordination/advanced-scheduler.js +0 -386
  450. package/dist/coordination/advanced-scheduler.js.map +0 -1
  451. package/dist/coordination/advanced-task-executor.d.ts +0 -100
  452. package/dist/coordination/advanced-task-executor.d.ts.map +0 -1
  453. package/dist/coordination/advanced-task-executor.js +0 -459
  454. package/dist/coordination/advanced-task-executor.js.map +0 -1
  455. package/dist/coordination/background-executor.d.ts +0 -69
  456. package/dist/coordination/background-executor.d.ts.map +0 -1
  457. package/dist/coordination/background-executor.js +0 -362
  458. package/dist/coordination/background-executor.js.map +0 -1
  459. package/dist/coordination/circuit-breaker.d.ts +0 -124
  460. package/dist/coordination/circuit-breaker.d.ts.map +0 -1
  461. package/dist/coordination/circuit-breaker.js +0 -298
  462. package/dist/coordination/circuit-breaker.js.map +0 -1
  463. package/dist/coordination/conflict-resolution.d.ts +0 -133
  464. package/dist/coordination/conflict-resolution.d.ts.map +0 -1
  465. package/dist/coordination/conflict-resolution.js +0 -358
  466. package/dist/coordination/conflict-resolution.js.map +0 -1
  467. package/dist/coordination/dependency-graph.d.ts +0 -78
  468. package/dist/coordination/dependency-graph.d.ts.map +0 -1
  469. package/dist/coordination/dependency-graph.js +0 -386
  470. package/dist/coordination/dependency-graph.js.map +0 -1
  471. package/dist/coordination/hive-orchestrator.d.ts +0 -118
  472. package/dist/coordination/hive-orchestrator.d.ts.map +0 -1
  473. package/dist/coordination/hive-orchestrator.js +0 -321
  474. package/dist/coordination/hive-orchestrator.js.map +0 -1
  475. package/dist/coordination/hive-protocol.d.ts +0 -117
  476. package/dist/coordination/hive-protocol.d.ts.map +0 -1
  477. package/dist/coordination/hive-protocol.js +0 -373
  478. package/dist/coordination/hive-protocol.js.map +0 -1
  479. package/dist/coordination/index.d.ts +0 -14
  480. package/dist/coordination/index.d.ts.map +0 -1
  481. package/dist/coordination/index.js +0 -21
  482. package/dist/coordination/index.js.map +0 -1
  483. package/dist/coordination/load-balancer.d.ts +0 -139
  484. package/dist/coordination/load-balancer.d.ts.map +0 -1
  485. package/dist/coordination/load-balancer.js +0 -691
  486. package/dist/coordination/load-balancer.js.map +0 -1
  487. package/dist/coordination/manager.d.ts +0 -66
  488. package/dist/coordination/manager.d.ts.map +0 -1
  489. package/dist/coordination/manager.js +0 -360
  490. package/dist/coordination/manager.js.map +0 -1
  491. package/dist/coordination/messaging.d.ts +0 -37
  492. package/dist/coordination/messaging.d.ts.map +0 -1
  493. package/dist/coordination/messaging.js +0 -219
  494. package/dist/coordination/messaging.js.map +0 -1
  495. package/dist/coordination/metrics.d.ts +0 -153
  496. package/dist/coordination/metrics.d.ts.map +0 -1
  497. package/dist/coordination/metrics.js +0 -434
  498. package/dist/coordination/metrics.js.map +0 -1
  499. package/dist/coordination/resources.d.ts +0 -36
  500. package/dist/coordination/resources.d.ts.map +0 -1
  501. package/dist/coordination/resources.js +0 -250
  502. package/dist/coordination/resources.js.map +0 -1
  503. package/dist/coordination/scheduler.d.ts +0 -48
  504. package/dist/coordination/scheduler.d.ts.map +0 -1
  505. package/dist/coordination/scheduler.js +0 -308
  506. package/dist/coordination/scheduler.js.map +0 -1
  507. package/dist/coordination/swarm-coordinator.d.ts +0 -116
  508. package/dist/coordination/swarm-coordinator.d.ts.map +0 -1
  509. package/dist/coordination/swarm-coordinator.js +0 -565
  510. package/dist/coordination/swarm-coordinator.js.map +0 -1
  511. package/dist/coordination/swarm-monitor.d.ts +0 -101
  512. package/dist/coordination/swarm-monitor.d.ts.map +0 -1
  513. package/dist/coordination/swarm-monitor.js +0 -340
  514. package/dist/coordination/swarm-monitor.js.map +0 -1
  515. package/dist/coordination/work-stealing.d.ts +0 -44
  516. package/dist/coordination/work-stealing.d.ts.map +0 -1
  517. package/dist/coordination/work-stealing.js +0 -155
  518. package/dist/coordination/work-stealing.js.map +0 -1
  519. package/dist/core/config.d.ts +0 -239
  520. package/dist/core/config.d.ts.map +0 -1
  521. package/dist/core/config.js +0 -1128
  522. package/dist/core/config.js.map +0 -1
  523. package/dist/core/event-bus.d.ts +0 -60
  524. package/dist/core/event-bus.d.ts.map +0 -1
  525. package/dist/core/event-bus.js +0 -153
  526. package/dist/core/event-bus.js.map +0 -1
  527. package/dist/core/json-persistence.d.ts +0 -52
  528. package/dist/core/json-persistence.d.ts.map +0 -1
  529. package/dist/core/json-persistence.js +0 -115
  530. package/dist/core/json-persistence.js.map +0 -1
  531. package/dist/core/logger.d.ts +0 -57
  532. package/dist/core/logger.d.ts.map +0 -1
  533. package/dist/core/logger.js +0 -253
  534. package/dist/core/logger.js.map +0 -1
  535. package/dist/core/orchestrator-fixed.d.ts +0 -81
  536. package/dist/core/orchestrator-fixed.d.ts.map +0 -1
  537. package/dist/core/orchestrator-fixed.js +0 -210
  538. package/dist/core/orchestrator-fixed.js.map +0 -1
  539. package/dist/core/orchestrator.d.ts +0 -103
  540. package/dist/core/orchestrator.d.ts.map +0 -1
  541. package/dist/core/orchestrator.js +0 -965
  542. package/dist/core/orchestrator.js.map +0 -1
  543. package/dist/core/persistence.d.ts +0 -50
  544. package/dist/core/persistence.d.ts.map +0 -1
  545. package/dist/core/persistence.js +0 -186
  546. package/dist/core/persistence.js.map +0 -1
  547. package/dist/enterprise/analytics-manager.d.ts +0 -489
  548. package/dist/enterprise/analytics-manager.d.ts.map +0 -1
  549. package/dist/enterprise/analytics-manager.js +0 -949
  550. package/dist/enterprise/analytics-manager.js.map +0 -1
  551. package/dist/enterprise/audit-manager.d.ts +0 -459
  552. package/dist/enterprise/audit-manager.d.ts.map +0 -1
  553. package/dist/enterprise/audit-manager.js +0 -992
  554. package/dist/enterprise/audit-manager.js.map +0 -1
  555. package/dist/enterprise/cloud-manager.d.ts +0 -435
  556. package/dist/enterprise/cloud-manager.d.ts.map +0 -1
  557. package/dist/enterprise/cloud-manager.js +0 -784
  558. package/dist/enterprise/cloud-manager.js.map +0 -1
  559. package/dist/enterprise/deployment-manager.d.ts +0 -328
  560. package/dist/enterprise/deployment-manager.d.ts.map +0 -1
  561. package/dist/enterprise/deployment-manager.js +0 -823
  562. package/dist/enterprise/deployment-manager.js.map +0 -1
  563. package/dist/enterprise/index.d.ts +0 -13
  564. package/dist/enterprise/index.d.ts.map +0 -1
  565. package/dist/enterprise/index.js +0 -7
  566. package/dist/enterprise/index.js.map +0 -1
  567. package/dist/enterprise/project-manager.d.ts +0 -228
  568. package/dist/enterprise/project-manager.d.ts.map +0 -1
  569. package/dist/enterprise/project-manager.js +0 -529
  570. package/dist/enterprise/project-manager.js.map +0 -1
  571. package/dist/enterprise/security-manager.d.ts +0 -422
  572. package/dist/enterprise/security-manager.d.ts.map +0 -1
  573. package/dist/enterprise/security-manager.js +0 -902
  574. package/dist/enterprise/security-manager.js.map +0 -1
  575. package/dist/hive-mind/core/Agent.d.ts +0 -137
  576. package/dist/hive-mind/core/Agent.d.ts.map +0 -1
  577. package/dist/hive-mind/core/Agent.js +0 -567
  578. package/dist/hive-mind/core/Agent.js.map +0 -1
  579. package/dist/hive-mind/core/Communication.d.ts +0 -116
  580. package/dist/hive-mind/core/Communication.d.ts.map +0 -1
  581. package/dist/hive-mind/core/Communication.js +0 -407
  582. package/dist/hive-mind/core/Communication.js.map +0 -1
  583. package/dist/hive-mind/core/DatabaseManager.d.ts +0 -93
  584. package/dist/hive-mind/core/DatabaseManager.d.ts.map +0 -1
  585. package/dist/hive-mind/core/DatabaseManager.js +0 -551
  586. package/dist/hive-mind/core/DatabaseManager.js.map +0 -1
  587. package/dist/hive-mind/core/HiveMind.d.ts +0 -90
  588. package/dist/hive-mind/core/HiveMind.d.ts.map +0 -1
  589. package/dist/hive-mind/core/HiveMind.js +0 -439
  590. package/dist/hive-mind/core/HiveMind.js.map +0 -1
  591. package/dist/hive-mind/core/Memory.d.ts +0 -235
  592. package/dist/hive-mind/core/Memory.d.ts.map +0 -1
  593. package/dist/hive-mind/core/Memory.js +0 -1185
  594. package/dist/hive-mind/core/Memory.js.map +0 -1
  595. package/dist/hive-mind/core/MemoryMonitor.d.ts +0 -183
  596. package/dist/hive-mind/core/MemoryMonitor.d.ts.map +0 -1
  597. package/dist/hive-mind/core/MemoryMonitor.js +0 -547
  598. package/dist/hive-mind/core/MemoryMonitor.js.map +0 -1
  599. package/dist/hive-mind/core/Queen.d.ts +0 -115
  600. package/dist/hive-mind/core/Queen.d.ts.map +0 -1
  601. package/dist/hive-mind/core/Queen.js +0 -586
  602. package/dist/hive-mind/core/Queen.js.map +0 -1
  603. package/dist/hive-mind/index.d.ts +0 -17
  604. package/dist/hive-mind/index.d.ts.map +0 -1
  605. package/dist/hive-mind/index.js +0 -21
  606. package/dist/hive-mind/index.js.map +0 -1
  607. package/dist/hive-mind/integration/ConsensusEngine.d.ts +0 -117
  608. package/dist/hive-mind/integration/ConsensusEngine.d.ts.map +0 -1
  609. package/dist/hive-mind/integration/ConsensusEngine.js +0 -476
  610. package/dist/hive-mind/integration/ConsensusEngine.js.map +0 -1
  611. package/dist/hive-mind/integration/MCPToolWrapper.d.ts +0 -172
  612. package/dist/hive-mind/integration/MCPToolWrapper.d.ts.map +0 -1
  613. package/dist/hive-mind/integration/MCPToolWrapper.js +0 -216
  614. package/dist/hive-mind/integration/MCPToolWrapper.js.map +0 -1
  615. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts +0 -172
  616. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts.map +0 -1
  617. package/dist/hive-mind/integration/SwarmOrchestrator.js +0 -746
  618. package/dist/hive-mind/integration/SwarmOrchestrator.js.map +0 -1
  619. package/dist/hive-mind/types.d.ts +0 -298
  620. package/dist/hive-mind/types.d.ts.map +0 -1
  621. package/dist/hive-mind/types.js +0 -7
  622. package/dist/hive-mind/types.js.map +0 -1
  623. package/dist/integration/mock-components.d.ts +0 -107
  624. package/dist/integration/mock-components.d.ts.map +0 -1
  625. package/dist/integration/mock-components.js +0 -357
  626. package/dist/integration/mock-components.js.map +0 -1
  627. package/dist/integration/system-integration.d.ts +0 -84
  628. package/dist/integration/system-integration.d.ts.map +0 -1
  629. package/dist/integration/system-integration.js +0 -429
  630. package/dist/integration/system-integration.js.map +0 -1
  631. package/dist/integration/types.d.ts +0 -119
  632. package/dist/integration/types.d.ts.map +0 -1
  633. package/dist/integration/types.js +0 -5
  634. package/dist/integration/types.js.map +0 -1
  635. package/dist/mcp/auth.d.ts +0 -80
  636. package/dist/mcp/auth.d.ts.map +0 -1
  637. package/dist/mcp/auth.js +0 -343
  638. package/dist/mcp/auth.js.map +0 -1
  639. package/dist/mcp/claude-code-wrapper.d.ts +0 -26
  640. package/dist/mcp/claude-code-wrapper.d.ts.map +0 -1
  641. package/dist/mcp/claude-code-wrapper.js +0 -598
  642. package/dist/mcp/claude-code-wrapper.js.map +0 -1
  643. package/dist/mcp/claude-flow-tools.d.ts +0 -13
  644. package/dist/mcp/claude-flow-tools.d.ts.map +0 -1
  645. package/dist/mcp/claude-flow-tools.js +0 -1142
  646. package/dist/mcp/claude-flow-tools.js.map +0 -1
  647. package/dist/mcp/client.d.ts +0 -41
  648. package/dist/mcp/client.d.ts.map +0 -1
  649. package/dist/mcp/client.js +0 -194
  650. package/dist/mcp/client.js.map +0 -1
  651. package/dist/mcp/index.d.ts +0 -134
  652. package/dist/mcp/index.d.ts.map +0 -1
  653. package/dist/mcp/index.js +0 -212
  654. package/dist/mcp/index.js.map +0 -1
  655. package/dist/mcp/integrate-wrapper.d.ts +0 -16
  656. package/dist/mcp/integrate-wrapper.d.ts.map +0 -1
  657. package/dist/mcp/integrate-wrapper.js +0 -77
  658. package/dist/mcp/integrate-wrapper.js.map +0 -1
  659. package/dist/mcp/lifecycle-manager.d.ts +0 -121
  660. package/dist/mcp/lifecycle-manager.d.ts.map +0 -1
  661. package/dist/mcp/lifecycle-manager.js +0 -365
  662. package/dist/mcp/lifecycle-manager.js.map +0 -1
  663. package/dist/mcp/load-balancer.d.ts +0 -88
  664. package/dist/mcp/load-balancer.d.ts.map +0 -1
  665. package/dist/mcp/load-balancer.js +0 -389
  666. package/dist/mcp/load-balancer.js.map +0 -1
  667. package/dist/mcp/orchestration-integration.d.ts +0 -135
  668. package/dist/mcp/orchestration-integration.d.ts.map +0 -1
  669. package/dist/mcp/orchestration-integration.js +0 -722
  670. package/dist/mcp/orchestration-integration.js.map +0 -1
  671. package/dist/mcp/performance-monitor.d.ts +0 -164
  672. package/dist/mcp/performance-monitor.d.ts.map +0 -1
  673. package/dist/mcp/performance-monitor.js +0 -478
  674. package/dist/mcp/performance-monitor.js.map +0 -1
  675. package/dist/mcp/protocol-manager.d.ts +0 -88
  676. package/dist/mcp/protocol-manager.d.ts.map +0 -1
  677. package/dist/mcp/protocol-manager.js +0 -358
  678. package/dist/mcp/protocol-manager.js.map +0 -1
  679. package/dist/mcp/recovery/connection-health-monitor.d.ts +0 -69
  680. package/dist/mcp/recovery/connection-health-monitor.d.ts.map +0 -1
  681. package/dist/mcp/recovery/connection-health-monitor.js +0 -241
  682. package/dist/mcp/recovery/connection-health-monitor.js.map +0 -1
  683. package/dist/mcp/recovery/connection-state-manager.d.ts +0 -102
  684. package/dist/mcp/recovery/connection-state-manager.d.ts.map +0 -1
  685. package/dist/mcp/recovery/connection-state-manager.js +0 -318
  686. package/dist/mcp/recovery/connection-state-manager.js.map +0 -1
  687. package/dist/mcp/recovery/fallback-coordinator.d.ts +0 -79
  688. package/dist/mcp/recovery/fallback-coordinator.d.ts.map +0 -1
  689. package/dist/mcp/recovery/fallback-coordinator.js +0 -278
  690. package/dist/mcp/recovery/fallback-coordinator.js.map +0 -1
  691. package/dist/mcp/recovery/index.d.ts +0 -10
  692. package/dist/mcp/recovery/index.d.ts.map +0 -1
  693. package/dist/mcp/recovery/index.js +0 -10
  694. package/dist/mcp/recovery/index.js.map +0 -1
  695. package/dist/mcp/recovery/reconnection-manager.d.ts +0 -69
  696. package/dist/mcp/recovery/reconnection-manager.d.ts.map +0 -1
  697. package/dist/mcp/recovery/reconnection-manager.js +0 -226
  698. package/dist/mcp/recovery/reconnection-manager.js.map +0 -1
  699. package/dist/mcp/recovery/recovery-manager.d.ts +0 -93
  700. package/dist/mcp/recovery/recovery-manager.d.ts.map +0 -1
  701. package/dist/mcp/recovery/recovery-manager.js +0 -250
  702. package/dist/mcp/recovery/recovery-manager.js.map +0 -1
  703. package/dist/mcp/router.d.ts +0 -54
  704. package/dist/mcp/router.d.ts.map +0 -1
  705. package/dist/mcp/router.js +0 -201
  706. package/dist/mcp/router.js.map +0 -1
  707. package/dist/mcp/ruv-swarm-tools.d.ts +0 -58
  708. package/dist/mcp/ruv-swarm-tools.d.ts.map +0 -1
  709. package/dist/mcp/ruv-swarm-tools.js +0 -518
  710. package/dist/mcp/ruv-swarm-tools.js.map +0 -1
  711. package/dist/mcp/server-with-wrapper.d.ts +0 -3
  712. package/dist/mcp/server-with-wrapper.d.ts.map +0 -1
  713. package/dist/mcp/server-with-wrapper.js +0 -36
  714. package/dist/mcp/server-with-wrapper.js.map +0 -1
  715. package/dist/mcp/server-wrapper-mode.d.ts +0 -3
  716. package/dist/mcp/server-wrapper-mode.d.ts.map +0 -1
  717. package/dist/mcp/server-wrapper-mode.js +0 -28
  718. package/dist/mcp/server-wrapper-mode.js.map +0 -1
  719. package/dist/mcp/server.d.ts +0 -75
  720. package/dist/mcp/server.d.ts.map +0 -1
  721. package/dist/mcp/server.js +0 -533
  722. package/dist/mcp/server.js.map +0 -1
  723. package/dist/mcp/session-manager.d.ts +0 -60
  724. package/dist/mcp/session-manager.d.ts.map +0 -1
  725. package/dist/mcp/session-manager.js +0 -322
  726. package/dist/mcp/session-manager.js.map +0 -1
  727. package/dist/mcp/sparc-modes.d.ts +0 -12
  728. package/dist/mcp/sparc-modes.d.ts.map +0 -1
  729. package/dist/mcp/sparc-modes.js +0 -370
  730. package/dist/mcp/sparc-modes.js.map +0 -1
  731. package/dist/mcp/swarm-tools.d.ts +0 -87
  732. package/dist/mcp/swarm-tools.d.ts.map +0 -1
  733. package/dist/mcp/swarm-tools.js +0 -711
  734. package/dist/mcp/swarm-tools.js.map +0 -1
  735. package/dist/mcp/tools.d.ts +0 -145
  736. package/dist/mcp/tools.d.ts.map +0 -1
  737. package/dist/mcp/tools.js +0 -418
  738. package/dist/mcp/tools.js.map +0 -1
  739. package/dist/mcp/transports/base.d.ts +0 -22
  740. package/dist/mcp/transports/base.d.ts.map +0 -1
  741. package/dist/mcp/transports/base.js +0 -2
  742. package/dist/mcp/transports/base.js.map +0 -1
  743. package/dist/mcp/transports/http.d.ts +0 -45
  744. package/dist/mcp/transports/http.d.ts.map +0 -1
  745. package/dist/mcp/transports/http.js +0 -400
  746. package/dist/mcp/transports/http.js.map +0 -1
  747. package/dist/mcp/transports/stdio.d.ts +0 -34
  748. package/dist/mcp/transports/stdio.d.ts.map +0 -1
  749. package/dist/mcp/transports/stdio.js +0 -203
  750. package/dist/mcp/transports/stdio.js.map +0 -1
  751. package/dist/memory/advanced-memory-manager.d.ts +0 -303
  752. package/dist/memory/advanced-memory-manager.d.ts.map +0 -1
  753. package/dist/memory/advanced-memory-manager.js +0 -1458
  754. package/dist/memory/advanced-memory-manager.js.map +0 -1
  755. package/dist/memory/backends/base.d.ts +0 -21
  756. package/dist/memory/backends/base.d.ts.map +0 -1
  757. package/dist/memory/backends/base.js +0 -2
  758. package/dist/memory/backends/base.js.map +0 -1
  759. package/dist/memory/backends/markdown.d.ts +0 -32
  760. package/dist/memory/backends/markdown.d.ts.map +0 -1
  761. package/dist/memory/backends/markdown.js +0 -223
  762. package/dist/memory/backends/markdown.js.map +0 -1
  763. package/dist/memory/backends/sqlite.d.ts +0 -29
  764. package/dist/memory/backends/sqlite.d.ts.map +0 -1
  765. package/dist/memory/backends/sqlite.js +0 -272
  766. package/dist/memory/backends/sqlite.js.map +0 -1
  767. package/dist/memory/cache.d.ts +0 -65
  768. package/dist/memory/cache.d.ts.map +0 -1
  769. package/dist/memory/cache.js +0 -186
  770. package/dist/memory/cache.js.map +0 -1
  771. package/dist/memory/distributed-memory.d.ts +0 -188
  772. package/dist/memory/distributed-memory.d.ts.map +0 -1
  773. package/dist/memory/distributed-memory.js +0 -711
  774. package/dist/memory/distributed-memory.js.map +0 -1
  775. package/dist/memory/indexer.d.ts +0 -52
  776. package/dist/memory/indexer.d.ts.map +0 -1
  777. package/dist/memory/indexer.js +0 -188
  778. package/dist/memory/indexer.js.map +0 -1
  779. package/dist/memory/manager.d.ts +0 -58
  780. package/dist/memory/manager.d.ts.map +0 -1
  781. package/dist/memory/manager.js +0 -426
  782. package/dist/memory/manager.js.map +0 -1
  783. package/dist/memory/swarm-memory.d.ts +0 -91
  784. package/dist/memory/swarm-memory.d.ts.map +0 -1
  785. package/dist/memory/swarm-memory.js +0 -461
  786. package/dist/memory/swarm-memory.js.map +0 -1
  787. package/dist/migration/index.d.ts +0 -3
  788. package/dist/migration/index.d.ts.map +0 -1
  789. package/dist/migration/index.js +0 -166
  790. package/dist/migration/index.js.map +0 -1
  791. package/dist/migration/logger.d.ts +0 -26
  792. package/dist/migration/logger.d.ts.map +0 -1
  793. package/dist/migration/logger.js +0 -145
  794. package/dist/migration/logger.js.map +0 -1
  795. package/dist/migration/migration-analyzer.d.ts +0 -15
  796. package/dist/migration/migration-analyzer.d.ts.map +0 -1
  797. package/dist/migration/migration-analyzer.js +0 -279
  798. package/dist/migration/migration-analyzer.js.map +0 -1
  799. package/dist/migration/migration-runner.d.ts +0 -26
  800. package/dist/migration/migration-runner.d.ts.map +0 -1
  801. package/dist/migration/migration-runner.js +0 -499
  802. package/dist/migration/migration-runner.js.map +0 -1
  803. package/dist/migration/migration-validator.d.ts +0 -14
  804. package/dist/migration/migration-validator.d.ts.map +0 -1
  805. package/dist/migration/migration-validator.js +0 -313
  806. package/dist/migration/migration-validator.js.map +0 -1
  807. package/dist/migration/progress-reporter.d.ts +0 -25
  808. package/dist/migration/progress-reporter.d.ts.map +0 -1
  809. package/dist/migration/progress-reporter.js +0 -163
  810. package/dist/migration/progress-reporter.js.map +0 -1
  811. package/dist/migration/rollback-manager.d.ts +0 -21
  812. package/dist/migration/rollback-manager.d.ts.map +0 -1
  813. package/dist/migration/rollback-manager.js +0 -348
  814. package/dist/migration/rollback-manager.js.map +0 -1
  815. package/dist/migration/types.d.ts +0 -103
  816. package/dist/migration/types.d.ts.map +0 -1
  817. package/dist/migration/types.js +0 -6
  818. package/dist/migration/types.js.map +0 -1
  819. package/dist/monitoring/diagnostics.d.ts +0 -109
  820. package/dist/monitoring/diagnostics.d.ts.map +0 -1
  821. package/dist/monitoring/diagnostics.js +0 -545
  822. package/dist/monitoring/diagnostics.js.map +0 -1
  823. package/dist/monitoring/health-check.d.ts +0 -91
  824. package/dist/monitoring/health-check.d.ts.map +0 -1
  825. package/dist/monitoring/health-check.js +0 -371
  826. package/dist/monitoring/health-check.js.map +0 -1
  827. package/dist/monitoring/real-time-monitor.d.ts +0 -230
  828. package/dist/monitoring/real-time-monitor.d.ts.map +0 -1
  829. package/dist/monitoring/real-time-monitor.js +0 -839
  830. package/dist/monitoring/real-time-monitor.js.map +0 -1
  831. package/dist/resources/resource-manager.d.ts +0 -390
  832. package/dist/resources/resource-manager.d.ts.map +0 -1
  833. package/dist/resources/resource-manager.js +0 -1220
  834. package/dist/resources/resource-manager.js.map +0 -1
  835. package/dist/swarm/claude-flow-executor.d.ts +0 -28
  836. package/dist/swarm/claude-flow-executor.d.ts.map +0 -1
  837. package/dist/swarm/claude-flow-executor.js +0 -210
  838. package/dist/swarm/claude-flow-executor.js.map +0 -1
  839. package/dist/swarm/coordinator.d.ts +0 -134
  840. package/dist/swarm/coordinator.d.ts.map +0 -1
  841. package/dist/swarm/coordinator.js +0 -2607
  842. package/dist/swarm/coordinator.js.map +0 -1
  843. package/dist/swarm/direct-executor.d.ts +0 -48
  844. package/dist/swarm/direct-executor.d.ts.map +0 -1
  845. package/dist/swarm/direct-executor.js +0 -1113
  846. package/dist/swarm/direct-executor.js.map +0 -1
  847. package/dist/swarm/executor-v2.d.ts +0 -23
  848. package/dist/swarm/executor-v2.d.ts.map +0 -1
  849. package/dist/swarm/executor-v2.js +0 -320
  850. package/dist/swarm/executor-v2.js.map +0 -1
  851. package/dist/swarm/executor.d.ts +0 -117
  852. package/dist/swarm/executor.d.ts.map +0 -1
  853. package/dist/swarm/executor.js +0 -791
  854. package/dist/swarm/executor.js.map +0 -1
  855. package/dist/swarm/index.d.ts +0 -31
  856. package/dist/swarm/index.d.ts.map +0 -1
  857. package/dist/swarm/index.js +0 -42
  858. package/dist/swarm/index.js.map +0 -1
  859. package/dist/swarm/memory.d.ts +0 -176
  860. package/dist/swarm/memory.d.ts.map +0 -1
  861. package/dist/swarm/memory.js +0 -1068
  862. package/dist/swarm/memory.js.map +0 -1
  863. package/dist/swarm/optimizations/async-file-manager.d.ts +0 -49
  864. package/dist/swarm/optimizations/async-file-manager.d.ts.map +0 -1
  865. package/dist/swarm/optimizations/async-file-manager.js +0 -248
  866. package/dist/swarm/optimizations/async-file-manager.js.map +0 -1
  867. package/dist/swarm/optimizations/circular-buffer.d.ts +0 -46
  868. package/dist/swarm/optimizations/circular-buffer.d.ts.map +0 -1
  869. package/dist/swarm/optimizations/circular-buffer.js +0 -159
  870. package/dist/swarm/optimizations/circular-buffer.js.map +0 -1
  871. package/dist/swarm/optimizations/connection-pool.d.ts +0 -54
  872. package/dist/swarm/optimizations/connection-pool.d.ts.map +0 -1
  873. package/dist/swarm/optimizations/connection-pool.js +0 -227
  874. package/dist/swarm/optimizations/connection-pool.js.map +0 -1
  875. package/dist/swarm/optimizations/index.d.ts +0 -24
  876. package/dist/swarm/optimizations/index.d.ts.map +0 -1
  877. package/dist/swarm/optimizations/index.js +0 -30
  878. package/dist/swarm/optimizations/index.js.map +0 -1
  879. package/dist/swarm/optimizations/optimized-executor.d.ts +0 -109
  880. package/dist/swarm/optimizations/optimized-executor.d.ts.map +0 -1
  881. package/dist/swarm/optimizations/optimized-executor.js +0 -321
  882. package/dist/swarm/optimizations/optimized-executor.js.map +0 -1
  883. package/dist/swarm/optimizations/ttl-map.d.ts +0 -78
  884. package/dist/swarm/optimizations/ttl-map.d.ts.map +0 -1
  885. package/dist/swarm/optimizations/ttl-map.js +0 -229
  886. package/dist/swarm/optimizations/ttl-map.js.map +0 -1
  887. package/dist/swarm/prompt-cli.d.ts +0 -5
  888. package/dist/swarm/prompt-cli.d.ts.map +0 -1
  889. package/dist/swarm/prompt-cli.js +0 -256
  890. package/dist/swarm/prompt-cli.js.map +0 -1
  891. package/dist/swarm/prompt-copier-enhanced.d.ts +0 -17
  892. package/dist/swarm/prompt-copier-enhanced.d.ts.map +0 -1
  893. package/dist/swarm/prompt-copier-enhanced.js +0 -190
  894. package/dist/swarm/prompt-copier-enhanced.js.map +0 -1
  895. package/dist/swarm/prompt-copier.d.ts +0 -76
  896. package/dist/swarm/prompt-copier.d.ts.map +0 -1
  897. package/dist/swarm/prompt-copier.js +0 -379
  898. package/dist/swarm/prompt-copier.js.map +0 -1
  899. package/dist/swarm/prompt-manager.d.ts +0 -72
  900. package/dist/swarm/prompt-manager.d.ts.map +0 -1
  901. package/dist/swarm/prompt-manager.js +0 -270
  902. package/dist/swarm/prompt-manager.js.map +0 -1
  903. package/dist/swarm/prompt-utils.d.ts +0 -52
  904. package/dist/swarm/prompt-utils.d.ts.map +0 -1
  905. package/dist/swarm/prompt-utils.js +0 -265
  906. package/dist/swarm/prompt-utils.js.map +0 -1
  907. package/dist/swarm/sparc-executor.d.ts +0 -105
  908. package/dist/swarm/sparc-executor.d.ts.map +0 -1
  909. package/dist/swarm/sparc-executor.js +0 -1364
  910. package/dist/swarm/sparc-executor.js.map +0 -1
  911. package/dist/swarm/strategies/auto.d.ts +0 -57
  912. package/dist/swarm/strategies/auto.d.ts.map +0 -1
  913. package/dist/swarm/strategies/auto.js +0 -623
  914. package/dist/swarm/strategies/auto.js.map +0 -1
  915. package/dist/swarm/strategies/base.d.ts +0 -78
  916. package/dist/swarm/strategies/base.d.ts.map +0 -1
  917. package/dist/swarm/strategies/base.js +0 -108
  918. package/dist/swarm/strategies/base.js.map +0 -1
  919. package/dist/swarm/strategies/research.d.ts +0 -75
  920. package/dist/swarm/strategies/research.d.ts.map +0 -1
  921. package/dist/swarm/strategies/research.js +0 -841
  922. package/dist/swarm/strategies/research.js.map +0 -1
  923. package/dist/swarm/strategies/strategy-metrics-patch.d.ts +0 -11
  924. package/dist/swarm/strategies/strategy-metrics-patch.d.ts.map +0 -1
  925. package/dist/swarm/strategies/strategy-metrics-patch.js +0 -2
  926. package/dist/swarm/strategies/strategy-metrics-patch.js.map +0 -1
  927. package/dist/swarm/types.d.ts +0 -578
  928. package/dist/swarm/types.d.ts.map +0 -1
  929. package/dist/swarm/types.js +0 -51
  930. package/dist/swarm/types.js.map +0 -1
  931. package/dist/swarm/workers/copy-worker.d.ts +0 -2
  932. package/dist/swarm/workers/copy-worker.d.ts.map +0 -1
  933. package/dist/swarm/workers/copy-worker.js +0 -56
  934. package/dist/swarm/workers/copy-worker.js.map +0 -1
  935. package/dist/task/commands.d.ts +0 -60
  936. package/dist/task/commands.d.ts.map +0 -1
  937. package/dist/task/commands.js +0 -107
  938. package/dist/task/commands.js.map +0 -1
  939. package/dist/task/coordination.d.ts +0 -109
  940. package/dist/task/coordination.d.ts.map +0 -1
  941. package/dist/task/coordination.js +0 -629
  942. package/dist/task/coordination.js.map +0 -1
  943. package/dist/task/engine.d.ts +0 -198
  944. package/dist/task/engine.d.ts.map +0 -1
  945. package/dist/task/engine.js +0 -498
  946. package/dist/task/engine.js.map +0 -1
  947. package/dist/task/index.d.ts +0 -103
  948. package/dist/task/index.d.ts.map +0 -1
  949. package/dist/task/index.js +0 -276
  950. package/dist/task/index.js.map +0 -1
  951. package/dist/task/types.d.ts +0 -56
  952. package/dist/task/types.d.ts.map +0 -1
  953. package/dist/task/types.js +0 -2
  954. package/dist/task/types.js.map +0 -1
  955. package/dist/terminal/adapters/base.d.ts +0 -40
  956. package/dist/terminal/adapters/base.d.ts.map +0 -1
  957. package/dist/terminal/adapters/base.js +0 -5
  958. package/dist/terminal/adapters/base.js.map +0 -1
  959. package/dist/terminal/adapters/native.d.ts +0 -19
  960. package/dist/terminal/adapters/native.d.ts.map +0 -1
  961. package/dist/terminal/adapters/native.js +0 -414
  962. package/dist/terminal/adapters/native.js.map +0 -1
  963. package/dist/terminal/adapters/vscode.d.ts +0 -20
  964. package/dist/terminal/adapters/vscode.d.ts.map +0 -1
  965. package/dist/terminal/adapters/vscode.js +0 -265
  966. package/dist/terminal/adapters/vscode.js.map +0 -1
  967. package/dist/terminal/manager.d.ts +0 -59
  968. package/dist/terminal/manager.d.ts.map +0 -1
  969. package/dist/terminal/manager.js +0 -237
  970. package/dist/terminal/manager.js.map +0 -1
  971. package/dist/terminal/pool.d.ts +0 -32
  972. package/dist/terminal/pool.d.ts.map +0 -1
  973. package/dist/terminal/pool.js +0 -205
  974. package/dist/terminal/pool.js.map +0 -1
  975. package/dist/terminal/session.d.ts +0 -41
  976. package/dist/terminal/session.d.ts.map +0 -1
  977. package/dist/terminal/session.js +0 -206
  978. package/dist/terminal/session.js.map +0 -1
  979. package/dist/types/index.d.ts +0 -28
  980. package/dist/types/index.d.ts.map +0 -1
  981. package/dist/types/index.js +0 -15
  982. package/dist/types/index.js.map +0 -1
  983. package/dist/ui/hive-dashboard.d.ts +0 -140
  984. package/dist/ui/hive-dashboard.d.ts.map +0 -1
  985. package/dist/ui/hive-dashboard.js +0 -281
  986. package/dist/ui/hive-dashboard.js.map +0 -1
  987. package/dist/utils/error-handler.d.ts +0 -13
  988. package/dist/utils/error-handler.d.ts.map +0 -1
  989. package/dist/utils/error-handler.js +0 -45
  990. package/dist/utils/error-handler.js.map +0 -1
  991. package/dist/utils/errors.d.ts +0 -121
  992. package/dist/utils/errors.d.ts.map +0 -1
  993. package/dist/utils/errors.js +0 -194
  994. package/dist/utils/errors.js.map +0 -1
  995. package/dist/utils/formatters.d.ts +0 -15
  996. package/dist/utils/formatters.d.ts.map +0 -1
  997. package/dist/utils/formatters.js +0 -75
  998. package/dist/utils/formatters.js.map +0 -1
  999. package/dist/utils/helpers.d.ts +0 -131
  1000. package/dist/utils/helpers.d.ts.map +0 -1
  1001. package/dist/utils/helpers.js +0 -447
  1002. package/dist/utils/helpers.js.map +0 -1
  1003. package/dist/utils/paths.d.ts +0 -4
  1004. package/dist/utils/paths.d.ts.map +0 -1
  1005. package/dist/utils/paths.js +0 -39
  1006. package/dist/utils/paths.js.map +0 -1
  1007. package/dist/utils/types.d.ts +0 -512
  1008. package/dist/utils/types.d.ts.map +0 -1
  1009. package/dist/utils/types.js +0 -37
  1010. package/dist/utils/types.js.map +0 -1
  1011. package/src/cli/simple-commands/hive-mind/memory.d.ts +0 -37
  1012. package/src/cli/simple-commands/init/templates/CLAUDE-FLOW-SPECIFIC.md +0 -238
  1013. package/src/cli/simple-commands/init/templates/all-commands.js +0 -1355
  1014. package/src/cli/simple-commands/init/templates/commands/hooks/hooks-documentation.md +0 -272
  1015. package/src/cli/simple-commands/init/templates/github-enhanced.js +0 -505
  1016. package/src/cli/simple-commands/init/templates/hooks-documentation.md +0 -272
  1017. package/src/cli/simple-commands/web-server.d.ts +0 -22
  1018. 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