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,649 +9,61 @@
9
9
  *
10
10
  * Created with care by ruv.io
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 { output } from '../../output.js';
13
49
  import * as fs from 'fs';
14
50
  import * as path from 'path';
15
51
  /**
16
52
  * Docker Compose template for RuVector PostgreSQL
17
53
  */
18
- const DOCKER_COMPOSE_TEMPLATE = `# RuVector PostgreSQL Testing Environment
19
- # Official RuVector extension from ruvnet/ruvector-postgres
20
- #
21
- # Features:
22
- # - 77+ SQL functions for vector operations
23
- # - HNSW/IVFFlat indexing with SIMD acceleration
24
- # - Hyperbolic embeddings (Poincaré ball)
25
- # - Graph operations and GNN support
26
- # - Agent routing and learning
27
- #
28
- # Performance: ~61µs latency, 16,400 QPS with HNSW
29
-
30
- services:
31
- postgres:
32
- image: ruvnet/ruvector-postgres:latest
33
- container_name: ruvector-postgres
34
- environment:
35
- POSTGRES_USER: claude
36
- POSTGRES_PASSWORD: claude-flow-test
37
- POSTGRES_DB: claude_flow
38
- ports:
39
- - "5432:5432"
40
- volumes:
41
- - postgres_data:/var/lib/postgresql/data
42
- - ./scripts/init-db.sql:/docker-entrypoint-initdb.d/01-init.sql
43
- healthcheck:
44
- test: ["CMD-SHELL", "pg_isready -U claude -d claude_flow"]
45
- interval: 5s
46
- timeout: 5s
47
- retries: 10
48
- command: >
49
- postgres
50
- -c work_mem=256MB
51
- -c maintenance_work_mem=512MB
52
-
53
- # Optional: pgAdmin for visual database management
54
- pgadmin:
55
- image: dpage/pgadmin4:latest
56
- container_name: ruvector-pgadmin
57
- environment:
58
- PGADMIN_DEFAULT_EMAIL: admin@claude-flow.local
59
- PGADMIN_DEFAULT_PASSWORD: admin
60
- PGADMIN_CONFIG_SERVER_MODE: 'False'
61
- ports:
62
- - "5050:80"
63
- depends_on:
64
- postgres:
65
- condition: service_healthy
66
- profiles:
67
- - gui
68
-
69
- volumes:
70
- postgres_data:
71
- `;
54
+ var DOCKER_COMPOSE_TEMPLATE = "# RuVector PostgreSQL Testing Environment\n# Official RuVector extension from ruvnet/ruvector-postgres\n#\n# Features:\n# - 77+ SQL functions for vector operations\n# - HNSW/IVFFlat indexing with SIMD acceleration\n# - Hyperbolic embeddings (Poincar\u00E9 ball)\n# - Graph operations and GNN support\n# - Agent routing and learning\n#\n# Performance: ~61\u00B5s latency, 16,400 QPS with HNSW\n\nservices:\n postgres:\n image: ruvnet/ruvector-postgres:latest\n container_name: ruvector-postgres\n environment:\n POSTGRES_USER: claude\n POSTGRES_PASSWORD: claude-flow-test\n POSTGRES_DB: claude_flow\n ports:\n - \"5432:5432\"\n volumes:\n - postgres_data:/var/lib/postgresql/data\n - ./scripts/init-db.sql:/docker-entrypoint-initdb.d/01-init.sql\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U claude -d claude_flow\"]\n interval: 5s\n timeout: 5s\n retries: 10\n command: >\n postgres\n -c work_mem=256MB\n -c maintenance_work_mem=512MB\n\n # Optional: pgAdmin for visual database management\n pgadmin:\n image: dpage/pgadmin4:latest\n container_name: ruvector-pgadmin\n environment:\n PGADMIN_DEFAULT_EMAIL: admin@claude-flow.local\n PGADMIN_DEFAULT_PASSWORD: admin\n PGADMIN_CONFIG_SERVER_MODE: 'False'\n ports:\n - \"5050:80\"\n depends_on:\n postgres:\n condition: service_healthy\n profiles:\n - gui\n\nvolumes:\n postgres_data:\n";
72
55
  /**
73
56
  * Init SQL template for RuVector PostgreSQL
74
57
  */
