claude-flow 2.0.0-alpha.78 → 2.0.0-alpha.79

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 (985) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/bin/claude-flow +1 -1
  3. package/bin/claude-flow.js +0 -0
  4. package/dist/agents/agent-loader.d.ts +90 -0
  5. package/dist/agents/agent-loader.d.ts.map +1 -0
  6. package/dist/agents/agent-loader.js +195 -0
  7. package/dist/agents/agent-loader.js.map +1 -0
  8. package/dist/agents/agent-manager.d.ts +191 -0
  9. package/dist/agents/agent-manager.d.ts.map +1 -0
  10. package/dist/agents/agent-manager.js +1405 -0
  11. package/dist/agents/agent-manager.js.map +1 -0
  12. package/dist/api/claude-api-errors.d.ts +115 -0
  13. package/dist/api/claude-api-errors.d.ts.map +1 -0
  14. package/dist/api/claude-api-errors.js +198 -0
  15. package/dist/api/claude-api-errors.js.map +1 -0
  16. package/dist/api/claude-client.d.ts +197 -0
  17. package/dist/api/claude-client.d.ts.map +1 -0
  18. package/dist/api/claude-client.js +525 -0
  19. package/dist/api/claude-client.js.map +1 -0
  20. package/dist/cli/cli-core.d.ts +52 -0
  21. package/dist/cli/cli-core.d.ts.map +1 -0
  22. package/dist/cli/cli-core.js +264 -0
  23. package/dist/cli/cli-core.js.map +1 -0
  24. package/dist/cli/command-registry.d.ts +10 -0
  25. package/dist/cli/command-registry.d.ts.map +1 -0
  26. package/dist/cli/command-registry.js +758 -0
  27. package/dist/cli/command-registry.js.map +1 -0
  28. package/dist/cli/commands/agent.d.ts +7 -0
  29. package/dist/cli/commands/agent.d.ts.map +1 -0
  30. package/dist/cli/commands/agent.js +382 -0
  31. package/dist/cli/commands/agent.js.map +1 -0
  32. package/dist/cli/commands/config.d.ts +5 -0
  33. package/dist/cli/commands/config.d.ts.map +1 -0
  34. package/dist/cli/commands/config.js +88 -0
  35. package/dist/cli/commands/config.js.map +1 -0
  36. package/dist/cli/commands/enterprise.d.ts +3 -0
  37. package/dist/cli/commands/enterprise.d.ts.map +1 -0
  38. package/dist/cli/commands/enterprise.js +1506 -0
  39. package/dist/cli/commands/enterprise.js.map +1 -0
  40. package/dist/cli/commands/help.d.ts +7 -0
  41. package/dist/cli/commands/help.d.ts.map +1 -0
  42. package/dist/cli/commands/help.js +936 -0
  43. package/dist/cli/commands/help.js.map +1 -0
  44. package/dist/cli/commands/hive-mind/index.d.ts +19 -0
  45. package/dist/cli/commands/hive-mind/index.d.ts.map +1 -0
  46. package/dist/cli/commands/hive-mind/index.js +30 -0
  47. package/dist/cli/commands/hive-mind/index.js.map +1 -0
  48. package/dist/cli/commands/hive-mind/init.d.ts +10 -0
  49. package/dist/cli/commands/hive-mind/init.d.ts.map +1 -0
  50. package/dist/cli/commands/hive-mind/init.js +68 -0
  51. package/dist/cli/commands/hive-mind/init.js.map +1 -0
  52. package/dist/cli/commands/hive-mind/pause.d.ts +9 -0
  53. package/dist/cli/commands/hive-mind/pause.d.ts.map +1 -0
  54. package/dist/cli/commands/hive-mind/pause.js +81 -0
  55. package/dist/cli/commands/hive-mind/pause.js.map +1 -0
  56. package/dist/cli/commands/hive-mind/ps.d.ts +9 -0
  57. package/dist/cli/commands/hive-mind/ps.d.ts.map +1 -0
  58. package/dist/cli/commands/hive-mind/ps.js +120 -0
  59. package/dist/cli/commands/hive-mind/ps.js.map +1 -0
  60. package/dist/cli/commands/hive-mind/resume.d.ts +9 -0
  61. package/dist/cli/commands/hive-mind/resume.d.ts.map +1 -0
  62. package/dist/cli/commands/hive-mind/resume.js +62 -0
  63. package/dist/cli/commands/hive-mind/resume.js.map +1 -0
  64. package/dist/cli/commands/hive-mind/spawn.d.ts +10 -0
  65. package/dist/cli/commands/hive-mind/spawn.d.ts.map +1 -0
  66. package/dist/cli/commands/hive-mind/spawn.js +174 -0
  67. package/dist/cli/commands/hive-mind/spawn.js.map +1 -0
  68. package/dist/cli/commands/hive-mind/status.d.ts +10 -0
  69. package/dist/cli/commands/hive-mind/status.d.ts.map +1 -0
  70. package/dist/cli/commands/hive-mind/status.js +204 -0
  71. package/dist/cli/commands/hive-mind/status.js.map +1 -0
  72. package/dist/cli/commands/hive-mind/stop.d.ts +9 -0
  73. package/dist/cli/commands/hive-mind/stop.d.ts.map +1 -0
  74. package/dist/cli/commands/hive-mind/stop.js +125 -0
  75. package/dist/cli/commands/hive-mind/stop.js.map +1 -0
  76. package/dist/cli/commands/hive-mind/task.d.ts +10 -0
  77. package/dist/cli/commands/hive-mind/task.d.ts.map +1 -0
  78. package/dist/cli/commands/hive-mind/task.js +294 -0
  79. package/dist/cli/commands/hive-mind/task.js.map +1 -0
  80. package/dist/cli/commands/hive-mind/wizard.d.ts +10 -0
  81. package/dist/cli/commands/hive-mind/wizard.d.ts.map +1 -0
  82. package/dist/cli/commands/hive-mind/wizard.js +531 -0
  83. package/dist/cli/commands/hive-mind/wizard.js.map +1 -0
  84. package/dist/cli/commands/hive.d.ts +6 -0
  85. package/dist/cli/commands/hive.d.ts.map +1 -0
  86. package/dist/cli/commands/hive.js +409 -0
  87. package/dist/cli/commands/hive.js.map +1 -0
  88. package/dist/cli/commands/index.d.ts +3 -0
  89. package/dist/cli/commands/index.d.ts.map +1 -0
  90. package/dist/cli/commands/index.js +2532 -0
  91. package/dist/cli/commands/index.js.map +1 -0
  92. package/dist/cli/commands/mcp.d.ts +5 -0
  93. package/dist/cli/commands/mcp.d.ts.map +1 -0
  94. package/dist/cli/commands/mcp.js +169 -0
  95. package/dist/cli/commands/mcp.js.map +1 -0
  96. package/dist/cli/commands/memory.d.ts +30 -0
  97. package/dist/cli/commands/memory.d.ts.map +1 -0
  98. package/dist/cli/commands/memory.js +225 -0
  99. package/dist/cli/commands/memory.js.map +1 -0
  100. package/dist/cli/commands/migrate.d.ts +6 -0
  101. package/dist/cli/commands/migrate.d.ts.map +1 -0
  102. package/dist/cli/commands/migrate.js +139 -0
  103. package/dist/cli/commands/migrate.js.map +1 -0
  104. package/dist/cli/commands/monitor.d.ts +6 -0
  105. package/dist/cli/commands/monitor.d.ts.map +1 -0
  106. package/dist/cli/commands/monitor.js +493 -0
  107. package/dist/cli/commands/monitor.js.map +1 -0
  108. package/dist/cli/commands/session.d.ts +6 -0
  109. package/dist/cli/commands/session.d.ts.map +1 -0
  110. package/dist/cli/commands/session.js +548 -0
  111. package/dist/cli/commands/session.js.map +1 -0
  112. package/dist/cli/commands/sparc.d.ts +3 -0
  113. package/dist/cli/commands/sparc.d.ts.map +1 -0
  114. package/dist/cli/commands/sparc.js +472 -0
  115. package/dist/cli/commands/sparc.js.map +1 -0
  116. package/dist/cli/commands/start/event-emitter.d.ts +13 -0
  117. package/dist/cli/commands/start/event-emitter.d.ts.map +1 -0
  118. package/dist/cli/commands/start/event-emitter.js +35 -0
  119. package/dist/cli/commands/start/event-emitter.js.map +1 -0
  120. package/dist/cli/commands/start/index.d.ts +10 -0
  121. package/dist/cli/commands/start/index.d.ts.map +1 -0
  122. package/dist/cli/commands/start/index.js +9 -0
  123. package/dist/cli/commands/start/index.js.map +1 -0
  124. package/dist/cli/commands/start/process-manager.d.ts +31 -0
  125. package/dist/cli/commands/start/process-manager.d.ts.map +1 -0
  126. package/dist/cli/commands/start/process-manager.js +283 -0
  127. package/dist/cli/commands/start/process-manager.js.map +1 -0
  128. package/dist/cli/commands/start/process-ui-simple.d.ts +29 -0
  129. package/dist/cli/commands/start/process-ui-simple.d.ts.map +1 -0
  130. package/dist/cli/commands/start/process-ui-simple.js +334 -0
  131. package/dist/cli/commands/start/process-ui-simple.js.map +1 -0
  132. package/dist/cli/commands/start/process-ui.d.ts +5 -0
  133. package/dist/cli/commands/start/process-ui.d.ts.map +1 -0
  134. package/dist/cli/commands/start/process-ui.js +5 -0
  135. package/dist/cli/commands/start/process-ui.js.map +1 -0
  136. package/dist/cli/commands/start/start-command.d.ts +2 -0
  137. package/dist/cli/commands/start/start-command.d.ts.map +1 -0
  138. package/dist/cli/commands/start/start-command.js +462 -0
  139. package/dist/cli/commands/start/start-command.js.map +1 -0
  140. package/dist/cli/commands/start/system-monitor.d.ts +25 -0
  141. package/dist/cli/commands/start/system-monitor.d.ts.map +1 -0
  142. package/dist/cli/commands/start/system-monitor.js +265 -0
  143. package/dist/cli/commands/start/system-monitor.js.map +1 -0
  144. package/dist/cli/commands/start/types.d.ts +64 -0
  145. package/dist/cli/commands/start/types.d.ts.map +1 -0
  146. package/dist/cli/commands/start/types.js +22 -0
  147. package/dist/cli/commands/start/types.js.map +1 -0
  148. package/dist/cli/commands/start.d.ts +6 -0
  149. package/dist/cli/commands/start.d.ts.map +1 -0
  150. package/dist/cli/commands/start.js +6 -0
  151. package/dist/cli/commands/start.js.map +1 -0
  152. package/dist/cli/commands/status.d.ts +6 -0
  153. package/dist/cli/commands/status.d.ts.map +1 -0
  154. package/dist/cli/commands/status.js +307 -0
  155. package/dist/cli/commands/status.js.map +1 -0
  156. package/dist/cli/commands/swarm.d.ts +6 -0
  157. package/dist/cli/commands/swarm.d.ts.map +1 -0
  158. package/dist/cli/commands/swarm.js +465 -0
  159. package/dist/cli/commands/swarm.js.map +1 -0
  160. package/dist/cli/commands/task.d.ts +6 -0
  161. package/dist/cli/commands/task.d.ts.map +1 -0
  162. package/dist/cli/commands/task.js +75 -0
  163. package/dist/cli/commands/task.js.map +1 -0
  164. package/dist/cli/commands/workflow.d.ts +6 -0
  165. package/dist/cli/commands/workflow.d.ts.map +1 -0
  166. package/dist/cli/commands/workflow.js +624 -0
  167. package/dist/cli/commands/workflow.js.map +1 -0
  168. package/dist/cli/completion.d.ts +19 -0
  169. package/dist/cli/completion.d.ts.map +1 -0
  170. package/dist/cli/completion.js +545 -0
  171. package/dist/cli/completion.js.map +1 -0
  172. package/dist/cli/formatter.d.ts +69 -0
  173. package/dist/cli/formatter.d.ts.map +1 -0
  174. package/dist/cli/formatter.js +277 -0
  175. package/dist/cli/formatter.js.map +1 -0
  176. package/dist/cli/help-formatter.d.ts +49 -0
  177. package/dist/cli/help-formatter.d.ts.map +1 -0
  178. package/dist/cli/help-formatter.js +108 -0
  179. package/dist/cli/help-formatter.js.map +1 -0
  180. package/dist/cli/index-remote.d.ts +7 -0
  181. package/dist/cli/index-remote.d.ts.map +1 -0
  182. package/dist/cli/index-remote.js +126 -0
  183. package/dist/cli/index-remote.js.map +1 -0
  184. package/dist/cli/index.d.ts +7 -0
  185. package/dist/cli/index.d.ts.map +1 -0
  186. package/dist/cli/index.js +191 -0
  187. package/dist/cli/index.js.map +1 -0
  188. package/dist/cli/node-compat.d.ts +81 -0
  189. package/dist/cli/node-compat.d.ts.map +1 -0
  190. package/dist/cli/node-compat.js +229 -0
  191. package/dist/cli/node-compat.js.map +1 -0
  192. package/dist/cli/repl.d.ts +5 -0
  193. package/dist/cli/repl.d.ts.map +1 -0
  194. package/dist/cli/repl.js +949 -0
  195. package/dist/cli/repl.js.map +1 -0
  196. package/dist/cli/runtime-detector.d.ts +128 -0
  197. package/dist/cli/runtime-detector.d.ts.map +1 -0
  198. package/dist/cli/runtime-detector.js +267 -0
  199. package/dist/cli/runtime-detector.js.map +1 -0
  200. package/dist/cli/simple-cli.d.ts +7 -0
  201. package/dist/cli/simple-cli.d.ts.map +1 -0
  202. package/dist/cli/simple-cli.js +3074 -0
  203. package/dist/cli/simple-cli.js.map +1 -0
  204. package/dist/cli/simple-commands/agent.d.ts +2 -0
  205. package/dist/cli/simple-commands/agent.d.ts.map +1 -0
  206. package/dist/cli/simple-commands/agent.js +175 -0
  207. package/dist/cli/simple-commands/agent.js.map +1 -0
  208. package/dist/cli/simple-commands/analysis.d.ts +2 -0
  209. package/dist/cli/simple-commands/analysis.d.ts.map +1 -0
  210. package/dist/cli/simple-commands/analysis.js +207 -0
  211. package/dist/cli/simple-commands/analysis.js.map +1 -0
  212. package/dist/cli/simple-commands/automation.d.ts +2 -0
  213. package/dist/cli/simple-commands/automation.d.ts.map +1 -0
  214. package/dist/cli/simple-commands/automation.js +246 -0
  215. package/dist/cli/simple-commands/automation.js.map +1 -0
  216. package/dist/cli/simple-commands/batch-manager.d.ts +2 -0
  217. package/dist/cli/simple-commands/batch-manager.d.ts.map +1 -0
  218. package/dist/cli/simple-commands/batch-manager.js +290 -0
  219. package/dist/cli/simple-commands/batch-manager.js.map +1 -0
  220. package/dist/cli/simple-commands/config.d.ts +2 -0
  221. package/dist/cli/simple-commands/config.d.ts.map +1 -0
  222. package/dist/cli/simple-commands/config.js +278 -0
  223. package/dist/cli/simple-commands/config.js.map +1 -0
  224. package/dist/cli/simple-commands/coordination.d.ts +2 -0
  225. package/dist/cli/simple-commands/coordination.d.ts.map +1 -0
  226. package/dist/cli/simple-commands/coordination.js +249 -0
  227. package/dist/cli/simple-commands/coordination.js.map +1 -0
  228. package/dist/cli/simple-commands/fix-hook-variables.d.ts +16 -0
  229. package/dist/cli/simple-commands/fix-hook-variables.d.ts.map +1 -0
  230. package/dist/cli/simple-commands/fix-hook-variables.js +320 -0
  231. package/dist/cli/simple-commands/fix-hook-variables.js.map +1 -0
  232. package/dist/cli/simple-commands/github.d.ts +3 -0
  233. package/dist/cli/simple-commands/github.d.ts.map +1 -0
  234. package/dist/cli/simple-commands/github.js +343 -0
  235. package/dist/cli/simple-commands/github.js.map +1 -0
  236. package/dist/cli/simple-commands/hive-mind/auto-save-middleware.d.ts +68 -0
  237. package/dist/cli/simple-commands/hive-mind/auto-save-middleware.d.ts.map +1 -0
  238. package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js +264 -0
  239. package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js.map +1 -0
  240. package/dist/cli/simple-commands/hive-mind/communication.d.ts +176 -0
  241. package/dist/cli/simple-commands/hive-mind/communication.d.ts.map +1 -0
  242. package/dist/cli/simple-commands/hive-mind/communication.js +611 -0
  243. package/dist/cli/simple-commands/hive-mind/communication.js.map +1 -0
  244. package/dist/cli/simple-commands/hive-mind/core.d.ts +306 -0
  245. package/dist/cli/simple-commands/hive-mind/core.d.ts.map +1 -0
  246. package/dist/cli/simple-commands/hive-mind/core.js +840 -0
  247. package/dist/cli/simple-commands/hive-mind/core.js.map +1 -0
  248. package/dist/cli/simple-commands/hive-mind/db-optimizer.d.ts +32 -0
  249. package/dist/cli/simple-commands/hive-mind/db-optimizer.d.ts.map +1 -0
  250. package/dist/cli/simple-commands/hive-mind/db-optimizer.js +702 -0
  251. package/dist/cli/simple-commands/hive-mind/db-optimizer.js.map +1 -0
  252. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts +270 -0
  253. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts.map +1 -0
  254. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js +1211 -0
  255. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js.map +1 -0
  256. package/dist/cli/simple-commands/hive-mind/memory.d.ts +334 -0
  257. package/dist/cli/simple-commands/hive-mind/memory.d.ts.map +1 -0
  258. package/dist/cli/simple-commands/hive-mind/memory.js +1068 -0
  259. package/dist/cli/simple-commands/hive-mind/memory.js.map +1 -0
  260. package/dist/cli/simple-commands/hive-mind/performance-optimizer.d.ts +256 -0
  261. package/dist/cli/simple-commands/hive-mind/performance-optimizer.d.ts.map +1 -0
  262. package/dist/cli/simple-commands/hive-mind/performance-optimizer.js +520 -0
  263. package/dist/cli/simple-commands/hive-mind/performance-optimizer.js.map +1 -0
  264. package/dist/cli/simple-commands/hive-mind/queen.d.ts +235 -0
  265. package/dist/cli/simple-commands/hive-mind/queen.d.ts.map +1 -0
  266. package/dist/cli/simple-commands/hive-mind/queen.js +697 -0
  267. package/dist/cli/simple-commands/hive-mind/queen.js.map +1 -0
  268. package/dist/cli/simple-commands/hive-mind/session-manager.d.ts +139 -0
  269. package/dist/cli/simple-commands/hive-mind/session-manager.d.ts.map +1 -0
  270. package/dist/cli/simple-commands/hive-mind/session-manager.js +835 -0
  271. package/dist/cli/simple-commands/hive-mind/session-manager.js.map +1 -0
  272. package/dist/cli/simple-commands/hive-mind-optimize.d.ts +6 -0
  273. package/dist/cli/simple-commands/hive-mind-optimize.d.ts.map +1 -0
  274. package/dist/cli/simple-commands/hive-mind-optimize.js +317 -0
  275. package/dist/cli/simple-commands/hive-mind-optimize.js.map +1 -0
  276. package/dist/cli/simple-commands/hive-mind.d.ts +18 -0
  277. package/dist/cli/simple-commands/hive-mind.d.ts.map +1 -0
  278. package/dist/cli/simple-commands/hive-mind.js +2430 -0
  279. package/dist/cli/simple-commands/hive-mind.js.map +1 -0
  280. package/dist/cli/simple-commands/hook-safety.d.ts +177 -0
  281. package/dist/cli/simple-commands/hook-safety.d.ts.map +1 -0
  282. package/dist/cli/simple-commands/hook-safety.js +590 -0
  283. package/dist/cli/simple-commands/hook-safety.js.map +1 -0
  284. package/dist/cli/simple-commands/hooks.d.ts +3 -0
  285. package/dist/cli/simple-commands/hooks.d.ts.map +1 -0
  286. package/dist/cli/simple-commands/hooks.js +1026 -0
  287. package/dist/cli/simple-commands/hooks.js.map +1 -0
  288. package/dist/cli/simple-commands/init/agent-copier.d.ts +43 -0
  289. package/dist/cli/simple-commands/init/agent-copier.d.ts.map +1 -0
  290. package/dist/cli/simple-commands/init/agent-copier.js +200 -0
  291. package/dist/cli/simple-commands/init/agent-copier.js.map +1 -0
  292. package/dist/cli/simple-commands/init/batch-init.d.ts +137 -0
  293. package/dist/cli/simple-commands/init/batch-init.d.ts.map +1 -0
  294. package/dist/cli/simple-commands/init/batch-init.js +558 -0
  295. package/dist/cli/simple-commands/init/batch-init.js.map +1 -0
  296. package/dist/cli/simple-commands/init/claude-commands/claude-flow-commands.d.ts +2 -0
  297. package/dist/cli/simple-commands/init/claude-commands/claude-flow-commands.d.ts.map +1 -0
  298. package/dist/cli/simple-commands/init/claude-commands/claude-flow-commands.js +433 -0
  299. package/dist/cli/simple-commands/init/claude-commands/claude-flow-commands.js.map +1 -0
  300. package/dist/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.d.ts +2 -0
  301. package/dist/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.d.ts.map +1 -0
  302. package/dist/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +871 -0
  303. package/dist/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js.map +1 -0
  304. package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.d.ts +2 -0
  305. package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.d.ts.map +1 -0
  306. package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +332 -0
  307. package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js.map +1 -0
  308. package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.d.ts +3 -0
  309. package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.d.ts.map +1 -0
  310. package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +488 -0
  311. package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js.map +1 -0
  312. package/dist/cli/simple-commands/init/claude-commands/slash-commands.d.ts +2 -0
  313. package/dist/cli/simple-commands/init/claude-commands/slash-commands.d.ts.map +1 -0
  314. package/dist/cli/simple-commands/init/claude-commands/slash-commands.js +51 -0
  315. package/dist/cli/simple-commands/init/claude-commands/slash-commands.js.map +1 -0
  316. package/dist/cli/simple-commands/init/claude-commands/sparc-commands.d.ts +3 -0
  317. package/dist/cli/simple-commands/init/claude-commands/sparc-commands.d.ts.map +1 -0
  318. package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js +288 -0
  319. package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js.map +1 -0
  320. package/dist/cli/simple-commands/init/copy-revised-templates.d.ts +29 -0
  321. package/dist/cli/simple-commands/init/copy-revised-templates.d.ts.map +1 -0
  322. package/dist/cli/simple-commands/init/copy-revised-templates.js +159 -0
  323. package/dist/cli/simple-commands/init/copy-revised-templates.js.map +1 -0
  324. package/dist/cli/simple-commands/init/executable-wrapper.d.ts +2 -0
  325. package/dist/cli/simple-commands/init/executable-wrapper.d.ts.map +1 -0
  326. package/dist/cli/simple-commands/init/executable-wrapper.js +116 -0
  327. package/dist/cli/simple-commands/init/executable-wrapper.js.map +1 -0
  328. package/dist/cli/simple-commands/init/gitignore-updater.d.ts +23 -0
  329. package/dist/cli/simple-commands/init/gitignore-updater.d.ts.map +1 -0
  330. package/dist/cli/simple-commands/init/gitignore-updater.js +126 -0
  331. package/dist/cli/simple-commands/init/gitignore-updater.js.map +1 -0
  332. package/dist/cli/simple-commands/init/help.d.ts +2 -0
  333. package/dist/cli/simple-commands/init/help.d.ts.map +1 -0
  334. package/dist/cli/simple-commands/init/help.js +95 -0
  335. package/dist/cli/simple-commands/init/help.js.map +1 -0
  336. package/dist/cli/simple-commands/init/index.d.ts +2 -0
  337. package/dist/cli/simple-commands/init/index.d.ts.map +1 -0
  338. package/dist/cli/simple-commands/init/index.js +1178 -0
  339. package/dist/cli/simple-commands/init/index.js.map +1 -0
  340. package/dist/cli/simple-commands/init/performance-monitor.d.ts +73 -0
  341. package/dist/cli/simple-commands/init/performance-monitor.d.ts.map +1 -0
  342. package/dist/cli/simple-commands/init/performance-monitor.js +277 -0
  343. package/dist/cli/simple-commands/init/performance-monitor.js.map +1 -0
  344. package/dist/cli/simple-commands/init/rollback/backup-manager.d.ts +95 -0
  345. package/dist/cli/simple-commands/init/rollback/backup-manager.d.ts.map +1 -0
  346. package/dist/cli/simple-commands/init/rollback/backup-manager.js +486 -0
  347. package/dist/cli/simple-commands/init/rollback/backup-manager.js.map +1 -0
  348. package/dist/cli/simple-commands/init/rollback/index.d.ts +114 -0
  349. package/dist/cli/simple-commands/init/rollback/index.d.ts.map +1 -0
  350. package/dist/cli/simple-commands/init/rollback/index.js +353 -0
  351. package/dist/cli/simple-commands/init/rollback/index.js.map +1 -0
  352. package/dist/cli/simple-commands/init/rollback/recovery-manager.d.ts +161 -0
  353. package/dist/cli/simple-commands/init/rollback/recovery-manager.d.ts.map +1 -0
  354. package/dist/cli/simple-commands/init/rollback/recovery-manager.js +686 -0
  355. package/dist/cli/simple-commands/init/rollback/recovery-manager.js.map +1 -0
  356. package/dist/cli/simple-commands/init/rollback/rollback-executor.d.ts +112 -0
  357. package/dist/cli/simple-commands/init/rollback/rollback-executor.d.ts.map +1 -0
  358. package/dist/cli/simple-commands/init/rollback/rollback-executor.js +480 -0
  359. package/dist/cli/simple-commands/init/rollback/rollback-executor.js.map +1 -0
  360. package/dist/cli/simple-commands/init/rollback/state-tracker.d.ts +121 -0
  361. package/dist/cli/simple-commands/init/rollback/state-tracker.d.ts.map +1 -0
  362. package/dist/cli/simple-commands/init/rollback/state-tracker.js +432 -0
  363. package/dist/cli/simple-commands/init/rollback/state-tracker.js.map +1 -0
  364. package/dist/cli/simple-commands/init/sparc/roo-readme.d.ts +2 -0
  365. package/dist/cli/simple-commands/init/sparc/roo-readme.d.ts.map +1 -0
  366. package/dist/cli/simple-commands/init/sparc/roo-readme.js +61 -0
  367. package/dist/cli/simple-commands/init/sparc/roo-readme.js.map +1 -0
  368. package/dist/cli/simple-commands/init/sparc/roomodes-config.d.ts +2 -0
  369. package/dist/cli/simple-commands/init/sparc/roomodes-config.d.ts.map +1 -0
  370. package/dist/cli/simple-commands/init/sparc/roomodes-config.js +80 -0
  371. package/dist/cli/simple-commands/init/sparc/roomodes-config.js.map +1 -0
  372. package/dist/cli/simple-commands/init/sparc/workflows.d.ts +2 -0
  373. package/dist/cli/simple-commands/init/sparc/workflows.d.ts.map +1 -0
  374. package/dist/cli/simple-commands/init/sparc/workflows.js +36 -0
  375. package/dist/cli/simple-commands/init/sparc/workflows.js.map +1 -0
  376. package/dist/cli/simple-commands/init/sparc-structure.d.ts +2 -0
  377. package/dist/cli/simple-commands/init/sparc-structure.d.ts.map +1 -0
  378. package/dist/cli/simple-commands/init/sparc-structure.js +63 -0
  379. package/dist/cli/simple-commands/init/sparc-structure.js.map +1 -0
  380. package/dist/cli/simple-commands/init/template-copier.d.ts +27 -0
  381. package/dist/cli/simple-commands/init/template-copier.d.ts.map +1 -0
  382. package/dist/cli/simple-commands/init/template-copier.js +510 -0
  383. package/dist/cli/simple-commands/init/template-copier.js.map +1 -0
  384. package/dist/cli/simple-commands/init/templates/claude-md.d.ts +5 -0
  385. package/dist/cli/simple-commands/init/templates/claude-md.d.ts.map +1 -0
  386. package/dist/cli/simple-commands/init/templates/claude-md.js +646 -0
  387. package/dist/cli/simple-commands/init/templates/claude-md.js.map +1 -0
  388. package/dist/cli/simple-commands/init/templates/coordination-md.d.ts +4 -0
  389. package/dist/cli/simple-commands/init/templates/coordination-md.d.ts.map +1 -0
  390. package/dist/cli/simple-commands/init/templates/coordination-md.js +338 -0
  391. package/dist/cli/simple-commands/init/templates/coordination-md.js.map +1 -0
  392. package/dist/cli/simple-commands/init/templates/enhanced-templates.d.ts +18 -0
  393. package/dist/cli/simple-commands/init/templates/enhanced-templates.d.ts.map +1 -0
  394. package/dist/cli/simple-commands/init/templates/enhanced-templates.js +1407 -0
  395. package/dist/cli/simple-commands/init/templates/enhanced-templates.js.map +1 -0
  396. package/dist/cli/simple-commands/init/templates/memory-bank-md.d.ts +4 -0
  397. package/dist/cli/simple-commands/init/templates/memory-bank-md.d.ts.map +1 -0
  398. package/dist/cli/simple-commands/init/templates/memory-bank-md.js +257 -0
  399. package/dist/cli/simple-commands/init/templates/memory-bank-md.js.map +1 -0
  400. package/dist/cli/simple-commands/init/templates/readme-files.d.ts +3 -0
  401. package/dist/cli/simple-commands/init/templates/readme-files.d.ts.map +1 -0
  402. package/dist/cli/simple-commands/init/templates/readme-files.js +71 -0
  403. package/dist/cli/simple-commands/init/templates/readme-files.js.map +1 -0
  404. package/dist/cli/simple-commands/init/templates/sparc-modes.d.ts +30 -0
  405. package/dist/cli/simple-commands/init/templates/sparc-modes.d.ts.map +1 -0
  406. package/dist/cli/simple-commands/init/templates/sparc-modes.js +1375 -0
  407. package/dist/cli/simple-commands/init/templates/sparc-modes.js.map +1 -0
  408. package/dist/cli/simple-commands/init/validation/config-validator.d.ts +63 -0
  409. package/dist/cli/simple-commands/init/validation/config-validator.d.ts.map +1 -0
  410. package/dist/cli/simple-commands/init/validation/config-validator.js +308 -0
  411. package/dist/cli/simple-commands/init/validation/config-validator.js.map +1 -0
  412. package/dist/cli/simple-commands/init/validation/health-checker.d.ts +117 -0
  413. package/dist/cli/simple-commands/init/validation/health-checker.d.ts.map +1 -0
  414. package/dist/cli/simple-commands/init/validation/health-checker.js +539 -0
  415. package/dist/cli/simple-commands/init/validation/health-checker.js.map +1 -0
  416. package/dist/cli/simple-commands/init/validation/index.d.ts +55 -0
  417. package/dist/cli/simple-commands/init/validation/index.d.ts.map +1 -0
  418. package/dist/cli/simple-commands/init/validation/index.js +347 -0
  419. package/dist/cli/simple-commands/init/validation/index.js.map +1 -0
  420. package/dist/cli/simple-commands/init/validation/mode-validator.d.ts +76 -0
  421. package/dist/cli/simple-commands/init/validation/mode-validator.d.ts.map +1 -0
  422. package/dist/cli/simple-commands/init/validation/mode-validator.js +343 -0
  423. package/dist/cli/simple-commands/init/validation/mode-validator.js.map +1 -0
  424. package/dist/cli/simple-commands/init/validation/post-init-validator.d.ts +62 -0
  425. package/dist/cli/simple-commands/init/validation/post-init-validator.d.ts.map +1 -0
  426. package/dist/cli/simple-commands/init/validation/post-init-validator.js +349 -0
  427. package/dist/cli/simple-commands/init/validation/post-init-validator.js.map +1 -0
  428. package/dist/cli/simple-commands/init/validation/pre-init-validator.d.ts +86 -0
  429. package/dist/cli/simple-commands/init/validation/pre-init-validator.d.ts.map +1 -0
  430. package/dist/cli/simple-commands/init/validation/pre-init-validator.js +260 -0
  431. package/dist/cli/simple-commands/init/validation/pre-init-validator.js.map +1 -0
  432. package/dist/cli/simple-commands/mcp.d.ts +2 -0
  433. package/dist/cli/simple-commands/mcp.d.ts.map +1 -0
  434. package/dist/cli/simple-commands/mcp.js +366 -0
  435. package/dist/cli/simple-commands/mcp.js.map +1 -0
  436. package/dist/cli/simple-commands/memory.d.ts +2 -0
  437. package/dist/cli/simple-commands/memory.d.ts.map +1 -0
  438. package/dist/cli/simple-commands/memory.js +278 -0
  439. package/dist/cli/simple-commands/memory.js.map +1 -0
  440. package/dist/cli/simple-commands/migrate-hooks.d.ts +10 -0
  441. package/dist/cli/simple-commands/migrate-hooks.d.ts.map +1 -0
  442. package/dist/cli/simple-commands/migrate-hooks.js +57 -0
  443. package/dist/cli/simple-commands/migrate-hooks.js.map +1 -0
  444. package/dist/cli/simple-commands/monitor.d.ts +3 -0
  445. package/dist/cli/simple-commands/monitor.d.ts.map +1 -0
  446. package/dist/cli/simple-commands/monitor.js +366 -0
  447. package/dist/cli/simple-commands/monitor.js.map +1 -0
  448. package/dist/cli/simple-commands/process-ui-enhanced.d.ts +55 -0
  449. package/dist/cli/simple-commands/process-ui-enhanced.d.ts.map +1 -0
  450. package/dist/cli/simple-commands/process-ui-enhanced.js +680 -0
  451. package/dist/cli/simple-commands/process-ui-enhanced.js.map +1 -0
  452. package/dist/cli/simple-commands/sparc-modes/architect.d.ts +2 -0
  453. package/dist/cli/simple-commands/sparc-modes/architect.d.ts.map +1 -0
  454. package/dist/cli/simple-commands/sparc-modes/architect.js +126 -0
  455. package/dist/cli/simple-commands/sparc-modes/architect.js.map +1 -0
  456. package/dist/cli/simple-commands/sparc-modes/ask.d.ts +2 -0
  457. package/dist/cli/simple-commands/sparc-modes/ask.d.ts.map +1 -0
  458. package/dist/cli/simple-commands/sparc-modes/ask.js +127 -0
  459. package/dist/cli/simple-commands/sparc-modes/ask.js.map +1 -0
  460. package/dist/cli/simple-commands/sparc-modes/code.d.ts +2 -0
  461. package/dist/cli/simple-commands/sparc-modes/code.d.ts.map +1 -0
  462. package/dist/cli/simple-commands/sparc-modes/code.js +149 -0
  463. package/dist/cli/simple-commands/sparc-modes/code.js.map +1 -0
  464. package/dist/cli/simple-commands/sparc-modes/debug.d.ts +2 -0
  465. package/dist/cli/simple-commands/sparc-modes/debug.d.ts.map +1 -0
  466. package/dist/cli/simple-commands/sparc-modes/debug.js +113 -0
  467. package/dist/cli/simple-commands/sparc-modes/debug.js.map +1 -0
  468. package/dist/cli/simple-commands/sparc-modes/devops.d.ts +2 -0
  469. package/dist/cli/simple-commands/sparc-modes/devops.d.ts.map +1 -0
  470. package/dist/cli/simple-commands/sparc-modes/devops.js +138 -0
  471. package/dist/cli/simple-commands/sparc-modes/devops.js.map +1 -0
  472. package/dist/cli/simple-commands/sparc-modes/docs-writer.d.ts +2 -0
  473. package/dist/cli/simple-commands/sparc-modes/docs-writer.d.ts.map +1 -0
  474. package/dist/cli/simple-commands/sparc-modes/docs-writer.js +39 -0
  475. package/dist/cli/simple-commands/sparc-modes/docs-writer.js.map +1 -0
  476. package/dist/cli/simple-commands/sparc-modes/generic.d.ts +2 -0
  477. package/dist/cli/simple-commands/sparc-modes/generic.d.ts.map +1 -0
  478. package/dist/cli/simple-commands/sparc-modes/generic.js +35 -0
  479. package/dist/cli/simple-commands/sparc-modes/generic.js.map +1 -0
  480. package/dist/cli/simple-commands/sparc-modes/index.d.ts +17 -0
  481. package/dist/cli/simple-commands/sparc-modes/index.d.ts.map +1 -0
  482. package/dist/cli/simple-commands/sparc-modes/index.js +196 -0
  483. package/dist/cli/simple-commands/sparc-modes/index.js.map +1 -0
  484. package/dist/cli/simple-commands/sparc-modes/integration.d.ts +2 -0
  485. package/dist/cli/simple-commands/sparc-modes/integration.d.ts.map +1 -0
  486. package/dist/cli/simple-commands/sparc-modes/integration.js +56 -0
  487. package/dist/cli/simple-commands/sparc-modes/integration.js.map +1 -0
  488. package/dist/cli/simple-commands/sparc-modes/mcp.d.ts +2 -0
  489. package/dist/cli/simple-commands/sparc-modes/mcp.d.ts.map +1 -0
  490. package/dist/cli/simple-commands/sparc-modes/mcp.js +39 -0
  491. package/dist/cli/simple-commands/sparc-modes/mcp.js.map +1 -0
  492. package/dist/cli/simple-commands/sparc-modes/monitoring.d.ts +2 -0
  493. package/dist/cli/simple-commands/sparc-modes/monitoring.d.ts.map +1 -0
  494. package/dist/cli/simple-commands/sparc-modes/monitoring.js +39 -0
  495. package/dist/cli/simple-commands/sparc-modes/monitoring.js.map +1 -0
  496. package/dist/cli/simple-commands/sparc-modes/optimization.d.ts +2 -0
  497. package/dist/cli/simple-commands/sparc-modes/optimization.d.ts.map +1 -0
  498. package/dist/cli/simple-commands/sparc-modes/optimization.js +39 -0
  499. package/dist/cli/simple-commands/sparc-modes/optimization.js.map +1 -0
  500. package/dist/cli/simple-commands/sparc-modes/security-review.d.ts +2 -0
  501. package/dist/cli/simple-commands/sparc-modes/security-review.d.ts.map +1 -0
  502. package/dist/cli/simple-commands/sparc-modes/security-review.js +131 -0
  503. package/dist/cli/simple-commands/sparc-modes/security-review.js.map +1 -0
  504. package/dist/cli/simple-commands/sparc-modes/sparc-orchestrator.d.ts +2 -0
  505. package/dist/cli/simple-commands/sparc-modes/sparc-orchestrator.d.ts.map +1 -0
  506. package/dist/cli/simple-commands/sparc-modes/sparc-orchestrator.js +168 -0
  507. package/dist/cli/simple-commands/sparc-modes/sparc-orchestrator.js.map +1 -0
  508. package/dist/cli/simple-commands/sparc-modes/spec-pseudocode.d.ts +2 -0
  509. package/dist/cli/simple-commands/sparc-modes/spec-pseudocode.d.ts.map +1 -0
  510. package/dist/cli/simple-commands/sparc-modes/spec-pseudocode.js +39 -0
  511. package/dist/cli/simple-commands/sparc-modes/spec-pseudocode.js.map +1 -0
  512. package/dist/cli/simple-commands/sparc-modes/supabase-admin.d.ts +2 -0
  513. package/dist/cli/simple-commands/sparc-modes/supabase-admin.d.ts.map +1 -0
  514. package/dist/cli/simple-commands/sparc-modes/supabase-admin.js +150 -0
  515. package/dist/cli/simple-commands/sparc-modes/supabase-admin.js.map +1 -0
  516. package/dist/cli/simple-commands/sparc-modes/swarm.d.ts +81 -0
  517. package/dist/cli/simple-commands/sparc-modes/swarm.d.ts.map +1 -0
  518. package/dist/cli/simple-commands/sparc-modes/swarm.js +428 -0
  519. package/dist/cli/simple-commands/sparc-modes/swarm.js.map +1 -0
  520. package/dist/cli/simple-commands/sparc-modes/tdd.d.ts +2 -0
  521. package/dist/cli/simple-commands/sparc-modes/tdd.d.ts.map +1 -0
  522. package/dist/cli/simple-commands/sparc-modes/tdd.js +113 -0
  523. package/dist/cli/simple-commands/sparc-modes/tdd.js.map +1 -0
  524. package/dist/cli/simple-commands/sparc-modes/tutorial.d.ts +2 -0
  525. package/dist/cli/simple-commands/sparc-modes/tutorial.d.ts.map +1 -0
  526. package/dist/cli/simple-commands/sparc-modes/tutorial.js +278 -0
  527. package/dist/cli/simple-commands/sparc-modes/tutorial.js.map +1 -0
  528. package/dist/cli/simple-commands/sparc.d.ts +2 -0
  529. package/dist/cli/simple-commands/sparc.d.ts.map +1 -0
  530. package/dist/cli/simple-commands/sparc.js +480 -0
  531. package/dist/cli/simple-commands/sparc.js.map +1 -0
  532. package/dist/cli/simple-commands/start-ui.d.ts +2 -0
  533. package/dist/cli/simple-commands/start-ui.d.ts.map +1 -0
  534. package/dist/cli/simple-commands/start-ui.js +135 -0
  535. package/dist/cli/simple-commands/start-ui.js.map +1 -0
  536. package/dist/cli/simple-commands/start-wrapper.d.ts +2 -0
  537. package/dist/cli/simple-commands/start-wrapper.d.ts.map +1 -0
  538. package/dist/cli/simple-commands/start-wrapper.js +264 -0
  539. package/dist/cli/simple-commands/start-wrapper.js.map +1 -0
  540. package/dist/cli/simple-commands/start.d.ts +2 -0
  541. package/dist/cli/simple-commands/start.d.ts.map +1 -0
  542. package/dist/cli/simple-commands/start.js +3 -0
  543. package/dist/cli/simple-commands/start.js.map +1 -0
  544. package/dist/cli/simple-commands/status.d.ts +2 -0
  545. package/dist/cli/simple-commands/status.d.ts.map +1 -0
  546. package/dist/cli/simple-commands/status.js +274 -0
  547. package/dist/cli/simple-commands/status.js.map +1 -0
  548. package/dist/cli/simple-commands/swarm-executor.d.ts +68 -0
  549. package/dist/cli/simple-commands/swarm-executor.d.ts.map +1 -0
  550. package/dist/cli/simple-commands/swarm-executor.js +218 -0
  551. package/dist/cli/simple-commands/swarm-executor.js.map +1 -0
  552. package/dist/cli/simple-commands/swarm-metrics-integration.d.ts +69 -0
  553. package/dist/cli/simple-commands/swarm-metrics-integration.d.ts.map +1 -0
  554. package/dist/cli/simple-commands/swarm-metrics-integration.js +294 -0
  555. package/dist/cli/simple-commands/swarm-metrics-integration.js.map +1 -0
  556. package/dist/cli/simple-commands/swarm-webui-integration.d.ts +68 -0
  557. package/dist/cli/simple-commands/swarm-webui-integration.d.ts.map +1 -0
  558. package/dist/cli/simple-commands/swarm-webui-integration.js +265 -0
  559. package/dist/cli/simple-commands/swarm-webui-integration.js.map +1 -0
  560. package/dist/cli/simple-commands/swarm.d.ts +2 -0
  561. package/dist/cli/simple-commands/swarm.d.ts.map +1 -0
  562. package/dist/cli/simple-commands/swarm.js +1964 -0
  563. package/dist/cli/simple-commands/swarm.js.map +1 -0
  564. package/dist/cli/simple-commands/task.d.ts +2 -0
  565. package/dist/cli/simple-commands/task.d.ts.map +1 -0
  566. package/dist/cli/simple-commands/task.js +190 -0
  567. package/dist/cli/simple-commands/task.js.map +1 -0
  568. package/dist/cli/simple-commands/training.d.ts +2 -0
  569. package/dist/cli/simple-commands/training.d.ts.map +1 -0
  570. package/dist/cli/simple-commands/training.js +240 -0
  571. package/dist/cli/simple-commands/training.js.map +1 -0
  572. package/dist/cli/simple-commands/web-server.d.ts +152 -0
  573. package/dist/cli/simple-commands/web-server.d.ts.map +1 -0
  574. package/dist/cli/simple-commands/web-server.js +816 -0
  575. package/dist/cli/simple-commands/web-server.js.map +1 -0
  576. package/dist/cli/utils/interactive-detector.d.ts +25 -0
  577. package/dist/cli/utils/interactive-detector.d.ts.map +1 -0
  578. package/dist/cli/utils/interactive-detector.js +129 -0
  579. package/dist/cli/utils/interactive-detector.js.map +1 -0
  580. package/dist/cli/utils/safe-interactive.d.ts +30 -0
  581. package/dist/cli/utils/safe-interactive.d.ts.map +1 -0
  582. package/dist/cli/utils/safe-interactive.js +134 -0
  583. package/dist/cli/utils/safe-interactive.js.map +1 -0
  584. package/dist/cli/utils.d.ts +75 -0
  585. package/dist/cli/utils.d.ts.map +1 -0
  586. package/dist/cli/utils.js +567 -0
  587. package/dist/cli/utils.js.map +1 -0
  588. package/dist/config/config-manager.d.ts +212 -0
  589. package/dist/config/config-manager.d.ts.map +1 -0
  590. package/dist/config/config-manager.js +550 -0
  591. package/dist/config/config-manager.js.map +1 -0
  592. package/dist/constants/agent-types.d.ts +55 -0
  593. package/dist/constants/agent-types.d.ts.map +1 -0
  594. package/dist/constants/agent-types.js +66 -0
  595. package/dist/constants/agent-types.js.map +1 -0
  596. package/dist/coordination/advanced-scheduler.d.ts +121 -0
  597. package/dist/coordination/advanced-scheduler.d.ts.map +1 -0
  598. package/dist/coordination/advanced-scheduler.js +382 -0
  599. package/dist/coordination/advanced-scheduler.js.map +1 -0
  600. package/dist/coordination/background-executor.d.ts +69 -0
  601. package/dist/coordination/background-executor.d.ts.map +1 -0
  602. package/dist/coordination/background-executor.js +363 -0
  603. package/dist/coordination/background-executor.js.map +1 -0
  604. package/dist/coordination/circuit-breaker.d.ts +124 -0
  605. package/dist/coordination/circuit-breaker.d.ts.map +1 -0
  606. package/dist/coordination/circuit-breaker.js +301 -0
  607. package/dist/coordination/circuit-breaker.js.map +1 -0
  608. package/dist/coordination/conflict-resolution.d.ts +133 -0
  609. package/dist/coordination/conflict-resolution.d.ts.map +1 -0
  610. package/dist/coordination/conflict-resolution.js +360 -0
  611. package/dist/coordination/conflict-resolution.js.map +1 -0
  612. package/dist/coordination/dependency-graph.d.ts +78 -0
  613. package/dist/coordination/dependency-graph.d.ts.map +1 -0
  614. package/dist/coordination/dependency-graph.js +387 -0
  615. package/dist/coordination/dependency-graph.js.map +1 -0
  616. package/dist/coordination/manager.d.ts +66 -0
  617. package/dist/coordination/manager.d.ts.map +1 -0
  618. package/dist/coordination/manager.js +354 -0
  619. package/dist/coordination/manager.js.map +1 -0
  620. package/dist/coordination/messaging.d.ts +37 -0
  621. package/dist/coordination/messaging.d.ts.map +1 -0
  622. package/dist/coordination/messaging.js +219 -0
  623. package/dist/coordination/messaging.js.map +1 -0
  624. package/dist/coordination/metrics.d.ts +153 -0
  625. package/dist/coordination/metrics.d.ts.map +1 -0
  626. package/dist/coordination/metrics.js +436 -0
  627. package/dist/coordination/metrics.js.map +1 -0
  628. package/dist/coordination/resources.d.ts +36 -0
  629. package/dist/coordination/resources.d.ts.map +1 -0
  630. package/dist/coordination/resources.js +254 -0
  631. package/dist/coordination/resources.js.map +1 -0
  632. package/dist/coordination/scheduler.d.ts +48 -0
  633. package/dist/coordination/scheduler.d.ts.map +1 -0
  634. package/dist/coordination/scheduler.js +308 -0
  635. package/dist/coordination/scheduler.js.map +1 -0
  636. package/dist/coordination/swarm-coordinator.d.ts +116 -0
  637. package/dist/coordination/swarm-coordinator.d.ts.map +1 -0
  638. package/dist/coordination/swarm-coordinator.js +563 -0
  639. package/dist/coordination/swarm-coordinator.js.map +1 -0
  640. package/dist/coordination/swarm-monitor.d.ts +101 -0
  641. package/dist/coordination/swarm-monitor.d.ts.map +1 -0
  642. package/dist/coordination/swarm-monitor.js +340 -0
  643. package/dist/coordination/swarm-monitor.js.map +1 -0
  644. package/dist/coordination/work-stealing.d.ts +44 -0
  645. package/dist/coordination/work-stealing.d.ts.map +1 -0
  646. package/dist/coordination/work-stealing.js +158 -0
  647. package/dist/coordination/work-stealing.js.map +1 -0
  648. package/dist/core/config.d.ts +243 -0
  649. package/dist/core/config.d.ts.map +1 -0
  650. package/dist/core/config.js +1125 -0
  651. package/dist/core/config.js.map +1 -0
  652. package/dist/core/event-bus.d.ts +63 -0
  653. package/dist/core/event-bus.d.ts.map +1 -0
  654. package/dist/core/event-bus.js +153 -0
  655. package/dist/core/event-bus.js.map +1 -0
  656. package/dist/core/json-persistence.d.ts +55 -0
  657. package/dist/core/json-persistence.d.ts.map +1 -0
  658. package/dist/core/json-persistence.js +111 -0
  659. package/dist/core/json-persistence.js.map +1 -0
  660. package/dist/core/logger.d.ts +62 -0
  661. package/dist/core/logger.d.ts.map +1 -0
  662. package/dist/core/logger.js +252 -0
  663. package/dist/core/logger.js.map +1 -0
  664. package/dist/core/orchestrator-fixed.d.ts +81 -0
  665. package/dist/core/orchestrator-fixed.d.ts.map +1 -0
  666. package/dist/core/orchestrator-fixed.js +213 -0
  667. package/dist/core/orchestrator-fixed.js.map +1 -0
  668. package/dist/core/orchestrator.d.ts +123 -0
  669. package/dist/core/orchestrator.d.ts.map +1 -0
  670. package/dist/core/orchestrator.js +1058 -0
  671. package/dist/core/orchestrator.js.map +1 -0
  672. package/dist/enterprise/analytics-manager.d.ts +489 -0
  673. package/dist/enterprise/analytics-manager.d.ts.map +1 -0
  674. package/dist/enterprise/analytics-manager.js +956 -0
  675. package/dist/enterprise/analytics-manager.js.map +1 -0
  676. package/dist/enterprise/audit-manager.d.ts +459 -0
  677. package/dist/enterprise/audit-manager.d.ts.map +1 -0
  678. package/dist/enterprise/audit-manager.js +1014 -0
  679. package/dist/enterprise/audit-manager.js.map +1 -0
  680. package/dist/enterprise/cloud-manager.d.ts +435 -0
  681. package/dist/enterprise/cloud-manager.d.ts.map +1 -0
  682. package/dist/enterprise/cloud-manager.js +789 -0
  683. package/dist/enterprise/cloud-manager.js.map +1 -0
  684. package/dist/enterprise/deployment-manager.d.ts +328 -0
  685. package/dist/enterprise/deployment-manager.d.ts.map +1 -0
  686. package/dist/enterprise/deployment-manager.js +830 -0
  687. package/dist/enterprise/deployment-manager.js.map +1 -0
  688. package/dist/enterprise/project-manager.d.ts +228 -0
  689. package/dist/enterprise/project-manager.d.ts.map +1 -0
  690. package/dist/enterprise/project-manager.js +537 -0
  691. package/dist/enterprise/project-manager.js.map +1 -0
  692. package/dist/enterprise/security-manager.d.ts +422 -0
  693. package/dist/enterprise/security-manager.d.ts.map +1 -0
  694. package/dist/enterprise/security-manager.js +910 -0
  695. package/dist/enterprise/security-manager.js.map +1 -0
  696. package/dist/hive-mind/core/Agent.d.ts +137 -0
  697. package/dist/hive-mind/core/Agent.d.ts.map +1 -0
  698. package/dist/hive-mind/core/Agent.js +567 -0
  699. package/dist/hive-mind/core/Agent.js.map +1 -0
  700. package/dist/hive-mind/core/Communication.d.ts +116 -0
  701. package/dist/hive-mind/core/Communication.d.ts.map +1 -0
  702. package/dist/hive-mind/core/Communication.js +407 -0
  703. package/dist/hive-mind/core/Communication.js.map +1 -0
  704. package/dist/hive-mind/core/DatabaseManager.d.ts +99 -0
  705. package/dist/hive-mind/core/DatabaseManager.d.ts.map +1 -0
  706. package/dist/hive-mind/core/DatabaseManager.js +648 -0
  707. package/dist/hive-mind/core/DatabaseManager.js.map +1 -0
  708. package/dist/hive-mind/core/HiveMind.d.ts +90 -0
  709. package/dist/hive-mind/core/HiveMind.d.ts.map +1 -0
  710. package/dist/hive-mind/core/HiveMind.js +455 -0
  711. package/dist/hive-mind/core/HiveMind.js.map +1 -0
  712. package/dist/hive-mind/core/Memory.d.ts +235 -0
  713. package/dist/hive-mind/core/Memory.d.ts.map +1 -0
  714. package/dist/hive-mind/core/Memory.js +1192 -0
  715. package/dist/hive-mind/core/Memory.js.map +1 -0
  716. package/dist/hive-mind/core/Queen.d.ts +115 -0
  717. package/dist/hive-mind/core/Queen.d.ts.map +1 -0
  718. package/dist/hive-mind/core/Queen.js +649 -0
  719. package/dist/hive-mind/core/Queen.js.map +1 -0
  720. package/dist/hive-mind/integration/ConsensusEngine.d.ts +117 -0
  721. package/dist/hive-mind/integration/ConsensusEngine.d.ts.map +1 -0
  722. package/dist/hive-mind/integration/ConsensusEngine.js +478 -0
  723. package/dist/hive-mind/integration/ConsensusEngine.js.map +1 -0
  724. package/dist/hive-mind/integration/MCPToolWrapper.d.ts +172 -0
  725. package/dist/hive-mind/integration/MCPToolWrapper.d.ts.map +1 -0
  726. package/dist/hive-mind/integration/MCPToolWrapper.js +217 -0
  727. package/dist/hive-mind/integration/MCPToolWrapper.js.map +1 -0
  728. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts +172 -0
  729. package/dist/hive-mind/integration/SwarmOrchestrator.d.ts.map +1 -0
  730. package/dist/hive-mind/integration/SwarmOrchestrator.js +748 -0
  731. package/dist/hive-mind/integration/SwarmOrchestrator.js.map +1 -0
  732. package/dist/hive-mind/types.d.ts +314 -0
  733. package/dist/hive-mind/types.d.ts.map +1 -0
  734. package/dist/hive-mind/types.js +7 -0
  735. package/dist/hive-mind/types.js.map +1 -0
  736. package/dist/mcp/auth.d.ts +80 -0
  737. package/dist/mcp/auth.d.ts.map +1 -0
  738. package/dist/mcp/auth.js +350 -0
  739. package/dist/mcp/auth.js.map +1 -0
  740. package/dist/mcp/claude-flow-tools.d.ts +13 -0
  741. package/dist/mcp/claude-flow-tools.d.ts.map +1 -0
  742. package/dist/mcp/claude-flow-tools.js +1176 -0
  743. package/dist/mcp/claude-flow-tools.js.map +1 -0
  744. package/dist/mcp/load-balancer.d.ts +88 -0
  745. package/dist/mcp/load-balancer.d.ts.map +1 -0
  746. package/dist/mcp/load-balancer.js +393 -0
  747. package/dist/mcp/load-balancer.js.map +1 -0
  748. package/dist/mcp/router.d.ts +54 -0
  749. package/dist/mcp/router.d.ts.map +1 -0
  750. package/dist/mcp/router.js +204 -0
  751. package/dist/mcp/router.js.map +1 -0
  752. package/dist/mcp/ruv-swarm-tools.d.ts +58 -0
  753. package/dist/mcp/ruv-swarm-tools.d.ts.map +1 -0
  754. package/dist/mcp/ruv-swarm-tools.js +548 -0
  755. package/dist/mcp/ruv-swarm-tools.js.map +1 -0
  756. package/dist/mcp/server.d.ts +75 -0
  757. package/dist/mcp/server.d.ts.map +1 -0
  758. package/dist/mcp/server.js +538 -0
  759. package/dist/mcp/server.js.map +1 -0
  760. package/dist/mcp/session-manager.d.ts +60 -0
  761. package/dist/mcp/session-manager.d.ts.map +1 -0
  762. package/dist/mcp/session-manager.js +323 -0
  763. package/dist/mcp/session-manager.js.map +1 -0
  764. package/dist/mcp/swarm-tools.d.ts +87 -0
  765. package/dist/mcp/swarm-tools.d.ts.map +1 -0
  766. package/dist/mcp/swarm-tools.js +731 -0
  767. package/dist/mcp/swarm-tools.js.map +1 -0
  768. package/dist/mcp/tools.d.ts +145 -0
  769. package/dist/mcp/tools.d.ts.map +1 -0
  770. package/dist/mcp/tools.js +434 -0
  771. package/dist/mcp/tools.js.map +1 -0
  772. package/dist/mcp/transports/base.d.ts +22 -0
  773. package/dist/mcp/transports/base.d.ts.map +1 -0
  774. package/dist/mcp/transports/base.js +5 -0
  775. package/dist/mcp/transports/base.js.map +1 -0
  776. package/dist/mcp/transports/http.d.ts +48 -0
  777. package/dist/mcp/transports/http.d.ts.map +1 -0
  778. package/dist/mcp/transports/http.js +400 -0
  779. package/dist/mcp/transports/http.js.map +1 -0
  780. package/dist/mcp/transports/stdio.d.ts +37 -0
  781. package/dist/mcp/transports/stdio.d.ts.map +1 -0
  782. package/dist/mcp/transports/stdio.js +206 -0
  783. package/dist/mcp/transports/stdio.js.map +1 -0
  784. package/dist/memory/advanced-serializer.d.ts +159 -0
  785. package/dist/memory/advanced-serializer.d.ts.map +1 -0
  786. package/dist/memory/advanced-serializer.js +564 -0
  787. package/dist/memory/advanced-serializer.js.map +1 -0
  788. package/dist/memory/backends/base.d.ts +21 -0
  789. package/dist/memory/backends/base.d.ts.map +1 -0
  790. package/dist/memory/backends/base.js +5 -0
  791. package/dist/memory/backends/base.js.map +1 -0
  792. package/dist/memory/backends/markdown.d.ts +35 -0
  793. package/dist/memory/backends/markdown.d.ts.map +1 -0
  794. package/dist/memory/backends/markdown.js +223 -0
  795. package/dist/memory/backends/markdown.js.map +1 -0
  796. package/dist/memory/backends/sqlite.d.ts +33 -0
  797. package/dist/memory/backends/sqlite.d.ts.map +1 -0
  798. package/dist/memory/backends/sqlite.js +291 -0
  799. package/dist/memory/backends/sqlite.js.map +1 -0
  800. package/dist/memory/cache.d.ts +65 -0
  801. package/dist/memory/cache.d.ts.map +1 -0
  802. package/dist/memory/cache.js +188 -0
  803. package/dist/memory/cache.js.map +1 -0
  804. package/dist/memory/distributed-memory.d.ts +188 -0
  805. package/dist/memory/distributed-memory.d.ts.map +1 -0
  806. package/dist/memory/distributed-memory.js +710 -0
  807. package/dist/memory/distributed-memory.js.map +1 -0
  808. package/dist/memory/enhanced-session-serializer.d.ts +115 -0
  809. package/dist/memory/enhanced-session-serializer.d.ts.map +1 -0
  810. package/dist/memory/enhanced-session-serializer.js +478 -0
  811. package/dist/memory/enhanced-session-serializer.js.map +1 -0
  812. package/dist/memory/fallback-store.d.ts +28 -0
  813. package/dist/memory/fallback-store.d.ts.map +1 -0
  814. package/dist/memory/fallback-store.js +101 -0
  815. package/dist/memory/fallback-store.js.map +1 -0
  816. package/dist/memory/in-memory-store.d.ts +37 -0
  817. package/dist/memory/in-memory-store.d.ts.map +1 -0
  818. package/dist/memory/in-memory-store.js +174 -0
  819. package/dist/memory/in-memory-store.js.map +1 -0
  820. package/dist/memory/indexer.d.ts +52 -0
  821. package/dist/memory/indexer.d.ts.map +1 -0
  822. package/dist/memory/indexer.js +191 -0
  823. package/dist/memory/indexer.js.map +1 -0
  824. package/dist/memory/manager.d.ts +58 -0
  825. package/dist/memory/manager.d.ts.map +1 -0
  826. package/dist/memory/manager.js +423 -0
  827. package/dist/memory/manager.js.map +1 -0
  828. package/dist/memory/sqlite-store.d.ts +34 -0
  829. package/dist/memory/sqlite-store.d.ts.map +1 -0
  830. package/dist/memory/sqlite-store.js +267 -0
  831. package/dist/memory/sqlite-store.js.map +1 -0
  832. package/dist/memory/sqlite-wrapper.d.ts +38 -0
  833. package/dist/memory/sqlite-wrapper.d.ts.map +1 -0
  834. package/dist/memory/sqlite-wrapper.js +152 -0
  835. package/dist/memory/sqlite-wrapper.js.map +1 -0
  836. package/dist/memory/swarm-memory.d.ts +91 -0
  837. package/dist/memory/swarm-memory.d.ts.map +1 -0
  838. package/dist/memory/swarm-memory.js +454 -0
  839. package/dist/memory/swarm-memory.js.map +1 -0
  840. package/dist/migration/logger.d.ts +26 -0
  841. package/dist/migration/logger.d.ts.map +1 -0
  842. package/dist/migration/logger.js +145 -0
  843. package/dist/migration/logger.js.map +1 -0
  844. package/dist/migration/migration-analyzer.d.ts +18 -0
  845. package/dist/migration/migration-analyzer.d.ts.map +1 -0
  846. package/dist/migration/migration-analyzer.js +284 -0
  847. package/dist/migration/migration-analyzer.js.map +1 -0
  848. package/dist/migration/migration-runner.d.ts +26 -0
  849. package/dist/migration/migration-runner.d.ts.map +1 -0
  850. package/dist/migration/migration-runner.js +505 -0
  851. package/dist/migration/migration-runner.js.map +1 -0
  852. package/dist/migration/migration-validator.d.ts +17 -0
  853. package/dist/migration/migration-validator.d.ts.map +1 -0
  854. package/dist/migration/migration-validator.js +309 -0
  855. package/dist/migration/migration-validator.js.map +1 -0
  856. package/dist/migration/progress-reporter.d.ts +28 -0
  857. package/dist/migration/progress-reporter.d.ts.map +1 -0
  858. package/dist/migration/progress-reporter.js +163 -0
  859. package/dist/migration/progress-reporter.js.map +1 -0
  860. package/dist/migration/rollback-manager.d.ts +24 -0
  861. package/dist/migration/rollback-manager.d.ts.map +1 -0
  862. package/dist/migration/rollback-manager.js +351 -0
  863. package/dist/migration/rollback-manager.js.map +1 -0
  864. package/dist/migration/types.d.ts +103 -0
  865. package/dist/migration/types.d.ts.map +1 -0
  866. package/dist/migration/types.js +6 -0
  867. package/dist/migration/types.js.map +1 -0
  868. package/dist/swarm/types.d.ts +578 -0
  869. package/dist/swarm/types.d.ts.map +1 -0
  870. package/dist/swarm/types.js +54 -0
  871. package/dist/swarm/types.js.map +1 -0
  872. package/dist/terminal/adapters/base.d.ts +40 -0
  873. package/dist/terminal/adapters/base.d.ts.map +1 -0
  874. package/dist/terminal/adapters/base.js +5 -0
  875. package/dist/terminal/adapters/base.js.map +1 -0
  876. package/dist/terminal/adapters/native.d.ts +19 -0
  877. package/dist/terminal/adapters/native.d.ts.map +1 -0
  878. package/dist/terminal/adapters/native.js +414 -0
  879. package/dist/terminal/adapters/native.js.map +1 -0
  880. package/dist/terminal/adapters/vscode.d.ts +23 -0
  881. package/dist/terminal/adapters/vscode.d.ts.map +1 -0
  882. package/dist/terminal/adapters/vscode.js +267 -0
  883. package/dist/terminal/adapters/vscode.js.map +1 -0
  884. package/dist/terminal/manager.d.ts +59 -0
  885. package/dist/terminal/manager.d.ts.map +1 -0
  886. package/dist/terminal/manager.js +235 -0
  887. package/dist/terminal/manager.js.map +1 -0
  888. package/dist/terminal/pool.d.ts +32 -0
  889. package/dist/terminal/pool.d.ts.map +1 -0
  890. package/dist/terminal/pool.js +208 -0
  891. package/dist/terminal/pool.js.map +1 -0
  892. package/dist/terminal/session.d.ts +41 -0
  893. package/dist/terminal/session.d.ts.map +1 -0
  894. package/dist/terminal/session.js +210 -0
  895. package/dist/terminal/session.js.map +1 -0
  896. package/dist/utils/error-handler.d.ts +14 -0
  897. package/dist/utils/error-handler.d.ts.map +1 -0
  898. package/dist/utils/error-handler.js +29 -0
  899. package/dist/utils/error-handler.js.map +1 -0
  900. package/dist/utils/errors.d.ts +121 -0
  901. package/dist/utils/errors.d.ts.map +1 -0
  902. package/dist/utils/errors.js +194 -0
  903. package/dist/utils/errors.js.map +1 -0
  904. package/dist/utils/formatters.d.ts +15 -0
  905. package/dist/utils/formatters.d.ts.map +1 -0
  906. package/dist/utils/formatters.js +75 -0
  907. package/dist/utils/formatters.js.map +1 -0
  908. package/dist/utils/helpers.d.ts +134 -0
  909. package/dist/utils/helpers.d.ts.map +1 -0
  910. package/dist/utils/helpers.js +444 -0
  911. package/dist/utils/helpers.js.map +1 -0
  912. package/dist/utils/npx-isolated-cache.d.ts +17 -0
  913. package/dist/utils/npx-isolated-cache.d.ts.map +1 -0
  914. package/dist/utils/npx-isolated-cache.js +140 -0
  915. package/dist/utils/npx-isolated-cache.js.map +1 -0
  916. package/dist/utils/type-guards.d.ts +117 -0
  917. package/dist/utils/type-guards.d.ts.map +1 -0
  918. package/dist/utils/type-guards.js +166 -0
  919. package/dist/utils/type-guards.js.map +1 -0
  920. package/dist/utils/types.d.ts +568 -0
  921. package/dist/utils/types.d.ts.map +1 -0
  922. package/dist/utils/types.js +37 -0
  923. package/dist/utils/types.js.map +1 -0
  924. package/package.json +12 -5
  925. package/src/agents/agent-manager.ts +432 -0
  926. package/src/cli/agents/index.ts +15 -1
  927. package/src/cli/command-registry.js +24 -0
  928. package/src/cli/commands/hive-mind/spawn.ts +18 -0
  929. package/src/cli/commands/maestro.ts +317 -0
  930. package/src/cli/commands/status.ts +1 -1
  931. package/src/cli/help-text.js +3 -3
  932. package/src/cli/index-remote.ts +1 -1
  933. package/src/cli/index.ts +1 -1
  934. package/src/cli/maestro-cli-bridge.ts +556 -0
  935. package/src/cli/node-compat.js +4 -23
  936. package/src/cli/runtime-detector.js +2 -2
  937. package/src/cli/simple-cli.js +1 -1
  938. package/src/cli/simple-cli.ts +1 -1
  939. package/src/cli/simple-commands/batch-manager.js +6 -5
  940. package/src/cli/simple-commands/github/github-api.js +159 -0
  941. package/src/cli/simple-commands/hive-mind/session-manager.js +38 -40
  942. package/src/cli/simple-commands/init/batch-init.js +13 -12
  943. package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +4 -3
  944. package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +4 -3
  945. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +4 -4
  946. package/src/cli/simple-commands/init/index.js +72 -49
  947. package/src/cli/simple-commands/init/rollback/backup-manager.js +5 -4
  948. package/src/cli/simple-commands/init/rollback/rollback-executor.js +23 -22
  949. package/src/cli/simple-commands/init/rollback/state-tracker.js +3 -2
  950. package/src/cli/simple-commands/init/sparc-structure.js +9 -7
  951. package/src/cli/simple-commands/init/template-copier.js +1 -1
  952. package/src/cli/simple-commands/init/templates/CLAUDE.md +3 -3
  953. package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +333 -0
  954. package/src/cli/simple-commands/init/validation/config-validator.js +8 -7
  955. package/src/cli/simple-commands/init/validation/health-checker.js +6 -5
  956. package/src/cli/simple-commands/init/validation/mode-validator.js +4 -3
  957. package/src/cli/simple-commands/init/validation/post-init-validator.js +15 -14
  958. package/src/cli/simple-commands/init/validation/test-runner.js +10 -10
  959. package/src/cli/simple-commands/memory.js +8 -7
  960. package/src/cli/simple-commands/process-ui-enhanced.js +2 -2
  961. package/src/cli/simple-commands/process-ui.js +2 -2
  962. package/src/cli/simple-commands/sparc-modes/index.js +1 -1
  963. package/src/cli/simple-commands/sparc.js +28 -26
  964. package/src/cli/simple-commands/start-wrapper.js +6 -5
  965. package/src/cli/simple-commands/status.js +4 -3
  966. package/src/cli/simple-commands/swarm-executor.js +8 -3
  967. package/src/cli/simple-commands/swarm.js +270 -24
  968. package/src/cli/simple-commands/webui-validator.js +4 -3
  969. package/src/cli/swarm-standalone.js +5 -5
  970. package/src/cli/utils.js +54 -66
  971. package/src/hive-mind/core/HiveMind.ts +16 -0
  972. package/src/hive-mind/types.ts +38 -5
  973. package/src/hooks/index.ts +192 -0
  974. package/src/maestro/maestro-swarm-coordinator.ts +602 -0
  975. package/src/maestro/maestro-types.ts +386 -0
  976. package/src/maestro/tests/native-hive-mind-integration.test.ts +480 -0
  977. package/src/memory/advanced-serializer.js +611 -0
  978. package/src/memory/enhanced-session-serializer.js +523 -0
  979. package/src/memory/in-memory-store.js +6 -4
  980. package/src/memory/sqlite-store.js +5 -4
  981. package/src/swarm/types.ts +10 -3
  982. package/src/utils/__tests__/github-cli-safety-wrapper.test.js +408 -0
  983. package/src/utils/github-cli-safe.js +37 -119
  984. package/src/utils/github-cli-safety-wrapper.js +587 -0
  985. package/src/utils/types.ts +60 -2
