kynjal-cli 3.1.3 → 4.0.0

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 (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -9,12 +9,48 @@
9
9
  *
10
10
  * @module v3/cli/mcp-tools/memory-tools
11
11
  */
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
12
48
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
13
49
  import { join, resolve } from 'path';
14
50
  // Paths
15
- const MEMORY_DIR = '.claude-flow/memory';
16
- const LEGACY_MEMORY_FILE = 'store.json';
17
- const MIGRATION_MARKER = '.migrated-to-sqlite';
51
+ var MEMORY_DIR = '.claude-flow/memory';
52
+ var LEGACY_MEMORY_FILE = 'store.json';
53
+ var MIGRATION_MARKER = '.migrated-to-sqlite';
18
54
  function getMemoryDir() {
19
55
  return resolve(MEMORY_DIR);
20
56
  }
@@ -25,17 +61,32 @@ function getMigrationMarkerPath() {
25
61
  return resolve(join(MEMORY_DIR, MIGRATION_MARKER));
26
62
  }
27
63
  function ensureMemoryDir() {
28
- const dir = getMemoryDir();
64
+ var dir = getMemoryDir();
29
65
  if (!existsSync(dir)) {
30
66
  mkdirSync(dir, { recursive: true });
31
67
  }
32
68
  }
69
+ // D-2: Input bounds for memory parameters
70
+ var MAX_KEY_LENGTH = 1024;
71
+ var MAX_VALUE_SIZE = 1024 * 1024; // 1MB
72
+ var MAX_QUERY_LENGTH = 4096;
73
+ function validateMemoryInput(key, value, query) {
74
+ if (key && key.length > MAX_KEY_LENGTH) {
75
+ throw new Error("Key exceeds maximum length of " + MAX_KEY_LENGTH + " characters");
76
+ }
77
+ if (value && value.length > MAX_VALUE_SIZE) {
78
+ throw new Error("Value exceeds maximum size of " + MAX_VALUE_SIZE + " bytes");
79
+ }
80
+ if (query && query.length > MAX_QUERY_LENGTH) {
81
+ throw new Error("Query exceeds maximum length of " + MAX_QUERY_LENGTH + " characters");
82
+ }
83
+ }
33
84
  /**
34
85
  * Check if legacy JSON store exists and needs migration
35
86
  */
36
87
  function hasLegacyStore() {
37
- const legacyPath = getLegacyPath();
38
- const migrationMarker = getMigrationMarkerPath();
88
+ var legacyPath = getLegacyPath();
89
+ var migrationMarker = getMigrationMarkerPath();
39
90
  return existsSync(legacyPath) && !existsSync(migrationMarker);
40
91
  }
41
92
  /**
@@ -43,13 +94,13 @@ function hasLegacyStore() {
43
94
  */
44
95
  function loadLegacyStore() {
45
96
  try {
46
- const path = getLegacyPath();
97
+ var path = getLegacyPath();
47
98
  if (existsSync(path)) {
48
- const data = readFileSync(path, 'utf-8');
99
+ var data = readFileSync(path, 'utf-8');
49
100
  return JSON.parse(data);
50
101
  }
51
102
  }
52
- catch {
103
+ catch (_a) {
53
104
  // Return null on error
54
105
  }
55
106
  return null;
@@ -61,62 +112,94 @@ function markMigrationComplete() {
61
112
  ensureMemoryDir();
62
113
  writeFileSync(getMigrationMarkerPath(), JSON.stringify({
63
114
  migratedAt: new Date().toISOString(),
64
- version: '3.0.0',
115
+ version: '3.0.0'
65
116
  }), 'utf-8');
66
117
  }
67
118
  /**
68
119
  * Lazy-load memory initializer functions to avoid circular deps
69
120
  */
70
- async function getMemoryFunctions() {
71
- const { storeEntry, searchEntries, listEntries, getEntry, deleteEntry, initializeMemoryDatabase, checkMemoryInitialization, } = await import('../memory/memory-initializer.js');
72
- return {
73
- storeEntry,
74
- searchEntries,
75
- listEntries,
76
- getEntry,
77
- deleteEntry,
78
- initializeMemoryDatabase,
79
- checkMemoryInitialization,
80
- };
121
+ function getMemoryFunctions() {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var _a, storeEntry, searchEntries, listEntries, getEntry, deleteEntry, initializeMemoryDatabase, checkMemoryInitialization;
124
+ return __generator(this, function (_b) {
125
+ switch (_b.label) {
126
+ case 0: return [4 /*yield*/, import('../memory/memory-initializer.js')];
127
+ case 1:
128
+ _a = _b.sent(), storeEntry = _a.storeEntry, searchEntries = _a.searchEntries, listEntries = _a.listEntries, getEntry = _a.getEntry, deleteEntry = _a.deleteEntry, initializeMemoryDatabase = _a.initializeMemoryDatabase, checkMemoryInitialization = _a.checkMemoryInitialization;
129
+ return [2 /*return*/, {
130
+ storeEntry: storeEntry,
131
+ searchEntries: searchEntries,
132
+ listEntries: listEntries,
133
+ getEntry: getEntry,
134
+ deleteEntry: deleteEntry,
135
+ initializeMemoryDatabase: initializeMemoryDatabase,
136
+ checkMemoryInitialization: checkMemoryInitialization
137
+ }];
138
+ }
139
+ });
140
+ });
81
141
  }
82
142
  /**
83
143
  * Ensure memory database is initialized and migrate legacy data if needed
84
144
  */
85
- async function ensureInitialized() {
86
- const { initializeMemoryDatabase, checkMemoryInitialization, storeEntry } = await getMemoryFunctions();
87
- // Check if already initialized
88
- const status = await checkMemoryInitialization();
89
- if (!status.initialized) {
90
- await initializeMemoryDatabase({ force: false, verbose: false });
91
- }
92
- // Migrate legacy JSON data if exists
93
- if (hasLegacyStore()) {
94
- const legacyStore = loadLegacyStore();
95
- if (legacyStore && Object.keys(legacyStore.entries).length > 0) {
96
- console.error('[MCP Memory] Migrating legacy JSON store to sql.js...');
97
- let migrated = 0;
98
- for (const [key, entry] of Object.entries(legacyStore.entries)) {
99
- try {
100
- // Convert value to string for storage
101
- const value = typeof entry.value === 'string' ? entry.value : JSON.stringify(entry.value);
102
- await storeEntry({
103
- key,
104
- value,
105
- namespace: 'default',
106
- generateEmbeddingFlag: true,
107
- });
145
+ function ensureInitialized() {
146
+ return __awaiter(this, void 0, Promise, function () {
147
+ var _a, initializeMemoryDatabase, checkMemoryInitialization, storeEntry, status, legacyStore, migrated, _i, _b, _c, key, entry, value, e_1;
148
+ return __generator(this, function (_d) {
149
+ switch (_d.label) {
150
+ case 0: return [4 /*yield*/, getMemoryFunctions()];
151
+ case 1:
152
+ _a = _d.sent(), initializeMemoryDatabase = _a.initializeMemoryDatabase, checkMemoryInitialization = _a.checkMemoryInitialization, storeEntry = _a.storeEntry;
153
+ return [4 /*yield*/, checkMemoryInitialization()];
154
+ case 2:
155
+ status = _d.sent();
156
+ if (!!status.initialized) return [3 /*break*/, 4];
157
+ return [4 /*yield*/, initializeMemoryDatabase({ force: false, verbose: false })];
158
+ case 3:
159
+ _d.sent();
160
+ _d.label = 4;
161
+ case 4:
162
+ if (!hasLegacyStore()) return [3 /*break*/, 11];
163
+ legacyStore = loadLegacyStore();
164
+ if (!(legacyStore && Object.keys(legacyStore.entries).length > 0)) return [3 /*break*/, 11];
165
+ console.error('[MCP Memory] Migrating legacy JSON store to sql.js...');
166
+ migrated = 0;
167
+ _i = 0, _b = Object.entries(legacyStore.entries);
168
+ _d.label = 5;
169
+ case 5:
170
+ if (!(_i < _b.length)) return [3 /*break*/, 10];
171
+ _c = _b[_i], key = _c[0], entry = _c[1];
172
+ _d.label = 6;
173
+ case 6:
174
+ _d.trys.push([6, 8, , 9]);
175
+ value = typeof entry.value === 'string' ? entry.value : JSON.stringify(entry.value);
176
+ return [4 /*yield*/, storeEntry({
177
+ key: key,
178
+ value: value,
179
+ namespace: 'default',
180
+ generateEmbeddingFlag: true
181
+ })];
182
+ case 7:
183
+ _d.sent();
108
184
  migrated++;
109
- }
110
- catch (e) {
111
- console.error(`[MCP Memory] Failed to migrate key "${key}":`, e);
112
- }
185
+ return [3 /*break*/, 9];
186
+ case 8:
187
+ e_1 = _d.sent();
188
+ console.error("[MCP Memory] Failed to migrate key \"" + key + "\":", e_1);
189
+ return [3 /*break*/, 9];
190
+ case 9:
191
+ _i++;
192
+ return [3 /*break*/, 5];
193
+ case 10:
194
+ console.error("[MCP Memory] Migrated " + migrated + "/" + Object.keys(legacyStore.entries).length + " entries");
195
+ markMigrationComplete();
196
+ _d.label = 11;
197
+ case 11: return [2 /*return*/];
113
198
  }
114
- console.error(`[MCP Memory] Migrated ${migrated}/${Object.keys(legacyStore.entries).length} entries`);
115
- markMigrationComplete();
116
- }
117
- }
199
+ });
200
+ });
118
201
  }
119
- export const memoryTools = [
202
+ export var memoryTools = [
120
203
  {
121
204
  name: 'memory_store',
122
205
  description: 'Store a value in memory with vector embedding for semantic search (sql.js + HNSW backend). Use upsert=true to update existing keys.',
@@ -130,55 +213,80 @@ export const memoryTools = [
130
213
  tags: {
131
214
  type: 'array',
132
215
  items: { type: 'string' },
133
- description: 'Optional tags for filtering',
216
+ description: 'Optional tags for filtering'
134
217
  },
135
218
  ttl: { type: 'number', description: 'Time-to-live in seconds (optional)' },
136
- upsert: { type: 'boolean', description: 'If true, update existing key instead of failing (default: false)' },
219
+ upsert: { type: 'boolean', description: 'If true, update existing key instead of failing (default: false)' }
137
220
  },
138
- required: ['key', 'value'],
139
- },
140
- handler: async (input) => {
141
- await ensureInitialized();
142
- const { storeEntry } = await getMemoryFunctions();
143
- const key = input.key;
144
- const namespace = input.namespace || 'default';
145
- const value = typeof input.value === 'string' ? input.value : JSON.stringify(input.value);
146
- const tags = input.tags || [];
147
- const ttl = input.ttl;
148
- const upsert = input.upsert || false;
149
- const startTime = performance.now();
150
- try {
151
- const result = await storeEntry({
152
- key,
153
- value,
154
- namespace,
155
- generateEmbeddingFlag: true,
156
- tags,
157
- ttl,
158
- upsert,
159
- });
160
- const duration = performance.now() - startTime;
161
- return {
162
- success: result.success,
163
- key,
164
- namespace,
165
- stored: result.success,
166
- storedAt: new Date().toISOString(),
167
- hasEmbedding: !!result.embedding,
168
- embeddingDimensions: result.embedding?.dimensions || null,
169
- backend: 'sql.js + HNSW',
170
- storeTime: `${duration.toFixed(2)}ms`,
171
- error: result.error,
172
- };
173
- }
174
- catch (error) {
175
- return {
176
- success: false,
177
- key,
178
- error: error instanceof Error ? error.message : 'Unknown error',
179
- };
180
- }
221
+ required: ['key', 'value']
181
222
  },
223
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
224
+ var storeEntry, key, namespace, rawValue, value, tags, ttl, upsert, startTime, result, duration, error_1;
225
+ var _a;
226
+ return __generator(this, function (_b) {
227
+ switch (_b.label) {
228
+ case 0: return [4 /*yield*/, ensureInitialized()];
229
+ case 1:
230
+ _b.sent();
231
+ return [4 /*yield*/, getMemoryFunctions()];
232
+ case 2:
233
+ storeEntry = (_b.sent()).storeEntry;
234
+ key = input.key;
235
+ namespace = input.namespace || 'default';
236
+ rawValue = input.value;
237
+ value = typeof rawValue === 'string' ? rawValue : (rawValue !== undefined ? JSON.stringify(rawValue) : '');
238
+ tags = input.tags || [];
239
+ ttl = input.ttl;
240
+ upsert = input.upsert || false;
241
+ if (!value) {
242
+ return [2 /*return*/, {
243
+ success: false,
244
+ key: key,
245
+ stored: false,
246
+ hasEmbedding: false,
247
+ error: 'Value is required and cannot be empty'
248
+ }];
249
+ }
250
+ validateMemoryInput(key, value);
251
+ startTime = performance.now();
252
+ _b.label = 3;
253
+ case 3:
254
+ _b.trys.push([3, 5, , 6]);
255
+ return [4 /*yield*/, storeEntry({
256
+ key: key,
257
+ value: value,
258
+ namespace: namespace,
259
+ generateEmbeddingFlag: true,
260
+ tags: tags,
261
+ ttl: ttl,
262
+ upsert: upsert
263
+ })];
264
+ case 4:
265
+ result = _b.sent();
266
+ duration = performance.now() - startTime;
267
+ return [2 /*return*/, {
268
+ success: result.success,
269
+ key: key,
270
+ namespace: namespace,
271
+ stored: result.success,
272
+ storedAt: new Date().toISOString(),
273
+ hasEmbedding: !!result.embedding,
274
+ embeddingDimensions: ((_a = result.embedding) === null || _a === void 0 ? void 0 : _a.dimensions) || null,
275
+ backend: 'sql.js + HNSW',
276
+ storeTime: duration.toFixed(2) + "ms",
277
+ error: result.error
278
+ }];
279
+ case 5:
280
+ error_1 = _b.sent();
281
+ return [2 /*return*/, {
282
+ success: false,
283
+ key: key,
284
+ error: error_1 instanceof Error ? error_1.message : 'Unknown error'
285
+ }];
286
+ case 6: return [2 /*return*/];
287
+ }
288
+ });
289
+ }); }
182
290
  },
183
291
  {
184
292
  name: 'memory_retrieve',
@@ -188,56 +296,69 @@ export const memoryTools = [
188
296
  type: 'object',
189
297
  properties: {
190
298
  key: { type: 'string', description: 'Memory key' },
191
- namespace: { type: 'string', description: 'Namespace (default: "default")' },
299
+ namespace: { type: 'string', description: 'Namespace (default: "default")' }
192
300
  },
193
- required: ['key'],
301
+ required: ['key']
194
302
  },
195
- handler: async (input) => {
196
- await ensureInitialized();
197
- const { getEntry } = await getMemoryFunctions();
198
- const key = input.key;
199
- const namespace = input.namespace || 'default';
200
- try {
201
- const result = await getEntry({ key, namespace });
202
- if (result.found && result.entry) {
203
- // Try to parse JSON value
204
- let value = result.entry.content;
205
- try {
206
- value = JSON.parse(result.entry.content);
207
- }
208
- catch {
209
- // Keep as string
210
- }
211
- return {
212
- key,
213
- namespace,
214
- value,
215
- tags: result.entry.tags,
216
- storedAt: result.entry.createdAt,
217
- updatedAt: result.entry.updatedAt,
218
- accessCount: result.entry.accessCount,
219
- hasEmbedding: result.entry.hasEmbedding,
220
- found: true,
221
- backend: 'sql.js + HNSW',
222
- };
303
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
304
+ var getEntry, key, namespace, result, value, error_2;
305
+ return __generator(this, function (_a) {
306
+ switch (_a.label) {
307
+ case 0: return [4 /*yield*/, ensureInitialized()];
308
+ case 1:
309
+ _a.sent();
310
+ return [4 /*yield*/, getMemoryFunctions()];
311
+ case 2:
312
+ getEntry = (_a.sent()).getEntry;
313
+ key = input.key;
314
+ namespace = input.namespace || 'default';
315
+ validateMemoryInput(key);
316
+ _a.label = 3;
317
+ case 3:
318
+ _a.trys.push([3, 5, , 6]);
319
+ return [4 /*yield*/, getEntry({ key: key, namespace: namespace })];
320
+ case 4:
321
+ result = _a.sent();
322
+ if (result.found && result.entry) {
323
+ value = result.entry.content;
324
+ try {
325
+ value = JSON.parse(result.entry.content);
326
+ }
327
+ catch (_b) {
328
+ // Keep as string
329
+ }
330
+ return [2 /*return*/, {
331
+ key: key,
332
+ namespace: namespace,
333
+ value: value,
334
+ tags: result.entry.tags,
335
+ storedAt: result.entry.createdAt,
336
+ updatedAt: result.entry.updatedAt,
337
+ accessCount: result.entry.accessCount,
338
+ hasEmbedding: result.entry.hasEmbedding,
339
+ found: true,
340
+ backend: 'sql.js + HNSW'
341
+ }];
342
+ }
343
+ return [2 /*return*/, {
344
+ key: key,
345
+ namespace: namespace,
346
+ value: null,
347
+ found: false
348
+ }];
349
+ case 5:
350
+ error_2 = _a.sent();
351
+ return [2 /*return*/, {
352
+ key: key,
353
+ namespace: namespace,
354
+ value: null,
355
+ found: false,
356
+ error: error_2 instanceof Error ? error_2.message : 'Unknown error'
357
+ }];
358
+ case 6: return [2 /*return*/];
223
359
  }
224
- return {
225
- key,
226
- namespace,
227
- value: null,
228
- found: false,
229
- };
230
- }
231
- catch (error) {
232
- return {
233
- key,
234
- namespace,
235
- value: null,
236
- found: false,
237
- error: error instanceof Error ? error.message : 'Unknown error',
238
- };
239
- }
240
- },
360
+ });
361
+ }); }
241
362
  },