75
- const INIT_SQL_TEMPLATE = `-- ============================================
76
- -- RUVECTOR POSTGRESQL INITIALIZATION SCRIPT
77
- -- ============================================
78
- --
79
- -- This script initializes RuVector PostgreSQL extension
80
- -- from ruvnet/ruvector-postgres with KynjalFlow V3 integration.
81
- --
82
- -- RuVector provides 77+ SQL functions including:
83
- -- - Vector similarity search (HNSW with SIMD)
84
- -- - Hyperbolic embeddings (Poincaré/Lorentz)
85
- -- - Graph operations (Cypher queries)
86
- -- - Agent routing and learning
87
- --
88
- -- Performance: ~61µs latency, 16,400 QPS
89
-
90
- -- ============================================
91
- -- PART 1: EXTENSION AND SCHEMA SETUP
92
- -- ============================================
93
-
94
- -- IMPORTANT: RuVector requires explicit VERSION
95
- -- The control file says 2.0.0 but only 0.1.0 SQL exists
96
- CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
97
-
98
- -- Enable additional required extensions
99
- CREATE EXTENSION IF NOT EXISTS pgcrypto;
100
-
101
- -- Create the claude_flow schema
102
- CREATE SCHEMA IF NOT EXISTS claude_flow;
103
-
104
- -- Grant permissions
105
- GRANT ALL ON SCHEMA claude_flow TO claude;
106
-
107
- -- Set search path
108
- SET search_path TO claude_flow, public;
109
-
110
- -- ============================================
111
- -- PART 2: CORE TABLES
112
- -- ============================================
113
-
114
- -- Embeddings table with RuVector vector type (384-dim for all-MiniLM-L6-v2)
115
- CREATE TABLE IF NOT EXISTS claude_flow.embeddings (
116
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
117
- content TEXT NOT NULL,
118
- embedding ruvector(384),
119
- metadata JSONB DEFAULT '{}',
120
- namespace VARCHAR(100) DEFAULT 'default',
121
- created_at TIMESTAMPTZ DEFAULT NOW(),
122
- updated_at TIMESTAMPTZ DEFAULT NOW()
123
- );
124
-
125
- -- Patterns table for learned patterns (ReasoningBank)
126
- CREATE TABLE IF NOT EXISTS claude_flow.patterns (
127
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
128
- name VARCHAR(255) NOT NULL,
129
- description TEXT,
130
- embedding ruvector(384),
131
- pattern_type VARCHAR(50),
132
- confidence FLOAT DEFAULT 0.5,
133
- success_count INT DEFAULT 0,
134
- failure_count INT DEFAULT 0,
135
- ewc_importance FLOAT DEFAULT 1.0,
136
- metadata JSONB DEFAULT '{}',
137
- created_at TIMESTAMPTZ DEFAULT NOW()
138
- );
139
-
140
- -- Agents table for multi-agent memory coordination
141
- CREATE TABLE IF NOT EXISTS claude_flow.agents (
142
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
143
- agent_id VARCHAR(255) NOT NULL UNIQUE,
144
- agent_type VARCHAR(50),
145
- state JSONB DEFAULT '{}',
146
- memory_embedding ruvector(384),
147
- last_active TIMESTAMPTZ DEFAULT NOW(),
148
- created_at TIMESTAMPTZ DEFAULT NOW()
149
- );
150
-
151
- -- Trajectories table for SONA reinforcement learning
152
- CREATE TABLE IF NOT EXISTS claude_flow.trajectories (
153
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
154
- trajectory_id VARCHAR(255) NOT NULL UNIQUE,
155
- agent_type VARCHAR(50),
156
- task_description TEXT,
157
- status VARCHAR(20) DEFAULT 'in_progress',
158
- steps JSONB DEFAULT '[]',
159
- outcome VARCHAR(20),
160
- quality_score FLOAT,
161
- started_at TIMESTAMPTZ DEFAULT NOW(),
162
- ended_at TIMESTAMPTZ
163
- );
164
-
165
- -- Memory entries table (main storage for KynjalFlow memory)
166
- CREATE TABLE IF NOT EXISTS claude_flow.memory_entries (
167
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
168
- key VARCHAR(255) NOT NULL,
169
- value TEXT NOT NULL,
170
- embedding ruvector(384),
171
- namespace VARCHAR(100) DEFAULT 'default',
172
- metadata JSONB DEFAULT '{}',
173
- ttl TIMESTAMPTZ,
174
- created_at TIMESTAMPTZ DEFAULT NOW(),
175
- updated_at TIMESTAMPTZ DEFAULT NOW(),
176
- UNIQUE(key, namespace)
177
- );
178
-
179
- -- Hyperbolic embeddings for hierarchical data
180
- CREATE TABLE IF NOT EXISTS claude_flow.hyperbolic_embeddings (
181
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
182
- content TEXT NOT NULL,
183
- euclidean_embedding ruvector(384),
184
- poincare_embedding real[], -- Array for hyperbolic operations
185
- curvature FLOAT DEFAULT -1.0,
186
- hierarchy_level INT DEFAULT 0,
187
- parent_id UUID REFERENCES claude_flow.hyperbolic_embeddings(id),
188
- metadata JSONB DEFAULT '{}',
189
- created_at TIMESTAMPTZ DEFAULT NOW()
190
- );
191
-
192
- -- Graph nodes for GNN operations
193
- CREATE TABLE IF NOT EXISTS claude_flow.graph_nodes (
194
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
195
- node_id VARCHAR(255) NOT NULL UNIQUE,
196
- node_type VARCHAR(50),
197
- embedding ruvector(384),
198
- features JSONB DEFAULT '{}',
199
- created_at TIMESTAMPTZ DEFAULT NOW()
200
- );
201
-
202
- -- Graph edges for message passing
203
- CREATE TABLE IF NOT EXISTS claude_flow.graph_edges (
204
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
205
- source_id UUID REFERENCES claude_flow.graph_nodes(id),
206
- target_id UUID REFERENCES claude_flow.graph_nodes(id),
207
- edge_type VARCHAR(50),
208
- weight FLOAT DEFAULT 1.0,
209
- metadata JSONB DEFAULT '{}',
210
- created_at TIMESTAMPTZ DEFAULT NOW()
211
- );
212
-
213
- -- ============================================
214
- -- PART 3: HNSW INDICES (150x-12,500x faster)
215
- -- ============================================
216
-
217
- -- HNSW index for embeddings (cosine distance)
218
- CREATE INDEX IF NOT EXISTS idx_embeddings_hnsw
219
- ON claude_flow.embeddings
220
- USING hnsw (embedding ruvector_cosine_ops)
221
- WITH (m = 16, ef_construction = 100);
222
-
223
- -- HNSW index for patterns
224
- CREATE INDEX IF NOT EXISTS idx_patterns_hnsw
225
- ON claude_flow.patterns
226
- USING hnsw (embedding ruvector_cosine_ops)
227
- WITH (m = 16, ef_construction = 100);
228
-
229
- -- HNSW index for agent memory
230
- CREATE INDEX IF NOT EXISTS idx_agents_hnsw
231
- ON claude_flow.agents
232
- USING hnsw (memory_embedding ruvector_cosine_ops)
233
- WITH (m = 16, ef_construction = 64);
234
-
235
- -- HNSW index for memory entries
236
- CREATE INDEX IF NOT EXISTS idx_memory_entries_hnsw
237
- ON claude_flow.memory_entries
238
- USING hnsw (embedding ruvector_cosine_ops)
239
- WITH (m = 16, ef_construction = 100);
240
-
241
- -- HNSW index for hyperbolic embeddings
242
- CREATE INDEX IF NOT EXISTS idx_hyperbolic_hnsw
243
- ON claude_flow.hyperbolic_embeddings
244
- USING hnsw (euclidean_embedding ruvector_cosine_ops)
245
- WITH (m = 16, ef_construction = 100);
246
-
247
- -- HNSW index for graph nodes
248
- CREATE INDEX IF NOT EXISTS idx_graph_nodes_hnsw
249
- ON claude_flow.graph_nodes
250
- USING hnsw (embedding ruvector_cosine_ops)
251
- WITH (m = 16, ef_construction = 64);
252
-
253
- -- Additional indices for common queries
254
- CREATE INDEX IF NOT EXISTS idx_embeddings_namespace ON claude_flow.embeddings(namespace);
255
- CREATE INDEX IF NOT EXISTS idx_memory_entries_namespace ON claude_flow.memory_entries(namespace);
256
- CREATE INDEX IF NOT EXISTS idx_memory_entries_key ON claude_flow.memory_entries(key);
257
-
258
- -- ============================================
259
- -- PART 4: CORE SEARCH FUNCTIONS
260
- -- ============================================
261
-
262
- -- Semantic similarity search using RuVector HNSW
263
- CREATE OR REPLACE FUNCTION claude_flow.search_similar(
264
- query_embedding ruvector(384),
265
- limit_count INT DEFAULT 10,
266
- min_similarity FLOAT DEFAULT 0.5
267
- )
268
- RETURNS TABLE (
269
- id UUID,
270
- content TEXT,
271
- similarity FLOAT,
272
- metadata JSONB
273
- ) AS $$
274
- BEGIN
275
- RETURN QUERY
276
- SELECT
277
- e.id,
278
- e.content,
279
- (1 - (e.embedding <=> query_embedding))::FLOAT AS similarity,
280
- e.metadata
281
- FROM claude_flow.embeddings e
282
- WHERE e.embedding IS NOT NULL
283
- AND (1 - (e.embedding <=> query_embedding)) >= min_similarity
284
- ORDER BY e.embedding <=> query_embedding
285
- LIMIT limit_count;
286
- END;
287
- $$ LANGUAGE plpgsql STABLE;
288
-
289
- -- Memory search with namespace filtering
290
- CREATE OR REPLACE FUNCTION claude_flow.search_memory(
291
- query_embedding ruvector(384),
292
- namespace_filter VARCHAR(100) DEFAULT NULL,
293
- limit_count INT DEFAULT 10,
294
- min_similarity FLOAT DEFAULT 0.5
295
- )
296
- RETURNS TABLE (
297
- id UUID,
298
- key VARCHAR(255),
299
- value TEXT,
300
- namespace VARCHAR(100),
301
- similarity FLOAT,
302
- metadata JSONB
303
- ) AS $$
304
- BEGIN
305
- RETURN QUERY
306
- SELECT
307
- m.id,
308
- m.key,
309
- m.value,
310
- m.namespace,
311
- (1 - (m.embedding <=> query_embedding))::FLOAT AS similarity,
312
- m.metadata
313
- FROM claude_flow.memory_entries m
314
- WHERE m.embedding IS NOT NULL
315
- AND (1 - (m.embedding <=> query_embedding)) >= min_similarity
316
- AND (namespace_filter IS NULL OR m.namespace = namespace_filter)
317
- AND (m.ttl IS NULL OR m.ttl > NOW())
318
- ORDER BY m.embedding <=> query_embedding
319
- LIMIT limit_count;
320
- END;
321
- $$ LANGUAGE plpgsql STABLE;
322
-
323
- -- Pattern search with type filtering
324
- CREATE OR REPLACE FUNCTION claude_flow.search_patterns(
325
- query_embedding ruvector(384),
326
- pattern_type_filter VARCHAR(50) DEFAULT NULL,
327
- limit_count INT DEFAULT 10,
328
- min_confidence FLOAT DEFAULT 0.5
329
- )
330
- RETURNS TABLE (
331
- id UUID,
332
- name VARCHAR(255),
333
- description TEXT,
334
- similarity FLOAT,
335
- confidence FLOAT,
336
- metadata JSONB
337
- ) AS $$
338
- BEGIN
339
- RETURN QUERY
340
- SELECT
341
- p.id,
342
- p.name,
343
- p.description,
344
- (1 - (p.embedding <=> query_embedding))::FLOAT AS similarity,
345
- p.confidence,
346
- p.metadata
347
- FROM claude_flow.patterns p
348
- WHERE p.embedding IS NOT NULL
349
- AND p.confidence >= min_confidence
350
- AND (pattern_type_filter IS NULL OR p.pattern_type = pattern_type_filter)
351
- ORDER BY p.embedding <=> query_embedding
352
- LIMIT limit_count;
353
- END;
354
- $$ LANGUAGE plpgsql STABLE;
355
-
356
- -- Agent routing by expertise similarity
357
- CREATE OR REPLACE FUNCTION claude_flow.find_agents(
358
- query_embedding ruvector(384),
359
- agent_type_filter VARCHAR(50) DEFAULT NULL,
360
- limit_count INT DEFAULT 5
361
- )
362
- RETURNS TABLE (
363
- agent_id VARCHAR(255),
364
- agent_type VARCHAR(50),
365
- similarity FLOAT,
366
- state JSONB
367
- ) AS $$
368
- BEGIN
369
- RETURN QUERY
370
- SELECT
371
- a.agent_id,
372
- a.agent_type,
373
- (1 - (a.memory_embedding <=> query_embedding))::FLOAT AS similarity,
374
- a.state
375
- FROM claude_flow.agents a
376
- WHERE a.memory_embedding IS NOT NULL
377
- AND (agent_type_filter IS NULL OR a.agent_type = agent_type_filter)
378
- ORDER BY a.memory_embedding <=> query_embedding
379
- LIMIT limit_count;
380
- END;
381
- $$ LANGUAGE plpgsql STABLE;
382
-
383
- -- ============================================
384
- -- PART 5: HYPERBOLIC OPERATIONS
385
- -- ============================================
386
-
387
- -- Convert Euclidean to Poincaré embedding
388
- CREATE OR REPLACE FUNCTION claude_flow.to_poincare(
389
- euclidean real[],
390
- curvature FLOAT DEFAULT -1.0
391
- )
392
- RETURNS real[] AS $$
393
- BEGIN
394
- RETURN ruvector_exp_map(ARRAY_FILL(0.0::real, ARRAY[array_length(euclidean, 1)]), euclidean, curvature);
395
- END;
396
- $$ LANGUAGE plpgsql IMMUTABLE;
397
-
398
- -- Poincaré distance (geodesic)
399
- CREATE OR REPLACE FUNCTION claude_flow.poincare_distance(
400
- x real[],
401
- y real[],
402
- curvature FLOAT DEFAULT -1.0
403
- )
404
- RETURNS FLOAT AS $$
405
- BEGIN
406
- RETURN ruvector_poincare_distance(x, y, curvature);
407
- END;
408
- $$ LANGUAGE plpgsql IMMUTABLE;
409
-
410
- -- Hyperbolic search in Poincaré ball
411
- CREATE OR REPLACE FUNCTION claude_flow.hyperbolic_search(
412
- query ruvector(384),
413
- limit_count INT DEFAULT 10,
414
- curvature FLOAT DEFAULT -1.0
415
- )
416
- RETURNS TABLE (
417
- id UUID,
418
- content TEXT,
419
- euclidean_dist FLOAT,
420
- hyperbolic_dist FLOAT,
421
- hierarchy_level INT,
422
- metadata JSONB
423
- ) AS $$
424
- DECLARE
425
- query_arr real[];
426
- query_poincare real[];
427
- BEGIN
428
- -- Convert query to array and then to Poincaré
429
- SELECT array_agg(x::real ORDER BY ordinality) INTO query_arr
430
- FROM unnest(string_to_array(trim(both '[]' from query::text), ',')) WITH ORDINALITY AS t(x, ordinality);
431
-
432
- query_poincare := claude_flow.to_poincare(query_arr, curvature);
433
-
434
- RETURN QUERY
435
- SELECT
436
- he.id,
437
- he.content,
438
- (he.euclidean_embedding <-> query)::FLOAT AS euc_dist,
439
- COALESCE(ruvector_poincare_distance(he.poincare_embedding, query_poincare, curvature), 999.0)::FLOAT AS hyp_dist,
440
- he.hierarchy_level,
441
- he.metadata
442
- FROM claude_flow.hyperbolic_embeddings he
443
- WHERE he.euclidean_embedding IS NOT NULL
444
- ORDER BY he.euclidean_embedding <-> query
445
- LIMIT limit_count;
446
- END;
447
- $$ LANGUAGE plpgsql STABLE;
448
-
449
- -- ============================================
450
- -- PART 6: UTILITY FUNCTIONS
451
- -- ============================================
452
-
453
- -- Get RuVector version info
454
- CREATE OR REPLACE FUNCTION claude_flow.ruvector_info()
455
- RETURNS TABLE (
456
- version TEXT,
457
- simd_info TEXT
458
- ) AS $$
459
- BEGIN
460
- RETURN QUERY
461
- SELECT ruvector_version(), ruvector_simd_info();
462
- END;
463
- $$ LANGUAGE plpgsql STABLE;
464
-
465
- -- Cosine similarity helper (converts cosine distance to similarity)
466
- CREATE OR REPLACE FUNCTION claude_flow.cosine_similarity(
467
- a ruvector,
468
- b ruvector
469
- )
470
- RETURNS FLOAT AS $$
471
- BEGIN
472
- RETURN (1 - (a <=> b))::FLOAT;
473
- END;
474
- $$ LANGUAGE plpgsql IMMUTABLE;
475
-
476
- -- L2 distance helper
477
- CREATE OR REPLACE FUNCTION claude_flow.l2_distance(
478
- a ruvector,
479
- b ruvector
480
- )
481
- RETURNS FLOAT AS $$
482
- BEGIN
483
- RETURN (a <-> b)::FLOAT;
484
- END;
485
- $$ LANGUAGE plpgsql IMMUTABLE;
486
-
487
- -- Upsert memory entry
488
- CREATE OR REPLACE FUNCTION claude_flow.upsert_memory(
489
- p_key VARCHAR(255),
490
- p_value TEXT,
491
- p_embedding ruvector(384) DEFAULT NULL,
492
- p_namespace VARCHAR(100) DEFAULT 'default',
493
- p_metadata JSONB DEFAULT '{}',
494
- p_ttl TIMESTAMPTZ DEFAULT NULL
495
- )
496
- RETURNS UUID AS $$
497
- DECLARE
498
- v_id UUID;
499
- BEGIN
500
- INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, ttl, updated_at)
501
- VALUES (p_key, p_value, p_embedding, p_namespace, p_metadata, p_ttl, NOW())
502
- ON CONFLICT (key, namespace) DO UPDATE SET
503
- value = EXCLUDED.value,
504
- embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),
505
- metadata = EXCLUDED.metadata,
506
- ttl = EXCLUDED.ttl,
507
- updated_at = NOW()
508
- RETURNING id INTO v_id;
509
-
510
- RETURN v_id;
511
- END;
512
- $$ LANGUAGE plpgsql;
513
-
514
- -- ============================================
515
- -- COMPLETION
516
- -- ============================================
517
-
518
- DO $$
519
- DECLARE
520
- v_version TEXT;
521
- v_simd TEXT;
522
- BEGIN
523
- SELECT ruvector_version() INTO v_version;
524
- SELECT ruvector_simd_info() INTO v_simd;
525
-
526
- RAISE NOTICE '';
527
- RAISE NOTICE '============================================';
528
- RAISE NOTICE 'RuVector PostgreSQL Initialization Complete!';
529
- RAISE NOTICE '============================================';
530
- RAISE NOTICE '';
531
- RAISE NOTICE 'RuVector Version: %', v_version;
532
- RAISE NOTICE 'SIMD: %', v_simd;
533
- RAISE NOTICE '';
534
- RAISE NOTICE 'Schema: claude_flow';
535
- RAISE NOTICE 'Tables: embeddings, patterns, agents, trajectories,';
536
- RAISE NOTICE ' memory_entries, hyperbolic_embeddings,';
537
- RAISE NOTICE ' graph_nodes, graph_edges';
538
- RAISE NOTICE 'Indices: 6 HNSW indices + 3 B-tree indices';
539
- RAISE NOTICE '';
540
- RAISE NOTICE 'Key Functions:';
541
- RAISE NOTICE ' - claude_flow.search_similar(embedding, limit, min_sim)';
542
- RAISE NOTICE ' - claude_flow.search_memory(embedding, namespace, limit)';
543
- RAISE NOTICE ' - claude_flow.search_patterns(embedding, type, limit)';
544
- RAISE NOTICE ' - claude_flow.find_agents(embedding, type, limit)';
545
- RAISE NOTICE ' - claude_flow.hyperbolic_search(embedding, limit, curvature)';
546
- RAISE NOTICE ' - claude_flow.upsert_memory(key, value, embedding, namespace)';
547
- RAISE NOTICE '';
548
- RAISE NOTICE 'Operators: <=> (cosine), <-> (L2), <#> (neg inner product)';
549
- RAISE NOTICE '';
550
- END $$;
551
- `;
58
+ var INIT_SQL_TEMPLATE = "-- ============================================\n-- RUVECTOR POSTGRESQL INITIALIZATION SCRIPT\n-- ============================================\n--\n-- This script initializes RuVector PostgreSQL extension\n-- from ruvnet/ruvector-postgres with Claude-Flow V3 integration.\n--\n-- RuVector provides 77+ SQL functions including:\n-- - Vector similarity search (HNSW with SIMD)\n-- - Hyperbolic embeddings (Poincar\u00E9/Lorentz)\n-- - Graph operations (Cypher queries)\n-- - Agent routing and learning\n--\n-- Performance: ~61\u00B5s latency, 16,400 QPS\n\n-- ============================================\n-- PART 1: EXTENSION AND SCHEMA SETUP\n-- ============================================\n\n-- IMPORTANT: RuVector requires explicit VERSION\n-- The control file says 2.0.0 but only 0.1.0 SQL exists\nCREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';\n\n-- Enable additional required extensions\nCREATE EXTENSION IF NOT EXISTS pgcrypto;\n\n-- Create the claude_flow schema\nCREATE SCHEMA IF NOT EXISTS claude_flow;\n\n-- Grant permissions\nGRANT ALL ON SCHEMA claude_flow TO claude;\n\n-- Set search path\nSET search_path TO claude_flow, public;\n\n-- ============================================\n-- PART 2: CORE TABLES\n-- ============================================\n\n-- Embeddings table with RuVector vector type (384-dim for all-MiniLM-L6-v2)\nCREATE TABLE IF NOT EXISTS claude_flow.embeddings (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n content TEXT NOT NULL,\n embedding ruvector(384),\n metadata JSONB DEFAULT '{}',\n namespace VARCHAR(100) DEFAULT 'default',\n created_at TIMESTAMPTZ DEFAULT NOW(),\n updated_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Patterns table for learned patterns (ReasoningBank)\nCREATE TABLE IF NOT EXISTS claude_flow.patterns (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n name VARCHAR(255) NOT NULL,\n description TEXT,\n embedding ruvector(384),\n pattern_type VARCHAR(50),\n confidence FLOAT DEFAULT 0.5,\n success_count INT DEFAULT 0,\n failure_count INT DEFAULT 0,\n ewc_importance FLOAT DEFAULT 1.0,\n metadata JSONB DEFAULT '{}',\n created_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Agents table for multi-agent memory coordination\nCREATE TABLE IF NOT EXISTS claude_flow.agents (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n agent_id VARCHAR(255) NOT NULL UNIQUE,\n agent_type VARCHAR(50),\n state JSONB DEFAULT '{}',\n memory_embedding ruvector(384),\n last_active TIMESTAMPTZ DEFAULT NOW(),\n created_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Trajectories table for SONA reinforcement learning\nCREATE TABLE IF NOT EXISTS claude_flow.trajectories (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n trajectory_id VARCHAR(255) NOT NULL UNIQUE,\n agent_type VARCHAR(50),\n task_description TEXT,\n status VARCHAR(20) DEFAULT 'in_progress',\n steps JSONB DEFAULT '[]',\n outcome VARCHAR(20),\n quality_score FLOAT,\n started_at TIMESTAMPTZ DEFAULT NOW(),\n ended_at TIMESTAMPTZ\n);\n\n-- Memory entries table (main storage for Claude-Flow memory)\nCREATE TABLE IF NOT EXISTS claude_flow.memory_entries (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n key VARCHAR(255) NOT NULL,\n value TEXT NOT NULL,\n embedding ruvector(384),\n namespace VARCHAR(100) DEFAULT 'default',\n metadata JSONB DEFAULT '{}',\n ttl TIMESTAMPTZ,\n created_at TIMESTAMPTZ DEFAULT NOW(),\n updated_at TIMESTAMPTZ DEFAULT NOW(),\n UNIQUE(key, namespace)\n);\n\n-- Hyperbolic embeddings for hierarchical data\nCREATE TABLE IF NOT EXISTS claude_flow.hyperbolic_embeddings (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n content TEXT NOT NULL,\n euclidean_embedding ruvector(384),\n poincare_embedding real[], -- Array for hyperbolic operations\n curvature FLOAT DEFAULT -1.0,\n hierarchy_level INT DEFAULT 0,\n parent_id UUID REFERENCES claude_flow.hyperbolic_embeddings(id),\n metadata JSONB DEFAULT '{}',\n created_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Graph nodes for GNN operations\nCREATE TABLE IF NOT EXISTS claude_flow.graph_nodes (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n node_id VARCHAR(255) NOT NULL UNIQUE,\n node_type VARCHAR(50),\n embedding ruvector(384),\n features JSONB DEFAULT '{}',\n created_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Graph edges for message passing\nCREATE TABLE IF NOT EXISTS claude_flow.graph_edges (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n source_id UUID REFERENCES claude_flow.graph_nodes(id),\n target_id UUID REFERENCES claude_flow.graph_nodes(id),\n edge_type VARCHAR(50),\n weight FLOAT DEFAULT 1.0,\n metadata JSONB DEFAULT '{}',\n created_at TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- ============================================\n-- PART 3: HNSW INDICES (150x-12,500x faster)\n-- ============================================\n\n-- HNSW index for embeddings (cosine distance)\nCREATE INDEX IF NOT EXISTS idx_embeddings_hnsw\nON claude_flow.embeddings\nUSING hnsw (embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 100);\n\n-- HNSW index for patterns\nCREATE INDEX IF NOT EXISTS idx_patterns_hnsw\nON claude_flow.patterns\nUSING hnsw (embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 100);\n\n-- HNSW index for agent memory\nCREATE INDEX IF NOT EXISTS idx_agents_hnsw\nON claude_flow.agents\nUSING hnsw (memory_embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 64);\n\n-- HNSW index for memory entries\nCREATE INDEX IF NOT EXISTS idx_memory_entries_hnsw\nON claude_flow.memory_entries\nUSING hnsw (embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 100);\n\n-- HNSW index for hyperbolic embeddings\nCREATE INDEX IF NOT EXISTS idx_hyperbolic_hnsw\nON claude_flow.hyperbolic_embeddings\nUSING hnsw (euclidean_embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 100);\n\n-- HNSW index for graph nodes\nCREATE INDEX IF NOT EXISTS idx_graph_nodes_hnsw\nON claude_flow.graph_nodes\nUSING hnsw (embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 64);\n\n-- Additional indices for common queries\nCREATE INDEX IF NOT EXISTS idx_embeddings_namespace ON claude_flow.embeddings(namespace);\nCREATE INDEX IF NOT EXISTS idx_memory_entries_namespace ON claude_flow.memory_entries(namespace);\nCREATE INDEX IF NOT EXISTS idx_memory_entries_key ON claude_flow.memory_entries(key);\n\n-- ============================================\n-- PART 4: CORE SEARCH FUNCTIONS\n-- ============================================\n\n-- Semantic similarity search using RuVector HNSW\nCREATE OR REPLACE FUNCTION claude_flow.search_similar(\n query_embedding ruvector(384),\n limit_count INT DEFAULT 10,\n min_similarity FLOAT DEFAULT 0.5\n)\nRETURNS TABLE (\n id UUID,\n content TEXT,\n similarity FLOAT,\n metadata JSONB\n) AS $$\nBEGIN\n RETURN QUERY\n SELECT\n e.id,\n e.content,\n (1 - (e.embedding <=> query_embedding))::FLOAT AS similarity,\n e.metadata\n FROM claude_flow.embeddings e\n WHERE e.embedding IS NOT NULL\n AND (1 - (e.embedding <=> query_embedding)) >= min_similarity\n ORDER BY e.embedding <=> query_embedding\n LIMIT limit_count;\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- Memory search with namespace filtering\nCREATE OR REPLACE FUNCTION claude_flow.search_memory(\n query_embedding ruvector(384),\n namespace_filter VARCHAR(100) DEFAULT NULL,\n limit_count INT DEFAULT 10,\n min_similarity FLOAT DEFAULT 0.5\n)\nRETURNS TABLE (\n id UUID,\n key VARCHAR(255),\n value TEXT,\n namespace VARCHAR(100),\n similarity FLOAT,\n metadata JSONB\n) AS $$\nBEGIN\n RETURN QUERY\n SELECT\n m.id,\n m.key,\n m.value,\n m.namespace,\n (1 - (m.embedding <=> query_embedding))::FLOAT AS similarity,\n m.metadata\n FROM claude_flow.memory_entries m\n WHERE m.embedding IS NOT NULL\n AND (1 - (m.embedding <=> query_embedding)) >= min_similarity\n AND (namespace_filter IS NULL OR m.namespace = namespace_filter)\n AND (m.ttl IS NULL OR m.ttl > NOW())\n ORDER BY m.embedding <=> query_embedding\n LIMIT limit_count;\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- Pattern search with type filtering\nCREATE OR REPLACE FUNCTION claude_flow.search_patterns(\n query_embedding ruvector(384),\n pattern_type_filter VARCHAR(50) DEFAULT NULL,\n limit_count INT DEFAULT 10,\n min_confidence FLOAT DEFAULT 0.5\n)\nRETURNS TABLE (\n id UUID,\n name VARCHAR(255),\n description TEXT,\n similarity FLOAT,\n confidence FLOAT,\n metadata JSONB\n) AS $$\nBEGIN\n RETURN QUERY\n SELECT\n p.id,\n p.name,\n p.description,\n (1 - (p.embedding <=> query_embedding))::FLOAT AS similarity,\n p.confidence,\n p.metadata\n FROM claude_flow.patterns p\n WHERE p.embedding IS NOT NULL\n AND p.confidence >= min_confidence\n AND (pattern_type_filter IS NULL OR p.pattern_type = pattern_type_filter)\n ORDER BY p.embedding <=> query_embedding\n LIMIT limit_count;\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- Agent routing by expertise similarity\nCREATE OR REPLACE FUNCTION claude_flow.find_agents(\n query_embedding ruvector(384),\n agent_type_filter VARCHAR(50) DEFAULT NULL,\n limit_count INT DEFAULT 5\n)\nRETURNS TABLE (\n agent_id VARCHAR(255),\n agent_type VARCHAR(50),\n similarity FLOAT,\n state JSONB\n) AS $$\nBEGIN\n RETURN QUERY\n SELECT\n a.agent_id,\n a.agent_type,\n (1 - (a.memory_embedding <=> query_embedding))::FLOAT AS similarity,\n a.state\n FROM claude_flow.agents a\n WHERE a.memory_embedding IS NOT NULL\n AND (agent_type_filter IS NULL OR a.agent_type = agent_type_filter)\n ORDER BY a.memory_embedding <=> query_embedding\n LIMIT limit_count;\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- ============================================\n-- PART 5: HYPERBOLIC OPERATIONS\n-- ============================================\n\n-- Convert Euclidean to Poincar\u00E9 embedding\nCREATE OR REPLACE FUNCTION claude_flow.to_poincare(\n euclidean real[],\n curvature FLOAT DEFAULT -1.0\n)\nRETURNS real[] AS $$\nBEGIN\n RETURN ruvector_exp_map(ARRAY_FILL(0.0::real, ARRAY[array_length(euclidean, 1)]), euclidean, curvature);\nEND;\n$$ LANGUAGE plpgsql IMMUTABLE;\n\n-- Poincar\u00E9 distance (geodesic)\nCREATE OR REPLACE FUNCTION claude_flow.poincare_distance(\n x real[],\n y real[],\n curvature FLOAT DEFAULT -1.0\n)\nRETURNS FLOAT AS $$\nBEGIN\n RETURN ruvector_poincare_distance(x, y, curvature);\nEND;\n$$ LANGUAGE plpgsql IMMUTABLE;\n\n-- Hyperbolic search in Poincar\u00E9 ball\nCREATE OR REPLACE FUNCTION claude_flow.hyperbolic_search(\n query ruvector(384),\n limit_count INT DEFAULT 10,\n curvature FLOAT DEFAULT -1.0\n)\nRETURNS TABLE (\n id UUID,\n content TEXT,\n euclidean_dist FLOAT,\n hyperbolic_dist FLOAT,\n hierarchy_level INT,\n metadata JSONB\n) AS $$\nDECLARE\n query_arr real[];\n query_poincare real[];\nBEGIN\n -- Convert query to array and then to Poincar\u00E9\n SELECT array_agg(x::real ORDER BY ordinality) INTO query_arr\n FROM unnest(string_to_array(trim(both '[]' from query::text), ',')) WITH ORDINALITY AS t(x, ordinality);\n\n query_poincare := claude_flow.to_poincare(query_arr, curvature);\n\n RETURN QUERY\n SELECT\n he.id,\n he.content,\n (he.euclidean_embedding <-> query)::FLOAT AS euc_dist,\n COALESCE(ruvector_poincare_distance(he.poincare_embedding, query_poincare, curvature), 999.0)::FLOAT AS hyp_dist,\n he.hierarchy_level,\n he.metadata\n FROM claude_flow.hyperbolic_embeddings he\n WHERE he.euclidean_embedding IS NOT NULL\n ORDER BY he.euclidean_embedding <-> query\n LIMIT limit_count;\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- ============================================\n-- PART 6: UTILITY FUNCTIONS\n-- ============================================\n\n-- Get RuVector version info\nCREATE OR REPLACE FUNCTION claude_flow.ruvector_info()\nRETURNS TABLE (\n version TEXT,\n simd_info TEXT\n) AS $$\nBEGIN\n RETURN QUERY\n SELECT ruvector_version(), ruvector_simd_info();\nEND;\n$$ LANGUAGE plpgsql STABLE;\n\n-- Cosine similarity helper (converts cosine distance to similarity)\nCREATE OR REPLACE FUNCTION claude_flow.cosine_similarity(\n a ruvector,\n b ruvector\n)\nRETURNS FLOAT AS $$\nBEGIN\n RETURN (1 - (a <=> b))::FLOAT;\nEND;\n$$ LANGUAGE plpgsql IMMUTABLE;\n\n-- L2 distance helper\nCREATE OR REPLACE FUNCTION claude_flow.l2_distance(\n a ruvector,\n b ruvector\n)\nRETURNS FLOAT AS $$\nBEGIN\n RETURN (a <-> b)::FLOAT;\nEND;\n$$ LANGUAGE plpgsql IMMUTABLE;\n\n-- Upsert memory entry\nCREATE OR REPLACE FUNCTION claude_flow.upsert_memory(\n p_key VARCHAR(255),\n p_value TEXT,\n p_embedding ruvector(384) DEFAULT NULL,\n p_namespace VARCHAR(100) DEFAULT 'default',\n p_metadata JSONB DEFAULT '{}',\n p_ttl TIMESTAMPTZ DEFAULT NULL\n)\nRETURNS UUID AS $$\nDECLARE\n v_id UUID;\nBEGIN\n INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, ttl, updated_at)\n VALUES (p_key, p_value, p_embedding, p_namespace, p_metadata, p_ttl, NOW())\n ON CONFLICT (key, namespace) DO UPDATE SET\n value = EXCLUDED.value,\n embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),\n metadata = EXCLUDED.metadata,\n ttl = EXCLUDED.ttl,\n updated_at = NOW()\n RETURNING id INTO v_id;\n\n RETURN v_id;\nEND;\n$$ LANGUAGE plpgsql;\n\n-- ============================================\n-- COMPLETION\n-- ============================================\n\nDO $$\nDECLARE\n v_version TEXT;\n v_simd TEXT;\nBEGIN\n SELECT ruvector_version() INTO v_version;\n SELECT ruvector_simd_info() INTO v_simd;\n\n RAISE NOTICE '';\n RAISE NOTICE '============================================';\n RAISE NOTICE 'RuVector PostgreSQL Initialization Complete!';\n RAISE NOTICE '============================================';\n RAISE NOTICE '';\n RAISE NOTICE 'RuVector Version: %', v_version;\n RAISE NOTICE 'SIMD: %', v_simd;\n RAISE NOTICE '';\n RAISE NOTICE 'Schema: claude_flow';\n RAISE NOTICE 'Tables: embeddings, patterns, agents, trajectories,';\n RAISE NOTICE ' memory_entries, hyperbolic_embeddings,';\n RAISE NOTICE ' graph_nodes, graph_edges';\n RAISE NOTICE 'Indices: 6 HNSW indices + 3 B-tree indices';\n RAISE NOTICE '';\n RAISE NOTICE 'Key Functions:';\n RAISE NOTICE ' - claude_flow.search_similar(embedding, limit, min_sim)';\n RAISE NOTICE ' - claude_flow.search_memory(embedding, namespace, limit)';\n RAISE NOTICE ' - claude_flow.search_patterns(embedding, type, limit)';\n RAISE NOTICE ' - claude_flow.find_agents(embedding, type, limit)';\n RAISE NOTICE ' - claude_flow.hyperbolic_search(embedding, limit, curvature)';\n RAISE NOTICE ' - claude_flow.upsert_memory(key, value, embedding, namespace)';\n RAISE NOTICE '';\n RAISE NOTICE 'Operators: <=> (cosine), <-> (L2), <#> (neg inner product)';\n RAISE NOTICE '';\nEND $$;\n";
552
59
  /**
553
60
  * README template
554
61
  */