@@ -0,0 +1,1192 @@
1
+ /**
2
+ * Memory Class
3
+ *
4
+ * Manages collective memory for the Hive Mind swarm,
5
+ * providing persistent storage, retrieval, and learning capabilities.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ import { performance } from 'perf_hooks';
9
+ import { DatabaseManager } from './DatabaseManager.js';
10
+ import { MCPToolWrapper } from '../integration/MCPToolWrapper.js';
11
+ /**
12
+ * High-performance LRU Cache with memory management
13
+ */
14
+ class HighPerformanceCache {
15
+ cache = new Map();
16
+ maxSize;
17
+ maxMemory;
18
+ currentMemory = 0;
19
+ hits = 0;
20
+ misses = 0;
21
+ evictions = 0;
22
+ constructor(maxSize = 10000, maxMemoryMB = 100) {
23
+ this.maxSize = maxSize;
24
+ this.maxMemory = maxMemoryMB * 1024 * 1024;
25
+ }
26
+ get(key) {
27
+ const entry = this.cache.get(key);
28
+ if (entry) {
29
+ // Move to end (LRU)
30
+ this.cache.delete(key);
31
+ this.cache.set(key, entry);
32
+ this.hits++;
33
+ return entry.data;
34
+ }
35
+ this.misses++;
36
+ return undefined;
37
+ }
38
+ set(key, data) {
39
+ const size = this.estimateSize(data);
40
+ // Handle memory pressure
41
+ while (this.currentMemory + size > this.maxMemory && this.cache.size > 0) {
42
+ this.evictLRU();
43
+ }
44
+ // Handle size limit
45
+ while (this.cache.size >= this.maxSize) {
46
+ this.evictLRU();
47
+ }
48
+ this.cache.set(key, { data, timestamp: Date.now(), size });
49
+ this.currentMemory += size;
50
+ }
51
+ evictLRU() {
52
+ const firstKey = this.cache.keys().next().value;
53
+ if (firstKey) {
54
+ const entry = this.cache.get(firstKey);
55
+ this.cache.delete(firstKey);
56
+ this.currentMemory -= entry.size;
57
+ this.evictions++;
58
+ }
59
+ }
60
+ estimateSize(data) {
61
+ try {
62
+ return JSON.stringify(data).length * 2; // Rough estimate
63
+ }
64
+ catch {
65
+ return 1000; // Default size for non-serializable objects
66
+ }
67
+ }
68
+ getStats() {
69
+ const total = this.hits + this.misses;
70
+ return {
71
+ size: this.cache.size,
72
+ memoryUsage: this.currentMemory,
73
+ hitRate: total > 0 ? (this.hits / total) * 100 : 0,
74
+ evictions: this.evictions,
75
+ utilizationPercent: (this.currentMemory / this.maxMemory) * 100,
76
+ };
77
+ }
78
+ clear() {
79
+ this.cache.clear();
80
+ this.currentMemory = 0;
81
+ this.hits = 0;
82
+ this.misses = 0;
83
+ this.evictions = 0;
84
+ }
85
+ has(key) {
86
+ return this.cache.has(key);
87
+ }
88
+ delete(key) {
89
+ const entry = this.cache.get(key);
90
+ if (entry) {
91
+ this.currentMemory -= entry.size;
92
+ return this.cache.delete(key);
93
+ }
94
+ return false;
95
+ }
96
+ }
97
+ /**
98
+ * Memory pool for object reuse
99
+ */
100
+ class ObjectPool {
101
+ pool = [];
102
+ createFn;
103
+ resetFn;
104
+ maxSize;
105
+ allocated = 0;
106
+ reused = 0;
107
+ constructor(createFn, resetFn, maxSize = 1000) {
108
+ this.createFn = createFn;
109
+ this.resetFn = resetFn;
110
+ this.maxSize = maxSize;
111
+ }
112
+ acquire() {
113
+ if (this.pool.length > 0) {
114
+ this.reused++;
115
+ return this.pool.pop();
116
+ }
117
+ this.allocated++;
118
+ return this.createFn();
119
+ }
120
+ release(obj) {
121
+ if (this.pool.length < this.maxSize) {
122
+ this.resetFn(obj);
123
+ this.pool.push(obj);
124
+ }
125
+ }
126
+ getStats() {
127
+ return {
128
+ poolSize: this.pool.length,
129
+ allocated: this.allocated,
130
+ reused: this.reused,
131
+ reuseRate: this.allocated > 0 ? (this.reused / (this.allocated + this.reused)) * 100 : 0,
132
+ };
133
+ }
134
+ }
135
+ export class Memory extends EventEmitter {
136
+ swarmId;
137
+ db;
138
+ mcpWrapper;
139
+ cache;
140
+ namespaces;
141
+ accessPatterns;
142
+ performanceMetrics;
143
+ objectPools;
144
+ isActive = false;
145
+ optimizationTimers = [];
146
+ compressionThreshold = 10000; // 10KB
147
+ batchSize = 100;
148
+ constructor(swarmId, options = {}) {
149
+ super();
150
+ this.swarmId = swarmId;
151
+ // Initialize high-performance cache
152
+ this.cache = new HighPerformanceCache(options.cacheSize || 10000, options.cacheMemoryMB || 100);
153
+ this.namespaces = new Map();
154
+ this.accessPatterns = new Map();
155
+ this.performanceMetrics = new Map();
156
+ this.objectPools = new Map();
157
+ if (options.compressionThreshold) {
158
+ this.compressionThreshold = options.compressionThreshold;
159
+ }
160
+ if (options.batchSize) {
161
+ this.batchSize = options.batchSize;
162
+ }
163
+ this.initializeNamespaces();
164
+ if (options.enablePooling !== false) {
165
+ this.initializeObjectPools();
166
+ }
167
+ }
168
+ /**
169
+ * Initialize optimized memory system
170
+ */
171
+ async initialize() {
172
+ const startTime = performance.now();
173
+ this.db = await DatabaseManager.getInstance();
174
+ this.mcpWrapper = new MCPToolWrapper();
175
+ // Optimize database connection
176
+ await this.optimizeDatabaseSettings();
177
+ // Load existing memory entries with pagination
178
+ await this.loadMemoryFromDatabase();
179
+ // Start optimized memory management loops
180
+ this.startOptimizedManagers();
181
+ this.isActive = true;
182
+ const duration = performance.now() - startTime;
183
+ this.recordPerformance('initialize', duration);
184
+ this.emit('initialized', {
185
+ duration,
186
+ cacheSize: this.cache.getStats().size,
187
+ poolsInitialized: this.objectPools.size,
188
+ });
189
+ }
190
+ /**
191
+ * Initialize object pools for better memory management
192
+ */
193
+ initializeObjectPools() {
194
+ // Pool for memory entries
195
+ this.objectPools.set('memoryEntry', new ObjectPool(() => ({
196
+ key: '',
197
+ namespace: '',
198
+ value: '',
199
+ ttl: 0,
200
+ createdAt: new Date(),
201
+ accessCount: 0,
202
+ lastAccessedAt: new Date(),
203
+ }), (obj) => {
204
+ obj.key = '';
205
+ obj.namespace = '';
206
+ obj.value = '';
207
+ obj.ttl = 0;
208
+ obj.accessCount = 0;
209
+ }));
210
+ // Pool for search results
211
+ this.objectPools.set('searchResult', new ObjectPool(() => ({ results: [], metadata: {} }), (obj) => {
212
+ obj.results.length = 0;
213
+ Object.keys(obj.metadata).forEach((k) => delete obj.metadata[k]);
214
+ }));
215
+ }
216
+ /**
217
+ * Optimize database settings for better performance
218
+ */
219
+ async optimizeDatabaseSettings() {
220
+ try {
221
+ // Database performance optimizations would go here
222
+ // For now, this is a placeholder for future database-specific optimizations
223
+ this.emit('databaseOptimized');
224
+ }
225
+ catch (error) {
226
+ this.emit('error', error);
227
+ }
228
+ }
229
+ /**
230
+ * Optimized store method with compression and batching
231
+ */
232
+ async store(key, value, namespace = 'default', ttl) {
233
+ const startTime = performance.now();
234
+ // Use object pool if available
235
+ const entryPool = this.objectPools.get('memoryEntry');
236
+ const entry = entryPool ? entryPool.acquire() : {};
237
+ try {
238
+ // Smart serialization with compression detection
239
+ let serializedValue;
240
+ let compressed = false;
241
+ if (typeof value === 'string') {
242
+ serializedValue = value;
243
+ }
244
+ else {
245
+ serializedValue = JSON.stringify(value);
246
+ }
247
+ // Intelligent compression decision
248
+ if (serializedValue.length > this.compressionThreshold) {
249
+ serializedValue = await this.compressData(serializedValue);
250
+ compressed = true;
251
+ }
252
+ // Populate entry
253
+ entry.key = key;
254
+ entry.namespace = namespace;
255
+ entry.value = serializedValue;
256
+ entry.ttl = ttl;
257
+ entry.createdAt = new Date();
258
+ entry.accessCount = 0;
259
+ entry.lastAccessedAt = new Date();
260
+ // Store in database with transaction for consistency
261
+ await this.db.storeMemory({
262
+ key,
263
+ namespace,
264
+ value: serializedValue,
265
+ ttl,
266
+ metadata: JSON.stringify({
267
+ swarmId: this.swarmId,
268
+ compressed,
269
+ originalSize: serializedValue.length,
270
+ }),
271
+ });
272
+ // Async MCP storage (non-blocking)
273
+ this.mcpWrapper
274
+ .storeMemory({
275
+ action: 'store',
276
+ key: `${this.swarmId}/${namespace}/${key}`,
277
+ value: serializedValue,
278
+ namespace: 'hive-mind',
279
+ ttl,
280
+ })
281
+ .catch((error) => this.emit('mcpError', error));
282
+ // Update high-performance cache
283
+ this.cache.set(this.getCacheKey(key, namespace), value);
284
+ // Track access patterns
285
+ this.updateAccessPattern(key, 'write');
286
+ // Update namespace stats asynchronously
287
+ setImmediate(() => this.updateNamespaceStats(namespace, 'store'));
288
+ const duration = performance.now() - startTime;
289
+ this.recordPerformance('store', duration);
290
+ this.emit('memoryStored', {
291
+ key,
292
+ namespace,
293
+ compressed,
294
+ size: serializedValue.length,
295
+ duration,
296
+ });
297
+ }
298
+ finally {
299
+ // Return object to pool
300
+ if (entryPool) {
301
+ entryPool.release(entry);
302
+ }
303
+ }
304
+ }
305
+ /**
306
+ * Batch store operation for high-throughput scenarios
307
+ */
308
+ async storeBatch(entries) {
309
+ const startTime = performance.now();
310
+ const batchResults = [];
311
+ // Process in chunks to avoid memory pressure
312
+ for (let i = 0; i < entries.length; i += this.batchSize) {
313
+ const chunk = entries.slice(i, i + this.batchSize);
314
+ const chunkPromises = chunk.map(async ({ key, value, namespace = 'default', ttl }) => {
315
+ await this.store(key, value, namespace, ttl);
316
+ return { key, namespace, success: true };
317
+ });
318
+ const chunkResults = await Promise.allSettled(chunkPromises);
319
+ batchResults.push(...chunkResults);
320
+ }
321
+ const duration = performance.now() - startTime;
322
+ const successful = batchResults.filter((r) => r.status === 'fulfilled').length;
323
+ this.emit('batchStored', {
324
+ total: entries.length,
325
+ successful,
326
+ duration,
327
+ });
328
+ }
329
+ /**
330
+ * High-performance retrieve method with intelligent caching
331
+ */
332
+ async retrieve(key, namespace = 'default') {
333
+ const startTime = performance.now();
334
+ const cacheKey = this.getCacheKey(key, namespace);
335
+ try {
336
+ // Check high-performance cache first
337
+ const cached = this.cache.get(cacheKey);
338
+ if (cached !== undefined) {
339
+ this.updateAccessPattern(key, 'cache_hit');
340
+ this.recordPerformance('retrieve_cache', performance.now() - startTime);
341
+ return cached;
342
+ }
343
+ // Database lookup with prepared statements
344
+ const dbEntry = await this.db.getMemory(key, namespace);
345
+ if (dbEntry) {
346
+ let value = dbEntry.value;
347
+ // Handle compressed data
348
+ const metadata = JSON.parse(dbEntry.metadata || '{}');
349
+ if (metadata.compressed) {
350
+ value = await this.decompressData(value);
351
+ }
352
+ const parsedValue = this.parseValue(value);
353
+ // Update cache asynchronously
354
+ this.cache.set(cacheKey, parsedValue);
355
+ // Update access stats in background
356
+ setImmediate(() => {
357
+ this.updateAccessPattern(key, 'db_hit');
358
+ this.db.updateMemoryAccess(key, namespace).catch((err) => this.emit('error', err));
359
+ });
360
+ this.recordPerformance('retrieve_db', performance.now() - startTime);
361
+ return parsedValue;
362
+ }
363
+ // Fallback to MCP memory (async, non-blocking)
364
+ this.mcpWrapper
365
+ .retrieveMemory({
366
+ action: 'retrieve',
367
+ key: `${this.swarmId}/${namespace}/${key}`,
368
+ namespace: 'hive-mind',
369
+ })
370
+ .then((mcpValue) => {
371
+ if (mcpValue) {
372
+ this.store(key, mcpValue, namespace).catch((err) => this.emit('error', err));
373
+ }
374
+ })
375
+ .catch((err) => this.emit('mcpError', err));
376
+ this.updateAccessPattern(key, 'miss');
377
+ this.recordPerformance('retrieve_miss', performance.now() - startTime);
378
+ return null;
379
+ }
380
+ catch (error) {
381
+ this.emit('error', error);
382
+ return null;
383
+ }
384
+ }
385
+ /**
386
+ * Batch retrieve for multiple keys with optimized database queries
387
+ */
388
+ async retrieveBatch(keys, namespace = 'default') {
389
+ const startTime = performance.now();
390
+ const results = new Map();
391
+ const cacheHits = [];
392
+ const cacheMisses = [];
393
+ // Check cache for all keys first
394
+ for (const key of keys) {
395
+ const cacheKey = this.getCacheKey(key, namespace);
396
+ const cached = this.cache.get(cacheKey);
397
+ if (cached !== undefined) {
398
+ results.set(key, cached);
399
+ cacheHits.push(key);
400
+ }
401
+ else {
402
+ cacheMisses.push(key);
403
+ }
404
+ }
405
+ // Batch query for cache misses
406
+ if (cacheMisses.length > 0) {
407
+ try {
408
+ // This would require implementing batch queries in DatabaseManager
409
+ for (const key of cacheMisses) {
410
+ const value = await this.retrieve(key, namespace);
411
+ if (value !== null) {
412
+ results.set(key, value);
413
+ }
414
+ }
415
+ }
416
+ catch (error) {
417
+ this.emit('error', error);
418
+ }
419
+ }
420
+ const duration = performance.now() - startTime;
421
+ this.emit('batchRetrieved', {
422
+ total: keys.length,
423
+ cacheHits: cacheHits.length,
424
+ found: results.size,
425
+ duration,
426
+ });
427
+ return results;
428
+ }
429
+ /**
430
+ * High-performance search with relevance scoring and caching
431
+ */
432
+ async search(options) {
433
+ const startTime = performance.now();
434
+ const searchKey = this.generateSearchKey(options);
435
+ // Check if we have cached search results
436
+ const cachedResults = this.cache.get(`search:${searchKey}`);
437
+ if (cachedResults) {
438
+ this.recordPerformance('search_cache', performance.now() - startTime);
439
+ return cachedResults;
440
+ }
441
+ const results = [];
442
+ // Search in cache first for immediate results
443
+ this.searchInCache(options, results);
444
+ // If not enough results, search database with optimized query
445
+ if (results.length < (options.limit || 10)) {
446
+ const dbResults = await this.db.searchMemory(options);
447
+ for (const dbEntry of dbResults) {
448
+ const entry = {
449
+ key: dbEntry.key,
450
+ namespace: dbEntry.namespace,
451
+ value: dbEntry.value,
452
+ ttl: dbEntry.ttl,
453
+ createdAt: new Date(dbEntry.created_at),
454
+ accessCount: dbEntry.access_count,
455
+ lastAccessedAt: new Date(dbEntry.last_accessed_at),
456
+ };
457
+ if (!results.find((r) => r.key === entry.key && r.namespace === entry.namespace)) {
458
+ results.push(entry);
459
+ }
460
+ }
461
+ }
462
+ // Sort by relevance with advanced scoring
463
+ const sortedResults = this.sortByRelevance(results, options);
464
+ // Cache search results for future use (with shorter TTL)
465
+ this.cache.set(`search:${searchKey}`, sortedResults);
466
+ const duration = performance.now() - startTime;
467
+ this.recordPerformance('search_db', duration);
468
+ this.emit('searchCompleted', {
469
+ pattern: options.pattern,
470
+ results: sortedResults.length,
471
+ duration,
472
+ });
473
+ return sortedResults;
474
+ }
475
+ /**
476
+ * Generate cache key for search options
477
+ */
478
+ generateSearchKey(options) {
479
+ return JSON.stringify({
480
+ pattern: options.pattern,
481
+ namespace: options.namespace,
482
+ limit: options.limit,
483
+ sortBy: options.sortBy,
484
+ });
485
+ }
486
+ /**
487
+ * Search within cache for immediate results
488
+ */
489
+ searchInCache(options, results) {
490
+ // Note: This would require implementing cache iteration
491
+ // For now, this is a placeholder for future cache search optimization
492
+ }
493
+ /**
494
+ * Delete a memory entry
495
+ */
496
+ async delete(key, namespace = 'default') {
497
+ const cacheKey = this.getCacheKey(key, namespace);
498
+ // Remove from cache
499
+ this.cache.delete(cacheKey);
500
+ // Remove from database
501
+ await this.db.deleteMemory(key, namespace);
502
+ // Remove from MCP memory
503
+ await this.mcpWrapper.deleteMemory({
504
+ action: 'delete',
505
+ key: `${this.swarmId}/${namespace}/${key}`,
506
+ namespace: 'hive-mind',
507
+ });
508
+ this.emit('memoryDeleted', { key, namespace });
509
+ }
510
+ /**
511
+ * List all entries in a namespace
512
+ */
513
+ async list(namespace = 'default', limit = 100) {
514
+ const entries = await this.db.listMemory(namespace, limit);
515
+ return entries.map((dbEntry) => ({
516
+ key: dbEntry.key,
517
+ namespace: dbEntry.namespace,
518
+ value: dbEntry.value,
519
+ ttl: dbEntry.ttl,
520
+ createdAt: new Date(dbEntry.created_at),
521
+ accessCount: dbEntry.access_count,
522
+ lastAccessedAt: new Date(dbEntry.last_accessed_at),
523
+ }));
524
+ }
525
+ /**
526
+ * Get memory statistics
527
+ */
528
+ async getStats() {
529
+ const stats = await this.db.getMemoryStats();
530
+ const byNamespace = {};
531
+ for (const ns of this.namespaces.values()) {
532
+ const nsStats = await this.db.getNamespaceStats(ns.name);
533
+ byNamespace[ns.name] = nsStats;
534
+ }
535
+ return {
536
+ totalEntries: stats.totalEntries,
537
+ totalSize: stats.totalSize,
538
+ byNamespace,
539
+ cacheHitRate: this.calculateCacheHitRate(),
540
+ avgAccessTime: this.calculateAvgAccessTime(),
541
+ hotKeys: await this.getHotKeys(),
542
+ };
543
+ }
544
+ /**
545
+ * Learn patterns from memory access
546
+ */
547
+ async learnPatterns() {
548
+ const patterns = [];
549
+ // Analyze access patterns
550
+ const accessData = Array.from(this.accessPatterns.entries())
551
+ .sort((a, b) => b[1] - a[1])
552
+ .slice(0, 20); // Top 20 accessed keys
553
+ // Identify co-access patterns
554
+ const coAccessPatterns = await this.identifyCoAccessPatterns(accessData);
555
+ // Train neural patterns
556
+ if (coAccessPatterns.length > 0) {
557
+ await this.mcpWrapper.trainNeural({
558
+ pattern_type: 'prediction',
559
+ training_data: JSON.stringify({
560
+ accessPatterns: accessData,
561
+ coAccessPatterns,
562
+ }),
563
+ epochs: 20,
564
+ });
565
+ }
566
+ // Create pattern objects
567
+ for (const pattern of coAccessPatterns) {
568
+ patterns.push({
569
+ type: 'co-access',
570
+ keys: pattern.keys,
571
+ confidence: pattern.confidence,
572
+ frequency: pattern.frequency,
573
+ });
574
+ }
575
+ return patterns;
576
+ }
577
+ /**
578
+ * Predict next memory access
579
+ */
580
+ async predictNextAccess(currentKey) {
581
+ const prediction = await this.mcpWrapper.predict({
582
+ modelId: 'memory-access-predictor',
583
+ input: currentKey,
584
+ });
585
+ return prediction.predictions || [];
586
+ }
587
+ /**
588
+ * Compress memory entries
589
+ */
590
+ async compress(namespace) {
591
+ const entries = namespace ? await this.list(namespace) : await this.db.getAllMemoryEntries();
592
+ for (const entry of entries) {
593
+ if (this.shouldCompress(entry)) {
594
+ const compressed = await this.compressEntry(entry);
595
+ await this.store(entry.key, compressed, entry.namespace, entry.ttl);
596
+ }
597
+ }
598
+ this.emit('memoryCompressed', { namespace });
599
+ }
600
+ /**
601
+ * Backup memory to external storage
602
+ */
603
+ async backup(path) {
604
+ const allEntries = await this.db.getAllMemoryEntries();
605
+ const backup = {
606
+ swarmId: this.swarmId,
607
+ timestamp: new Date(),
608
+ entries: allEntries,
609
+ namespaces: Array.from(this.namespaces.values()),
610
+ patterns: await this.learnPatterns(),
611
+ };
612
+ // Store backup using MCP
613
+ await this.mcpWrapper.storeMemory({
614
+ action: 'store',
615
+ key: `backup/${this.swarmId}/${Date.now()}`,
616
+ value: JSON.stringify(backup),
617
+ namespace: 'hive-mind-backups',
618
+ });
619
+ this.emit('memoryBackedUp', { path, entryCount: allEntries.length });
620
+ }
621
+ /**
622
+ * Restore memory from backup
623
+ */
624
+ async restore(backupId) {
625
+ const backupData = await this.mcpWrapper.retrieveMemory({
626
+ action: 'retrieve',
627
+ key: backupId,
628
+ namespace: 'hive-mind-backups',
629
+ });
630
+ if (!backupData) {
631
+ throw new Error('Backup not found');
632
+ }
633
+ const backup = JSON.parse(backupData);
634
+ // Clear existing memory
635
+ await this.db.clearMemory(this.swarmId);
636
+ this.cache.clear();
637
+ // Restore entries
638
+ for (const entry of backup.entries) {
639
+ await this.store(entry.key, entry.value, entry.namespace, entry.ttl);
640
+ }
641
+ this.emit('memoryRestored', { backupId, entryCount: backup.entries.length });
642
+ }
643
+ /**
644
+ * Initialize default namespaces
645
+ */
646
+ initializeNamespaces() {
647
+ const defaultNamespaces = [
648
+ {
649
+ name: 'default',
650
+ description: 'Default memory namespace',
651
+ retentionPolicy: 'persistent',
652
+ maxEntries: 10000,
653
+ },
654
+ {
655
+ name: 'task-results',
656
+ description: 'Task execution results',
657
+ retentionPolicy: 'time-based',
658
+ ttl: 86400 * 7, // 7 days
659
+ },
660
+ {
661
+ name: 'agent-state',
662
+ description: 'Agent state and context',
663
+ retentionPolicy: 'time-based',
664
+ ttl: 86400, // 1 day
665
+ },
666
+ {
667
+ name: 'learning-data',
668
+ description: 'Machine learning training data',
669
+ retentionPolicy: 'persistent',
670
+ maxEntries: 50000,
671
+ },
672
+ {
673
+ name: 'performance-metrics',
674
+ description: 'Performance and optimization data',
675
+ retentionPolicy: 'time-based',
676
+ ttl: 86400 * 30, // 30 days
677
+ },
678
+ {
679
+ name: 'decisions',
680
+ description: 'Strategic decisions and rationale',
681
+ retentionPolicy: 'persistent',
682
+ maxEntries: 10000,
683
+ },
684
+ ];
685
+ for (const ns of defaultNamespaces) {
686
+ this.namespaces.set(ns.name, ns);
687
+ }
688
+ }
689
+ /**
690
+ * Load memory from database
691
+ */
692
+ async loadMemoryFromDatabase() {
693
+ const recentEntries = await this.db.getRecentMemoryEntries(100);
694
+ for (const dbEntry of recentEntries) {
695
+ const entry = {
696
+ key: dbEntry.key,
697
+ namespace: dbEntry.namespace,
698
+ value: dbEntry.value,
699
+ ttl: dbEntry.ttl,
700
+ createdAt: new Date(dbEntry.created_at),
701
+ accessCount: dbEntry.access_count,
702
+ lastAccessedAt: new Date(dbEntry.last_accessed_at),
703
+ };
704
+ const cacheKey = this.getCacheKey(entry.key, entry.namespace);
705
+ this.cache.set(cacheKey, entry);
706
+ }
707
+ }
708
+ /**
709
+ * Start optimized memory managers
710
+ */
711
+ startOptimizedManagers() {
712
+ // Cache optimization (every 30 seconds)
713
+ const cacheTimer = setInterval(async () => {
714
+ if (!this.isActive)
715
+ return;
716
+ await this.optimizeCache();
717
+ }, 30000);
718
+ // Performance monitoring (every 10 seconds)
719
+ const metricsTimer = setInterval(() => {
720
+ if (!this.isActive)
721
+ return;
722
+ this.updatePerformanceMetrics();
723
+ }, 10000);
724
+ // Memory cleanup (every 5 minutes)
725
+ const cleanupTimer = setInterval(async () => {
726
+ if (!this.isActive)
727
+ return;
728
+ await this.performMemoryCleanup();
729
+ }, 300000);
730
+ // Pattern analysis (every 2 minutes)
731
+ const patternTimer = setInterval(async () => {
732
+ if (!this.isActive)
733
+ return;
734
+ await this.analyzeAccessPatterns();
735
+ }, 120000);
736
+ this.optimizationTimers.push(cacheTimer, metricsTimer, cleanupTimer, patternTimer);
737
+ }
738
+ /**
739
+ * Optimize cache performance
740
+ */
741
+ async optimizeCache() {
742
+ const stats = this.cache.getStats();
743
+ // If hit rate is low, we might need to adjust caching strategy
744
+ if (stats.hitRate < 50 && stats.size > 1000) {
745
+ // Emit warning for potential cache optimization
746
+ this.emit('cacheOptimizationNeeded', stats);
747
+ }
748
+ this.emit('cacheOptimized', stats);
749
+ }
750
+ /**
751
+ * Perform comprehensive memory cleanup
752
+ */
753
+ async performMemoryCleanup() {
754
+ const startTime = performance.now();
755
+ // Clean expired entries from database
756
+ await this.evictExpiredEntries();
757
+ // Optimize object pools
758
+ this.optimizeObjectPools();
759
+ // Clean up old access patterns
760
+ this.cleanupAccessPatterns();
761
+ const duration = performance.now() - startTime;
762
+ this.emit('memoryCleanupCompleted', { duration });
763
+ }
764
+ /**
765
+ * Analyze access patterns for optimization insights
766
+ */
767
+ async analyzeAccessPatterns() {
768
+ const patterns = await this.learnPatterns();
769
+ if (patterns.length > 0) {
770
+ // Store learned patterns for future optimization
771
+ await this.store('learned-patterns', patterns, 'performance-metrics', 3600);
772
+ }
773
+ this.emit('patternsAnalyzed', { count: patterns.length });
774
+ }
775
+ /**
776
+ * Start pattern analyzer
777
+ */
778
+ startPatternAnalyzer() {
779
+ setInterval(async () => {
780
+ if (!this.isActive)
781
+ return;
782
+ // Learn access patterns
783
+ const patterns = await this.learnPatterns();
784
+ // Store patterns for future use
785
+ if (patterns.length > 0) {
786
+ await this.store('access-patterns', patterns, 'learning-data', 86400);
787
+ }
788
+ }, 300000); // Every 5 minutes
789
+ }
790
+ /**
791
+ * Start memory optimizer
792
+ */
793
+ startMemoryOptimizer() {
794
+ setInterval(async () => {
795
+ if (!this.isActive)
796
+ return;
797
+ // Compress old entries
798
+ await this.compressOldEntries();
799
+ // Optimize namespaces
800
+ await this.optimizeNamespaces();
801
+ }, 3600000); // Every hour
802
+ }
803
+ /**
804
+ * Enhanced helper methods with performance optimizations
805
+ */
806
+ getCacheKey(key, namespace) {
807
+ return `${namespace}:${key}`;
808
+ }
809
+ /**
810
+ * Compress data for storage efficiency
811
+ */
812
+ async compressData(data) {
813
+ // Simplified compression simulation
814
+ // In production, use proper compression library like zlib
815
+ try {
816
+ const compressed = {
817
+ _compressed: true,
818
+ _originalSize: data.length,
819
+ data: data.substring(0, Math.floor(data.length * 0.7)), // Simulate 30% compression
820
+ };
821
+ return JSON.stringify(compressed);
822
+ }
823
+ catch {
824
+ return data; // Return original if compression fails
825
+ }
826
+ }
827
+ /**
828
+ * Decompress data
829
+ */
830
+ async decompressData(compressedData) {
831
+ try {
832
+ const parsed = JSON.parse(compressedData);
833
+ if (parsed._compressed) {
834
+ return parsed.data; // Simplified decompression
835
+ }
836
+ return compressedData;
837
+ }
838
+ catch {
839
+ return compressedData;
840
+ }
841
+ }
842
+ /**
843
+ * Record performance metrics
844
+ */
845
+ recordPerformance(operation, duration) {
846
+ if (!this.performanceMetrics.has(operation)) {
847
+ this.performanceMetrics.set(operation, []);
848
+ }
849
+ const metrics = this.performanceMetrics.get(operation);
850
+ metrics.push(duration);
851
+ // Keep only last 100 measurements
852
+ if (metrics.length > 100) {
853
+ metrics.shift();
854
+ }
855
+ }
856
+ /**
857
+ * Update access patterns with intelligent tracking
858
+ */
859
+ updateAccessPattern(key, operation) {
860
+ const pattern = this.accessPatterns.get(key) || 0;
861
+ // Weight different operations differently
862
+ let weight = 1;
863
+ switch (operation) {
864
+ case 'cache_hit':
865
+ weight = 0.5;
866
+ break;
867
+ case 'db_hit':
868
+ weight = 1;
869
+ break;
870
+ case 'write':
871
+ weight = 2;
872
+ break;
873
+ case 'miss':
874
+ weight = 0.1;
875
+ break;
876
+ }
877
+ this.accessPatterns.set(key, pattern + weight);
878
+ // Limit access patterns size
879
+ if (this.accessPatterns.size > 10000) {
880
+ const entries = Array.from(this.accessPatterns.entries())
881
+ .sort((a, b) => a[1] - b[1])
882
+ .slice(0, 1000); // Remove least accessed
883
+ this.accessPatterns.clear();
884
+ entries.forEach(([k, v]) => this.accessPatterns.set(k, v));
885
+ }
886
+ }
887
+ /**
888
+ * Update performance metrics dashboard
889
+ */
890
+ updatePerformanceMetrics() {
891
+ const metrics = {};
892
+ // Calculate averages for each operation
893
+ for (const [operation, durations] of this.performanceMetrics) {
894
+ if (durations.length > 0) {
895
+ metrics[`${operation}_avg`] = durations.reduce((a, b) => a + b, 0) / durations.length;
896
+ metrics[`${operation}_count`] = durations.length;
897
+ metrics[`${operation}_max`] = Math.max(...durations);
898
+ metrics[`${operation}_min`] = Math.min(...durations);
899
+ }
900
+ }
901
+ // Add cache statistics
902
+ const cacheStats = this.cache.getStats();
903
+ metrics.cache = cacheStats;
904
+ // Add pool statistics
905
+ if (this.objectPools.size > 0) {
906
+ metrics.pools = {};
907
+ for (const [name, pool] of this.objectPools) {
908
+ metrics.pools[name] = pool.getStats();
909
+ }
910
+ }
911
+ this.emit('performanceUpdate', metrics);
912
+ }
913
+ /**
914
+ * Optimize object pools
915
+ */
916
+ optimizeObjectPools() {
917
+ for (const [name, pool] of this.objectPools) {
918
+ const stats = pool.getStats();
919
+ // If reuse rate is low, the pool might be too small
920
+ if (stats.reuseRate < 30 && stats.poolSize < 500) {
921
+ this.emit('poolOptimizationSuggested', { name, stats });
922
+ }
923
+ }
924
+ }
925
+ /**
926
+ * Clean up old access patterns
927
+ */
928
+ cleanupAccessPatterns() {
929
+ // Remove patterns with very low access counts
930
+ const threshold = 0.5;
931
+ const toRemove = [];
932
+ for (const [key, count] of this.accessPatterns) {
933
+ if (count < threshold) {
934
+ toRemove.push(key);
935
+ }
936
+ }
937
+ toRemove.forEach((key) => this.accessPatterns.delete(key));
938
+ if (toRemove.length > 0) {
939
+ this.emit('accessPatternsCleanedUp', { removed: toRemove.length });
940
+ }
941
+ }
942
+ parseValue(value) {
943
+ try {
944
+ return JSON.parse(value);
945
+ }
946
+ catch {
947
+ return value;
948
+ }
949
+ }
950
+ updateAccessStats(entry) {
951
+ entry.accessCount++;
952
+ entry.lastAccessedAt = new Date();
953
+ const cacheKey = this.getCacheKey(entry.key, entry.namespace);
954
+ this.updateAccessPattern(cacheKey, 'read');
955
+ // Update in database asynchronously
956
+ this.db.updateMemoryAccess(entry.key, entry.namespace).catch((err) => {
957
+ this.emit('error', err);
958
+ });
959
+ }
960
+ updateNamespaceStats(namespace, operation) {
961
+ const ns = this.namespaces.get(namespace);
962
+ if (ns) {
963
+ ns.lastOperation = operation;
964
+ ns.lastOperationTime = new Date();
965
+ }
966
+ }
967
+ matchesSearch(entry, options) {
968
+ if (options.namespace && entry.namespace !== options.namespace) {
969
+ return false;
970
+ }
971
+ if (options.pattern) {
972
+ const regex = new RegExp(options.pattern, 'i');
973
+ return regex.test(entry.key) || regex.test(entry.value);
974
+ }
975
+ if (options.keyPrefix && !entry.key.startsWith(options.keyPrefix)) {
976
+ return false;
977
+ }
978
+ if (options.minAccessCount && entry.accessCount < options.minAccessCount) {
979
+ return false;
980
+ }
981
+ return true;
982
+ }
983
+ sortByRelevance(entries, options) {
984
+ return entries
985
+ .sort((a, b) => {
986
+ // Sort by access count (most accessed first)
987
+ if (options.sortBy === 'access') {
988
+ return b.accessCount - a.accessCount;
989
+ }
990
+ // Sort by recency (most recent first)
991
+ if (options.sortBy === 'recent') {
992
+ return b.lastAccessedAt.getTime() - a.lastAccessedAt.getTime();
993
+ }
994
+ // Default: sort by creation time
995
+ return b.createdAt.getTime() - a.createdAt.getTime();
996
+ })
997
+ .slice(0, options.limit || 10);
998
+ }
999
+ calculateCacheHitRate() {
1000
+ // Simple calculation - would need more sophisticated tracking in production
1001
+ const totalAccesses = Array.from(this.accessPatterns.values()).reduce((a, b) => a + b, 0);
1002
+ const cacheHits = this.cache.size;
1003
+ return totalAccesses > 0 ? (cacheHits / totalAccesses) * 100 : 0;
1004
+ }
1005
+ calculateAvgAccessTime() {
1006
+ // Simplified - would track actual access times in production
1007
+ return 5; // 5ms average
1008
+ }
1009
+ async getHotKeys() {
1010
+ return Array.from(this.accessPatterns.entries())
1011
+ .sort((a, b) => b[1] - a[1])
1012
+ .slice(0, 10)
1013
+ .map(([key]) => key);
1014
+ }
1015
+ async identifyCoAccessPatterns(accessData) {
1016
+ // Simplified co-access pattern detection
1017
+ const patterns = [];
1018
+ for (let i = 0; i < accessData.length - 1; i++) {
1019
+ for (let j = i + 1; j < Math.min(i + 5, accessData.length); j++) {
1020
+ if (Math.abs(accessData[i][1] - accessData[j][1]) < 10) {
1021
+ patterns.push({
1022
+ keys: [accessData[i][0], accessData[j][0]],
1023
+ confidence: 0.8,
1024
+ frequency: Math.min(accessData[i][1], accessData[j][1]),
1025
+ });
1026
+ }
1027
+ }
1028
+ }
1029
+ return patterns;
1030
+ }
1031
+ shouldCompress(entry) {
1032
+ // Compress if: large size, old, and rarely accessed
1033
+ const ageInDays = (Date.now() - entry.createdAt.getTime()) / (1000 * 60 * 60 * 24);
1034
+ const isOld = ageInDays > 7;
1035
+ const isLarge = entry.value.length > 10000;
1036
+ const isRarelyAccessed = entry.accessCount < 5;
1037
+ return isOld && isLarge && isRarelyAccessed;
1038
+ }
1039
+ async compressEntry(entry) {
1040
+ // Simple compression - in production would use proper compression
1041
+ const compressed = {
1042
+ _compressed: true,
1043
+ _original_length: entry.value.length,
1044
+ data: entry.value, // Would actually compress here
1045
+ };
1046
+ return JSON.stringify(compressed);
1047
+ }
1048
+ async evictExpiredEntries() {
1049
+ const now = Date.now();
1050
+ const toEvict = [];
1051
+ for (const [cacheKey, entry] of this.cache) {
1052
+ if (entry.ttl && entry.createdAt.getTime() + entry.ttl * 1000 < now) {
1053
+ toEvict.push(cacheKey);
1054
+ }
1055
+ }
1056
+ for (const key of toEvict) {
1057
+ const entry = this.cache.get(key);
1058
+ await this.delete(entry.key, entry.namespace);
1059
+ }
1060
+ }
1061
+ async manageCacheSize() {
1062
+ const maxCacheSize = 1000;
1063
+ if (this.cache.size > maxCacheSize) {
1064
+ // Evict least recently used entries
1065
+ const entries = Array.from(this.cache.entries()).sort((a, b) => a[1].lastAccessedAt.getTime() - b[1].lastAccessedAt.getTime());
1066
+ const toEvict = entries.slice(0, entries.length - maxCacheSize);
1067
+ for (const [cacheKey] of toEvict) {
1068
+ this.cache.delete(cacheKey);
1069
+ }
1070
+ }
1071
+ }
1072
+ async compressOldEntries() {
1073
+ const oldEntries = await this.db.getOldMemoryEntries(30); // 30 days old
1074
+ for (const entry of oldEntries) {
1075
+ if (this.shouldCompress(entry)) {
1076
+ const compressed = await this.compressEntry(entry);
1077
+ await this.store(entry.key, compressed, entry.namespace, entry.ttl);
1078
+ }
1079
+ }
1080
+ }
1081
+ async optimizeNamespaces() {
1082
+ for (const namespace of this.namespaces.values()) {
1083
+ const stats = await this.db.getNamespaceStats(namespace.name);
1084
+ // Apply retention policies
1085
+ if (namespace.retentionPolicy === 'time-based' && namespace.ttl) {
1086
+ await this.db.deleteOldEntries(namespace.name, namespace.ttl);
1087
+ }
1088
+ if (namespace.retentionPolicy === 'size-based' && namespace.maxEntries) {
1089
+ if (stats.entries > namespace.maxEntries) {
1090
+ await this.db.trimNamespace(namespace.name, namespace.maxEntries);
1091
+ }
1092
+ }
1093
+ }
1094
+ }
1095
+ /**
1096
+ * Enhanced shutdown with comprehensive cleanup
1097
+ */
1098
+ async shutdown() {
1099
+ this.isActive = false;
1100
+ // Clear all optimization timers
1101
+ this.optimizationTimers.forEach((timer) => clearInterval(timer));
1102
+ this.optimizationTimers.length = 0;
1103
+ // Final performance snapshot
1104
+ const finalMetrics = {
1105
+ cache: this.cache.getStats(),
1106
+ accessPatterns: this.accessPatterns.size,
1107
+ performance: Object.fromEntries(this.performanceMetrics),
1108
+ };
1109
+ // Clear cache and pools
1110
+ this.cache.clear();
1111
+ for (const pool of this.objectPools.values()) {
1112
+ // Pools will be garbage collected
1113
+ }
1114
+ this.objectPools.clear();
1115
+ this.emit('shutdown', finalMetrics);
1116
+ }
1117
+ /**
1118
+ * Get comprehensive analytics
1119
+ */
1120
+ getAdvancedAnalytics() {
1121
+ return {
1122
+ basic: this.getStats(),
1123
+ cache: this.cache.getStats(),
1124
+ performance: Object.fromEntries(Array.from(this.performanceMetrics.entries()).map(([op, durations]) => [
1125
+ op,
1126
+ {
1127
+ avg: durations.reduce((a, b) => a + b, 0) / durations.length,
1128
+ count: durations.length,
1129
+ max: Math.max(...durations),
1130
+ min: Math.min(...durations),
1131
+ },
1132
+ ])),
1133
+ pools: Object.fromEntries(Array.from(this.objectPools.entries()).map(([name, pool]) => [name, pool.getStats()])),
1134
+ accessPatterns: {
1135
+ total: this.accessPatterns.size,
1136
+ hotKeys: Array.from(this.accessPatterns.entries())
1137
+ .sort((a, b) => b[1] - a[1])
1138
+ .slice(0, 10)
1139
+ .map(([key, count]) => ({ key, count })),
1140
+ },
1141
+ };
1142
+ }
1143
+ /**
1144
+ * Memory health check with detailed analysis
1145
+ */
1146
+ async healthCheck() {
1147
+ const analytics = this.getAdvancedAnalytics();
1148
+ const health = {
1149
+ status: 'healthy',
1150
+ score: 100,
1151
+ issues: [],
1152
+ recommendations: [],
1153
+ };
1154
+ // Check cache performance
1155
+ if (analytics.cache.hitRate < 50) {
1156
+ health.score -= 20;
1157
+ health.issues.push('Low cache hit rate');
1158
+ health.recommendations.push('Consider increasing cache size or reviewing access patterns');
1159
+ }
1160
+ // Check memory utilization
1161
+ if (analytics.cache.utilizationPercent > 90) {
1162
+ health.score -= 30;
1163
+ health.status = 'warning';
1164
+ health.issues.push('High cache memory utilization');
1165
+ health.recommendations.push('Increase cache memory limit or optimize data storage');
1166
+ }
1167
+ // Check performance metrics
1168
+ const avgRetrieveTime = analytics.performance.retrieve_db?.avg || 0;
1169
+ if (avgRetrieveTime > 100) {
1170
+ health.score -= 15;
1171
+ health.issues.push('Slow database retrieval performance');
1172
+ health.recommendations.push('Consider database optimization or indexing improvements');
1173
+ }
1174
+ // Check pool efficiency
1175
+ for (const [name, stats] of Object.entries(analytics.pools)) {
1176
+ if (stats.reuseRate < 30) {
1177
+ health.score -= 10;
1178
+ health.issues.push(`Low object pool reuse rate for ${name}`);
1179
+ health.recommendations.push(`Increase ${name} pool size or review object lifecycle`);
1180
+ }
1181
+ }
1182
+ // Determine final status
1183
+ if (health.score < 60) {
1184
+ health.status = 'critical';
1185
+ }
1186
+ else if (health.score < 80) {
1187
+ health.status = 'warning';
1188
+ }
1189
+ return health;
1190
+ }
1191
+ }
1192
+ //# sourceMappingURL=Memory.js.map