242
363
  {
243
364
  name: 'memory_search',
@@ -249,59 +370,72 @@ export const memoryTools = [
249
370
  query: { type: 'string', description: 'Search query (semantic similarity)' },
250
371
  namespace: { type: 'string', description: 'Namespace to search (default: "default")' },
251
372
  limit: { type: 'number', description: 'Maximum results (default: 10)' },
252
- threshold: { type: 'number', description: 'Minimum similarity threshold 0-1 (default: 0.3)' },
373
+ threshold: { type: 'number', description: 'Minimum similarity threshold 0-1 (default: 0.3)' }
253
374
  },
254
- required: ['query'],
255
- },
256
- handler: async (input) => {
257
- await ensureInitialized();
258
- const { searchEntries } = await getMemoryFunctions();
259
- const query = input.query;
260
- const namespace = input.namespace || 'default';
261
- const limit = input.limit || 10;
262
- const threshold = input.threshold || 0.3;
263
- const startTime = performance.now();
264
- try {
265
- const result = await searchEntries({
266
- query,
267
- namespace,
268
- limit,
269
- threshold,
270
- });
271
- const duration = performance.now() - startTime;
272
- // Parse JSON values in results
273
- const results = result.results.map(r => {
274
- let value = r.content;
275
- try {
276
- value = JSON.parse(r.content);
277
- }
278
- catch {
279
- // Keep as string
280
- }
281
- return {
282
- key: r.key,
283
- namespace: r.namespace,
284
- value,
285
- similarity: r.score,
286
- };
287
- });
288
- return {
289
- query,
290
- results,
291
- total: results.length,
292
- searchTime: `${duration.toFixed(2)}ms`,
293
- backend: 'HNSW + sql.js',
294
- };
295
- }
296
- catch (error) {
297
- return {
298
- query,
299
- results: [],
300
- total: 0,
301
- error: error instanceof Error ? error.message : 'Unknown error',
302
- };
303
- }
375
+ required: ['query']
304
376
  },
