@sparkleideas/cli 3.1.0-alpha.17 → 3.1.0-alpha.18

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 (634) hide show
  1. package/package.json +3 -3
  2. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  3. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  4. package/dist/src/benchmarks/pretrain/index.js +0 -404
  5. package/dist/src/benchmarks/pretrain/index.js.map +0 -1
  6. package/dist/src/commands/agent.d.ts +0 -8
  7. package/dist/src/commands/agent.d.ts.map +0 -1
  8. package/dist/src/commands/agent.js +0 -819
  9. package/dist/src/commands/agent.js.map +0 -1
  10. package/dist/src/commands/analyze.d.ts +0 -19
  11. package/dist/src/commands/analyze.d.ts.map +0 -1
  12. package/dist/src/commands/analyze.js +0 -1823
  13. package/dist/src/commands/analyze.js.map +0 -1
  14. package/dist/src/commands/benchmark.d.ts +0 -10
  15. package/dist/src/commands/benchmark.d.ts.map +0 -1
  16. package/dist/src/commands/benchmark.js +0 -459
  17. package/dist/src/commands/benchmark.js.map +0 -1
  18. package/dist/src/commands/categories.d.ts +0 -75
  19. package/dist/src/commands/categories.d.ts.map +0 -1
  20. package/dist/src/commands/categories.js +0 -178
  21. package/dist/src/commands/categories.js.map +0 -1
  22. package/dist/src/commands/claims.d.ts +0 -10
  23. package/dist/src/commands/claims.d.ts.map +0 -1
  24. package/dist/src/commands/claims.js +0 -373
  25. package/dist/src/commands/claims.js.map +0 -1
  26. package/dist/src/commands/completions.d.ts +0 -10
  27. package/dist/src/commands/completions.d.ts.map +0 -1
  28. package/dist/src/commands/completions.js +0 -539
  29. package/dist/src/commands/completions.js.map +0 -1
  30. package/dist/src/commands/config.d.ts +0 -8
  31. package/dist/src/commands/config.d.ts.map +0 -1
  32. package/dist/src/commands/config.js +0 -406
  33. package/dist/src/commands/config.js.map +0 -1
  34. package/dist/src/commands/daemon.d.ts +0 -8
  35. package/dist/src/commands/daemon.d.ts.map +0 -1
  36. package/dist/src/commands/daemon.js +0 -593
  37. package/dist/src/commands/daemon.js.map +0 -1
  38. package/dist/src/commands/deployment.d.ts +0 -10
  39. package/dist/src/commands/deployment.d.ts.map +0 -1
  40. package/dist/src/commands/deployment.js +0 -289
  41. package/dist/src/commands/deployment.js.map +0 -1
  42. package/dist/src/commands/doctor.d.ts +0 -10
  43. package/dist/src/commands/doctor.d.ts.map +0 -1
  44. package/dist/src/commands/doctor.js +0 -571
  45. package/dist/src/commands/doctor.js.map +0 -1
  46. package/dist/src/commands/embeddings.d.ts +0 -18
  47. package/dist/src/commands/embeddings.d.ts.map +0 -1
  48. package/dist/src/commands/embeddings.js +0 -1576
  49. package/dist/src/commands/embeddings.js.map +0 -1
  50. package/dist/src/commands/guidance.d.ts +0 -8
  51. package/dist/src/commands/guidance.d.ts.map +0 -1
  52. package/dist/src/commands/guidance.js +0 -560
  53. package/dist/src/commands/guidance.js.map +0 -1
  54. package/dist/src/commands/hive-mind.d.ts +0 -11
  55. package/dist/src/commands/hive-mind.d.ts.map +0 -1
  56. package/dist/src/commands/hive-mind.js +0 -1230
  57. package/dist/src/commands/hive-mind.js.map +0 -1
  58. package/dist/src/commands/hooks.d.ts +0 -8
  59. package/dist/src/commands/hooks.d.ts.map +0 -1
  60. package/dist/src/commands/hooks.js +0 -3756
  61. package/dist/src/commands/hooks.js.map +0 -1
  62. package/dist/src/commands/index.d.ts +0 -108
  63. package/dist/src/commands/index.d.ts.map +0 -1
  64. package/dist/src/commands/index.js +0 -359
  65. package/dist/src/commands/index.js.map +0 -1
  66. package/dist/src/commands/init.d.ts +0 -8
  67. package/dist/src/commands/init.d.ts.map +0 -1
  68. package/dist/src/commands/init.js +0 -948
  69. package/dist/src/commands/init.js.map +0 -1
  70. package/dist/src/commands/issues.d.ts +0 -21
  71. package/dist/src/commands/issues.d.ts.map +0 -1
  72. package/dist/src/commands/issues.js +0 -567
  73. package/dist/src/commands/issues.js.map +0 -1
  74. package/dist/src/commands/mcp.d.ts +0 -11
  75. package/dist/src/commands/mcp.d.ts.map +0 -1
  76. package/dist/src/commands/mcp.js +0 -700
  77. package/dist/src/commands/mcp.js.map +0 -1
  78. package/dist/src/commands/memory.d.ts +0 -8
  79. package/dist/src/commands/memory.d.ts.map +0 -1
  80. package/dist/src/commands/memory.js +0 -1268
  81. package/dist/src/commands/memory.js.map +0 -1
  82. package/dist/src/commands/migrate.d.ts +0 -8
  83. package/dist/src/commands/migrate.d.ts.map +0 -1
  84. package/dist/src/commands/migrate.js +0 -410
  85. package/dist/src/commands/migrate.js.map +0 -1
  86. package/dist/src/commands/neural.d.ts +0 -10
  87. package/dist/src/commands/neural.d.ts.map +0 -1
  88. package/dist/src/commands/neural.js +0 -1448
  89. package/dist/src/commands/neural.js.map +0 -1
  90. package/dist/src/commands/performance.d.ts +0 -10
  91. package/dist/src/commands/performance.d.ts.map +0 -1
  92. package/dist/src/commands/performance.js +0 -579
  93. package/dist/src/commands/performance.js.map +0 -1
  94. package/dist/src/commands/plugins.d.ts +0 -11
  95. package/dist/src/commands/plugins.d.ts.map +0 -1
  96. package/dist/src/commands/plugins.js +0 -820
  97. package/dist/src/commands/plugins.js.map +0 -1
  98. package/dist/src/commands/process.d.ts +0 -10
  99. package/dist/src/commands/process.d.ts.map +0 -1
  100. package/dist/src/commands/process.js +0 -641
  101. package/dist/src/commands/process.js.map +0 -1
  102. package/dist/src/commands/progress.d.ts +0 -11
  103. package/dist/src/commands/progress.d.ts.map +0 -1
  104. package/dist/src/commands/progress.js +0 -259
  105. package/dist/src/commands/progress.js.map +0 -1
  106. package/dist/src/commands/providers.d.ts +0 -10
  107. package/dist/src/commands/providers.d.ts.map +0 -1
  108. package/dist/src/commands/providers.js +0 -232
  109. package/dist/src/commands/providers.js.map +0 -1
  110. package/dist/src/commands/route.d.ts +0 -16
  111. package/dist/src/commands/route.d.ts.map +0 -1
  112. package/dist/src/commands/route.js +0 -813
  113. package/dist/src/commands/route.js.map +0 -1
  114. package/dist/src/commands/ruvector/backup.d.ts +0 -11
  115. package/dist/src/commands/ruvector/backup.d.ts.map +0 -1
  116. package/dist/src/commands/ruvector/backup.js +0 -746
  117. package/dist/src/commands/ruvector/backup.js.map +0 -1
  118. package/dist/src/commands/ruvector/benchmark.d.ts +0 -11
  119. package/dist/src/commands/ruvector/benchmark.d.ts.map +0 -1
  120. package/dist/src/commands/ruvector/benchmark.js +0 -480
  121. package/dist/src/commands/ruvector/benchmark.js.map +0 -1
  122. package/dist/src/commands/ruvector/import.d.ts +0 -18
  123. package/dist/src/commands/ruvector/import.d.ts.map +0 -1
  124. package/dist/src/commands/ruvector/import.js +0 -349
  125. package/dist/src/commands/ruvector/import.js.map +0 -1
  126. package/dist/src/commands/ruvector/index.d.ts +0 -29
  127. package/dist/src/commands/ruvector/index.d.ts.map +0 -1
  128. package/dist/src/commands/ruvector/index.js +0 -129
  129. package/dist/src/commands/ruvector/index.js.map +0 -1
  130. package/dist/src/commands/ruvector/init.d.ts +0 -11
  131. package/dist/src/commands/ruvector/init.d.ts.map +0 -1
  132. package/dist/src/commands/ruvector/init.js +0 -431
  133. package/dist/src/commands/ruvector/init.js.map +0 -1
  134. package/dist/src/commands/ruvector/migrate.d.ts +0 -11
  135. package/dist/src/commands/ruvector/migrate.d.ts.map +0 -1
  136. package/dist/src/commands/ruvector/migrate.js +0 -481
  137. package/dist/src/commands/ruvector/migrate.js.map +0 -1
  138. package/dist/src/commands/ruvector/optimize.d.ts +0 -11
  139. package/dist/src/commands/ruvector/optimize.d.ts.map +0 -1
  140. package/dist/src/commands/ruvector/optimize.js +0 -503
  141. package/dist/src/commands/ruvector/optimize.js.map +0 -1
  142. package/dist/src/commands/ruvector/setup.d.ts +0 -18
  143. package/dist/src/commands/ruvector/setup.d.ts.map +0 -1
  144. package/dist/src/commands/ruvector/setup.js +0 -765
  145. package/dist/src/commands/ruvector/setup.js.map +0 -1
  146. package/dist/src/commands/ruvector/status.d.ts +0 -11
  147. package/dist/src/commands/ruvector/status.d.ts.map +0 -1
  148. package/dist/src/commands/ruvector/status.js +0 -456
  149. package/dist/src/commands/ruvector/status.js.map +0 -1
  150. package/dist/src/commands/security.d.ts +0 -10
  151. package/dist/src/commands/security.d.ts.map +0 -1
  152. package/dist/src/commands/security.js +0 -575
  153. package/dist/src/commands/security.js.map +0 -1
  154. package/dist/src/commands/session.d.ts +0 -8
  155. package/dist/src/commands/session.d.ts.map +0 -1
  156. package/dist/src/commands/session.js +0 -750
  157. package/dist/src/commands/session.js.map +0 -1
  158. package/dist/src/commands/start.d.ts +0 -8
  159. package/dist/src/commands/start.d.ts.map +0 -1
  160. package/dist/src/commands/start.js +0 -418
  161. package/dist/src/commands/start.js.map +0 -1
  162. package/dist/src/commands/status.d.ts +0 -8
  163. package/dist/src/commands/status.d.ts.map +0 -1
  164. package/dist/src/commands/status.js +0 -584
  165. package/dist/src/commands/status.js.map +0 -1
  166. package/dist/src/commands/swarm.d.ts +0 -8
  167. package/dist/src/commands/swarm.d.ts.map +0 -1
  168. package/dist/src/commands/swarm.js +0 -748
  169. package/dist/src/commands/swarm.js.map +0 -1
  170. package/dist/src/commands/task.d.ts +0 -8
  171. package/dist/src/commands/task.d.ts.map +0 -1
  172. package/dist/src/commands/task.js +0 -671
  173. package/dist/src/commands/task.js.map +0 -1
  174. package/dist/src/commands/transfer-store.d.ts +0 -13
  175. package/dist/src/commands/transfer-store.d.ts.map +0 -1
  176. package/dist/src/commands/transfer-store.js +0 -428
  177. package/dist/src/commands/transfer-store.js.map +0 -1
  178. package/dist/src/commands/update.d.ts +0 -8
  179. package/dist/src/commands/update.d.ts.map +0 -1
  180. package/dist/src/commands/update.js +0 -276
  181. package/dist/src/commands/update.js.map +0 -1
  182. package/dist/src/commands/workflow.d.ts +0 -8
  183. package/dist/src/commands/workflow.d.ts.map +0 -1
  184. package/dist/src/commands/workflow.js +0 -617
  185. package/dist/src/commands/workflow.js.map +0 -1
  186. package/dist/src/config-adapter.d.ts +0 -15
  187. package/dist/src/config-adapter.d.ts.map +0 -1
  188. package/dist/src/config-adapter.js +0 -186
  189. package/dist/src/config-adapter.js.map +0 -1
  190. package/dist/src/index.d.ts +0 -76
  191. package/dist/src/index.d.ts.map +0 -1
  192. package/dist/src/index.js +0 -470
  193. package/dist/src/index.js.map +0 -1
  194. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  195. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  196. package/dist/src/infrastructure/in-memory-repositories.js +0 -264
  197. package/dist/src/infrastructure/in-memory-repositories.js.map +0 -1
  198. package/dist/src/init/claudemd-generator.d.ts +0 -25
  199. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  200. package/dist/src/init/claudemd-generator.js +0 -486
  201. package/dist/src/init/claudemd-generator.js.map +0 -1
  202. package/dist/src/init/executor.d.ts +0 -41
  203. package/dist/src/init/executor.d.ts.map +0 -1
  204. package/dist/src/init/executor.js +0 -1612
  205. package/dist/src/init/executor.js.map +0 -1
  206. package/dist/src/init/helpers-generator.d.ts +0 -42
  207. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  208. package/dist/src/init/helpers-generator.js +0 -613
  209. package/dist/src/init/helpers-generator.js.map +0 -1
  210. package/dist/src/init/index.d.ts +0 -13
  211. package/dist/src/init/index.d.ts.map +0 -1
  212. package/dist/src/init/index.js +0 -15
  213. package/dist/src/init/index.js.map +0 -1
  214. package/dist/src/init/mcp-generator.d.ts +0 -27
  215. package/dist/src/init/mcp-generator.d.ts.map +0 -1
  216. package/dist/src/init/mcp-generator.js +0 -100
  217. package/dist/src/init/mcp-generator.js.map +0 -1
  218. package/dist/src/init/settings-generator.d.ts +0 -14
  219. package/dist/src/init/settings-generator.d.ts.map +0 -1
  220. package/dist/src/init/settings-generator.js +0 -396
  221. package/dist/src/init/settings-generator.js.map +0 -1
  222. package/dist/src/init/statusline-generator.d.ts +0 -20
  223. package/dist/src/init/statusline-generator.d.ts.map +0 -1
  224. package/dist/src/init/statusline-generator.js +0 -1241
  225. package/dist/src/init/statusline-generator.js.map +0 -1
  226. package/dist/src/init/types.d.ts +0 -279
  227. package/dist/src/init/types.d.ts.map +0 -1
  228. package/dist/src/init/types.js +0 -252
  229. package/dist/src/init/types.js.map +0 -1
  230. package/dist/src/mcp-client.d.ts +0 -92
  231. package/dist/src/mcp-client.d.ts.map +0 -1
  232. package/dist/src/mcp-client.js +0 -233
  233. package/dist/src/mcp-client.js.map +0 -1
  234. package/dist/src/mcp-server.d.ts +0 -161
  235. package/dist/src/mcp-server.d.ts.map +0 -1
  236. package/dist/src/mcp-server.js +0 -601
  237. package/dist/src/mcp-server.js.map +0 -1
  238. package/dist/src/mcp-tools/agent-tools.d.ts +0 -9
  239. package/dist/src/mcp-tools/agent-tools.d.ts.map +0 -1
  240. package/dist/src/mcp-tools/agent-tools.js +0 -549
  241. package/dist/src/mcp-tools/agent-tools.js.map +0 -1
  242. package/dist/src/mcp-tools/analyze-tools.d.ts +0 -38
  243. package/dist/src/mcp-tools/analyze-tools.d.ts.map +0 -1
  244. package/dist/src/mcp-tools/analyze-tools.js +0 -317
  245. package/dist/src/mcp-tools/analyze-tools.js.map +0 -1
  246. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  247. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  248. package/dist/src/mcp-tools/auto-install.js +0 -131
  249. package/dist/src/mcp-tools/auto-install.js.map +0 -1
  250. package/dist/src/mcp-tools/browser-tools.d.ts +0 -13
  251. package/dist/src/mcp-tools/browser-tools.d.ts.map +0 -1
  252. package/dist/src/mcp-tools/browser-tools.js +0 -550
  253. package/dist/src/mcp-tools/browser-tools.js.map +0 -1
  254. package/dist/src/mcp-tools/claims-tools.d.ts +0 -12
  255. package/dist/src/mcp-tools/claims-tools.d.ts.map +0 -1
  256. package/dist/src/mcp-tools/claims-tools.js +0 -732
  257. package/dist/src/mcp-tools/claims-tools.js.map +0 -1
  258. package/dist/src/mcp-tools/config-tools.d.ts +0 -8
  259. package/dist/src/mcp-tools/config-tools.d.ts.map +0 -1
  260. package/dist/src/mcp-tools/config-tools.js +0 -333
  261. package/dist/src/mcp-tools/config-tools.js.map +0 -1
  262. package/dist/src/mcp-tools/coordination-tools.d.ts +0 -13
  263. package/dist/src/mcp-tools/coordination-tools.d.ts.map +0 -1
  264. package/dist/src/mcp-tools/coordination-tools.js +0 -486
  265. package/dist/src/mcp-tools/coordination-tools.js.map +0 -1
  266. package/dist/src/mcp-tools/daa-tools.d.ts +0 -13
  267. package/dist/src/mcp-tools/daa-tools.d.ts.map +0 -1
  268. package/dist/src/mcp-tools/daa-tools.js +0 -426
  269. package/dist/src/mcp-tools/daa-tools.js.map +0 -1
  270. package/dist/src/mcp-tools/embeddings-tools.d.ts +0 -9
  271. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +0 -1
  272. package/dist/src/mcp-tools/embeddings-tools.js +0 -782
  273. package/dist/src/mcp-tools/embeddings-tools.js.map +0 -1
  274. package/dist/src/mcp-tools/github-tools.d.ts +0 -13
  275. package/dist/src/mcp-tools/github-tools.d.ts.map +0 -1
  276. package/dist/src/mcp-tools/github-tools.js +0 -373
  277. package/dist/src/mcp-tools/github-tools.js.map +0 -1
  278. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -8
  279. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  280. package/dist/src/mcp-tools/hive-mind-tools.js +0 -583
  281. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  282. package/dist/src/mcp-tools/hooks-tools.d.ts +0 -44
  283. package/dist/src/mcp-tools/hooks-tools.d.ts.map +0 -1
  284. package/dist/src/mcp-tools/hooks-tools.js +0 -2797
  285. package/dist/src/mcp-tools/hooks-tools.js.map +0 -1
  286. package/dist/src/mcp-tools/index.d.ts +0 -23
  287. package/dist/src/mcp-tools/index.d.ts.map +0 -1
  288. package/dist/src/mcp-tools/index.js +0 -22
  289. package/dist/src/mcp-tools/index.js.map +0 -1
  290. package/dist/src/mcp-tools/memory-tools.d.ts +0 -14
  291. package/dist/src/mcp-tools/memory-tools.d.ts.map +0 -1
  292. package/dist/src/mcp-tools/memory-tools.js +0 -482
  293. package/dist/src/mcp-tools/memory-tools.js.map +0 -1
  294. package/dist/src/mcp-tools/neural-tools.d.ts +0 -16
  295. package/dist/src/mcp-tools/neural-tools.d.ts.map +0 -1
  296. package/dist/src/mcp-tools/neural-tools.js +0 -456
  297. package/dist/src/mcp-tools/neural-tools.js.map +0 -1
  298. package/dist/src/mcp-tools/performance-tools.d.ts +0 -16
  299. package/dist/src/mcp-tools/performance-tools.d.ts.map +0 -1
  300. package/dist/src/mcp-tools/performance-tools.js +0 -534
  301. package/dist/src/mcp-tools/performance-tools.js.map +0 -1
  302. package/dist/src/mcp-tools/progress-tools.d.ts +0 -14
  303. package/dist/src/mcp-tools/progress-tools.d.ts.map +0 -1
  304. package/dist/src/mcp-tools/progress-tools.js +0 -348
  305. package/dist/src/mcp-tools/progress-tools.js.map +0 -1
  306. package/dist/src/mcp-tools/security-tools.d.ts +0 -18
  307. package/dist/src/mcp-tools/security-tools.d.ts.map +0 -1
  308. package/dist/src/mcp-tools/security-tools.js +0 -434
  309. package/dist/src/mcp-tools/security-tools.js.map +0 -1
  310. package/dist/src/mcp-tools/session-tools.d.ts +0 -8
  311. package/dist/src/mcp-tools/session-tools.d.ts.map +0 -1
  312. package/dist/src/mcp-tools/session-tools.js +0 -315
  313. package/dist/src/mcp-tools/session-tools.js.map +0 -1
  314. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -8
  315. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  316. package/dist/src/mcp-tools/swarm-tools.js +0 -102
  317. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  318. package/dist/src/mcp-tools/system-tools.d.ts +0 -13
  319. package/dist/src/mcp-tools/system-tools.d.ts.map +0 -1
  320. package/dist/src/mcp-tools/system-tools.js +0 -314
  321. package/dist/src/mcp-tools/system-tools.js.map +0 -1
  322. package/dist/src/mcp-tools/task-tools.d.ts +0 -8
  323. package/dist/src/mcp-tools/task-tools.d.ts.map +0 -1
  324. package/dist/src/mcp-tools/task-tools.js +0 -302
  325. package/dist/src/mcp-tools/task-tools.js.map +0 -1
  326. package/dist/src/mcp-tools/terminal-tools.d.ts +0 -13
  327. package/dist/src/mcp-tools/terminal-tools.d.ts.map +0 -1
  328. package/dist/src/mcp-tools/terminal-tools.js +0 -246
  329. package/dist/src/mcp-tools/terminal-tools.js.map +0 -1
  330. package/dist/src/mcp-tools/transfer-tools.d.ts +0 -14
  331. package/dist/src/mcp-tools/transfer-tools.d.ts.map +0 -1
  332. package/dist/src/mcp-tools/transfer-tools.js +0 -396
  333. package/dist/src/mcp-tools/transfer-tools.js.map +0 -1
  334. package/dist/src/mcp-tools/types.d.ts +0 -31
  335. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  336. package/dist/src/mcp-tools/types.js +0 -7
  337. package/dist/src/mcp-tools/types.js.map +0 -1
  338. package/dist/src/mcp-tools/workflow-tools.d.ts +0 -8
  339. package/dist/src/mcp-tools/workflow-tools.d.ts.map +0 -1
  340. package/dist/src/mcp-tools/workflow-tools.js +0 -481
  341. package/dist/src/mcp-tools/workflow-tools.js.map +0 -1
  342. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  343. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  344. package/dist/src/memory/ewc-consolidation.js +0 -542
  345. package/dist/src/memory/ewc-consolidation.js.map +0 -1
  346. package/dist/src/memory/intelligence.d.ts +0 -285
  347. package/dist/src/memory/intelligence.d.ts.map +0 -1
  348. package/dist/src/memory/intelligence.js +0 -766
  349. package/dist/src/memory/intelligence.js.map +0 -1
  350. package/dist/src/memory/memory-initializer.d.ts +0 -396
  351. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  352. package/dist/src/memory/memory-initializer.js +0 -1929
  353. package/dist/src/memory/memory-initializer.js.map +0 -1
  354. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  355. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  356. package/dist/src/memory/sona-optimizer.js +0 -633
  357. package/dist/src/memory/sona-optimizer.js.map +0 -1
  358. package/dist/src/output.d.ts +0 -133
  359. package/dist/src/output.d.ts.map +0 -1
  360. package/dist/src/output.js +0 -513
  361. package/dist/src/output.js.map +0 -1
  362. package/dist/src/parser.d.ts +0 -41
  363. package/dist/src/parser.d.ts.map +0 -1
  364. package/dist/src/parser.js +0 -377
  365. package/dist/src/parser.js.map +0 -1
  366. package/dist/src/plugins/manager.d.ts +0 -133
  367. package/dist/src/plugins/manager.d.ts.map +0 -1
  368. package/dist/src/plugins/manager.js +0 -383
  369. package/dist/src/plugins/manager.js.map +0 -1
  370. package/dist/src/plugins/store/discovery.d.ts +0 -88
  371. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  372. package/dist/src/plugins/store/discovery.js +0 -1147
  373. package/dist/src/plugins/store/discovery.js.map +0 -1
  374. package/dist/src/plugins/store/index.d.ts +0 -76
  375. package/dist/src/plugins/store/index.d.ts.map +0 -1
  376. package/dist/src/plugins/store/index.js +0 -141
  377. package/dist/src/plugins/store/index.js.map +0 -1
  378. package/dist/src/plugins/store/search.d.ts +0 -46
  379. package/dist/src/plugins/store/search.d.ts.map +0 -1
  380. package/dist/src/plugins/store/search.js +0 -230
  381. package/dist/src/plugins/store/search.js.map +0 -1
  382. package/dist/src/plugins/store/types.d.ts +0 -274
  383. package/dist/src/plugins/store/types.d.ts.map +0 -1
  384. package/dist/src/plugins/store/types.js +0 -7
  385. package/dist/src/plugins/store/types.js.map +0 -1
  386. package/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  387. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +0 -1
  388. package/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  389. package/dist/src/plugins/tests/demo-plugin-store.js.map +0 -1
  390. package/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  391. package/dist/src/plugins/tests/standalone-test.d.ts.map +0 -1
  392. package/dist/src/plugins/tests/standalone-test.js +0 -188
  393. package/dist/src/plugins/tests/standalone-test.js.map +0 -1
  394. package/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  395. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +0 -1
  396. package/dist/src/plugins/tests/test-plugin-store.js +0 -206
  397. package/dist/src/plugins/tests/test-plugin-store.js.map +0 -1
  398. package/dist/src/production/circuit-breaker.d.ts +0 -101
  399. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  400. package/dist/src/production/circuit-breaker.js +0 -241
  401. package/dist/src/production/circuit-breaker.js.map +0 -1
  402. package/dist/src/production/error-handler.d.ts +0 -92
  403. package/dist/src/production/error-handler.d.ts.map +0 -1
  404. package/dist/src/production/error-handler.js +0 -299
  405. package/dist/src/production/error-handler.js.map +0 -1
  406. package/dist/src/production/index.d.ts +0 -23
  407. package/dist/src/production/index.d.ts.map +0 -1
  408. package/dist/src/production/index.js +0 -18
  409. package/dist/src/production/index.js.map +0 -1
  410. package/dist/src/production/monitoring.d.ts +0 -161
  411. package/dist/src/production/monitoring.d.ts.map +0 -1
  412. package/dist/src/production/monitoring.js +0 -356
  413. package/dist/src/production/monitoring.js.map +0 -1
  414. package/dist/src/production/rate-limiter.d.ts +0 -80
  415. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  416. package/dist/src/production/rate-limiter.js +0 -201
  417. package/dist/src/production/rate-limiter.js.map +0 -1
  418. package/dist/src/production/retry.d.ts +0 -48
  419. package/dist/src/production/retry.d.ts.map +0 -1
  420. package/dist/src/production/retry.js +0 -179
  421. package/dist/src/production/retry.js.map +0 -1
  422. package/dist/src/prompt.d.ts +0 -44
  423. package/dist/src/prompt.d.ts.map +0 -1
  424. package/dist/src/prompt.js +0 -501
  425. package/dist/src/prompt.js.map +0 -1
  426. package/dist/src/runtime/headless.d.ts +0 -60
  427. package/dist/src/runtime/headless.d.ts.map +0 -1
  428. package/dist/src/runtime/headless.js +0 -284
  429. package/dist/src/runtime/headless.js.map +0 -1
  430. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  431. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  432. package/dist/src/ruvector/ast-analyzer.js +0 -277
  433. package/dist/src/ruvector/ast-analyzer.js.map +0 -1
  434. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  435. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  436. package/dist/src/ruvector/coverage-router.js +0 -529
  437. package/dist/src/ruvector/coverage-router.js.map +0 -1
  438. package/dist/src/ruvector/coverage-tools.d.ts +0 -33
  439. package/dist/src/ruvector/coverage-tools.d.ts.map +0 -1
  440. package/dist/src/ruvector/coverage-tools.js +0 -157
  441. package/dist/src/ruvector/coverage-tools.js.map +0 -1
  442. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  443. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  444. package/dist/src/ruvector/diff-classifier.js +0 -698
  445. package/dist/src/ruvector/diff-classifier.js.map +0 -1
  446. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  447. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  448. package/dist/src/ruvector/enhanced-model-router.js +0 -519
  449. package/dist/src/ruvector/enhanced-model-router.js.map +0 -1
  450. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  451. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  452. package/dist/src/ruvector/flash-attention.js +0 -643
  453. package/dist/src/ruvector/flash-attention.js.map +0 -1
  454. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  455. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  456. package/dist/src/ruvector/graph-analyzer.js +0 -929
  457. package/dist/src/ruvector/graph-analyzer.js.map +0 -1
  458. package/dist/src/ruvector/index.d.ts +0 -34
  459. package/dist/src/ruvector/index.d.ts.map +0 -1
  460. package/dist/src/ruvector/index.js +0 -60
  461. package/dist/src/ruvector/index.js.map +0 -1
  462. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  463. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  464. package/dist/src/ruvector/lora-adapter.js +0 -455
  465. package/dist/src/ruvector/lora-adapter.js.map +0 -1
  466. package/dist/src/ruvector/model-router.d.ts +0 -220
  467. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  468. package/dist/src/ruvector/model-router.js +0 -488
  469. package/dist/src/ruvector/model-router.js.map +0 -1
  470. package/dist/src/ruvector/moe-router.d.ts +0 -206
  471. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  472. package/dist/src/ruvector/moe-router.js +0 -626
  473. package/dist/src/ruvector/moe-router.js.map +0 -1
  474. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  475. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  476. package/dist/src/ruvector/q-learning-router.js +0 -681
  477. package/dist/src/ruvector/q-learning-router.js.map +0 -1
  478. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  479. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  480. package/dist/src/ruvector/semantic-router.js +0 -178
  481. package/dist/src/ruvector/semantic-router.js.map +0 -1
  482. package/dist/src/ruvector/vector-db.d.ts +0 -69
  483. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  484. package/dist/src/ruvector/vector-db.js +0 -243
  485. package/dist/src/ruvector/vector-db.js.map +0 -1
  486. package/dist/src/services/claim-service.d.ts +0 -204
  487. package/dist/src/services/claim-service.d.ts.map +0 -1
  488. package/dist/src/services/claim-service.js +0 -818
  489. package/dist/src/services/claim-service.js.map +0 -1
  490. package/dist/src/services/container-worker-pool.d.ts +0 -197
  491. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  492. package/dist/src/services/container-worker-pool.js +0 -581
  493. package/dist/src/services/container-worker-pool.js.map +0 -1
  494. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  495. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  496. package/dist/src/services/headless-worker-executor.js +0 -999
  497. package/dist/src/services/headless-worker-executor.js.map +0 -1
  498. package/dist/src/services/index.d.ts +0 -13
  499. package/dist/src/services/index.d.ts.map +0 -1
  500. package/dist/src/services/index.js +0 -11
  501. package/dist/src/services/index.js.map +0 -1
  502. package/dist/src/services/registry-api.d.ts +0 -58
  503. package/dist/src/services/registry-api.d.ts.map +0 -1
  504. package/dist/src/services/registry-api.js +0 -146
  505. package/dist/src/services/registry-api.js.map +0 -1
  506. package/dist/src/services/ruvector-training.d.ts +0 -213
  507. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  508. package/dist/src/services/ruvector-training.js +0 -498
  509. package/dist/src/services/ruvector-training.js.map +0 -1
  510. package/dist/src/services/worker-daemon.d.ts +0 -203
  511. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  512. package/dist/src/services/worker-daemon.js +0 -756
  513. package/dist/src/services/worker-daemon.js.map +0 -1
  514. package/dist/src/services/worker-queue.d.ts +0 -194
  515. package/dist/src/services/worker-queue.d.ts.map +0 -1
  516. package/dist/src/services/worker-queue.js +0 -511
  517. package/dist/src/services/worker-queue.js.map +0 -1
  518. package/dist/src/suggest.d.ts +0 -53
  519. package/dist/src/suggest.d.ts.map +0 -1
  520. package/dist/src/suggest.js +0 -200
  521. package/dist/src/suggest.js.map +0 -1
  522. package/dist/src/tests/ruvector-integration-benchmark.d.ts +0 -6
  523. package/dist/src/tests/ruvector-integration-benchmark.d.ts.map +0 -1
  524. package/dist/src/tests/ruvector-integration-benchmark.js +0 -385
  525. package/dist/src/tests/ruvector-integration-benchmark.js.map +0 -1
  526. package/dist/src/transfer/anonymization/index.d.ts +0 -25
  527. package/dist/src/transfer/anonymization/index.d.ts.map +0 -1
  528. package/dist/src/transfer/anonymization/index.js +0 -175
  529. package/dist/src/transfer/anonymization/index.js.map +0 -1
  530. package/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  531. package/dist/src/transfer/deploy-seraphine.d.ts.map +0 -1
  532. package/dist/src/transfer/deploy-seraphine.js +0 -205
  533. package/dist/src/transfer/deploy-seraphine.js.map +0 -1
  534. package/dist/src/transfer/export.d.ts +0 -25
  535. package/dist/src/transfer/export.d.ts.map +0 -1
  536. package/dist/src/transfer/export.js +0 -113
  537. package/dist/src/transfer/export.js.map +0 -1
  538. package/dist/src/transfer/index.d.ts +0 -12
  539. package/dist/src/transfer/index.d.ts.map +0 -1
  540. package/dist/src/transfer/index.js +0 -31
  541. package/dist/src/transfer/index.js.map +0 -1
  542. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  543. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  544. package/dist/src/transfer/ipfs/client.js +0 -299
  545. package/dist/src/transfer/ipfs/client.js.map +0 -1
  546. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  547. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  548. package/dist/src/transfer/ipfs/upload.js +0 -413
  549. package/dist/src/transfer/ipfs/upload.js.map +0 -1
  550. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  551. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  552. package/dist/src/transfer/models/seraphine.js +0 -373
  553. package/dist/src/transfer/models/seraphine.js.map +0 -1
  554. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  555. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  556. package/dist/src/transfer/serialization/cfp.js +0 -180
  557. package/dist/src/transfer/serialization/cfp.js.map +0 -1
  558. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  559. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  560. package/dist/src/transfer/storage/gcs.js +0 -230
  561. package/dist/src/transfer/storage/gcs.js.map +0 -1
  562. package/dist/src/transfer/storage/index.d.ts +0 -6
  563. package/dist/src/transfer/storage/index.d.ts.map +0 -1
  564. package/dist/src/transfer/storage/index.js +0 -6
  565. package/dist/src/transfer/storage/index.js.map +0 -1
  566. package/dist/src/transfer/store/discovery.d.ts +0 -84
  567. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  568. package/dist/src/transfer/store/discovery.js +0 -382
  569. package/dist/src/transfer/store/discovery.js.map +0 -1
  570. package/dist/src/transfer/store/download.d.ts +0 -70
  571. package/dist/src/transfer/store/download.d.ts.map +0 -1
  572. package/dist/src/transfer/store/download.js +0 -334
  573. package/dist/src/transfer/store/download.js.map +0 -1
  574. package/dist/src/transfer/store/index.d.ts +0 -84
  575. package/dist/src/transfer/store/index.d.ts.map +0 -1
  576. package/dist/src/transfer/store/index.js +0 -153
  577. package/dist/src/transfer/store/index.js.map +0 -1
  578. package/dist/src/transfer/store/publish.d.ts +0 -76
  579. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  580. package/dist/src/transfer/store/publish.js +0 -294
  581. package/dist/src/transfer/store/publish.js.map +0 -1
  582. package/dist/src/transfer/store/registry.d.ts +0 -58
  583. package/dist/src/transfer/store/registry.d.ts.map +0 -1
  584. package/dist/src/transfer/store/registry.js +0 -285
  585. package/dist/src/transfer/store/registry.js.map +0 -1
  586. package/dist/src/transfer/store/search.d.ts +0 -54
  587. package/dist/src/transfer/store/search.d.ts.map +0 -1
  588. package/dist/src/transfer/store/search.js +0 -232
  589. package/dist/src/transfer/store/search.js.map +0 -1
  590. package/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  591. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +0 -1
  592. package/dist/src/transfer/store/tests/standalone-test.js +0 -190
  593. package/dist/src/transfer/store/tests/standalone-test.js.map +0 -1
  594. package/dist/src/transfer/store/types.d.ts +0 -193
  595. package/dist/src/transfer/store/types.d.ts.map +0 -1
  596. package/dist/src/transfer/store/types.js +0 -6
  597. package/dist/src/transfer/store/types.js.map +0 -1
  598. package/dist/src/transfer/test-seraphine.d.ts +0 -6
  599. package/dist/src/transfer/test-seraphine.d.ts.map +0 -1
  600. package/dist/src/transfer/test-seraphine.js +0 -105
  601. package/dist/src/transfer/test-seraphine.js.map +0 -1
  602. package/dist/src/transfer/tests/test-store.d.ts +0 -7
  603. package/dist/src/transfer/tests/test-store.d.ts.map +0 -1
  604. package/dist/src/transfer/tests/test-store.js +0 -214
  605. package/dist/src/transfer/tests/test-store.js.map +0 -1
  606. package/dist/src/transfer/types.d.ts +0 -245
  607. package/dist/src/transfer/types.d.ts.map +0 -1
  608. package/dist/src/transfer/types.js +0 -6
  609. package/dist/src/transfer/types.js.map +0 -1
  610. package/dist/src/types.d.ts +0 -198
  611. package/dist/src/types.d.ts.map +0 -1
  612. package/dist/src/types.js +0 -38
  613. package/dist/src/types.js.map +0 -1
  614. package/dist/src/update/checker.d.ts +0 -34
  615. package/dist/src/update/checker.d.ts.map +0 -1
  616. package/dist/src/update/checker.js +0 -190
  617. package/dist/src/update/checker.js.map +0 -1
  618. package/dist/src/update/executor.d.ts +0 -32
  619. package/dist/src/update/executor.d.ts.map +0 -1
  620. package/dist/src/update/executor.js +0 -181
  621. package/dist/src/update/executor.js.map +0 -1
  622. package/dist/src/update/index.d.ts +0 -33
  623. package/dist/src/update/index.d.ts.map +0 -1
  624. package/dist/src/update/index.js +0 -64
  625. package/dist/src/update/index.js.map +0 -1
  626. package/dist/src/update/rate-limiter.d.ts +0 -20
  627. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  628. package/dist/src/update/rate-limiter.js +0 -96
  629. package/dist/src/update/rate-limiter.js.map +0 -1
  630. package/dist/src/update/validator.d.ts +0 -17
  631. package/dist/src/update/validator.d.ts.map +0 -1
  632. package/dist/src/update/validator.js +0 -123
  633. package/dist/src/update/validator.js.map +0 -1
  634. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,542 +0,0 @@
