@claude-flow/cli 3.7.0-alpha.1 → 3.7.0-alpha.10

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 (476) hide show
  1. package/.claude/agents/analysis/analyze-code-quality.md +178 -178
  2. package/.claude/agents/analysis/code-analyzer.md +209 -209
  3. package/.claude/agents/analysis/code-review/analyze-code-quality.md +178 -178
  4. package/.claude/agents/architecture/arch-system-design.md +156 -156
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +154 -154
  6. package/.claude/agents/browser/browser-agent.yaml +182 -182
  7. package/.claude/agents/consensus/byzantine-coordinator.md +62 -62
  8. package/.claude/agents/consensus/crdt-synchronizer.md +996 -996
  9. package/.claude/agents/consensus/gossip-coordinator.md +62 -62
  10. package/.claude/agents/consensus/performance-benchmarker.md +850 -850
  11. package/.claude/agents/consensus/quorum-manager.md +822 -822
  12. package/.claude/agents/consensus/raft-manager.md +62 -62
  13. package/.claude/agents/consensus/security-manager.md +621 -621
  14. package/.claude/agents/core/coder.md +452 -452
  15. package/.claude/agents/core/planner.md +374 -374
  16. package/.claude/agents/core/researcher.md +368 -368
  17. package/.claude/agents/core/reviewer.md +519 -519
  18. package/.claude/agents/core/tester.md +511 -511
  19. package/.claude/agents/custom/test-long-runner.md +44 -44
  20. package/.claude/agents/data/data-ml-model.md +444 -444
  21. package/.claude/agents/data/ml/data-ml-model.md +192 -192
  22. package/.claude/agents/development/backend/dev-backend-api.md +141 -141
  23. package/.claude/agents/development/dev-backend-api.md +344 -344
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +163 -163
  25. package/.claude/agents/devops/ops-cicd-github.md +164 -164
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +173 -173
  27. package/.claude/agents/documentation/docs-api-openapi.md +354 -354
  28. package/.claude/agents/flow-nexus/app-store.md +87 -87
  29. package/.claude/agents/flow-nexus/authentication.md +68 -68
  30. package/.claude/agents/flow-nexus/challenges.md +80 -80
  31. package/.claude/agents/flow-nexus/neural-network.md +87 -87
  32. package/.claude/agents/flow-nexus/payments.md +82 -82
  33. package/.claude/agents/flow-nexus/sandbox.md +75 -75
  34. package/.claude/agents/flow-nexus/swarm.md +75 -75
  35. package/.claude/agents/flow-nexus/user-tools.md +95 -95
  36. package/.claude/agents/flow-nexus/workflow.md +83 -83
  37. package/.claude/agents/github/code-review-swarm.md +377 -377
  38. package/.claude/agents/github/github-modes.md +172 -172
  39. package/.claude/agents/github/issue-tracker.md +575 -575
  40. package/.claude/agents/github/multi-repo-swarm.md +552 -552
  41. package/.claude/agents/github/pr-manager.md +437 -437
  42. package/.claude/agents/github/project-board-sync.md +508 -508
  43. package/.claude/agents/github/release-manager.md +604 -604
  44. package/.claude/agents/github/release-swarm.md +582 -582
  45. package/.claude/agents/github/repo-architect.md +397 -397
  46. package/.claude/agents/github/swarm-issue.md +572 -572
  47. package/.claude/agents/github/swarm-pr.md +427 -427
  48. package/.claude/agents/github/sync-coordinator.md +451 -451
  49. package/.claude/agents/github/workflow-automation.md +902 -902
  50. package/.claude/agents/goal/agent.md +815 -815
  51. package/.claude/agents/goal/goal-planner.md +72 -72
  52. package/.claude/agents/optimization/benchmark-suite.md +664 -664
  53. package/.claude/agents/optimization/load-balancer.md +430 -430
  54. package/.claude/agents/optimization/performance-monitor.md +671 -671
  55. package/.claude/agents/optimization/resource-allocator.md +673 -673
  56. package/.claude/agents/optimization/topology-optimizer.md +807 -807
  57. package/.claude/agents/payments/agentic-payments.md +126 -126
  58. package/.claude/agents/sona/sona-learning-optimizer.md +74 -74
  59. package/.claude/agents/sparc/architecture.md +698 -698
  60. package/.claude/agents/sparc/pseudocode.md +519 -519
  61. package/.claude/agents/sparc/refinement.md +801 -801
  62. package/.claude/agents/sparc/specification.md +477 -477
  63. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +224 -224
  64. package/.claude/agents/specialized/spec-mobile-react-native.md +226 -226
  65. package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
  66. package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
  67. package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
  68. package/.claude/agents/sublinear/performance-optimizer.md +367 -367
  69. package/.claude/agents/sublinear/trading-predictor.md +245 -245
  70. package/.claude/agents/swarm/adaptive-coordinator.md +1126 -1126
  71. package/.claude/agents/swarm/hierarchical-coordinator.md +709 -709
  72. package/.claude/agents/swarm/mesh-coordinator.md +962 -962
  73. package/.claude/agents/templates/automation-smart-agent.md +204 -204
  74. package/.claude/agents/templates/base-template-generator.md +289 -289
  75. package/.claude/agents/templates/coordinator-swarm-init.md +89 -89
  76. package/.claude/agents/templates/github-pr-manager.md +176 -176
  77. package/.claude/agents/templates/implementer-sparc-coder.md +258 -258
  78. package/.claude/agents/templates/memory-coordinator.md +186 -186
  79. package/.claude/agents/templates/orchestrator-task.md +138 -138
  80. package/.claude/agents/templates/performance-analyzer.md +198 -198
  81. package/.claude/agents/templates/sparc-coordinator.md +513 -513
  82. package/.claude/agents/testing/production-validator.md +394 -394
  83. package/.claude/agents/testing/tdd-london-swarm.md +243 -243
  84. package/.claude/agents/v3/adr-architect.md +184 -184
  85. package/.claude/agents/v3/aidefence-guardian.md +282 -282
  86. package/.claude/agents/v3/claims-authorizer.md +208 -208
  87. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -993
  88. package/.claude/agents/v3/ddd-domain-expert.md +220 -220
  89. package/.claude/agents/v3/injection-analyst.md +236 -236
  90. package/.claude/agents/v3/memory-specialist.md +995 -995
  91. package/.claude/agents/v3/performance-engineer.md +1233 -1233
  92. package/.claude/agents/v3/pii-detector.md +151 -151
  93. package/.claude/agents/v3/reasoningbank-learner.md +213 -213
  94. package/.claude/agents/v3/security-architect-aidefence.md +410 -410
  95. package/.claude/agents/v3/security-architect.md +867 -867
  96. package/.claude/agents/v3/security-auditor.md +771 -771
  97. package/.claude/agents/v3/sparc-orchestrator.md +182 -182
  98. package/.claude/agents/v3/swarm-memory-manager.md +157 -157
  99. package/.claude/agents/v3/v3-integration-architect.md +205 -205
  100. package/.claude/commands/agents/README.md +50 -50
  101. package/.claude/commands/agents/agent-capabilities.md +140 -140
  102. package/.claude/commands/agents/agent-coordination.md +28 -28
  103. package/.claude/commands/agents/agent-spawning.md +28 -28
  104. package/.claude/commands/agents/agent-types.md +216 -216
  105. package/.claude/commands/agents/health.md +139 -139
  106. package/.claude/commands/agents/list.md +100 -100
  107. package/.claude/commands/agents/logs.md +130 -130
  108. package/.claude/commands/agents/metrics.md +122 -122
  109. package/.claude/commands/agents/pool.md +127 -127
  110. package/.claude/commands/agents/spawn.md +140 -140
  111. package/.claude/commands/agents/status.md +115 -115
  112. package/.claude/commands/agents/stop.md +102 -102
  113. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
  114. package/.claude/commands/analysis/README.md +9 -9
  115. package/.claude/commands/analysis/bottleneck-detect.md +162 -162
  116. package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
  117. package/.claude/commands/analysis/performance-report.md +25 -25
  118. package/.claude/commands/analysis/token-efficiency.md +44 -44
  119. package/.claude/commands/analysis/token-usage.md +25 -25
  120. package/.claude/commands/automation/README.md +9 -9
  121. package/.claude/commands/automation/auto-agent.md +122 -122
  122. package/.claude/commands/automation/self-healing.md +105 -105
  123. package/.claude/commands/automation/session-memory.md +89 -89
  124. package/.claude/commands/automation/smart-agents.md +72 -72
  125. package/.claude/commands/automation/smart-spawn.md +25 -25
  126. package/.claude/commands/automation/workflow-select.md +25 -25
  127. package/.claude/commands/claude-flow-help.md +103 -103
  128. package/.claude/commands/claude-flow-memory.md +107 -107
  129. package/.claude/commands/claude-flow-swarm.md +205 -205
  130. package/.claude/commands/coordination/README.md +9 -9
  131. package/.claude/commands/coordination/agent-spawn.md +25 -25
  132. package/.claude/commands/coordination/init.md +44 -44
  133. package/.claude/commands/coordination/orchestrate.md +43 -43
  134. package/.claude/commands/coordination/spawn.md +45 -45
  135. package/.claude/commands/coordination/swarm-init.md +85 -85
  136. package/.claude/commands/coordination/task-orchestrate.md +25 -25
  137. package/.claude/commands/flow-nexus/app-store.md +123 -123
  138. package/.claude/commands/flow-nexus/challenges.md +119 -119
  139. package/.claude/commands/flow-nexus/login-registration.md +64 -64
  140. package/.claude/commands/flow-nexus/neural-network.md +133 -133
  141. package/.claude/commands/flow-nexus/payments.md +115 -115
  142. package/.claude/commands/flow-nexus/sandbox.md +82 -82
  143. package/.claude/commands/flow-nexus/swarm.md +86 -86
  144. package/.claude/commands/flow-nexus/user-tools.md +151 -151
  145. package/.claude/commands/flow-nexus/workflow.md +114 -114
  146. package/.claude/commands/github/README.md +11 -11
  147. package/.claude/commands/github/code-review-swarm.md +513 -513
  148. package/.claude/commands/github/code-review.md +25 -25
  149. package/.claude/commands/github/github-modes.md +146 -146
  150. package/.claude/commands/github/github-swarm.md +121 -121
  151. package/.claude/commands/github/issue-tracker.md +291 -291
  152. package/.claude/commands/github/issue-triage.md +25 -25
  153. package/.claude/commands/github/multi-repo-swarm.md +518 -518
  154. package/.claude/commands/github/pr-enhance.md +26 -26
  155. package/.claude/commands/github/pr-manager.md +169 -169
  156. package/.claude/commands/github/project-board-sync.md +470 -470
  157. package/.claude/commands/github/release-manager.md +337 -337
  158. package/.claude/commands/github/release-swarm.md +543 -543
  159. package/.claude/commands/github/repo-analyze.md +25 -25
  160. package/.claude/commands/github/repo-architect.md +366 -366
  161. package/.claude/commands/github/swarm-issue.md +481 -481
  162. package/.claude/commands/github/swarm-pr.md +284 -284
  163. package/.claude/commands/github/sync-coordinator.md +300 -300
  164. package/.claude/commands/github/workflow-automation.md +441 -441
  165. package/.claude/commands/hive-mind/README.md +17 -17
  166. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
  167. package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
  168. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
  169. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
  170. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
  171. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
  172. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
  173. package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
  174. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
  175. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
  176. package/.claude/commands/hive-mind/hive-mind.md +27 -27
  177. package/.claude/commands/hooks/README.md +11 -11
  178. package/.claude/commands/hooks/overview.md +57 -57
  179. package/.claude/commands/hooks/post-edit.md +117 -117
  180. package/.claude/commands/hooks/post-task.md +112 -112
  181. package/.claude/commands/hooks/pre-edit.md +113 -113
  182. package/.claude/commands/hooks/pre-task.md +111 -111
  183. package/.claude/commands/hooks/session-end.md +118 -118
  184. package/.claude/commands/hooks/setup.md +102 -102
  185. package/.claude/commands/memory/README.md +9 -9
  186. package/.claude/commands/memory/memory-persist.md +25 -25
  187. package/.claude/commands/memory/memory-search.md +25 -25
  188. package/.claude/commands/memory/memory-usage.md +25 -25
  189. package/.claude/commands/memory/neural.md +47 -47
  190. package/.claude/commands/monitoring/README.md +9 -9
  191. package/.claude/commands/monitoring/agent-metrics.md +25 -25
  192. package/.claude/commands/monitoring/agents.md +44 -44
  193. package/.claude/commands/monitoring/real-time-view.md +25 -25
  194. package/.claude/commands/monitoring/status.md +46 -46
  195. package/.claude/commands/monitoring/swarm-monitor.md +25 -25
  196. package/.claude/commands/optimization/README.md +9 -9
  197. package/.claude/commands/optimization/auto-topology.md +61 -61
  198. package/.claude/commands/optimization/cache-manage.md +25 -25
  199. package/.claude/commands/optimization/parallel-execute.md +25 -25
  200. package/.claude/commands/optimization/parallel-execution.md +49 -49
  201. package/.claude/commands/optimization/topology-optimize.md +25 -25
  202. package/.claude/commands/pair/README.md +260 -260
  203. package/.claude/commands/pair/commands.md +545 -545
  204. package/.claude/commands/pair/config.md +509 -509
  205. package/.claude/commands/pair/examples.md +511 -511
  206. package/.claude/commands/pair/modes.md +347 -347
  207. package/.claude/commands/pair/session.md +406 -406
  208. package/.claude/commands/pair/start.md +208 -208
  209. package/.claude/commands/sparc/analyzer.md +51 -51
  210. package/.claude/commands/sparc/architect.md +53 -53
  211. package/.claude/commands/sparc/ask.md +97 -97
  212. package/.claude/commands/sparc/batch-executor.md +54 -54
  213. package/.claude/commands/sparc/code.md +89 -89
  214. package/.claude/commands/sparc/coder.md +54 -54
  215. package/.claude/commands/sparc/debug.md +83 -83
  216. package/.claude/commands/sparc/debugger.md +54 -54
  217. package/.claude/commands/sparc/designer.md +53 -53
  218. package/.claude/commands/sparc/devops.md +109 -109
  219. package/.claude/commands/sparc/docs-writer.md +80 -80
  220. package/.claude/commands/sparc/documenter.md +54 -54
  221. package/.claude/commands/sparc/innovator.md +54 -54
  222. package/.claude/commands/sparc/integration.md +83 -83
  223. package/.claude/commands/sparc/mcp.md +117 -117
  224. package/.claude/commands/sparc/memory-manager.md +54 -54
  225. package/.claude/commands/sparc/optimizer.md +54 -54
  226. package/.claude/commands/sparc/orchestrator.md +131 -131
  227. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  228. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  229. package/.claude/commands/sparc/researcher.md +54 -54
  230. package/.claude/commands/sparc/reviewer.md +54 -54
  231. package/.claude/commands/sparc/security-review.md +80 -80
  232. package/.claude/commands/sparc/sparc-modes.md +174 -174
  233. package/.claude/commands/sparc/sparc.md +111 -111
  234. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  235. package/.claude/commands/sparc/supabase-admin.md +348 -348
  236. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  237. package/.claude/commands/sparc/tdd.md +54 -54
  238. package/.claude/commands/sparc/tester.md +54 -54
  239. package/.claude/commands/sparc/tutorial.md +79 -79
  240. package/.claude/commands/sparc/workflow-manager.md +54 -54
  241. package/.claude/commands/sparc.md +166 -166
  242. package/.claude/commands/stream-chain/pipeline.md +120 -120
  243. package/.claude/commands/stream-chain/run.md +69 -69
  244. package/.claude/commands/swarm/README.md +15 -15
  245. package/.claude/commands/swarm/analysis.md +95 -95
  246. package/.claude/commands/swarm/development.md +96 -96
  247. package/.claude/commands/swarm/examples.md +168 -168
  248. package/.claude/commands/swarm/maintenance.md +102 -102
  249. package/.claude/commands/swarm/optimization.md +117 -117
  250. package/.claude/commands/swarm/research.md +136 -136
  251. package/.claude/commands/swarm/swarm-analysis.md +8 -8
  252. package/.claude/commands/swarm/swarm-background.md +8 -8
  253. package/.claude/commands/swarm/swarm-init.md +19 -19
  254. package/.claude/commands/swarm/swarm-modes.md +8 -8
  255. package/.claude/commands/swarm/swarm-monitor.md +8 -8
  256. package/.claude/commands/swarm/swarm-spawn.md +19 -19
  257. package/.claude/commands/swarm/swarm-status.md +8 -8
  258. package/.claude/commands/swarm/swarm-strategies.md +8 -8
  259. package/.claude/commands/swarm/swarm.md +87 -87
  260. package/.claude/commands/swarm/testing.md +131 -131
  261. package/.claude/commands/training/README.md +9 -9
  262. package/.claude/commands/training/model-update.md +25 -25
  263. package/.claude/commands/training/neural-patterns.md +107 -107
  264. package/.claude/commands/training/neural-train.md +75 -75
  265. package/.claude/commands/training/pattern-learn.md +25 -25
  266. package/.claude/commands/training/specialization.md +62 -62
  267. package/.claude/commands/truth/start.md +142 -142
  268. package/.claude/commands/verify/check.md +49 -49
  269. package/.claude/commands/verify/start.md +127 -127
  270. package/.claude/commands/workflows/README.md +9 -9
  271. package/.claude/commands/workflows/development.md +77 -77
  272. package/.claude/commands/workflows/research.md +62 -62
  273. package/.claude/commands/workflows/workflow-create.md +25 -25
  274. package/.claude/commands/workflows/workflow-execute.md +25 -25
  275. package/.claude/commands/workflows/workflow-export.md +25 -25
  276. package/.claude/helpers/README.md +96 -96
  277. package/.claude/helpers/adr-compliance.sh +186 -186
  278. package/.claude/helpers/auto-commit.sh +178 -178
  279. package/.claude/helpers/auto-memory-hook.mjs +368 -368
  280. package/.claude/helpers/checkpoint-manager.sh +251 -251
  281. package/.claude/helpers/daemon-manager.sh +252 -252
  282. package/.claude/helpers/ddd-tracker.sh +144 -144
  283. package/.claude/helpers/github-safe.js +121 -121
  284. package/.claude/helpers/github-setup.sh +28 -28
  285. package/.claude/helpers/guidance-hook.sh +13 -13
  286. package/.claude/helpers/guidance-hooks.sh +102 -102
  287. package/.claude/helpers/health-monitor.sh +108 -108
  288. package/.claude/helpers/hook-handler.cjs +278 -278
  289. package/.claude/helpers/intelligence.cjs +1031 -1031
  290. package/.claude/helpers/learning-hooks.sh +329 -329
  291. package/.claude/helpers/learning-optimizer.sh +127 -127
  292. package/.claude/helpers/learning-service.mjs +1144 -1144
  293. package/.claude/helpers/memory.js +83 -83
  294. package/.claude/helpers/metrics-db.mjs +488 -488
  295. package/.claude/helpers/pattern-consolidator.sh +86 -86
  296. package/.claude/helpers/perf-worker.sh +160 -160
  297. package/.claude/helpers/post-commit +16 -16
  298. package/.claude/helpers/pre-commit +26 -26
  299. package/.claude/helpers/quick-start.sh +19 -19
  300. package/.claude/helpers/router.js +66 -66
  301. package/.claude/helpers/security-scanner.sh +127 -127
  302. package/.claude/helpers/session.js +135 -135
  303. package/.claude/helpers/setup-mcp.sh +18 -18
  304. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  305. package/.claude/helpers/statusline-hook.sh +21 -21
  306. package/.claude/helpers/statusline.cjs +575 -575
  307. package/.claude/helpers/statusline.js +321 -321
  308. package/.claude/helpers/swarm-comms.sh +353 -353
  309. package/.claude/helpers/swarm-hooks.sh +761 -761
  310. package/.claude/helpers/swarm-monitor.sh +210 -210
  311. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  312. package/.claude/helpers/update-v3-progress.sh +165 -165
  313. package/.claude/helpers/v3-quick-status.sh +57 -57
  314. package/.claude/helpers/v3.sh +110 -110
  315. package/.claude/helpers/validate-v3-config.sh +215 -215
  316. package/.claude/helpers/worker-manager.sh +170 -170
  317. package/.claude/settings.json +182 -182
  318. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  319. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  320. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  321. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  322. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  323. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  324. package/.claude/skills/aidefence-scan.md +151 -151
  325. package/.claude/skills/aidefence.yaml +297 -297
  326. package/.claude/skills/browser/SKILL.md +204 -204
  327. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -738
  328. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -1157
  329. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -610
  330. package/.claude/skills/github-code-review/SKILL.md +1140 -1140
  331. package/.claude/skills/github-multi-repo/SKILL.md +874 -874
  332. package/.claude/skills/github-project-management/SKILL.md +1290 -1277
  333. package/.claude/skills/github-release-management/SKILL.md +1081 -1081
  334. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
  335. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
  336. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  337. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  338. package/.claude/skills/performance-analysis/SKILL.md +563 -563
  339. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  340. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  341. package/.claude/skills/secure-review.md +181 -181
  342. package/.claude/skills/skill-builder/SKILL.md +910 -910
  343. package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
  344. package/.claude/skills/stream-chain/SKILL.md +563 -563
  345. package/.claude/skills/swarm-advanced/SKILL.md +973 -973
  346. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  347. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  348. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  349. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  350. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  351. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  352. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  353. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  354. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  355. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  356. package/.claude/skills/verification-quality/SKILL.md +649 -649
  357. package/.claude/skills/worker-benchmarks/skill.md +135 -135
  358. package/.claude/skills/worker-integration/skill.md +154 -154
  359. package/README.md +393 -391
  360. package/bin/cli.js +220 -220
  361. package/bin/mcp-server.js +224 -224
  362. package/bin/preinstall.cjs +2 -2
  363. package/dist/src/commands/agent-wasm.js +2 -2
  364. package/dist/src/commands/agent-wasm.js.map +1 -1
  365. package/dist/src/commands/completions.js +409 -409
  366. package/dist/src/commands/daemon.d.ts.map +1 -1
  367. package/dist/src/commands/daemon.js +19 -3
  368. package/dist/src/commands/daemon.js.map +1 -1
  369. package/dist/src/commands/doctor.d.ts.map +1 -1
  370. package/dist/src/commands/doctor.js +105 -23
  371. package/dist/src/commands/doctor.js.map +1 -1
  372. package/dist/src/commands/embeddings.js +26 -26
  373. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  374. package/dist/src/commands/hive-mind.js +122 -104
  375. package/dist/src/commands/hive-mind.js.map +1 -1
  376. package/dist/src/commands/hooks.d.ts.map +1 -1
  377. package/dist/src/commands/hooks.js +34 -21
  378. package/dist/src/commands/hooks.js.map +1 -1
  379. package/dist/src/commands/memory.d.ts.map +1 -1
  380. package/dist/src/commands/memory.js +68 -0
  381. package/dist/src/commands/memory.js.map +1 -1
  382. package/dist/src/commands/ruvector/backup.js +23 -23
  383. package/dist/src/commands/ruvector/benchmark.js +31 -31
  384. package/dist/src/commands/ruvector/import.js +14 -14
  385. package/dist/src/commands/ruvector/init.js +115 -115
  386. package/dist/src/commands/ruvector/migrate.js +99 -99
  387. package/dist/src/commands/ruvector/optimize.js +51 -51
  388. package/dist/src/commands/ruvector/setup.js +624 -624
  389. package/dist/src/commands/ruvector/status.js +38 -38
  390. package/dist/src/index.d.ts +5 -1
  391. package/dist/src/index.d.ts.map +1 -1
  392. package/dist/src/index.js +59 -18
  393. package/dist/src/index.js.map +1 -1
  394. package/dist/src/init/claudemd-generator.js +226 -226
  395. package/dist/src/init/executor.d.ts.map +1 -1
  396. package/dist/src/init/executor.js +511 -453
  397. package/dist/src/init/executor.js.map +1 -1
  398. package/dist/src/init/helpers-generator.js +645 -645
  399. package/dist/src/init/settings-generator.d.ts.map +1 -1
  400. package/dist/src/init/settings-generator.js +11 -5
  401. package/dist/src/init/settings-generator.js.map +1 -1
  402. package/dist/src/init/statusline-generator.js +858 -858
  403. package/dist/src/init/types.d.ts +7 -0
  404. package/dist/src/init/types.d.ts.map +1 -1
  405. package/dist/src/init/types.js.map +1 -1
  406. package/dist/src/mcp-tools/agentdb-tools.d.ts +3 -0
  407. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
  408. package/dist/src/mcp-tools/agentdb-tools.js +108 -0
  409. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  410. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  411. package/dist/src/mcp-tools/hooks-tools.js +4 -2
  412. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  413. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  414. package/dist/src/mcp-tools/memory-tools.js +19 -0
  415. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  416. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  417. package/dist/src/mcp-tools/neural-tools.js +14 -1
  418. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  419. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  420. package/dist/src/mcp-tools/security-tools.js +28 -3
  421. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  422. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  423. package/dist/src/mcp-tools/swarm-tools.js +72 -3
  424. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  425. package/dist/src/mcp-tools/wasm-agent-tools.js +1 -1
  426. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  427. package/dist/src/memory/intelligence.d.ts.map +1 -1
  428. package/dist/src/memory/intelligence.js +28 -3
  429. package/dist/src/memory/intelligence.js.map +1 -1
  430. package/dist/src/memory/memory-bridge.d.ts +69 -0
  431. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  432. package/dist/src/memory/memory-bridge.js +319 -66
  433. package/dist/src/memory/memory-bridge.js.map +1 -1
  434. package/dist/src/memory/memory-initializer.d.ts +5 -0
  435. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  436. package/dist/src/memory/memory-initializer.js +369 -363
  437. package/dist/src/memory/memory-initializer.js.map +1 -1
  438. package/dist/src/memory/neural-package-bridge.d.ts +48 -0
  439. package/dist/src/memory/neural-package-bridge.d.ts.map +1 -0
  440. package/dist/src/memory/neural-package-bridge.js +87 -0
  441. package/dist/src/memory/neural-package-bridge.js.map +1 -0
  442. package/dist/src/memory/rabitq-index.js +5 -5
  443. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  444. package/dist/src/memory/sona-optimizer.js +1 -0
  445. package/dist/src/memory/sona-optimizer.js.map +1 -1
  446. package/dist/src/parser.d.ts +9 -0
  447. package/dist/src/parser.d.ts.map +1 -1
  448. package/dist/src/parser.js +11 -0
  449. package/dist/src/parser.js.map +1 -1
  450. package/dist/src/runtime/headless.js +28 -28
  451. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -1
  452. package/dist/src/ruvector/agent-wasm.js +4 -1
  453. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  454. package/dist/src/ruvector/index.d.ts +0 -2
  455. package/dist/src/ruvector/index.d.ts.map +1 -1
  456. package/dist/src/ruvector/index.js +8 -2
  457. package/dist/src/ruvector/index.js.map +1 -1
  458. package/dist/src/ruvector/model-router.d.ts +22 -1
  459. package/dist/src/ruvector/model-router.d.ts.map +1 -1
  460. package/dist/src/ruvector/model-router.js +125 -5
  461. package/dist/src/ruvector/model-router.js.map +1 -1
  462. package/dist/src/services/headless-worker-executor.js +84 -84
  463. package/dist/src/transfer/deploy-seraphine.js +23 -23
  464. package/dist/tsconfig.tsbuildinfo +1 -1
  465. package/package.json +5 -4
  466. package/scripts/deploy-ipfs-node.sh +153 -153
  467. package/scripts/postinstall.cjs +153 -153
  468. package/scripts/publish-registry.ts +345 -345
  469. package/scripts/publish.sh +57 -57
  470. package/scripts/setup-ipfs-registry.md +366 -366
  471. package/dist/src/services/event-stream.d.ts.map +0 -1
  472. package/dist/src/services/event-stream.js.map +0 -1
  473. package/dist/src/services/loop-worker-runner.d.ts.map +0 -1
  474. package/dist/src/services/loop-worker-runner.js.map +0 -1
  475. package/dist/src/services/runtime-capabilities.d.ts.map +0 -1
  476. package/dist/src/services/runtime-capabilities.js.map +0 -1
@@ -15,638 +15,638 @@ import * as path from 'path';
15
15
  /**
16
16
  * Docker Compose template for RuVector PostgreSQL
17
17
  */
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:
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
71
  `;
72
72
  /**
73
73
  * Init SQL template for RuVector PostgreSQL
74
74
  */
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 Claude-Flow 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 Claude-Flow 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 $$;
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 Claude-Flow 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 Claude-Flow 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
551
  `;
552
552
  /**
553
553
  * README template
554
554
  */
555
- const README_TEMPLATE = `# RuVector PostgreSQL Setup
556
-
557
- This directory contains the Docker configuration for RuVector PostgreSQL with Claude-Flow 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 Claude-Flow 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/ruvnet/ruvector-postgres)
649
- - [Claude-Flow Documentation](https://github.com/ruvnet/claude-flow)
555
+ const README_TEMPLATE = `# RuVector PostgreSQL Setup
556
+
557
+ This directory contains the Docker configuration for RuVector PostgreSQL with Claude-Flow 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 Claude-Flow 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/ruvnet/ruvector-postgres)
649
+ - [Claude-Flow Documentation](https://github.com/ruvnet/claude-flow)
650
650
  `;
651
651
  /**
652
652
  * RuVector Setup command - outputs Docker files and SQL