377
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
378
+ var searchEntries, query, namespace, limit, threshold, startTime, result, duration, results, error_3;
379
+ return __generator(this, function (_a) {
380
+ switch (_a.label) {
381
+ case 0: return [4 /*yield*/, ensureInitialized()];
382
+ case 1:
383
+ _a.sent();
384
+ return [4 /*yield*/, getMemoryFunctions()];
385
+ case 2:
386
+ searchEntries = (_a.sent()).searchEntries;
387
+ query = input.query;
388
+ namespace = input.namespace || 'default';
389
+ limit = input.limit || 10;
390
+ threshold = input.threshold || 0.3;
391
+ validateMemoryInput(undefined, undefined, query);
392
+ startTime = performance.now();
393
+ _a.label = 3;
394
+ case 3:
395
+ _a.trys.push([3, 5, , 6]);
396
+ return [4 /*yield*/, searchEntries({
397
+ query: query,
398
+ namespace: namespace,
399
+ limit: limit,
400
+ threshold: threshold
401
+ })];
402
+ case 4:
403
+ result = _a.sent();
404
+ duration = performance.now() - startTime;
405
+ results = result.results.map(function (r) {
406
+ var value = r.content;
407
+ try {
408
+ value = JSON.parse(r.content);
409
+ }
410
+ catch (_a) {
411
+ // Keep as string
412
+ }
413
+ return {
414
+ key: r.key,
415
+ namespace: r.namespace,
416
+ value: value,
417
+ similarity: r.score
418
+ };
419
+ });
420
+ return [2 /*return*/, {
421
+ query: query,
422
+ results: results,
423
+ total: results.length,
424
+ searchTime: duration.toFixed(2) + "ms",
425
+ backend: 'HNSW + sql.js'
426
+ }];
427
+ case 5:
428
+ error_3 = _a.sent();
429
+ return [2 /*return*/, {
430
+ query: query,
431
+ results: [],
432
+ total: 0,
433
+ error: error_3 instanceof Error ? error_3.message : 'Unknown error'
434
+ }];
435
+ case 6: return [2 /*return*/];
436
+ }
437
+ });
438
+ }); }
305
439
  },
