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

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 +6 -6
  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,633 +0,0 @@
1
- /**
2
- * SONA (Self-Optimizing Neural Architecture) Optimizer
3
- *
4
- * Processes trajectory outcomes to learn optimal routing patterns.
5
- * Integrates with Q-learning router and persistence layer.
6
- *
7
- * Features:
8
- * - Processes trajectory outcomes from hooksTrajectoryEnd
9
- * - Extracts keywords from tasks for pattern matching
10
- * - Maintains learned routing patterns with confidence scoring
11
- * - Persists patterns to .swarm/sona-patterns.json
12
- * - Integrates with Q-learning router for combined routing
13
- *
14
- * @module v3/cli/memory/sona-optimizer
15
- */
16
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
17
- import { dirname, join } from 'path';
18
- // ============================================================================
19
- // Constants
20
- // ============================================================================
21
- const DEFAULT_PERSISTENCE_PATH = '.swarm/sona-patterns.json';
22
- const PATTERN_VERSION = '1.0.0';
23
- const MIN_CONFIDENCE = 0.1;
24
- const MAX_CONFIDENCE = 0.99;
25
- const CONFIDENCE_INCREMENT = 0.1;
26
- const CONFIDENCE_DECREMENT = 0.15;
27
- const DECAY_RATE = 0.01; // Per day
28
- const MAX_PATTERNS = 1000;
29
- /**
30
- * Common agent types for routing
31
- */
32
- const AGENT_TYPES = [
33
- 'coder',
34
- 'tester',
35
- 'reviewer',
36
- 'architect',
37
- 'researcher',
38
- 'optimizer',
39
- 'debugger',
40
- 'documenter',
41
- 'security-architect',
42
- 'performance-engineer',
43
- ];
44
- /**
45
- * Task keywords for pattern extraction
46
- */
47
- const KEYWORD_CATEGORIES = {
48
- coder: [
49
- 'implement', 'code', 'write', 'create', 'build', 'develop', 'add',
50
- 'feature', 'function', 'class', 'module', 'api', 'endpoint',
51
- ],
52
- tester: [
53
- 'test', 'spec', 'coverage', 'unit', 'integration', 'e2e', 'mock',
54
- 'assert', 'expect', 'verify', 'validate', 'scenario',
55
- ],
56
- reviewer: [
57
- 'review', 'check', 'audit', 'analyze', 'inspect', 'evaluate',
58
- 'quality', 'standards', 'best-practices', 'lint',
59
- ],
60
- architect: [
61
- 'architect', 'design', 'structure', 'pattern', 'system', 'schema',
62
- 'database', 'infrastructure', 'scalability', 'architecture',
63
- ],
64
- researcher: [
65
- 'research', 'investigate', 'explore', 'find', 'search', 'discover',
66
- 'analyze', 'understand', 'learn', 'study',
67
- ],
68
- optimizer: [
69
- 'optimize', 'performance', 'speed', 'memory', 'improve', 'enhance',
70
- 'faster', 'efficient', 'reduce', 'benchmark',
71
- ],
72
- debugger: [
73
- 'debug', 'fix', 'bug', 'error', 'issue', 'problem', 'crash',
74
- 'exception', 'trace', 'diagnose', 'resolve',
75
- ],
76
- documenter: [
77
- 'document', 'docs', 'readme', 'comment', 'explain', 'guide',
78
- 'tutorial', 'api-docs', 'specification', 'jsdoc',
79
- ],
80
- 'security-architect': [
81
- 'security', 'auth', 'authentication', 'authorization', 'encrypt',
82
- 'vulnerability', 'cve', 'secure', 'permission', 'role',
83
- ],
84
- 'performance-engineer': [
85
- 'profiling', 'bottleneck', 'latency', 'throughput', 'cache',
86
- 'scale', 'load', 'stress', 'concurrent', 'parallel',
87
- ],
88
- };
89
- // ============================================================================
90
- // SONAOptimizer Class
91
- // ============================================================================
92
- /**
93
- * SONA Optimizer for adaptive routing based on trajectory outcomes
94
- *
95
- * Learns from past task outcomes to improve future routing decisions.
96
- * Integrates with Q-learning router for hybrid routing strategy.
97
- */
98
- export class SONAOptimizer {
99
- patterns = new Map();
100
- trajectoriesProcessed = 0;
101
- successfulRoutings = 0;
102
- failedRoutings = 0;
103
- lastUpdate = null;
104
- persistencePath;
105
- qLearningRouter = null;
106
- qLearningEnabled = false;
107
- constructor(options) {
108
- this.persistencePath = options?.persistencePath || DEFAULT_PERSISTENCE_PATH;
109
- }
110
- /**
111
- * Initialize the optimizer and load persisted state
112
- */
113
- async initialize() {
114
- // Load persisted patterns
115
- const loaded = this.loadFromDisk();
116
- // Try to load Q-learning router lazily
117
- try {
118
- const { QLearningRouter } = await import('../ruvector/q-learning-router.js');
119
- this.qLearningRouter = new QLearningRouter();
120
- await this.qLearningRouter.initialize();
121
- this.qLearningEnabled = true;
122
- }
123
- catch {
124
- // Q-learning not available, continue without it
125
- this.qLearningEnabled = false;
126
- }
127
- return {
128
- success: true,
129
- patternsLoaded: loaded ? this.patterns.size : 0,
130
- };
131
- }
132
- /**
133
- * Process a trajectory outcome and learn from it
134
- * Called by hooksTrajectoryEnd
135
- */
136
- processTrajectoryOutcome(outcome) {
137
- const { task, agent, success } = outcome;
138
- // Extract keywords from task
139
- const keywords = this.extractKeywords(task);
140
- if (keywords.length === 0) {
141
- return {
142
- learned: false,
143
- patternKey: '',
144
- confidence: 0,
145
- keywordsExtracted: [],
146
- };
147
- }
148
- // Create pattern key from sorted keywords
149
- const patternKey = this.createPatternKey(keywords, agent);
150
- // Get or create pattern
151
- let pattern = this.patterns.get(patternKey);
152
- if (!pattern) {
153
- pattern = {
154
- keywords,
155
- agent,
156
- confidence: 0.5, // Start at neutral
157
- successCount: 0,
158
- failureCount: 0,
159
- lastUsed: Date.now(),
160
- createdAt: Date.now(),
161
- };
162
- }
163
- // Update pattern based on outcome
164
- if (success) {
165
- pattern.successCount++;
166
- pattern.confidence = Math.min(MAX_CONFIDENCE, pattern.confidence + CONFIDENCE_INCREMENT * (1 - pattern.confidence));
167
- this.successfulRoutings++;
168
- }
169
- else {
170
- pattern.failureCount++;
171
- pattern.confidence = Math.max(MIN_CONFIDENCE, pattern.confidence - CONFIDENCE_DECREMENT * pattern.confidence);
172
- this.failedRoutings++;
173
- }
174
- pattern.lastUsed = Date.now();
175
- // Store pattern
176
- this.patterns.set(patternKey, pattern);
177
- this.trajectoriesProcessed++;
178
- this.lastUpdate = Date.now();
179
- // Prune old patterns if needed
180
- this.prunePatterns();
181
- // Update Q-learning router if available
182
- if (this.qLearningRouter) {
183
- const reward = success ? 1.0 : -0.5;
184
- this.qLearningRouter.update(task, agent, reward);
185
- }
186
- // Persist to disk (debounced)
187
- this.saveToDisk();
188
- return {
189
- learned: true,
190
- patternKey,
191
- confidence: pattern.confidence,
192
- keywordsExtracted: keywords,
193
- };
194
- }
195
- /**
196
- * Get routing suggestion based on learned patterns
197
- */
198
- getRoutingSuggestion(task) {
199
- const keywords = this.extractKeywords(task);
200
- // Try SONA pattern matching first
201
- const sonaResult = this.findBestPatternMatch(keywords);
202
- if (sonaResult && sonaResult.confidence >= 0.6) {
203
- return {
204
- agent: sonaResult.agent,
205
- confidence: sonaResult.confidence,
206
- usedQLearning: false,
207
- source: 'sona-pattern',
208
- alternatives: this.getAlternatives(keywords, sonaResult.agent),
209
- matchedKeywords: sonaResult.matchedKeywords,
210
- };
211
- }
212
- // Try Q-learning router if available
213
- if (this.qLearningRouter && this.qLearningEnabled) {
214
- try {
215
- const decision = this.qLearningRouter.route(task, false);
216
- if (decision.confidence >= 0.5) {
217
- return {
218
- agent: decision.route,
219
- confidence: decision.confidence,
220
- usedQLearning: true,
221
- source: 'q-learning',
222
- alternatives: decision.alternatives,
223
- };
224
- }
225
- }
226
- catch {
227
- // Q-learning failed, continue to fallback
228
- }
229
- }
230
- // Fallback to keyword-based heuristic
231
- const keywordMatch = this.matchKeywordsToAgent(keywords);
232
- if (keywordMatch) {
233
- return {
234
- agent: keywordMatch.agent,
235
- confidence: keywordMatch.confidence,
236
- usedQLearning: false,
237
- source: 'keyword-match',
238
- alternatives: this.getAlternatives(keywords, keywordMatch.agent),
239
- matchedKeywords: keywordMatch.matchedKeywords,
240
- };
241
- }
242
- // Default fallback
243
- return {
244
- agent: 'coder',
245
- confidence: 0.3,
246
- usedQLearning: false,
247
- source: 'default',
248
- alternatives: [
249
- { agent: 'researcher', score: 0.2 },
250
- { agent: 'architect', score: 0.15 },
251
- ],
252
- };
253
- }
254
- /**
255
- * Get optimizer statistics
256
- */
257
- getStats() {
258
- let totalConfidence = 0;
259
- for (const pattern of this.patterns.values()) {
260
- totalConfidence += pattern.confidence;
261
- }
262
- return {
263
- totalPatterns: this.patterns.size,
264
- successfulRoutings: this.successfulRoutings,
265
- failedRoutings: this.failedRoutings,
266
- trajectoriesProcessed: this.trajectoriesProcessed,
267
- avgConfidence: this.patterns.size > 0 ? totalConfidence / this.patterns.size : 0,
268
- qLearningEnabled: this.qLearningEnabled,
269
- lastUpdate: this.lastUpdate,
270
- };
271
- }
272
- /**
273
- * Apply temporal decay to pattern confidence
274
- * Reduces confidence of unused patterns
275
- */
276
- applyTemporalDecay() {
277
- const now = Date.now();
278
- let decayed = 0;
279
- for (const [key, pattern] of this.patterns) {
280
- const daysSinceUse = (now - pattern.lastUsed) / (1000 * 60 * 60 * 24);
281
- if (daysSinceUse > 1) {
282
- const decay = Math.exp(-DECAY_RATE * daysSinceUse);
283
- const newConfidence = pattern.confidence * decay;
284
- if (newConfidence < MIN_CONFIDENCE) {
285
- // Remove patterns with very low confidence
286
- this.patterns.delete(key);
287
- }
288
- else {
289
- pattern.confidence = newConfidence;
290
- }
291
- decayed++;
292
- }
293
- }
294
- if (decayed > 0) {
295
- this.saveToDisk();
296
- }
297
- return decayed;
298
- }
299
- /**
300
- * Reset all learned patterns
301
- */
302
- reset() {
303
- this.patterns.clear();
304
- this.trajectoriesProcessed = 0;
305
- this.successfulRoutings = 0;
306
- this.failedRoutings = 0;
307
- this.lastUpdate = null;
308
- if (this.qLearningRouter) {
309
- this.qLearningRouter.reset();
310
- }
311
- this.saveToDisk();
312
- }
313
- /**
314
- * Export patterns for analysis
315
- */
316
- exportPatterns() {
317
- const result = {};
318
- for (const [key, pattern] of this.patterns) {
319
- result[key] = { ...pattern };
320
- }
321
- return result;
322
- }
323
- /**
324
- * Import patterns (for migration or testing)
325
- */
326
- importPatterns(patterns) {
327
- let imported = 0;
328
- for (const [key, pattern] of Object.entries(patterns)) {
329
- if (this.validatePattern(pattern)) {
330
- this.patterns.set(key, pattern);
331
- imported++;
332
- }
333
- }
334
- this.saveToDisk();
335
- return imported;
336
- }
337
- // ============================================================================
338
- // Private Methods
339
- // ============================================================================
340
- /**
341
- * Extract meaningful keywords from task description
342
- */
343
- extractKeywords(task) {
344
- if (!task || typeof task !== 'string') {
345
- return [];
346
- }
347
- const lower = task.toLowerCase();
348
- const words = lower.split(/[\s\-_.,;:!?'"()\[\]{}]+/).filter(w => w.length > 2);
349
- // Extract keywords that match our categories
350
- const keywords = new Set();
351
- for (const categoryKeywords of Object.values(KEYWORD_CATEGORIES)) {
352
- for (const keyword of categoryKeywords) {
353
- if (lower.includes(keyword)) {
354
- keywords.add(keyword);
355
- }
356
- }
357
- }
358
- // Add any significant words not in categories
359
- for (const word of words) {
360
- if (word.length >= 4 && !this.isStopWord(word)) {
361
- keywords.add(word);
362
- }
363
- }
364
- return Array.from(keywords).slice(0, 10); // Limit to 10 keywords
365
- }
366
- /**
367
- * Check if word is a stop word
368
- */
369
- isStopWord(word) {
370
- const stopWords = new Set([
371
- 'the', 'and', 'for', 'that', 'this', 'with', 'from', 'have', 'been',
372
- 'will', 'would', 'could', 'should', 'into', 'then', 'than', 'when',
373
- 'where', 'which', 'there', 'their', 'what', 'about', 'more', 'some',
374
- 'also', 'just', 'only', 'other', 'very', 'after', 'most', 'such',
375
- ]);
376
- return stopWords.has(word);
377
- }
378
- /**
379
- * Create a unique pattern key from keywords and agent
380
- */
381
- createPatternKey(keywords, agent) {
382
- const sortedKeywords = [...keywords].sort();
383
- return `${agent}:${sortedKeywords.join('+')}`;
384
- }
385
- /**
386
- * Find the best matching pattern for given keywords
387
- */
388
- findBestPatternMatch(keywords) {
389
- if (keywords.length === 0 || this.patterns.size === 0) {
390
- return null;
391
- }
392
- let bestMatch = null;
393
- let bestScore = 0;
394
- for (const pattern of this.patterns.values()) {
395
- const matchedKeywords = pattern.keywords.filter(k => keywords.includes(k));
396
- const matchRatio = matchedKeywords.length / Math.max(pattern.keywords.length, keywords.length);
397
- // Combine match ratio with confidence
398
- const score = matchRatio * pattern.confidence;
399
- if (score > bestScore && matchedKeywords.length >= 1) {
400
- bestScore = score;
401
- bestMatch = {
402
- agent: pattern.agent,
403
- confidence: pattern.confidence * matchRatio,
404
- matchedKeywords,
405
- };
406
- }
407
- }
408
- return bestMatch;
409
- }
410
- /**
411
- * Match keywords to agent using category heuristics
412
- */
413
- matchKeywordsToAgent(keywords) {
414
- const scores = {};
415
- for (const [agent, categoryKeywords] of Object.entries(KEYWORD_CATEGORIES)) {
416
- const matched = keywords.filter(k => categoryKeywords.includes(k));
417
- if (matched.length > 0) {
418
- scores[agent] = {
419
- score: matched.length / categoryKeywords.length,
420
- matched,
421
- };
422
- }
423
- }
424
- // Find best scoring agent
425
- let bestAgent = '';
426
- let bestScore = 0;
427
- let bestMatched = [];
428
- for (const [agent, data] of Object.entries(scores)) {
429
- if (data.score > bestScore) {
430
- bestScore = data.score;
431
- bestAgent = agent;
432
- bestMatched = data.matched;
433
- }
434
- }
435
- if (bestAgent && bestScore > 0) {
436
- return {
437
- agent: bestAgent,
438
- confidence: Math.min(0.7, 0.3 + bestScore),
439
- matchedKeywords: bestMatched,
440
- };
441
- }
442
- return null;
443
- }
444
- /**
445
- * Get alternative agent suggestions
446
- */
447
- getAlternatives(keywords, excludeAgent) {
448
- const alternatives = [];
449
- for (const [agent, categoryKeywords] of Object.entries(KEYWORD_CATEGORIES)) {
450
- if (agent === excludeAgent)
451
- continue;
452
- const matched = keywords.filter(k => categoryKeywords.includes(k));
453
- if (matched.length > 0) {
454
- alternatives.push({
455
- agent,
456
- score: matched.length / Math.max(keywords.length, 1) * 0.5,
457
- });
458
- }
459
- }
460
- return alternatives
461
- .sort((a, b) => b.score - a.score)
462
- .slice(0, 3);
463
- }
464
- /**
465
- * Prune old/low-confidence patterns if over limit
466
- */
467
- prunePatterns() {
468
- if (this.patterns.size <= MAX_PATTERNS) {
469
- return;
470
- }
471
- // Sort patterns by score (confidence * recency)
472
- const entries = Array.from(this.patterns.entries()).map(([key, pattern]) => {
473
- const ageInDays = (Date.now() - pattern.lastUsed) / (1000 * 60 * 60 * 24);
474
- const recency = Math.exp(-0.1 * ageInDays);
475
- const score = pattern.confidence * recency;
476
- return { key, pattern, score };
477
- });
478
- entries.sort((a, b) => a.score - b.score);
479
- // Remove lowest-scoring patterns
480
- const toRemove = entries.slice(0, entries.length - Math.floor(MAX_PATTERNS * 0.8));
481
- for (const { key } of toRemove) {
482
- this.patterns.delete(key);
483
- }
484
- }
485
- /**
486
- * Validate pattern structure
487
- */
488
- validatePattern(pattern) {
489
- if (!pattern || typeof pattern !== 'object')
490
- return false;
491
- const p = pattern;
492
- return (Array.isArray(p.keywords) &&
493
- typeof p.agent === 'string' &&
494
- typeof p.confidence === 'number' &&
495
- typeof p.successCount === 'number' &&
496
- typeof p.failureCount === 'number');
497
- }
498
- /**
499
- * Load patterns from disk
500
- */
501
- loadFromDisk() {
502
- try {
503
- const fullPath = join(process.cwd(), this.persistencePath);
504
- if (!existsSync(fullPath)) {
505
- return false;
506
- }
507
- const data = readFileSync(fullPath, 'utf-8');
508
- const state = JSON.parse(data);
509
- // Validate version
510
- if (!state.version || !state.version.startsWith('1.')) {
511
- console.error('[SONA] Incompatible state version, starting fresh');
512
- return false;
513
- }
514
- // Load patterns
515
- this.patterns.clear();
516
- for (const [key, pattern] of Object.entries(state.patterns)) {
517
- if (this.validatePattern(pattern)) {
518
- this.patterns.set(key, pattern);
519
- }
520
- }
521
- // Load stats
522
- if (state.stats) {
523
- this.trajectoriesProcessed = state.stats.trajectoriesProcessed || 0;
524
- this.successfulRoutings = state.stats.successfulRoutings || 0;
525
- this.failedRoutings = state.stats.failedRoutings || 0;
526
- this.lastUpdate = state.stats.lastUpdate || null;
527
- }
528
- return true;
529
- }
530
- catch (err) {
531
- console.error(`[SONA] Failed to load state: ${err}`);
532
- return false;
533
- }
534
- }
535
- /**
536
- * Save patterns to disk
537
- */
538
- saveToDisk() {
539
- try {
540
- const fullPath = join(process.cwd(), this.persistencePath);
541
- const dir = dirname(fullPath);
542
- // Ensure directory exists
543
- if (!existsSync(dir)) {
544
- mkdirSync(dir, { recursive: true });
545
- }
546
- const state = {
547
- version: PATTERN_VERSION,
548
- patterns: this.exportPatterns(),
549
- stats: {
550
- trajectoriesProcessed: this.trajectoriesProcessed,
551
- successfulRoutings: this.successfulRoutings,
552
- failedRoutings: this.failedRoutings,
553
- lastUpdate: this.lastUpdate,
554
- },
555
- metadata: {
556
- createdAt: new Date().toISOString(),
557
- savedAt: new Date().toISOString(),
558
- },
559
- };
560
- writeFileSync(fullPath, JSON.stringify(state, null, 2));
561
- return true;
562
- }
563
- catch (err) {
564
- console.error(`[SONA] Failed to save state: ${err}`);
565
- return false;
566
- }
567
- }
568
- }
569
- // ============================================================================
570
- // Singleton Instance
571
- // ============================================================================
572
- let sonaOptimizerInstance = null;
573
- let initializationPromise = null;
574
- /**
575
- * Get the singleton SONAOptimizer instance
576
- * Uses lazy initialization to avoid circular imports
577
- */
578
- export async function getSONAOptimizer() {
579
- if (sonaOptimizerInstance) {
580
- return sonaOptimizerInstance;
581
- }
582
- // Prevent multiple concurrent initializations
583
- if (initializationPromise) {
584
- return initializationPromise;
585
- }
586
- initializationPromise = (async () => {
587
- const optimizer = new SONAOptimizer();
588
- await optimizer.initialize();
589
- sonaOptimizerInstance = optimizer;
590
- return optimizer;
591
- })();
592
- return initializationPromise;
593
- }
594
- /**
595
- * Reset the singleton instance (for testing)
596
- */
597
- export function resetSONAOptimizer() {
598
- if (sonaOptimizerInstance) {
599
- sonaOptimizerInstance.reset();
600
- }
601
- sonaOptimizerInstance = null;
602
- initializationPromise = null;
603
- }
604
- /**
605
- * Process a trajectory outcome (convenience function)
606
- */
607
- export async function processTrajectory(outcome) {
608
- const optimizer = await getSONAOptimizer();
609
- return optimizer.processTrajectoryOutcome(outcome);
610
- }
611
- /**
612
- * Get routing suggestion (convenience function)
613
- */
614
- export async function getSuggestion(task) {
615
- const optimizer = await getSONAOptimizer();
616
- return optimizer.getRoutingSuggestion(task);
617
- }
618
- /**
619
- * Get SONA statistics (convenience function)
620
- */
621
- export async function getSONAStats() {
622
- const optimizer = await getSONAOptimizer();
623
- return optimizer.getStats();
624
- }
625
- export default {
626
- SONAOptimizer,
627
- getSONAOptimizer,
628
- resetSONAOptimizer,
629
- processTrajectory,
630
- getSuggestion,
631
- getSONAStats,
632
- };
633
- //# sourceMappingURL=sona-optimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sona-optimizer.js","sourceRoot":"","sources":["../../../src/memory/sona-optimizer.ts"],"names":[],"mappings":"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"}