1
- /**
2
- * EWC++ (Elastic Weight Consolidation) Implementation
3
- * Prevents catastrophic forgetting of important patterns during continual learning
4
- *
5
- * Algorithm:
6
- * L_total = L_new + (lambda/2) * sum_i(F_i * (theta_i - theta_old_i)^2)
7
- *
8
- * Where:
9
- * - L_new is the loss on new data
10
- * - lambda is the importance weight (ewcLambda)
11
- * - F_i is the Fisher information for parameter i
12
- * - theta_i is the current parameter value
13
- * - theta_old_i is the previous parameter value
14
- *
15
- * Features:
16
- * - Fisher Information Matrix computation from gradient history
17
- * - Online EWC updates for streaming patterns
18
- * - Selective consolidation based on pattern importance
19
- * - Persistent storage in .swarm/ewc-fisher.json
20
- *
21
- * @module v3/cli/memory/ewc-consolidation
22
- */
23
- import * as fs from 'fs';
24
- import * as path from 'path';
25
- // ============================================================================
26
- // Default Configuration
27
- // ============================================================================
28
- const DEFAULT_EWC_CONFIG = {
29
- lambda: 0.4,
30
- maxPatterns: 1000,
31
- fisherDecayRate: 0.01,
32
- importanceThreshold: 0.3,
33
- storagePath: path.join(process.cwd(), '.swarm', 'ewc-fisher.json'),
34
- onlineMode: true,
35
- dimensions: 384
36
- };
37
- // ============================================================================
38
- // EWC Consolidator Class
39
- // ============================================================================
40
- /**
41
- * EWC++ Consolidator
42
- * Implements Elastic Weight Consolidation with online updates
43
- * for preventing catastrophic forgetting in continual learning
44
- */
45
- export class EWCConsolidator {
46
- config;
47
- patterns = new Map();
48
- gradientHistory = [];
49
- globalFisher = [];
50
- consolidationHistory = [];
51
- initialized = false;
52
- constructor(config) {
53
- this.config = { ...DEFAULT_EWC_CONFIG, ...config };
54
- this.globalFisher = new Array(this.config.dimensions).fill(0);
55
- }
56
- /**
57
- * Initialize the consolidator by loading persisted state
58
- */
59
- async initialize() {
60
- if (this.initialized)
61
- return true;
62
- try {
63
- await this.loadFromDisk();
64
- this.initialized = true;
65
- return true;
66
- }
67
- catch {
68
- // Start fresh if no persisted state
69
- this.initialized = true;
70
- return true;
71
- }
72
- }
73
- /**
74
- * Compute Fisher Information Matrix from gradient history
75
- * Uses diagonal approximation for efficiency: F_i = E[g_i^2]
76
- *
77
- * @param patterns - Array of patterns with their gradients/embeddings
78
- * @returns Fisher information diagonal
79
- */
80
- computeFisherMatrix(patterns) {
81
- const fisher = new Array(this.config.dimensions).fill(0);
82
- let sampleCount = 0;
83
- for (const pattern of patterns) {
84
- if (!pattern.embedding || pattern.embedding.length === 0)
85
- continue;
86
- // Only use successful patterns for Fisher computation
87
- // (we want to preserve what worked)
88
- if (!pattern.success)
89
- continue;
90
- sampleCount++;
91
- // Fisher diagonal is expectation of squared gradients
92
- // For embeddings, we use the embedding values as proxy for gradients
93
- const len = Math.min(pattern.embedding.length, this.config.dimensions);
94
- for (let i = 0; i < len; i++) {
95
- // Accumulate squared values (gradient proxy)
96
- fisher[i] += pattern.embedding[i] * pattern.embedding[i];
97
- }
98
- }
99
- // Normalize by sample count
100
- if (sampleCount > 0) {
101
- for (let i = 0; i < this.config.dimensions; i++) {
102
- fisher[i] /= sampleCount;
103
- }
104
- }
105
- // Update global Fisher with exponential moving average (EWC++)
106
- if (this.config.onlineMode) {
107
- const decay = this.config.fisherDecayRate;
108
- for (let i = 0; i < this.config.dimensions; i++) {
109
- this.globalFisher[i] = (1 - decay) * this.globalFisher[i] + decay * fisher[i];
110
- }
111
- }
112
- return fisher;
113
- }
114
- /**
115
- * Consolidate new patterns with old patterns without forgetting
116
- * Applies EWC penalty to preserve important weights
117
- *
118
- * @param newPatterns - New patterns to incorporate
119
- * @param oldPatterns - Existing patterns to preserve
120
- * @returns Consolidated patterns with modified weights
121
- */
122
- consolidate(newPatterns, oldPatterns) {
123
- const startTime = performance.now();
124
- const result = {
125
- success: false,
126
- patternsConsolidated: 0,
127
- totalPenalty: 0,
128
- modifiedPatterns: [],
129
- protectedPatterns: [],
130
- duration: 0
131
- };
132
- try {
133
- // Use stored patterns if no old patterns provided
134
- const existingPatterns = oldPatterns || Array.from(this.patterns.values());
135
- // Compute Fisher from successful existing patterns
136
- const fisherInput = existingPatterns
137
- .filter(p => p.successCount > p.failureCount)
138
- .map(p => ({
139
- id: p.id,
140
- embedding: p.weights,
141
- success: true
142
- }));
143
- const fisher = this.computeFisherMatrix(fisherInput);
144
- // Process each new pattern
145
- for (const newPattern of newPatterns) {
146
- if (!newPattern.embedding || newPattern.embedding.length === 0)
147
- continue;
148
- const existingPattern = this.patterns.get(newPattern.id);
149
- if (existingPattern) {
150
- // Calculate EWC penalty for updating existing pattern
151
- const penalty = this.getPenalty(existingPattern.weights, newPattern.embedding, fisher);
152
- // Determine if update is allowed based on penalty
153
- const importanceScore = this.calculateImportance(existingPattern);
154
- if (importanceScore > this.config.importanceThreshold && penalty > this.config.lambda) {
155
- // Protect high-importance patterns with high penalty
156
- result.protectedPatterns.push(newPattern.id);
157
- // Apply constrained update: blend old and new based on importance
158
- const blendFactor = 1 - importanceScore;
159
- const blendedWeights = this.blendWeights(existingPattern.weights, newPattern.embedding, blendFactor, fisher);
160
- existingPattern.weights = blendedWeights;
161
- existingPattern.lastUpdated = Date.now();
162
- result.modifiedPatterns.push(newPattern.id);
163
- }
164
- else {
165
- // Low importance or low penalty: allow full update
166
- existingPattern.weights = newPattern.embedding.slice(0, this.config.dimensions);
167
- existingPattern.lastUpdated = Date.now();
168
- result.modifiedPatterns.push(newPattern.id);
169
- }
170
- // Update Fisher diagonal for this pattern
171
- existingPattern.fisherDiagonal = fisher;
172
- result.totalPenalty += penalty;
173
- }
174
- else {
175
- // New pattern: add directly
176
- const weights = {
177
- id: newPattern.id,
178
- weights: newPattern.embedding.slice(0, this.config.dimensions),
179
- fisherDiagonal: fisher,
180
- importance: 0.5,
181
- successCount: 0,
182
- failureCount: 0,
183
- lastUpdated: Date.now(),
184
- type: newPattern.type,
185
- description: newPattern.description
186
- };
187
- this.patterns.set(newPattern.id, weights);
188
- result.modifiedPatterns.push(newPattern.id);
189
- }
190
- result.patternsConsolidated++;
191
- }
192
- // Prune old patterns if exceeding limit
193
- if (this.patterns.size > this.config.maxPatterns) {
194
- this.pruneOldPatterns();
195
- }
196
- // Record consolidation
197
- this.consolidationHistory.push({
198
- timestamp: Date.now(),
199
- penalty: result.totalPenalty,
200
- patterns: result.patternsConsolidated
201
- });
202
- // Persist to disk
203
- this.saveToDisk();
204
- result.success = true;
205
- result.duration = performance.now() - startTime;
206
- return result;
207
- }
208
- catch (error) {
209
- result.error = error instanceof Error ? error.message : String(error);
210
- result.duration = performance.now() - startTime;
211
- return result;
212
- }
213
- }
214
- /**
215
- * Calculate EWC regularization penalty
216
- *
217
- * L_ewc = (lambda/2) * sum_i(F_i * (theta_i - theta_old_i)^2)
218
- *
219
- * @param oldWeights - Previous weight values
220
- * @param newWeights - New weight values
221
- * @param fisher - Fisher information diagonal (optional, uses global if not provided)
222
- * @returns Regularization penalty value
223
- */
224
- getPenalty(oldWeights, newWeights, fisher) {
225
- const fisherDiag = fisher || this.globalFisher;
226
- const len = Math.min(oldWeights.length, newWeights.length, fisherDiag.length);
227
- let penalty = 0;
228
- for (let i = 0; i < len; i++) {
229
- const diff = newWeights[i] - oldWeights[i];
230
- penalty += fisherDiag[i] * diff * diff;
231
- }
232
- return (this.config.lambda / 2) * penalty;
233
- }
234
- /**
235
- * Get consolidation statistics
236
- */
237
- getConsolidationStats() {
238
- let totalFisher = 0;
239
- let maxFisher = 0;
240
- let highImportance = 0;
241
- for (let i = 0; i < this.globalFisher.length; i++) {
242
- totalFisher += this.globalFisher[i];
243
- if (this.globalFisher[i] > maxFisher) {
244
- maxFisher = this.globalFisher[i];
245
- }
246
- }
247
- for (const pattern of this.patterns.values()) {
248
- if (this.calculateImportance(pattern) > this.config.importanceThreshold) {
249
- highImportance++;
250
- }
251
- }
252
- const totalPenalty = this.consolidationHistory.reduce((sum, h) => sum + h.penalty, 0);
253
- const avgPenalty = this.consolidationHistory.length > 0
254
- ? totalPenalty / this.consolidationHistory.length
255
- : 0;
256
- // Estimate storage size
257
- let storageSizeBytes = 0;
258
- try {
259
- if (fs.existsSync(this.config.storagePath)) {
260
- const stats = fs.statSync(this.config.storagePath);
261
- storageSizeBytes = stats.size;
262
- }
263
- }
264
- catch {
265
- // Ignore stat errors
266
- }
267
- return {
268
- totalPatterns: this.patterns.size,
269
- highImportancePatterns: highImportance,
270
- avgFisherValue: this.globalFisher.length > 0 ? totalFisher / this.globalFisher.length : 0,
271
- maxFisherValue: maxFisher,
272
- consolidationCount: this.consolidationHistory.length,
273
- lastConsolidation: this.consolidationHistory.length > 0
274
- ? this.consolidationHistory[this.consolidationHistory.length - 1].timestamp
275
- : null,
276
- avgPenalty,
277
- storageSizeBytes
278
- };
279
- }
280
- /**
281
- * Record a gradient sample for Fisher computation
282
- */
283
- recordGradient(patternId, gradients, success) {
284
- this.gradientHistory.push({
285
- patternId,
286
- gradients,
287
- timestamp: Date.now(),
288
- success
289
- });
290
- // Keep only recent gradients
291
- const maxGradients = this.config.maxPatterns * 2;
292
- if (this.gradientHistory.length > maxGradients) {
293
- this.gradientHistory = this.gradientHistory.slice(-maxGradients);
294
- }
295
- // Update pattern success/failure counts
296
- const pattern = this.patterns.get(patternId);
297
- if (pattern) {
298
- if (success) {
299
- pattern.successCount++;
300
- }
301
- else {
302
- pattern.failureCount++;
303
- }
304
- pattern.importance = this.calculateImportance(pattern);
305
- }
306
- // Online Fisher update from this gradient
307
- if (this.config.onlineMode && success) {
308
- const decay = this.config.fisherDecayRate;
309
- const len = Math.min(gradients.length, this.config.dimensions);
310
- for (let i = 0; i < len; i++) {
311
- this.globalFisher[i] = (1 - decay) * this.globalFisher[i] + decay * gradients[i] * gradients[i];
312
- }
313
- }
314
- }
315
- /**
316
- * Get pattern weights by ID
317
- */
318
- getPatternWeights(id) {
319
- return this.patterns.get(id);
320
- }
321
- /**
322
- * Get all stored patterns
323
- */
324
- getAllPatterns() {
325
- return Array.from(this.patterns.values());
326
- }
327
- /**
328
- * Update EWC lambda (regularization strength)
329
- */
330
- setLambda(lambda) {
331
- this.config.lambda = lambda;
332
- }
333
- /**
334
- * Get current lambda value
335
- */
336
- getLambda() {
337
- return this.config.lambda;
338
- }
339
- /**
340
- * Reset Fisher matrix (use with caution - allows forgetting)
341
- */
342
- resetFisher() {
343
- this.globalFisher = new Array(this.config.dimensions).fill(0);
344
- }
345
- /**
346
- * Clear all patterns and history (full reset)
347
- */
348
- clear() {
349
- this.patterns.clear();
350
- this.gradientHistory = [];
351
- this.globalFisher = new Array(this.config.dimensions).fill(0);
352
- this.consolidationHistory = [];
353
- // Remove persisted file
354
- try {
355
- if (fs.existsSync(this.config.storagePath)) {
356
- fs.unlinkSync(this.config.storagePath);
357
- }
358
- }
359
- catch {
360
- // Ignore deletion errors
361
- }
362
- }
363
- // ============================================================================
364
- // Private Methods
365
- // ============================================================================
366
- /**
367
- * Calculate importance score for a pattern based on usage
368
- */
369
- calculateImportance(pattern) {
370
- const total = pattern.successCount + pattern.failureCount;
371
- if (total === 0)
372
- return 0.5;
373
- // Success rate with Laplace smoothing
374
- const successRate = (pattern.successCount + 1) / (total + 2);
375
- // Recency factor: recent patterns are more important
376
- const hoursSinceUpdate = (Date.now() - pattern.lastUpdated) / (1000 * 60 * 60);
377
- const recencyFactor = Math.exp(-hoursSinceUpdate / 168); // 1 week half-life
378
- // Combine factors
379
- return successRate * 0.7 + recencyFactor * 0.3;
380
- }
381
- /**
382
- * Blend old and new weights using Fisher-weighted interpolation
383
- */
384
- blendWeights(oldWeights, newWeights, blendFactor, fisher) {
385
- const len = Math.min(oldWeights.length, newWeights.length, this.config.dimensions);
386
- const result = new Array(len);
387
- // Normalize Fisher for per-weight blend factors
388
- let maxF = 0;
389
- for (let i = 0; i < len; i++) {
390
- if (fisher[i] > maxF)
391
- maxF = fisher[i];
392
- }
393
- const normFactor = maxF > 0 ? 1 / maxF : 1;
394
- for (let i = 0; i < len; i++) {
395
- // Higher Fisher = more weight on old value
396
- const fisherWeight = fisher[i] * normFactor;
397
- const adjustedBlend = blendFactor * (1 - fisherWeight * 0.5);
398
- result[i] = oldWeights[i] * (1 - adjustedBlend) + newWeights[i] * adjustedBlend;
399
- }
400
- return result;
401
- }
402
- /**
403
- * Prune old, low-importance patterns to stay within limit
404
- */
405
- pruneOldPatterns() {
406
- if (this.patterns.size <= this.config.maxPatterns)
407
- return;
408
- // Sort by importance (ascending)
409
- const sortedPatterns = Array.from(this.patterns.entries())
410
- .map(([id, pattern]) => ({ id, importance: this.calculateImportance(pattern) }))
411
- .sort((a, b) => a.importance - b.importance);
412
- // Remove lowest importance patterns
413
- const toRemove = this.patterns.size - this.config.maxPatterns;
414
- for (let i = 0; i < toRemove; i++) {
415
- this.patterns.delete(sortedPatterns[i].id);
416
- }
417
- }
418
- /**
419
- * Save state to disk
420
- */
421
- saveToDisk() {
422
- try {
423
- const dir = path.dirname(this.config.storagePath);
424
- if (!fs.existsSync(dir)) {
425
- fs.mkdirSync(dir, { recursive: true });
426
- }
427
- const state = {
428
- version: '1.0.0',
429
- config: {
430
- lambda: this.config.lambda,
431
- dimensions: this.config.dimensions,
432
- fisherDecayRate: this.config.fisherDecayRate
433
- },
434
- globalFisher: this.globalFisher,
435
- patterns: Array.from(this.patterns.entries()),
436
- consolidationHistory: this.consolidationHistory.slice(-100),
437
- savedAt: Date.now()
438
- };
439
- fs.writeFileSync(this.config.storagePath, JSON.stringify(state, null, 2));
440
- }
441
- catch {
442
- // Silently fail - persistence is best-effort
443
- }
444
- }
445
- /**
446
- * Load state from disk
447
- */
448
- async loadFromDisk() {
449
- if (!fs.existsSync(this.config.storagePath)) {
450
- throw new Error('No persisted state found');
451
- }
452
- const content = fs.readFileSync(this.config.storagePath, 'utf-8');
453
- const state = JSON.parse(content);
454
- // Validate version
455
- if (state.version !== '1.0.0') {
456
- throw new Error(`Unsupported state version: ${state.version}`);
457
- }
458
- // Restore state
459
- this.globalFisher = state.globalFisher || new Array(this.config.dimensions).fill(0);
460
- // Restore patterns
461
- this.patterns.clear();
462
- if (state.patterns) {
463
- for (const [id, pattern] of state.patterns) {
464
- this.patterns.set(id, pattern);
465
- }
466
- }
467
- // Restore history
468
- this.consolidationHistory = state.consolidationHistory || [];
469
- // Update config from persisted values
470
- if (state.config) {
471
- this.config.lambda = state.config.lambda ?? this.config.lambda;
472
- }
473
- }
474
- }
475
- // ============================================================================
476
- // Singleton Instance
477
- // ============================================================================
478
- let ewcConsolidatorInstance = null;
479
- /**
480
- * Get the singleton EWC Consolidator instance
481
- *
482
- * @param config - Optional configuration overrides
483
- * @returns EWC Consolidator instance
484
- */
485
- export async function getEWCConsolidator(config) {
486
- if (!ewcConsolidatorInstance) {
487
- ewcConsolidatorInstance = new EWCConsolidator(config);
488
- await ewcConsolidatorInstance.initialize();
489
- }
490
- return ewcConsolidatorInstance;
491
- }
492
- /**
493
- * Reset the singleton instance (for testing)
494
- */
495
- export function resetEWCConsolidator() {
496
- if (ewcConsolidatorInstance) {
497
- ewcConsolidatorInstance.clear();
498
- ewcConsolidatorInstance = null;
499
- }
500
- }
501
- // ============================================================================
502
- // Utility Functions
503
- // ============================================================================
504
- /**
505
- * Quick consolidation helper for common use case
506
- * Consolidates new patterns with existing ones using EWC
507
- *
508
- * @param newPatterns - New patterns to add
509
- * @returns Consolidation result
510
- */
511
- export async function consolidatePatterns(newPatterns) {
512
- const consolidator = await getEWCConsolidator();
513
- return consolidator.consolidate(newPatterns);
514
- }
515
- /**
516
- * Record pattern usage outcome
517
- * Updates Fisher information and pattern importance
518
- *
519
- * @param patternId - Pattern identifier
520
- * @param embedding - Pattern embedding (used as gradient proxy)
521
- * @param success - Whether the pattern was successful
522
- */
523
- export async function recordPatternOutcome(patternId, embedding, success) {
524
- const consolidator = await getEWCConsolidator();
525
- consolidator.recordGradient(patternId, embedding, success);
526
- }
527
- /**
528
- * Get EWC statistics
529
- */
530
- export async function getEWCStats() {
531
- const consolidator = await getEWCConsolidator();
532
- return consolidator.getConsolidationStats();
533
- }
534
- export default {
535
- EWCConsolidator,
536
- getEWCConsolidator,
537
- resetEWCConsolidator,
538
- consolidatePatterns,
539
- recordPatternOutcome,
540
- getEWCStats
541
- };
542
- //# sourceMappingURL=ewc-consolidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ewc-consolidation.js","sourceRoot":"","sources":["../../../src/memory/ewc-consolidation.ts"],"names":[],"mappings":"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"}