306
440
  {
307
441
  name: 'memory_delete',
@@ -311,35 +445,50 @@ export const memoryTools = [
311
445
  type: 'object',
312
446
  properties: {
313
447
  key: { type: 'string', description: 'Memory key' },
314
- namespace: { type: 'string', description: 'Namespace (default: "default")' },
448
+ namespace: { type: 'string', description: 'Namespace (default: "default")' }
315
449
  },
316
- required: ['key'],
317
- },
318
- handler: async (input) => {
319
- await ensureInitialized();
320
- const { deleteEntry } = await getMemoryFunctions();
321
- const key = input.key;
322
- const namespace = input.namespace || 'default';
323
- try {
324
- const result = await deleteEntry({ key, namespace });
325
- return {
326
- success: result.deleted,
327
- key,
328
- namespace,
329
- deleted: result.deleted,
330
- backend: 'sql.js + HNSW',
331
- };
332
- }
333
- catch (error) {
334
- return {
335
- success: false,
336
- key,
337
- namespace,
338
- deleted: false,
339
- error: error instanceof Error ? error.message : 'Unknown error',
340
- };
341
- }
450
+ required: ['key']
342
451
  },
452
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
453
+ var deleteEntry, key, namespace, result, error_4;
454
+ return __generator(this, function (_a) {
455
+ switch (_a.label) {
456
+ case 0: return [4 /*yield*/, ensureInitialized()];
457
+ case 1:
458
+ _a.sent();
459
+ return [4 /*yield*/, getMemoryFunctions()];
460
+ case 2:
461
+ deleteEntry = (_a.sent()).deleteEntry;
462
+ key = input.key;
463
+ namespace = input.namespace || 'default';
464
+ validateMemoryInput(key);
465
+ _a.label = 3;
466
+ case 3:
467
+ _a.trys.push([3, 5, , 6]);
468
+ return [4 /*yield*/, deleteEntry({ key: key, namespace: namespace })];
469
+ case 4:
470
+ result = _a.sent();
471
+ return [2 /*return*/, {
472
+ success: result.deleted,
473
+ key: key,
474
+ namespace: namespace,
475
+ deleted: result.deleted,
476
+ hnswIndexInvalidated: result.deleted,
477
+ backend: 'sql.js + HNSW'
478
+ }];
479
+ case 5:
480
+ error_4 = _a.sent();
481
+ return [2 /*return*/, {
482
+ success: false,
483
+ key: key,
484
+ namespace: namespace,
485
+ deleted: false,
486
+ error: error_4 instanceof Error ? error_4.message : 'Unknown error'
487
+ }];
488
+ case 6: return [2 /*return*/];
489
+ }
490
+ });
491
+ }); }
343
492
  },