555
- const README_TEMPLATE = `# RuVector PostgreSQL Setup
556
-
557
- This directory contains the Docker configuration for RuVector PostgreSQL with KynjalFlow V3.
558
-
559
- ## Quick Start
560
-
561
- \`\`\`bash
562
- # Start the container
563
- docker-compose up -d
564
-
565
- # Verify it's running
566
- docker-compose ps
567
-
568
- # Check RuVector version
569
- docker exec ruvector-postgres psql -U claude -d claude_flow -c "SELECT ruvector_version();"
570
- \`\`\`
571
-
572
- ## Connection Details
573
-
574
- | Setting | Value |
575
- |---------|-------|
576
- | Host | localhost |
577
- | Port | 5432 |
578
- | Database | claude_flow |
579
- | Username | claude |
580
- | Password | claude-flow-test |
581
- | Schema | claude_flow |
582
-
583
- ## RuVector Syntax
584
-
585
- ### Extension Installation
586
- \`\`\`sql
587
- -- IMPORTANT: Requires explicit version
588
- CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
589
- \`\`\`
590
-
591
- ### Vector Type
592
- \`\`\`sql
593
- -- Use ruvector(384), NOT vector(384)
594
- CREATE TABLE embeddings (
595
- id UUID PRIMARY KEY,
596
- embedding ruvector(384)
597
- );
598
- \`\`\`
599
-
600
- ### Distance Operators
601
- | Operator | Description |
602
- |----------|-------------|
603
- | \`<=>\` | Cosine distance |
604
- | \`<->\` | L2 (Euclidean) distance |
605
- | \`<#>\` | Negative inner product |
606
-
607
- ### HNSW Index
608
- \`\`\`sql
609
- CREATE INDEX idx_embeddings_hnsw
610
- ON embeddings
611
- USING hnsw (embedding ruvector_cosine_ops)
612
- WITH (m = 16, ef_construction = 100);
613
- \`\`\`
614
-
615
- ## Import from sql.js/JSON
616
-
617
- \`\`\`bash
618
- # Export current KynjalFlow memory
619
- npx claude-flow memory list --format json > memory-export.json
620
-
621
- # Import to RuVector PostgreSQL
622
- npx claude-flow ruvector import --input memory-export.json
623
- \`\`\`
624
-
625
- ## pgAdmin (Optional)
626
-
627
- \`\`\`bash
628
- docker-compose --profile gui up -d
629
- \`\`\`
630
-
631
- Access at: http://localhost:5050
632
- - Email: admin@claude-flow.local
633
- - Password: admin
634
-
635
- ## Troubleshooting
636
-
637
- ### Extension creation fails
638
- Use explicit version: \`CREATE EXTENSION ruvector VERSION '0.1.0';\`
639
-
640
- ### Container won't start
641
- \`\`\`bash
642
- docker-compose logs postgres
643
- docker-compose down -v
644
- docker-compose up -d
645
- \`\`\`
646
-
647
- ## Learn More
648
- - [RuVector Docker Hub](https://hub.docker.com/r/KingJune28/ruvector-postgres)
649
- - [KynjalFlow Documentation](https://github.com/KingJune28/claude-flow)
650
- `;
62
+ var README_TEMPLATE = "# RuVector PostgreSQL Setup\n\nThis directory contains the Docker configuration for RuVector PostgreSQL with Claude-Flow V3.\n\n## Quick Start\n\n```bash\n# Start the container\ndocker-compose up -d\n\n# Verify it's running\ndocker-compose ps\n\n# Check RuVector version\ndocker exec ruvector-postgres psql -U claude -d claude_flow -c \"SELECT ruvector_version();\"\n```\n\n## Connection Details\n\n| Setting | Value |\n|---------|-------|\n| Host | localhost |\n| Port | 5432 |\n| Database | claude_flow |\n| Username | claude |\n| Password | claude-flow-test |\n| Schema | claude_flow |\n\n## RuVector Syntax\n\n### Extension Installation\n```sql\n-- IMPORTANT: Requires explicit version\nCREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';\n```\n\n### Vector Type\n```sql\n-- Use ruvector(384), NOT vector(384)\nCREATE TABLE embeddings (\n id UUID PRIMARY KEY,\n embedding ruvector(384)\n);\n```\n\n### Distance Operators\n| Operator | Description |\n|----------|-------------|\n| `<=>` | Cosine distance |\n| `<->` | L2 (Euclidean) distance |\n| `<#>` | Negative inner product |\n\n### HNSW Index\n```sql\nCREATE INDEX idx_embeddings_hnsw\nON embeddings\nUSING hnsw (embedding ruvector_cosine_ops)\nWITH (m = 16, ef_construction = 100);\n```\n\n## Import from sql.js/JSON\n\n```bash\n# Export current Claude-Flow memory\nnpx claude-flow memory list --format json > memory-export.json\n\n# Import to RuVector PostgreSQL\nnpx claude-flow ruvector import --input memory-export.json\n```\n\n## pgAdmin (Optional)\n\n```bash\ndocker-compose --profile gui up -d\n```\n\nAccess at: http://localhost:5050\n- Email: admin@claude-flow.local\n- Password: admin\n\n## Troubleshooting\n\n### Extension creation fails\nUse explicit version: `CREATE EXTENSION ruvector VERSION '0.1.0';`\n\n### Container won't start\n```bash\ndocker-compose logs postgres\ndocker-compose down -v\ndocker-compose up -d\n```\n\n## Learn More\n- [RuVector Docker Hub](https://hub.docker.com/r/ruvnet/ruvector-postgres)\n- [Claude-Flow Documentation](https://github.com/ruvnet/claude-flow)\n";
651
63
  /**
652
64
  * RuVector Setup command - outputs Docker files and SQL
653
65
  */
