@claude-flow/cli 3.10.46 → 3.11.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 (551) 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/planner.md +374 -374
  15. package/.claude/agents/custom/test-long-runner.md +44 -44
  16. package/.claude/agents/data/data-ml-model.md +444 -444
  17. package/.claude/agents/data/ml/data-ml-model.md +192 -192
  18. package/.claude/agents/development/backend/dev-backend-api.md +141 -141
  19. package/.claude/agents/development/dev-backend-api.md +344 -344
  20. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +163 -163
  21. package/.claude/agents/devops/ops-cicd-github.md +164 -164
  22. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +173 -173
  23. package/.claude/agents/documentation/docs-api-openapi.md +354 -354
  24. package/.claude/agents/flow-nexus/app-store.md +87 -87
  25. package/.claude/agents/flow-nexus/authentication.md +68 -68
  26. package/.claude/agents/flow-nexus/challenges.md +80 -80
  27. package/.claude/agents/flow-nexus/neural-network.md +87 -87
  28. package/.claude/agents/flow-nexus/payments.md +82 -82
  29. package/.claude/agents/flow-nexus/sandbox.md +75 -75
  30. package/.claude/agents/flow-nexus/swarm.md +75 -75
  31. package/.claude/agents/flow-nexus/user-tools.md +95 -95
  32. package/.claude/agents/flow-nexus/workflow.md +83 -83
  33. package/.claude/agents/github/code-review-swarm.md +377 -377
  34. package/.claude/agents/github/github-modes.md +172 -172
  35. package/.claude/agents/github/issue-tracker.md +575 -575
  36. package/.claude/agents/github/multi-repo-swarm.md +552 -552
  37. package/.claude/agents/github/pr-manager.md +437 -437
  38. package/.claude/agents/github/project-board-sync.md +508 -508
  39. package/.claude/agents/github/release-manager.md +604 -604
  40. package/.claude/agents/github/release-swarm.md +582 -582
  41. package/.claude/agents/github/repo-architect.md +397 -397
  42. package/.claude/agents/github/swarm-issue.md +572 -572
  43. package/.claude/agents/github/swarm-pr.md +427 -427
  44. package/.claude/agents/github/sync-coordinator.md +451 -451
  45. package/.claude/agents/github/workflow-automation.md +902 -902
  46. package/.claude/agents/goal/agent.md +815 -815
  47. package/.claude/agents/optimization/benchmark-suite.md +664 -664
  48. package/.claude/agents/optimization/load-balancer.md +430 -430
  49. package/.claude/agents/optimization/performance-monitor.md +671 -671
  50. package/.claude/agents/optimization/resource-allocator.md +673 -673
  51. package/.claude/agents/optimization/topology-optimizer.md +807 -807
  52. package/.claude/agents/payments/agentic-payments.md +126 -126
  53. package/.claude/agents/sona/sona-learning-optimizer.md +74 -74
  54. package/.claude/agents/sparc/architecture.md +698 -698
  55. package/.claude/agents/sparc/pseudocode.md +519 -519
  56. package/.claude/agents/sparc/refinement.md +801 -801
  57. package/.claude/agents/sparc/specification.md +477 -477
  58. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +224 -224
  59. package/.claude/agents/specialized/spec-mobile-react-native.md +226 -226
  60. package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
  61. package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
  62. package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
  63. package/.claude/agents/sublinear/performance-optimizer.md +367 -367
  64. package/.claude/agents/sublinear/trading-predictor.md +245 -245
  65. package/.claude/agents/swarm/adaptive-coordinator.md +1126 -1126
  66. package/.claude/agents/swarm/hierarchical-coordinator.md +709 -709
  67. package/.claude/agents/swarm/mesh-coordinator.md +962 -962
  68. package/.claude/agents/templates/automation-smart-agent.md +204 -204
  69. package/.claude/agents/templates/base-template-generator.md +289 -289
  70. package/.claude/agents/templates/coordinator-swarm-init.md +89 -89
  71. package/.claude/agents/templates/github-pr-manager.md +176 -176
  72. package/.claude/agents/templates/implementer-sparc-coder.md +258 -258
  73. package/.claude/agents/templates/memory-coordinator.md +186 -186
  74. package/.claude/agents/templates/orchestrator-task.md +138 -138
  75. package/.claude/agents/templates/performance-analyzer.md +198 -198
  76. package/.claude/agents/templates/sparc-coordinator.md +513 -513
  77. package/.claude/agents/testing/production-validator.md +394 -394
  78. package/.claude/agents/testing/tdd-london-swarm.md +243 -243
  79. package/.claude/agents/v3/aidefence-guardian.md +282 -282
  80. package/.claude/agents/v3/claims-authorizer.md +208 -208
  81. package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -993
  82. package/.claude/agents/v3/ddd-domain-expert.md +220 -220
  83. package/.claude/agents/v3/injection-analyst.md +236 -236
  84. package/.claude/agents/v3/performance-engineer.md +1233 -1233
  85. package/.claude/agents/v3/pii-detector.md +151 -151
  86. package/.claude/agents/v3/reasoningbank-learner.md +213 -213
  87. package/.claude/agents/v3/security-architect-aidefence.md +410 -410
  88. package/.claude/agents/v3/security-architect.md +867 -867
  89. package/.claude/agents/v3/swarm-memory-manager.md +157 -157
  90. package/.claude/agents/v3/v3-integration-architect.md +205 -205
  91. package/.claude/commands/agents/README.md +50 -50
  92. package/.claude/commands/agents/agent-capabilities.md +140 -140
  93. package/.claude/commands/agents/agent-coordination.md +28 -28
  94. package/.claude/commands/agents/agent-spawning.md +28 -28
  95. package/.claude/commands/agents/agent-types.md +216 -216
  96. package/.claude/commands/agents/health.md +139 -139
  97. package/.claude/commands/agents/list.md +100 -100
  98. package/.claude/commands/agents/logs.md +130 -130
  99. package/.claude/commands/agents/metrics.md +122 -122
  100. package/.claude/commands/agents/pool.md +127 -127
  101. package/.claude/commands/agents/spawn.md +140 -140
  102. package/.claude/commands/agents/status.md +115 -115
  103. package/.claude/commands/agents/stop.md +102 -102
  104. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
  105. package/.claude/commands/analysis/README.md +9 -9
  106. package/.claude/commands/analysis/bottleneck-detect.md +162 -162
  107. package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
  108. package/.claude/commands/analysis/performance-report.md +25 -25
  109. package/.claude/commands/analysis/token-efficiency.md +44 -44
  110. package/.claude/commands/analysis/token-usage.md +25 -25
  111. package/.claude/commands/automation/README.md +9 -9
  112. package/.claude/commands/automation/auto-agent.md +122 -122
  113. package/.claude/commands/automation/self-healing.md +105 -105
  114. package/.claude/commands/automation/session-memory.md +89 -89
  115. package/.claude/commands/automation/smart-agents.md +72 -72
  116. package/.claude/commands/automation/smart-spawn.md +25 -25
  117. package/.claude/commands/automation/workflow-select.md +25 -25
  118. package/.claude/commands/claude-flow-help.md +103 -103
  119. package/.claude/commands/claude-flow-memory.md +107 -107
  120. package/.claude/commands/claude-flow-swarm.md +205 -205
  121. package/.claude/commands/coordination/README.md +9 -9
  122. package/.claude/commands/coordination/agent-spawn.md +25 -25
  123. package/.claude/commands/coordination/init.md +44 -44
  124. package/.claude/commands/coordination/orchestrate.md +43 -43
  125. package/.claude/commands/coordination/spawn.md +45 -45
  126. package/.claude/commands/coordination/swarm-init.md +85 -85
  127. package/.claude/commands/coordination/task-orchestrate.md +25 -25
  128. package/.claude/commands/github/README.md +11 -11
  129. package/.claude/commands/github/code-review-swarm.md +513 -513
  130. package/.claude/commands/github/code-review.md +25 -25
  131. package/.claude/commands/github/github-modes.md +146 -146
  132. package/.claude/commands/github/github-swarm.md +121 -121
  133. package/.claude/commands/github/issue-tracker.md +291 -291
  134. package/.claude/commands/github/issue-triage.md +25 -25
  135. package/.claude/commands/github/multi-repo-swarm.md +518 -518
  136. package/.claude/commands/github/pr-enhance.md +26 -26
  137. package/.claude/commands/github/pr-manager.md +169 -169
  138. package/.claude/commands/github/project-board-sync.md +470 -470
  139. package/.claude/commands/github/release-manager.md +339 -339
  140. package/.claude/commands/github/release-swarm.md +543 -543
  141. package/.claude/commands/github/repo-analyze.md +25 -25
  142. package/.claude/commands/github/repo-architect.md +366 -366
  143. package/.claude/commands/github/swarm-issue.md +484 -484
  144. package/.claude/commands/github/swarm-pr.md +287 -287
  145. package/.claude/commands/github/sync-coordinator.md +302 -302
  146. package/.claude/commands/github/workflow-automation.md +441 -441
  147. package/.claude/commands/hive-mind/README.md +17 -17
  148. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
  149. package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
  150. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
  151. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
  152. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
  153. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
  154. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
  155. package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
  156. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
  157. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
  158. package/.claude/commands/hive-mind/hive-mind.md +27 -27
  159. package/.claude/commands/hooks/README.md +11 -11
  160. package/.claude/commands/hooks/overview.md +57 -57
  161. package/.claude/commands/hooks/post-edit.md +117 -117
  162. package/.claude/commands/hooks/post-task.md +112 -112
  163. package/.claude/commands/hooks/pre-edit.md +113 -113
  164. package/.claude/commands/hooks/pre-task.md +111 -111
  165. package/.claude/commands/hooks/session-end.md +118 -118
  166. package/.claude/commands/hooks/setup.md +102 -102
  167. package/.claude/commands/memory/README.md +9 -9
  168. package/.claude/commands/memory/memory-persist.md +25 -25
  169. package/.claude/commands/memory/memory-search.md +25 -25
  170. package/.claude/commands/memory/memory-usage.md +25 -25
  171. package/.claude/commands/memory/neural.md +47 -47
  172. package/.claude/commands/monitoring/README.md +9 -9
  173. package/.claude/commands/monitoring/agent-metrics.md +25 -25
  174. package/.claude/commands/monitoring/agents.md +44 -44
  175. package/.claude/commands/monitoring/real-time-view.md +25 -25
  176. package/.claude/commands/monitoring/status.md +46 -46
  177. package/.claude/commands/monitoring/swarm-monitor.md +25 -25
  178. package/.claude/commands/optimization/README.md +9 -9
  179. package/.claude/commands/optimization/auto-topology.md +61 -61
  180. package/.claude/commands/optimization/cache-manage.md +25 -25
  181. package/.claude/commands/optimization/parallel-execute.md +25 -25
  182. package/.claude/commands/optimization/parallel-execution.md +49 -49
  183. package/.claude/commands/optimization/topology-optimize.md +25 -25
  184. package/.claude/commands/pair/README.md +260 -260
  185. package/.claude/commands/pair/commands.md +545 -545
  186. package/.claude/commands/pair/config.md +509 -509
  187. package/.claude/commands/pair/examples.md +511 -511
  188. package/.claude/commands/pair/modes.md +347 -347
  189. package/.claude/commands/pair/session.md +406 -406
  190. package/.claude/commands/pair/start.md +208 -208
  191. package/.claude/commands/sparc/analyzer.md +51 -51
  192. package/.claude/commands/sparc/architect.md +53 -53
  193. package/.claude/commands/sparc/ask.md +97 -97
  194. package/.claude/commands/sparc/batch-executor.md +54 -54
  195. package/.claude/commands/sparc/code.md +89 -89
  196. package/.claude/commands/sparc/coder.md +54 -54
  197. package/.claude/commands/sparc/debug.md +83 -83
  198. package/.claude/commands/sparc/debugger.md +54 -54
  199. package/.claude/commands/sparc/designer.md +53 -53
  200. package/.claude/commands/sparc/devops.md +109 -109
  201. package/.claude/commands/sparc/docs-writer.md +80 -80
  202. package/.claude/commands/sparc/documenter.md +54 -54
  203. package/.claude/commands/sparc/innovator.md +54 -54
  204. package/.claude/commands/sparc/integration.md +83 -83
  205. package/.claude/commands/sparc/mcp.md +117 -117
  206. package/.claude/commands/sparc/memory-manager.md +54 -54
  207. package/.claude/commands/sparc/optimizer.md +54 -54
  208. package/.claude/commands/sparc/orchestrator.md +131 -131
  209. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  210. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  211. package/.claude/commands/sparc/researcher.md +54 -54
  212. package/.claude/commands/sparc/reviewer.md +54 -54
  213. package/.claude/commands/sparc/security-review.md +80 -80
  214. package/.claude/commands/sparc/sparc-modes.md +174 -174
  215. package/.claude/commands/sparc/sparc.md +111 -111
  216. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  217. package/.claude/commands/sparc/supabase-admin.md +348 -348
  218. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  219. package/.claude/commands/sparc/tdd.md +54 -54
  220. package/.claude/commands/sparc/tester.md +54 -54
  221. package/.claude/commands/sparc/tutorial.md +79 -79
  222. package/.claude/commands/sparc/workflow-manager.md +54 -54
  223. package/.claude/commands/sparc.md +166 -166
  224. package/.claude/commands/stream-chain/pipeline.md +120 -120
  225. package/.claude/commands/stream-chain/run.md +69 -69
  226. package/.claude/commands/swarm/README.md +15 -15
  227. package/.claude/commands/swarm/analysis.md +95 -95
  228. package/.claude/commands/swarm/development.md +96 -96
  229. package/.claude/commands/swarm/examples.md +168 -168
  230. package/.claude/commands/swarm/maintenance.md +102 -102
  231. package/.claude/commands/swarm/optimization.md +117 -117
  232. package/.claude/commands/swarm/research.md +136 -136
  233. package/.claude/commands/swarm/swarm-analysis.md +8 -8
  234. package/.claude/commands/swarm/swarm-background.md +8 -8
  235. package/.claude/commands/swarm/swarm-init.md +19 -19
  236. package/.claude/commands/swarm/swarm-modes.md +8 -8
  237. package/.claude/commands/swarm/swarm-monitor.md +8 -8
  238. package/.claude/commands/swarm/swarm-spawn.md +19 -19
  239. package/.claude/commands/swarm/swarm-status.md +8 -8
  240. package/.claude/commands/swarm/swarm-strategies.md +8 -8
  241. package/.claude/commands/swarm/swarm.md +87 -87
  242. package/.claude/commands/swarm/testing.md +131 -131
  243. package/.claude/commands/training/README.md +9 -9
  244. package/.claude/commands/training/model-update.md +25 -25
  245. package/.claude/commands/training/neural-patterns.md +107 -107
  246. package/.claude/commands/training/neural-train.md +75 -75
  247. package/.claude/commands/training/pattern-learn.md +25 -25
  248. package/.claude/commands/training/specialization.md +62 -62
  249. package/.claude/commands/truth/start.md +142 -142
  250. package/.claude/commands/verify/check.md +49 -49
  251. package/.claude/commands/verify/start.md +127 -127
  252. package/.claude/commands/workflows/README.md +9 -9
  253. package/.claude/commands/workflows/development.md +77 -77
  254. package/.claude/commands/workflows/research.md +62 -62
  255. package/.claude/commands/workflows/workflow-create.md +25 -25
  256. package/.claude/commands/workflows/workflow-execute.md +25 -25
  257. package/.claude/commands/workflows/workflow-export.md +25 -25
  258. package/.claude/helpers/README.md +96 -96
  259. package/.claude/helpers/adr-compliance.sh +186 -186
  260. package/.claude/helpers/auto-commit.sh +178 -178
  261. package/.claude/helpers/auto-memory-hook.mjs +368 -368
  262. package/.claude/helpers/checkpoint-manager.sh +251 -251
  263. package/.claude/helpers/daemon-manager.sh +252 -252
  264. package/.claude/helpers/ddd-tracker.sh +144 -144
  265. package/.claude/helpers/github-safe.js +156 -156
  266. package/.claude/helpers/github-setup.sh +45 -45
  267. package/.claude/helpers/guidance-hook.sh +13 -13
  268. package/.claude/helpers/guidance-hooks.sh +102 -102
  269. package/.claude/helpers/health-monitor.sh +108 -108
  270. package/.claude/helpers/hook-handler.cjs +286 -286
  271. package/.claude/helpers/intelligence.cjs +1031 -1031
  272. package/.claude/helpers/learning-hooks.sh +329 -329
  273. package/.claude/helpers/learning-optimizer.sh +127 -127
  274. package/.claude/helpers/learning-service.mjs +1144 -1144
  275. package/.claude/helpers/memory.js +83 -83
  276. package/.claude/helpers/metrics-db.mjs +488 -488
  277. package/.claude/helpers/pattern-consolidator.sh +86 -86
  278. package/.claude/helpers/perf-worker.sh +160 -160
  279. package/.claude/helpers/post-commit +16 -16
  280. package/.claude/helpers/pre-commit +26 -26
  281. package/.claude/helpers/quick-start.sh +19 -19
  282. package/.claude/helpers/router.js +105 -105
  283. package/.claude/helpers/security-scanner.sh +127 -127
  284. package/.claude/helpers/session.js +157 -157
  285. package/.claude/helpers/setup-mcp.sh +18 -18
  286. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  287. package/.claude/helpers/statusline-hook.sh +21 -21
  288. package/.claude/helpers/statusline.cjs +604 -604
  289. package/.claude/helpers/statusline.js +352 -352
  290. package/.claude/helpers/swarm-comms.sh +353 -353
  291. package/.claude/helpers/swarm-hooks.sh +761 -761
  292. package/.claude/helpers/swarm-monitor.sh +210 -210
  293. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  294. package/.claude/helpers/update-v3-progress.sh +165 -165
  295. package/.claude/helpers/v3-quick-status.sh +57 -57
  296. package/.claude/helpers/v3.sh +110 -110
  297. package/.claude/helpers/validate-v3-config.sh +215 -215
  298. package/.claude/helpers/worker-manager.sh +170 -170
  299. package/.claude/settings.json +182 -182
  300. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  301. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  302. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  303. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  304. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  305. package/.claude/skills/browser/SKILL.md +204 -204
  306. package/.claude/skills/dual-mode/README.md +71 -71
  307. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  308. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  309. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  310. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
  311. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
  312. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
  313. package/.claude/skills/github-code-review/SKILL.md +1125 -1125
  314. package/.claude/skills/github-multi-repo/SKILL.md +862 -862
  315. package/.claude/skills/github-project-management/SKILL.md +1262 -1262
  316. package/.claude/skills/github-release-management/SKILL.md +1064 -1064
  317. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
  318. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  319. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  320. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  321. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  322. package/.claude/skills/skill-builder/SKILL.md +910 -910
  323. package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
  324. package/.claude/skills/stream-chain/SKILL.md +560 -560
  325. package/.claude/skills/swarm-advanced/SKILL.md +970 -970
  326. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  327. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  328. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  329. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  330. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  331. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  332. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  333. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  334. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  335. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  336. package/.claude/skills/verification-quality/SKILL.md +691 -691
  337. package/README.md +412 -412
  338. package/bin/cli.js +314 -314
  339. package/bin/mcp-server.js +224 -224
  340. package/bin/preinstall.cjs +2 -2
  341. package/dist/src/benchmarks/capability-tasks.d.ts +126 -0
  342. package/dist/src/benchmarks/capability-tasks.d.ts.map +1 -0
  343. package/dist/src/benchmarks/capability-tasks.js +147 -0
  344. package/dist/src/benchmarks/capability-tasks.js.map +1 -0
  345. package/dist/src/benchmarks/gaia-agent-contrastive.d.ts +53 -0
  346. package/dist/src/benchmarks/gaia-agent-contrastive.d.ts.map +1 -0
  347. package/dist/src/benchmarks/gaia-agent-contrastive.js +177 -0
  348. package/dist/src/benchmarks/gaia-agent-contrastive.js.map +1 -0
  349. package/dist/src/benchmarks/gaia-agent-gemini.d.ts +51 -0
  350. package/dist/src/benchmarks/gaia-agent-gemini.d.ts.map +1 -0
  351. package/dist/src/benchmarks/gaia-agent-gemini.js +352 -0
  352. package/dist/src/benchmarks/gaia-agent-gemini.js.map +1 -0
  353. package/dist/src/benchmarks/gaia-claude-p.d.ts +105 -0
  354. package/dist/src/benchmarks/gaia-claude-p.d.ts.map +1 -0
  355. package/dist/src/benchmarks/gaia-claude-p.js +269 -0
  356. package/dist/src/benchmarks/gaia-claude-p.js.map +1 -0
  357. package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts +20 -0
  358. package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts.map +1 -0
  359. package/dist/src/benchmarks/gaia-claude-p.smoke.js +168 -0
  360. package/dist/src/benchmarks/gaia-claude-p.smoke.js.map +1 -0
  361. package/dist/src/benchmarks/gaia-codeagent-runner.py +556 -0
  362. package/dist/src/benchmarks/gaia-codeagent.d.ts +129 -0
  363. package/dist/src/benchmarks/gaia-codeagent.d.ts.map +1 -0
  364. package/dist/src/benchmarks/gaia-codeagent.js +590 -0
  365. package/dist/src/benchmarks/gaia-codeagent.js.map +1 -0
  366. package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts +33 -0
  367. package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts.map +1 -0
  368. package/dist/src/benchmarks/gaia-codeagent.smoke.js +241 -0
  369. package/dist/src/benchmarks/gaia-codeagent.smoke.js.map +1 -0
  370. package/dist/src/benchmarks/gaia-critic.js +24 -24
  371. package/dist/src/benchmarks/gaia-dag-pilot.d.ts +22 -0
  372. package/dist/src/benchmarks/gaia-dag-pilot.d.ts.map +1 -0
  373. package/dist/src/benchmarks/gaia-dag-pilot.js +158 -0
  374. package/dist/src/benchmarks/gaia-dag-pilot.js.map +1 -0
  375. package/dist/src/benchmarks/gaia-dag.d.ts +110 -0
  376. package/dist/src/benchmarks/gaia-dag.d.ts.map +1 -0
  377. package/dist/src/benchmarks/gaia-dag.js +658 -0
  378. package/dist/src/benchmarks/gaia-dag.js.map +1 -0
  379. package/dist/src/benchmarks/gaia-dag.smoke.d.ts +21 -0
  380. package/dist/src/benchmarks/gaia-dag.smoke.d.ts.map +1 -0
  381. package/dist/src/benchmarks/gaia-dag.smoke.js +290 -0
  382. package/dist/src/benchmarks/gaia-dag.smoke.js.map +1 -0
  383. package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts +17 -0
  384. package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts.map +1 -0
  385. package/dist/src/benchmarks/gaia-ensemble-pilot.js +106 -0
  386. package/dist/src/benchmarks/gaia-ensemble-pilot.js.map +1 -0
  387. package/dist/src/benchmarks/gaia-ensemble.d.ts +103 -0
  388. package/dist/src/benchmarks/gaia-ensemble.d.ts.map +1 -0
  389. package/dist/src/benchmarks/gaia-ensemble.js +462 -0
  390. package/dist/src/benchmarks/gaia-ensemble.js.map +1 -0
  391. package/dist/src/benchmarks/gaia-gemini-pilot.d.ts +17 -0
  392. package/dist/src/benchmarks/gaia-gemini-pilot.d.ts.map +1 -0
  393. package/dist/src/benchmarks/gaia-gemini-pilot.js +168 -0
  394. package/dist/src/benchmarks/gaia-gemini-pilot.js.map +1 -0
  395. package/dist/src/benchmarks/gaia-mode-router.d.ts +67 -0
  396. package/dist/src/benchmarks/gaia-mode-router.d.ts.map +1 -0
  397. package/dist/src/benchmarks/gaia-mode-router.js +126 -0
  398. package/dist/src/benchmarks/gaia-mode-router.js.map +1 -0
  399. package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts +15 -0
  400. package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts.map +1 -0
  401. package/dist/src/benchmarks/gaia-mode-router.smoke.js +131 -0
  402. package/dist/src/benchmarks/gaia-mode-router.smoke.js.map +1 -0
  403. package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts +24 -0
  404. package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts.map +1 -0
  405. package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js +276 -0
  406. package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js.map +1 -0
  407. package/dist/src/benchmarks/gaia-tools/image_describe.d.ts +45 -0
  408. package/dist/src/benchmarks/gaia-tools/image_describe.d.ts.map +1 -0
  409. package/dist/src/benchmarks/gaia-tools/image_describe.js +222 -0
  410. package/dist/src/benchmarks/gaia-tools/image_describe.js.map +1 -0
  411. package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts +24 -0
  412. package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts.map +1 -0
  413. package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js +169 -0
  414. package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js.map +1 -0
  415. package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts +27 -0
  416. package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts.map +1 -0
  417. package/dist/src/benchmarks/gaia-tools/pdf_read.js +226 -0
  418. package/dist/src/benchmarks/gaia-tools/pdf_read.js.map +1 -0
  419. package/dist/src/benchmarks/gaia-tools/python_exec.d.ts +31 -0
  420. package/dist/src/benchmarks/gaia-tools/python_exec.d.ts.map +1 -0
  421. package/dist/src/benchmarks/gaia-tools/python_exec.js +94 -0
  422. package/dist/src/benchmarks/gaia-tools/python_exec.js.map +1 -0
  423. package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts +13 -0
  424. package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts.map +1 -0
  425. package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js +98 -0
  426. package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js.map +1 -0
  427. package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts +52 -0
  428. package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts.map +1 -0
  429. package/dist/src/benchmarks/gaia-tools/visit_webpage.js +304 -0
  430. package/dist/src/benchmarks/gaia-tools/visit_webpage.js.map +1 -0
  431. package/dist/src/benchmarks/gaia-tools/web_browse.d.ts +61 -0
  432. package/dist/src/benchmarks/gaia-tools/web_browse.d.ts.map +1 -0
  433. package/dist/src/benchmarks/gaia-tools/web_browse.js +217 -0
  434. package/dist/src/benchmarks/gaia-tools/web_browse.js.map +1 -0
  435. package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts +26 -0
  436. package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts.map +1 -0
  437. package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js +152 -0
  438. package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js.map +1 -0
  439. package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts +24 -0
  440. package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts.map +1 -0
  441. package/dist/src/benchmarks/gaia-tools/web_search.smoke.js +311 -0
  442. package/dist/src/benchmarks/gaia-tools/web_search.smoke.js.map +1 -0
  443. package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts +25 -0
  444. package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts.map +1 -0
  445. package/dist/src/benchmarks/gaia-visit-webpage.smoke.js +304 -0
  446. package/dist/src/benchmarks/gaia-visit-webpage.smoke.js.map +1 -0
  447. package/dist/src/commands/completions.js +409 -409
  448. package/dist/src/commands/daemon.js +44 -44
  449. package/dist/src/commands/embeddings.js +26 -26
  450. package/dist/src/commands/hive-mind.js +97 -97
  451. package/dist/src/commands/hooks.js +9 -9
  452. package/dist/src/commands/neural.d.ts.map +1 -1
  453. package/dist/src/commands/neural.js +2351 -1
  454. package/dist/src/commands/neural.js.map +1 -1
  455. package/dist/src/commands/performance-capability.d.ts +30 -0
  456. package/dist/src/commands/performance-capability.d.ts.map +1 -0
  457. package/dist/src/commands/performance-capability.js +349 -0
  458. package/dist/src/commands/performance-capability.js.map +1 -0
  459. package/dist/src/commands/ruvector/backup.js +23 -23
  460. package/dist/src/commands/ruvector/benchmark.js +31 -31
  461. package/dist/src/commands/ruvector/import.js +14 -14
  462. package/dist/src/commands/ruvector/init.js +115 -115
  463. package/dist/src/commands/ruvector/migrate.js +99 -99
  464. package/dist/src/commands/ruvector/optimize.js +51 -51
  465. package/dist/src/commands/ruvector/setup.js +624 -624
  466. package/dist/src/commands/ruvector/status.js +38 -38
  467. package/dist/src/init/claudemd-generator.js +231 -231
  468. package/dist/src/init/executor.js +453 -453
  469. package/dist/src/init/helpers-generator.js +727 -727
  470. package/dist/src/init/statusline-generator.js +717 -717
  471. package/dist/src/mcp-tools/agent-execute-core.d.ts +23 -1
  472. package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
  473. package/dist/src/mcp-tools/agent-execute-core.js +136 -9
  474. package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
  475. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  476. package/dist/src/mcp-tools/agent-tools.js +48 -4
  477. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  478. package/dist/src/mcp-tools/agentdb-tools.js +15 -15
  479. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  480. package/dist/src/mcp-tools/hooks-tools.js +196 -0
  481. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  482. package/dist/src/memory/graph-edge-writer.js +18 -18
  483. package/dist/src/memory/memory-bridge.js +84 -84
  484. package/dist/src/memory/memory-initializer.js +393 -393
  485. package/dist/src/memory/rabitq-index.js +5 -5
  486. package/dist/src/runtime/headless.js +28 -28
  487. package/dist/src/ruvector/enhanced-model-router.d.ts +5 -0
  488. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
  489. package/dist/src/ruvector/enhanced-model-router.js +18 -1
  490. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  491. package/dist/src/ruvector/model-prices.d.ts +50 -0
  492. package/dist/src/ruvector/model-prices.d.ts.map +1 -0
  493. package/dist/src/ruvector/model-prices.js +72 -0
  494. package/dist/src/ruvector/model-prices.js.map +1 -0
  495. package/dist/src/ruvector/model-router.d.ts +147 -8
  496. package/dist/src/ruvector/model-router.d.ts.map +1 -1
  497. package/dist/src/ruvector/model-router.js +418 -18
  498. package/dist/src/ruvector/model-router.js.map +1 -1
  499. package/dist/src/ruvector/neural-router.d.ts +172 -39
  500. package/dist/src/ruvector/neural-router.d.ts.map +1 -1
  501. package/dist/src/ruvector/neural-router.js +780 -91
  502. package/dist/src/ruvector/neural-router.js.map +1 -1
  503. package/dist/src/ruvector/router-calibrator.d.ts +65 -0
  504. package/dist/src/ruvector/router-calibrator.d.ts.map +1 -0
  505. package/dist/src/ruvector/router-calibrator.js +120 -0
  506. package/dist/src/ruvector/router-calibrator.js.map +1 -0
  507. package/dist/src/ruvector/router-trajectory.d.ts +137 -45
  508. package/dist/src/ruvector/router-trajectory.d.ts.map +1 -1
  509. package/dist/src/ruvector/router-trajectory.js +226 -63
  510. package/dist/src/ruvector/router-trajectory.js.map +1 -1
  511. package/dist/src/ruvector/task-embedder.d.ts +56 -0
  512. package/dist/src/ruvector/task-embedder.d.ts.map +1 -0
  513. package/dist/src/ruvector/task-embedder.js +237 -0
  514. package/dist/src/ruvector/task-embedder.js.map +1 -0
  515. package/dist/src/services/headless-worker-executor.js +84 -84
  516. package/dist/src/transfer/deploy-seraphine.js +23 -23
  517. package/dist/tsconfig.tsbuildinfo +1 -1
  518. package/package.json +136 -134
  519. package/scripts/beir-bootstrap-significance.mjs +162 -162
  520. package/scripts/bench-rvagent.mjs +312 -312
  521. package/scripts/benchmark-codemods.mjs +127 -127
  522. package/scripts/benchmark-cross-repo.mjs +206 -206
  523. package/scripts/benchmark-pretrained-retrieval.mjs +305 -305
  524. package/scripts/benchmark-self-learning.mjs +241 -241
  525. package/scripts/benchmark-trajectory-mrr.mjs +191 -191
  526. package/scripts/deploy-ipfs-node.sh +153 -153
  527. package/scripts/grid-search-retrieval.mjs +216 -216
  528. package/scripts/postinstall.cjs +153 -153
  529. package/scripts/pretrain-from-github.mjs +358 -358
  530. package/scripts/publish-registry.ts +345 -345
  531. package/scripts/publish.sh +57 -57
  532. package/scripts/run-beir-bge.mjs +324 -324
  533. package/scripts/run-beir-hybrid.mjs +261 -261
  534. package/scripts/run-beir-lucene-bm25.mjs +154 -154
  535. package/scripts/run-beir-nfcorpus.mjs +231 -231
  536. package/scripts/run-beir-rrf-ablation.mjs +221 -221
  537. package/scripts/setup-ipfs-registry.md +366 -366
  538. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  539. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  540. package/dist/src/ruvector/flash-attention.js +0 -643
  541. package/dist/src/ruvector/flash-attention.js.map +0 -1
  542. package/dist/src/ruvector/moe-router.d.ts +0 -206
  543. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  544. package/dist/src/ruvector/moe-router.js +0 -626
  545. package/dist/src/ruvector/moe-router.js.map +0 -1
  546. package/dist/src/services/event-stream.d.ts +0 -25
  547. package/dist/src/services/event-stream.js +0 -27
  548. package/dist/src/services/loop-worker-runner.d.ts +0 -16
  549. package/dist/src/services/loop-worker-runner.js +0 -34
  550. package/dist/src/services/runtime-capabilities.d.ts +0 -22
  551. package/dist/src/services/runtime-capabilities.js +0 -45
@@ -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