344
493
  {
345
494
  name: 'memory_list',
@@ -350,48 +499,61 @@ export const memoryTools = [
350
499
  properties: {
351
500
  namespace: { type: 'string', description: 'Filter by namespace' },
352
501
  limit: { type: 'number', description: 'Maximum results (default: 50)' },
353
- offset: { type: 'number', description: 'Offset for pagination (default: 0)' },
354
- },
355
- },
356
- handler: async (input) => {
357
- await ensureInitialized();
358
- const { listEntries } = await getMemoryFunctions();
359
- const namespace = input.namespace;
360
- const limit = input.limit || 50;
361
- const offset = input.offset || 0;
362
- try {
363
- const result = await listEntries({
364
- namespace,
365
- limit,
366
- offset,
367
- });
368
- const entries = result.entries.map(e => ({
369
- key: e.key,
370
- namespace: e.namespace,
371
- storedAt: e.createdAt,
372
- updatedAt: e.updatedAt,
373
- accessCount: e.accessCount,
374
- hasEmbedding: e.hasEmbedding,
375
- size: e.size,
376
- }));
377
- return {
378
- entries,
379
- total: result.total,
380
- limit,
381
- offset,
382
- backend: 'sql.js + HNSW',
383
- };
384
- }
385
- catch (error) {
386
- return {
387
- entries: [],
388
- total: 0,
389
- limit,
390
- offset,
391
- error: error instanceof Error ? error.message : 'Unknown error',
392
- };
502
+ offset: { type: 'number', description: 'Offset for pagination (default: 0)' }
393
503
  }
394
504
  },
505
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
506
+ var listEntries, namespace, limit, offset, result, entries, error_5;
507
+ return __generator(this, function (_a) {
508
+ switch (_a.label) {
509
+ case 0: return [4 /*yield*/, ensureInitialized()];
510
+ case 1:
511
+ _a.sent();
512
+ return [4 /*yield*/, getMemoryFunctions()];
513
+ case 2:
514
+ listEntries = (_a.sent()).listEntries;
515
+ namespace = input.namespace;
516
+ limit = input.limit || 50;
517
+ offset = input.offset || 0;
518
+ _a.label = 3;
519
+ case 3:
520
+ _a.trys.push([3, 5, , 6]);
521
+ return [4 /*yield*/, listEntries({
522
+ namespace: namespace,
523
+ limit: limit,
524
+ offset: offset
525
+ })];
526
+ case 4:
527
+ result = _a.sent();
528
+ entries = result.entries.map(function (e) { return ({
529
+ key: e.key,
530
+ namespace: e.namespace,
531
+ storedAt: e.createdAt,
532
+ updatedAt: e.updatedAt,
533
+ accessCount: e.accessCount,
534
+ hasEmbedding: e.hasEmbedding,
535
+ size: e.size
536
+ }); });
537
+ return [2 /*return*/, {
538
+ entries: entries,
539
+ total: result.total,
540
+ limit: limit,
541
+ offset: offset,
542
+ backend: 'sql.js + HNSW'
543
+ }];
544
+ case 5:
545
+ error_5 = _a.sent();
546
+ return [2 /*return*/, {
547
+ entries: [],
548
+ total: 0,
549
+ limit: limit,
550
+ offset: offset,
551
+ error: error_5 instanceof Error ? error_5.message : 'Unknown error'
552
+ }];
553
+ case 6: return [2 /*return*/];
554
+ }
555
+ });
556
+ }); }
395
557
  },