654
- export const setupCommand = {
66
+ export var setupCommand = {
655
67
  name: 'setup',
656
68
  description: 'Output Docker files and SQL for RuVector PostgreSQL setup',
657
69
  aliases: ['scaffold', 'docker'],
@@ -661,21 +73,21 @@ export const setupCommand = {
661
73
  short: 'o',
662
74
  description: 'Output directory (default: ./ruvector-postgres)',
663
75
  type: 'string',
664
- default: './ruvector-postgres',
76
+ "default": './ruvector-postgres'
665
77
  },
666
78
  {
667
79
  name: 'print',
668
80
  short: 'p',
669
81
  description: 'Print to stdout instead of writing files',
670
82
  type: 'boolean',
671
- default: false,
83
+ "default": false
672
84
  },
673
85
  {
674
86
  name: 'force',
675
87
  short: 'f',
676
88
  description: 'Overwrite existing files',
677
89
  type: 'boolean',
678
- default: false,
90
+ "default": false
679
91
  },
680
92
  ],
681
93
  examples: [
@@ -684,82 +96,84 @@ export const setupCommand = {
684
96
  { command: 'claude-flow ruvector setup --print', description: 'Print files to stdout' },
685
97
  { command: 'claude-flow ruvector setup --force', description: 'Overwrite existing files' },
686
98
  ],
687
- action: async (ctx) => {
688
- const outputDir = ctx.flags.output || './ruvector-postgres';
689
- const printOnly = ctx.flags.print;
690
- const force = ctx.flags.force;
691
- output.writeln();
692
- output.writeln(output.bold('RuVector PostgreSQL Setup'));
693
- output.writeln(output.dim('='.repeat(50)));
694
- output.writeln();
695
- if (printOnly) {
696
- // Print to stdout
697
- output.writeln(output.bold('=== docker-compose.yml ==='));
698
- output.writeln();
699
- output.writeln(DOCKER_COMPOSE_TEMPLATE);
700
- output.writeln();
701
- output.writeln(output.bold('=== scripts/init-db.sql ==='));
702
- output.writeln();
703
- output.writeln(INIT_SQL_TEMPLATE);
99
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
100
+ var outputDir, printOnly, force, scriptsDir, files, dockerComposePath, initSqlPath, readmePath, errorMessage;
101
+ return __generator(this, function (_a) {
102
+ outputDir = ctx.flags.output || './ruvector-postgres';
103
+ printOnly = ctx.flags.print;
104
+ force = ctx.flags.force;
704
105
  output.writeln();
705
- output.writeln(output.bold('=== README.md ==='));
106
+ output.writeln(output.bold('RuVector PostgreSQL Setup'));
107
+ output.writeln(output.dim('='.repeat(50)));
706
108
  output.writeln();
707
- output.writeln(README_TEMPLATE);
708
- return { success: true };
709
- }
710
- // Create directory structure
711
- const scriptsDir = path.join(outputDir, 'scripts');
712
- try {
713
- // Check if directory exists
714
- if (fs.existsSync(outputDir) && !force) {
715
- const files = fs.readdirSync(outputDir);
716
- if (files.length > 0) {
717
- output.printWarning(`Directory ${outputDir} already exists and is not empty.`);
718
- output.printInfo('Use --force to overwrite existing files.');
719
- return { success: false, message: 'Directory not empty' };
109
+ if (printOnly) {
110
+ // Print to stdout
111
+ output.writeln(output.bold('=== docker-compose.yml ==='));
112
+ output.writeln();
113
+ output.writeln(DOCKER_COMPOSE_TEMPLATE);
114
+ output.writeln();
115
+ output.writeln(output.bold('=== scripts/init-db.sql ==='));
116
+ output.writeln();
117
+ output.writeln(INIT_SQL_TEMPLATE);
118
+ output.writeln();
119
+ output.writeln(output.bold('=== README.md ==='));
120
+ output.writeln();
121
+ output.writeln(README_TEMPLATE);
122
+ return [2 /*return*/, { success: true }];
123
+ }
124
+ scriptsDir = path.join(outputDir, 'scripts');
125
+ try {
126
+ // Check if directory exists
127
+ if (fs.existsSync(outputDir) && !force) {
128
+ files = fs.readdirSync(outputDir);
129
+ if (files.length > 0) {
130
+ output.printWarning("Directory " + outputDir + " already exists and is not empty.");
131
+ output.printInfo('Use --force to overwrite existing files.');
132
+ return [2 /*return*/, { success: false, message: 'Directory not empty' }];
133
+ }
720
134
  }
135
+ // Create directories
136
+ output.printInfo("Creating directory: " + outputDir);
137
+ fs.mkdirSync(outputDir, { recursive: true });
138
+ fs.mkdirSync(scriptsDir, { recursive: true });
139
+ dockerComposePath = path.join(outputDir, 'docker-compose.yml');
140
+ initSqlPath = path.join(scriptsDir, 'init-db.sql');
141
+ readmePath = path.join(outputDir, 'README.md');
142
+ output.printInfo("Writing: " + dockerComposePath);
143
+ fs.writeFileSync(dockerComposePath, DOCKER_COMPOSE_TEMPLATE);
144
+ output.printInfo("Writing: " + initSqlPath);
145
+ fs.writeFileSync(initSqlPath, INIT_SQL_TEMPLATE);
146
+ output.printInfo("Writing: " + readmePath);
147
+ fs.writeFileSync(readmePath, README_TEMPLATE);
148
+ output.writeln();
149
+ output.printSuccess('RuVector PostgreSQL setup files created!');
150
+ output.writeln();
151
+ output.printBox([
152
+ 'Files created:',
153
+ '',
154
+ " " + outputDir + "/",
155
+ ' ├── docker-compose.yml',
156
+ ' ├── README.md',
157
+ ' └── scripts/',
158
+ ' └── init-db.sql',
159
+ '',
160
+ 'Next steps:',
161
+ '',
162
+ " cd " + outputDir,
163
+ ' docker-compose up -d',
164
+ ' docker exec ruvector-postgres psql -U claude -d claude_flow -c "SELECT ruvector_version();"',
165
+ ].join('\n'), 'Setup Complete');
166
+ output.writeln();
167
+ return [2 /*return*/, { success: true }];
721
168
  }
722
- // Create directories
723
- output.printInfo(`Creating directory: ${outputDir}`);
724
- fs.mkdirSync(outputDir, { recursive: true });
725
- fs.mkdirSync(scriptsDir, { recursive: true });
726
- // Write files
727
- const dockerComposePath = path.join(outputDir, 'docker-compose.yml');
728
- const initSqlPath = path.join(scriptsDir, 'init-db.sql');
729
- const readmePath = path.join(outputDir, 'README.md');
730
- output.printInfo(`Writing: ${dockerComposePath}`);
731
- fs.writeFileSync(dockerComposePath, DOCKER_COMPOSE_TEMPLATE);
732
- output.printInfo(`Writing: ${initSqlPath}`);
733
- fs.writeFileSync(initSqlPath, INIT_SQL_TEMPLATE);
734
- output.printInfo(`Writing: ${readmePath}`);
735
- fs.writeFileSync(readmePath, README_TEMPLATE);
736
- output.writeln();
737
- output.printSuccess('RuVector PostgreSQL setup files created!');
738
- output.writeln();
739
- output.printBox([
740
- 'Files created:',
741
- '',
742
- ` ${outputDir}/`,
743
- ' ├── docker-compose.yml',
744
- ' ├── README.md',
745
- ' └── scripts/',
746
- ' └── init-db.sql',
747
- '',
748
- 'Next steps:',
749
- '',
750
- ` cd ${outputDir}`,
751
- ' docker-compose up -d',
752
- ' docker exec ruvector-postgres psql -U claude -d claude_flow -c "SELECT ruvector_version();"',
753
- ].join('\n'), 'Setup Complete');
754
- output.writeln();
755
- return { success: true };
756
- }
757
- catch (error) {
758
- const errorMessage = error instanceof Error ? error.message : String(error);
759
- output.printError(`Failed to create setup files: ${errorMessage}`);
760
- return { success: false, message: errorMessage };
761
- }
762
- },
169
+ catch (error) {
170
+ errorMessage = error instanceof Error ? error.message : String(error);
171
+ output.printError("Failed to create setup files: " + errorMessage);
172
+ return [2 /*return*/, { success: false, message: errorMessage }];
173
+ }
174
+ return [2 /*return*/];
175
+ });
176
+ }); }
763
177
  };
764
178
  export default setupCommand;
765
179
  //# sourceMappingURL=setup.js.map