396
558
  {
397
559
  name: 'memory_stats',
@@ -399,46 +561,61 @@ export const memoryTools = [
399
561
  category: 'memory',
400
562
  inputSchema: {
401
563
  type: 'object',
402
- properties: {},
564
+ properties: {}
403
565
  },
404
- handler: async () => {
405
- await ensureInitialized();
406
- const { checkMemoryInitialization, listEntries } = await getMemoryFunctions();
407
- try {
408
- const status = await checkMemoryInitialization();
409
- const allEntries = await listEntries({ limit: 100000 });
410
- // Count by namespace
411
- const namespaces = {};
412
- let withEmbeddings = 0;
413
- for (const entry of allEntries.entries) {
414
- namespaces[entry.namespace] = (namespaces[entry.namespace] || 0) + 1;
415
- if (entry.hasEmbedding)
416
- withEmbeddings++;
566
+ handler: function () { return __awaiter(void 0, void 0, void 0, function () {
567
+ var _a, checkMemoryInitialization, listEntries, status, allEntries, namespaces, withEmbeddings, _i, _b, entry, error_6;
568
+ return __generator(this, function (_c) {
569
+ switch (_c.label) {
570
+ case 0: return [4 /*yield*/, ensureInitialized()];
571
+ case 1:
572
+ _c.sent();
573
+ return [4 /*yield*/, getMemoryFunctions()];
574
+ case 2:
575
+ _a = _c.sent(), checkMemoryInitialization = _a.checkMemoryInitialization, listEntries = _a.listEntries;
576
+ _c.label = 3;
577
+ case 3:
578
+ _c.trys.push([3, 6, , 7]);
579
+ return [4 /*yield*/, checkMemoryInitialization()];
580
+ case 4:
581
+ status = _c.sent();
582
+ return [4 /*yield*/, listEntries({ limit: 100000 })];
583
+ case 5:
584
+ allEntries = _c.sent();
585
+ namespaces = {};
586
+ withEmbeddings = 0;
587
+ for (_i = 0, _b = allEntries.entries; _i < _b.length; _i++) {
588
+ entry = _b[_i];
589
+ namespaces[entry.namespace] = (namespaces[entry.namespace] || 0) + 1;
590
+ if (entry.hasEmbedding)
591
+ withEmbeddings++;
592
+ }
593
+ return [2 /*return*/, {
594
+ initialized: status.initialized,
595
+ totalEntries: allEntries.total,
596
+ entriesWithEmbeddings: withEmbeddings,
597
+ embeddingCoverage: allEntries.total > 0
598
+ ? ((withEmbeddings / allEntries.total) * 100).toFixed(1) + "%"
599
+ : '0%',
600
+ namespaces: namespaces,
601
+ backend: 'sql.js + HNSW',
602
+ version: status.version || '3.0.0',
603
+ features: status.features || {
604
+ vectorEmbeddings: true,
605
+ hnswIndex: true,
606
+ semanticSearch: true
607
+ }
608
+ }];
609
+ case 6:
610
+ error_6 = _c.sent();
611
+ return [2 /*return*/, {
612
+ initialized: false,
613
+ error: error_6 instanceof Error ? error_6.message : 'Unknown error'
614
+ }];
615
+ case 7: return [2 /*return*/];
417
616
  }
418
- return {
419
- initialized: status.initialized,
420
- totalEntries: allEntries.total,
421
- entriesWithEmbeddings: withEmbeddings,
422
- embeddingCoverage: allEntries.total > 0
423
- ? `${((withEmbeddings / allEntries.total) * 100).toFixed(1)}%`
424
- : '0%',
425
- namespaces,
426
- backend: 'sql.js + HNSW',
427
- version: status.version || '3.0.0',
428
- features: status.features || {
429
- vectorEmbeddings: true,
430
- hnswIndex: true,
431
- semanticSearch: true,
432
- },
433
- };
434
- }
435
- catch (error) {
436
- return {
437
- initialized: false,
438
- error: error instanceof Error ? error.message : 'Unknown error',
439
- };
440
- }
441
- },
617
+ });
618
+ }); }
442
619
  },
443
620
  {
444
621
  name: 'memory_migrate',
@@ -447,36 +624,44 @@ export const memoryTools = [
447
624
  inputSchema: {
448
625
  type: 'object',
449
626
  properties: {
450
- force: { type: 'boolean', description: 'Force re-migration even if already done' },
451
- },
452
- },
453
- handler: async (input) => {
454
- const force = input.force;
455
- // Remove migration marker if forcing
456
- if (force) {
457
- const markerPath = getMigrationMarkerPath();
458
- if (existsSync(markerPath)) {
459
- unlinkSync(markerPath);
460
- }
627
+ force: { type: 'boolean', description: 'Force re-migration even if already done' }
461
628
  }
462
- // Check for legacy data
463
- const legacyStore = loadLegacyStore();
464
- if (!legacyStore || Object.keys(legacyStore.entries).length === 0) {
465
- return {
466
- success: true,
467
- message: 'No legacy data to migrate',
468
- migrated: 0,
469
- };
470
- }
471
- // Run migration via ensureInitialized
472
- await ensureInitialized();
473
- return {
474
- success: true,
475
- message: 'Migration completed',
476
- migrated: Object.keys(legacyStore.entries).length,
477
- backend: 'sql.js + HNSW',
478
- };
479
629
  },
630
+ handler: function (input) { return __awaiter(void 0, void 0, void 0, function () {
631
+ var force, markerPath, legacyStore;
632
+ return __generator(this, function (_a) {
633
+ switch (_a.label) {
634
+ case 0:
635
+ force = input.force;
636
+ // Remove migration marker if forcing
637
+ if (force) {
638
+ markerPath = getMigrationMarkerPath();
639
+ if (existsSync(markerPath)) {
640
+ unlinkSync(markerPath);
641
+ }
642
+ }
643
+ legacyStore = loadLegacyStore();
644
+ if (!legacyStore || Object.keys(legacyStore.entries).length === 0) {
645
+ return [2 /*return*/, {
646
+ success: true,
647
+ message: 'No legacy data to migrate',
648
+ migrated: 0
649
+ }];
650
+ }
651
+ // Run migration via ensureInitialized
652
+ return [4 /*yield*/, ensureInitialized()];
653
+ case 1:
654
+ // Run migration via ensureInitialized
655
+ _a.sent();
656
+ return [2 /*return*/, {
657
+ success: true,
658
+ message: 'Migration completed',
659
+ migrated: Object.keys(legacyStore.entries).length,
660
+ backend: 'sql.js + HNSW'
661
+ }];
662
+ }
663
+ });
664
+ }); }
480
665
  },
481
666
  ];
482
667
  //# sourceMappingURL=memory-tools.js.map