moflo 4.0.5 → 4.2.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 (422) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +221 -221
  2. package/.claude/agents/analysis/analyze-code-quality.md +178 -178
  3. package/.claude/agents/analysis/code-analyzer.md +209 -209
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +178 -178
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +154 -154
  6. package/.claude/agents/base-template-generator.md +42 -42
  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 +265 -265
  15. package/.claude/agents/core/planner.md +167 -167
  16. package/.claude/agents/core/researcher.md +189 -189
  17. package/.claude/agents/core/reviewer.md +325 -325
  18. package/.claude/agents/core/tester.md +318 -318
  19. package/.claude/agents/custom/test-long-runner.md +44 -44
  20. package/.claude/agents/data/ml/data-ml-model.md +192 -192
  21. package/.claude/agents/development/backend/dev-backend-api.md +141 -141
  22. package/.claude/agents/development/dev-backend-api.md +344 -344
  23. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +163 -163
  24. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +173 -173
  25. package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
  26. package/.claude/agents/dual-mode/codex-worker.md +211 -211
  27. package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
  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 +537 -537
  38. package/.claude/agents/github/github-modes.md +172 -172
  39. package/.claude/agents/github/issue-tracker.md +318 -318
  40. package/.claude/agents/github/multi-repo-swarm.md +552 -552
  41. package/.claude/agents/github/pr-manager.md +190 -190
  42. package/.claude/agents/github/project-board-sync.md +508 -508
  43. package/.claude/agents/github/release-manager.md +366 -366
  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 +634 -634
  50. package/.claude/agents/goal/agent.md +815 -815
  51. package/.claude/agents/goal/code-goal-planner.md +445 -445
  52. package/.claude/agents/goal/goal-planner.md +167 -167
  53. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
  54. package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
  55. package/.claude/agents/hive-mind/scout-explorer.md +241 -241
  56. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
  57. package/.claude/agents/hive-mind/worker-specialist.md +216 -216
  58. package/.claude/agents/neural/safla-neural.md +73 -73
  59. package/.claude/agents/optimization/benchmark-suite.md +664 -664
  60. package/.claude/agents/optimization/load-balancer.md +430 -430
  61. package/.claude/agents/optimization/performance-monitor.md +671 -671
  62. package/.claude/agents/optimization/resource-allocator.md +673 -673
  63. package/.claude/agents/optimization/topology-optimizer.md +807 -807
  64. package/.claude/agents/payments/agentic-payments.md +126 -126
  65. package/.claude/agents/reasoning/agent.md +815 -815
  66. package/.claude/agents/reasoning/goal-planner.md +72 -72
  67. package/.claude/agents/sona/sona-learning-optimizer.md +74 -74
  68. package/.claude/agents/sparc/architecture.md +471 -471
  69. package/.claude/agents/sparc/pseudocode.md +317 -317
  70. package/.claude/agents/sparc/refinement.md +524 -524
  71. package/.claude/agents/sparc/specification.md +275 -275
  72. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +224 -224
  73. package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
  74. package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
  75. package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
  76. package/.claude/agents/sublinear/performance-optimizer.md +367 -367
  77. package/.claude/agents/sublinear/trading-predictor.md +245 -245
  78. package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
  79. package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
  80. package/.claude/agents/swarm/mesh-coordinator.md +391 -391
  81. package/.claude/agents/templates/automation-smart-agent.md +204 -204
  82. package/.claude/agents/templates/coordinator-swarm-init.md +104 -104
  83. package/.claude/agents/templates/github-pr-manager.md +176 -176
  84. package/.claude/agents/templates/implementer-sparc-coder.md +258 -258
  85. package/.claude/agents/templates/memory-coordinator.md +186 -186
  86. package/.claude/agents/templates/migration-plan.md +745 -745
  87. package/.claude/agents/templates/orchestrator-task.md +138 -138
  88. package/.claude/agents/templates/performance-analyzer.md +198 -198
  89. package/.claude/agents/templates/sparc-coordinator.md +182 -182
  90. package/.claude/agents/testing/production-validator.md +394 -394
  91. package/.claude/agents/testing/tdd-london-swarm.md +243 -243
  92. package/.claude/agents/testing/unit/tdd-london-swarm.md +243 -243
  93. package/.claude/agents/testing/validation/production-validator.md +394 -394
  94. package/.claude/agents/v3/v3-integration-architect.md +345 -345
  95. package/.claude/agents/v3/v3-memory-specialist.md +317 -317
  96. package/.claude/agents/v3/v3-performance-engineer.md +396 -396
  97. package/.claude/agents/v3/v3-queen-coordinator.md +97 -97
  98. package/.claude/agents/v3/v3-security-architect.md +173 -173
  99. package/.claude/commands/agents/README.md +10 -10
  100. package/.claude/commands/agents/agent-capabilities.md +21 -21
  101. package/.claude/commands/agents/agent-coordination.md +28 -28
  102. package/.claude/commands/agents/agent-spawning.md +28 -28
  103. package/.claude/commands/agents/agent-types.md +26 -26
  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/flow-nexus/app-store.md +123 -123
  129. package/.claude/commands/flow-nexus/challenges.md +119 -119
  130. package/.claude/commands/flow-nexus/login-registration.md +64 -64
  131. package/.claude/commands/flow-nexus/neural-network.md +133 -133
  132. package/.claude/commands/flow-nexus/payments.md +115 -115
  133. package/.claude/commands/flow-nexus/sandbox.md +82 -82
  134. package/.claude/commands/flow-nexus/swarm.md +86 -86
  135. package/.claude/commands/flow-nexus/user-tools.md +151 -151
  136. package/.claude/commands/flow-nexus/workflow.md +114 -114
  137. package/.claude/commands/github/README.md +11 -11
  138. package/.claude/commands/github/code-review-swarm.md +513 -513
  139. package/.claude/commands/github/code-review.md +25 -25
  140. package/.claude/commands/github/github-modes.md +146 -146
  141. package/.claude/commands/github/github-swarm.md +121 -121
  142. package/.claude/commands/github/issue-tracker.md +291 -291
  143. package/.claude/commands/github/issue-triage.md +25 -25
  144. package/.claude/commands/github/multi-repo-swarm.md +518 -518
  145. package/.claude/commands/github/pr-enhance.md +26 -26
  146. package/.claude/commands/github/pr-manager.md +169 -169
  147. package/.claude/commands/github/project-board-sync.md +470 -470
  148. package/.claude/commands/github/release-manager.md +337 -337
  149. package/.claude/commands/github/release-swarm.md +543 -543
  150. package/.claude/commands/github/repo-analyze.md +25 -25
  151. package/.claude/commands/github/repo-architect.md +366 -366
  152. package/.claude/commands/github/swarm-issue.md +481 -481
  153. package/.claude/commands/github/swarm-pr.md +284 -284
  154. package/.claude/commands/github/sync-coordinator.md +300 -300
  155. package/.claude/commands/github/workflow-automation.md +441 -441
  156. package/.claude/commands/hive-mind/README.md +17 -17
  157. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
  158. package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
  159. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
  160. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
  161. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
  162. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
  163. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
  164. package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
  165. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
  166. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
  167. package/.claude/commands/hive-mind/hive-mind.md +27 -27
  168. package/.claude/commands/hooks/README.md +11 -11
  169. package/.claude/commands/hooks/overview.md +57 -57
  170. package/.claude/commands/hooks/post-edit.md +117 -117
  171. package/.claude/commands/hooks/post-task.md +112 -112
  172. package/.claude/commands/hooks/pre-edit.md +113 -113
  173. package/.claude/commands/hooks/pre-task.md +111 -111
  174. package/.claude/commands/hooks/session-end.md +118 -118
  175. package/.claude/commands/hooks/setup.md +102 -102
  176. package/.claude/commands/memory/README.md +9 -9
  177. package/.claude/commands/memory/memory-persist.md +25 -25
  178. package/.claude/commands/memory/memory-search.md +25 -25
  179. package/.claude/commands/memory/memory-usage.md +25 -25
  180. package/.claude/commands/memory/neural.md +47 -47
  181. package/.claude/commands/monitoring/README.md +9 -9
  182. package/.claude/commands/monitoring/agent-metrics.md +25 -25
  183. package/.claude/commands/monitoring/agents.md +44 -44
  184. package/.claude/commands/monitoring/real-time-view.md +25 -25
  185. package/.claude/commands/monitoring/status.md +46 -46
  186. package/.claude/commands/monitoring/swarm-monitor.md +25 -25
  187. package/.claude/commands/optimization/README.md +9 -9
  188. package/.claude/commands/optimization/auto-topology.md +61 -61
  189. package/.claude/commands/optimization/cache-manage.md +25 -25
  190. package/.claude/commands/optimization/parallel-execute.md +25 -25
  191. package/.claude/commands/optimization/parallel-execution.md +49 -49
  192. package/.claude/commands/optimization/topology-optimize.md +25 -25
  193. package/.claude/commands/pair/README.md +260 -260
  194. package/.claude/commands/pair/commands.md +545 -545
  195. package/.claude/commands/pair/config.md +509 -509
  196. package/.claude/commands/pair/examples.md +511 -511
  197. package/.claude/commands/pair/modes.md +347 -347
  198. package/.claude/commands/pair/session.md +406 -406
  199. package/.claude/commands/pair/start.md +208 -208
  200. package/.claude/commands/sparc/analyzer.md +51 -51
  201. package/.claude/commands/sparc/architect.md +53 -53
  202. package/.claude/commands/sparc/ask.md +97 -97
  203. package/.claude/commands/sparc/batch-executor.md +54 -54
  204. package/.claude/commands/sparc/code.md +89 -89
  205. package/.claude/commands/sparc/coder.md +54 -54
  206. package/.claude/commands/sparc/debug.md +83 -83
  207. package/.claude/commands/sparc/debugger.md +54 -54
  208. package/.claude/commands/sparc/designer.md +53 -53
  209. package/.claude/commands/sparc/devops.md +109 -109
  210. package/.claude/commands/sparc/docs-writer.md +80 -80
  211. package/.claude/commands/sparc/documenter.md +54 -54
  212. package/.claude/commands/sparc/innovator.md +54 -54
  213. package/.claude/commands/sparc/integration.md +83 -83
  214. package/.claude/commands/sparc/mcp.md +117 -117
  215. package/.claude/commands/sparc/memory-manager.md +54 -54
  216. package/.claude/commands/sparc/optimizer.md +54 -54
  217. package/.claude/commands/sparc/orchestrator.md +131 -131
  218. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  219. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  220. package/.claude/commands/sparc/researcher.md +54 -54
  221. package/.claude/commands/sparc/reviewer.md +54 -54
  222. package/.claude/commands/sparc/security-review.md +80 -80
  223. package/.claude/commands/sparc/sparc-modes.md +174 -174
  224. package/.claude/commands/sparc/sparc.md +111 -111
  225. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  226. package/.claude/commands/sparc/supabase-admin.md +348 -348
  227. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  228. package/.claude/commands/sparc/tdd.md +54 -54
  229. package/.claude/commands/sparc/tester.md +54 -54
  230. package/.claude/commands/sparc/tutorial.md +79 -79
  231. package/.claude/commands/sparc/workflow-manager.md +54 -54
  232. package/.claude/commands/sparc.md +166 -166
  233. package/.claude/commands/stream-chain/pipeline.md +120 -120
  234. package/.claude/commands/stream-chain/run.md +69 -69
  235. package/.claude/commands/swarm/README.md +15 -15
  236. package/.claude/commands/swarm/analysis.md +95 -95
  237. package/.claude/commands/swarm/development.md +96 -96
  238. package/.claude/commands/swarm/examples.md +168 -168
  239. package/.claude/commands/swarm/maintenance.md +102 -102
  240. package/.claude/commands/swarm/optimization.md +117 -117
  241. package/.claude/commands/swarm/research.md +136 -136
  242. package/.claude/commands/swarm/swarm-analysis.md +8 -8
  243. package/.claude/commands/swarm/swarm-background.md +8 -8
  244. package/.claude/commands/swarm/swarm-init.md +19 -19
  245. package/.claude/commands/swarm/swarm-modes.md +8 -8
  246. package/.claude/commands/swarm/swarm-monitor.md +8 -8
  247. package/.claude/commands/swarm/swarm-spawn.md +19 -19
  248. package/.claude/commands/swarm/swarm-status.md +8 -8
  249. package/.claude/commands/swarm/swarm-strategies.md +8 -8
  250. package/.claude/commands/swarm/swarm.md +27 -27
  251. package/.claude/commands/swarm/testing.md +131 -131
  252. package/.claude/commands/training/README.md +9 -9
  253. package/.claude/commands/training/model-update.md +25 -25
  254. package/.claude/commands/training/neural-patterns.md +73 -73
  255. package/.claude/commands/training/neural-train.md +25 -25
  256. package/.claude/commands/training/pattern-learn.md +25 -25
  257. package/.claude/commands/training/specialization.md +62 -62
  258. package/.claude/commands/truth/start.md +142 -142
  259. package/.claude/commands/verify/check.md +49 -49
  260. package/.claude/commands/verify/start.md +127 -127
  261. package/.claude/commands/workflows/README.md +9 -9
  262. package/.claude/commands/workflows/development.md +77 -77
  263. package/.claude/commands/workflows/research.md +62 -62
  264. package/.claude/commands/workflows/workflow-create.md +25 -25
  265. package/.claude/commands/workflows/workflow-execute.md +25 -25
  266. package/.claude/commands/workflows/workflow-export.md +25 -25
  267. package/.claude/config/v3-dependency-optimization.json +265 -265
  268. package/.claude/config/v3-performance-targets.json +250 -250
  269. package/.claude/helpers/README.md +96 -96
  270. package/.claude/helpers/aggressive-microcompact.mjs +36 -36
  271. package/.claude/helpers/auto-memory-hook.mjs +363 -363
  272. package/.claude/helpers/context-persistence-hook.mjs +1979 -1979
  273. package/.claude/helpers/github-safe.js +106 -106
  274. package/.claude/helpers/learning-service.mjs +1144 -1144
  275. package/.claude/helpers/metrics-db.mjs +488 -488
  276. package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
  277. package/.claude/mcp.json +12 -12
  278. package/.claude/settings.json +2 -2
  279. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  280. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  281. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  282. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  283. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  284. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  285. package/.claude/skills/dual-mode/README.md +71 -71
  286. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  287. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  288. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  289. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -738
  290. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -1157
  291. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -610
  292. package/.claude/skills/github-code-review/SKILL.md +1 -1
  293. package/.claude/skills/github-multi-repo/SKILL.md +2 -2
  294. package/.claude/skills/github-project-management/SKILL.md +1 -1
  295. package/.claude/skills/github-release-management/SKILL.md +2 -2
  296. package/.claude/skills/github-workflow-automation/SKILL.md +1 -1
  297. package/.claude/skills/hive-mind-advanced/SKILL.md +4 -4
  298. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  299. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  300. package/.claude/skills/performance-analysis/SKILL.md +563 -563
  301. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  302. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  303. package/.claude/skills/skill-builder/SKILL.md +910 -910
  304. package/.claude/skills/sparc-methodology/SKILL.md +2 -2
  305. package/.claude/skills/stream-chain/SKILL.md +563 -563
  306. package/.claude/skills/swarm-advanced/SKILL.md +4 -4
  307. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  308. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  309. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  310. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  311. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  312. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  313. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  314. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  315. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  316. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  317. package/.claude/skills/verification-quality/SKILL.md +649 -649
  318. package/.claude/skills/worker-benchmarks/skill.md +135 -135
  319. package/.claude/skills/worker-integration/skill.md +154 -154
  320. package/.claude/statusline.mjs +109 -109
  321. package/.claude-plugin/README.md +6 -6
  322. package/.claude-plugin/docs/INSTALLATION.md +4 -4
  323. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +5 -5
  324. package/.claude-plugin/docs/QUICKSTART.md +1 -1
  325. package/.claude-plugin/docs/STRUCTURE.md +128 -128
  326. package/.claude-plugin/hooks/hooks.json +74 -74
  327. package/.claude-plugin/marketplace.json +5 -5
  328. package/.claude-plugin/plugin.json +4 -4
  329. package/README.md +148 -148
  330. package/bin/cli.js +12 -12
  331. package/bin/npx-repair.js +7 -7
  332. package/bin/npx-safe-launch.js +9 -9
  333. package/package.json +115 -114
  334. package/v3/@claude-flow/cli/README.md +5 -5
  335. package/v3/@claude-flow/cli/bin/cli.js +156 -156
  336. package/v3/@claude-flow/cli/bin/mcp-server.js +189 -189
  337. package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +1 -1
  338. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +1 -1
  339. package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +1 -1
  340. package/v3/@claude-flow/cli/dist/src/commands/claims.js +2 -2
  341. package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +1 -1
  342. package/v3/@claude-flow/cli/dist/src/commands/completions.js +1 -1
  343. package/v3/@claude-flow/cli/dist/src/commands/config.js +36 -2
  344. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +54 -7
  345. package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +1 -1
  346. package/v3/@claude-flow/cli/dist/src/commands/deployment.js +2 -2
  347. package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +1 -1
  348. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +1 -1
  349. package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +1 -1
  350. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +2 -2
  351. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
  352. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +56 -20
  353. package/v3/@claude-flow/cli/dist/src/commands/init.js +6 -1
  354. package/v3/@claude-flow/cli/dist/src/commands/memory.js +30 -30
  355. package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +1 -1
  356. package/v3/@claude-flow/cli/dist/src/commands/neural.js +2 -2
  357. package/v3/@claude-flow/cli/dist/src/commands/orc.js +1 -0
  358. package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +1 -1
  359. package/v3/@claude-flow/cli/dist/src/commands/performance.js +2 -2
  360. package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +1 -1
  361. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +2 -2
  362. package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +1 -1
  363. package/v3/@claude-flow/cli/dist/src/commands/providers.js +2 -2
  364. package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +1 -1
  365. package/v3/@claude-flow/cli/dist/src/commands/route.js +1 -1
  366. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
  367. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +29 -29
  368. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +1 -1
  369. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +1 -1
  370. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +1 -1
  371. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +1 -1
  372. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +113 -113
  373. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +97 -97
  374. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
  375. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +1 -1
  376. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +2 -2
  377. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +36 -36
  378. package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +1 -1
  379. package/v3/@claude-flow/cli/dist/src/commands/security.js +2 -2
  380. package/v3/@claude-flow/cli/dist/src/config/moflo-config.d.ts +13 -1
  381. package/v3/@claude-flow/cli/dist/src/config/moflo-config.js +93 -41
  382. package/v3/@claude-flow/cli/dist/src/index.d.ts +1 -1
  383. package/v3/@claude-flow/cli/dist/src/index.js +2 -2
  384. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +2 -2
  385. package/v3/@claude-flow/cli/dist/src/init/executor.js +3 -3
  386. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +640 -640
  387. package/v3/@claude-flow/cli/dist/src/init/moflo-init.d.ts +10 -0
  388. package/v3/@claude-flow/cli/dist/src/init/moflo-init.js +101 -20
  389. package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +2 -2
  390. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +783 -783
  391. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +30 -13
  392. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +1 -1
  393. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +1 -1
  394. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +61 -61
  395. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2212 -2263
  396. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  397. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +1 -1
  398. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +1 -1
  399. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +1 -1
  400. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +1 -1
  401. package/v3/@claude-flow/cli/dist/src/services/agent-router.d.ts +14 -0
  402. package/v3/@claude-flow/cli/dist/src/services/agent-router.js +86 -7
  403. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  404. package/v3/@claude-flow/cli/dist/src/services/index.d.ts +1 -3
  405. package/v3/@claude-flow/cli/dist/src/services/index.js +1 -2
  406. package/v3/@claude-flow/cli/dist/src/services/learning-service.js +54 -54
  407. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +1 -1
  408. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +1 -1
  409. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +24 -3
  410. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +123 -12
  411. package/v3/@claude-flow/cli/dist/src/services/workflow-gate.d.ts +1 -0
  412. package/v3/@claude-flow/cli/dist/src/services/workflow-gate.js +20 -5
  413. package/v3/@claude-flow/cli/dist/src/suggest.d.ts +1 -1
  414. package/v3/@claude-flow/cli/dist/src/suggest.js +1 -1
  415. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
  416. package/v3/@claude-flow/cli/package.json +6 -6
  417. package/v3/@claude-flow/guidance/README.md +6 -6
  418. package/v3/@claude-flow/guidance/package.json +1 -1
  419. package/v3/@claude-flow/memory/README.md +1 -1
  420. package/v3/@claude-flow/shared/README.md +1 -1
  421. package/v3/@claude-flow/shared/package.json +42 -42
  422. package/v3/README.md +3 -3
@@ -229,12 +229,12 @@ export const benchmarkCommand = {
229
229
  const benchmarkTable = `${config.schema}.benchmark_${Date.now()}`;
230
230
  spinner.setText('Creating benchmark table...');
231
231
  spinner.start();
232
- await client.query(`
233
- CREATE TABLE ${benchmarkTable} (
234
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
235
- embedding vector(${dimensions}),
236
- created_at TIMESTAMPTZ DEFAULT NOW()
237
- )
232
+ await client.query(`
233
+ CREATE TABLE ${benchmarkTable} (
234
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
235
+ embedding vector(${dimensions}),
236
+ created_at TIMESTAMPTZ DEFAULT NOW()
237
+ )
238
238
  `);
239
239
  spinner.succeed('Benchmark table created');
240
240
  // Insert vectors
@@ -250,9 +250,9 @@ export const benchmarkCommand = {
250
250
  const vector = generateRandomVector(dimensions);
251
251
  batchVectors.push(`('[${vector.join(',')}]')`);
252
252
  }
253
- await client.query(`
254
- INSERT INTO ${benchmarkTable} (embedding)
255
- VALUES ${batchVectors.join(',')}
253
+ await client.query(`
254
+ INSERT INTO ${benchmarkTable} (embedding)
255
+ VALUES ${batchVectors.join(',')}
256
256
  `);
257
257
  insertedCount = batchEnd;
258
258
  spinner.setText(`Inserting vectors... ${insertedCount.toLocaleString()}/${numVectors.toLocaleString()}`);
@@ -273,21 +273,21 @@ export const benchmarkCommand = {
273
273
  const metricOp = metric === 'cosine' ? 'vector_cosine_ops' :
274
274
  metric === 'l2' ? 'vector_l2_ops' : 'vector_ip_ops';
275
275
  if (indexType === 'hnsw') {
276
- await client.query(`
277
- CREATE INDEX idx_benchmark_hnsw
278
- ON ${benchmarkTable}
279
- USING hnsw (embedding ${metricOp})
280
- WITH (m = 16, ef_construction = 64)
276
+ await client.query(`
277
+ CREATE INDEX idx_benchmark_hnsw
278
+ ON ${benchmarkTable}
279
+ USING hnsw (embedding ${metricOp})
280
+ WITH (m = 16, ef_construction = 64)
281
281
  `);
282
282
  }
283
283
  else if (indexType === 'ivfflat') {
284
284
  // Need to train IVFFlat with existing data
285
285
  const lists = Math.max(100, Math.floor(numVectors / 1000));
286
- await client.query(`
287
- CREATE INDEX idx_benchmark_ivfflat
288
- ON ${benchmarkTable}
289
- USING ivfflat (embedding ${metricOp})
290
- WITH (lists = ${lists})
286
+ await client.query(`
287
+ CREATE INDEX idx_benchmark_ivfflat
288
+ ON ${benchmarkTable}
289
+ USING ivfflat (embedding ${metricOp})
290
+ WITH (lists = ${lists})
291
291
  `);
292
292
  }
293
293
  const indexDuration = Date.now() - indexStart;
@@ -310,11 +310,11 @@ export const benchmarkCommand = {
310
310
  for (let q = 0; q < numQueries; q++) {
311
311
  const queryVector = generateRandomVector(dimensions);
312
312
  const queryStart = Date.now();
313
- await client.query(`
314
- SELECT id, embedding ${distanceOp} '[${queryVector.join(',')}]' as distance
315
- FROM ${benchmarkTable}
316
- ORDER BY embedding ${distanceOp} '[${queryVector.join(',')}]'
317
- LIMIT ${topK}
313
+ await client.query(`
314
+ SELECT id, embedding ${distanceOp} '[${queryVector.join(',')}]' as distance
315
+ FROM ${benchmarkTable}
316
+ ORDER BY embedding ${distanceOp} '[${queryVector.join(',')}]'
317
+ LIMIT ${topK}
318
318
  `);
319
319
  queryLatencies.push(Date.now() - queryStart);
320
320
  if (q % 10 === 0) {
@@ -344,11 +344,11 @@ export const benchmarkCommand = {
344
344
  // Get memory usage
345
345
  spinner.setText('Analyzing memory usage...');
346
346
  spinner.start();
347
- const sizeResult = await client.query(`
348
- SELECT
349
- pg_relation_size('${benchmarkTable}') as table_size,
350
- pg_total_relation_size('${benchmarkTable}') as total_size,
351
- pg_indexes_size('${benchmarkTable}') as index_size
347
+ const sizeResult = await client.query(`
348
+ SELECT
349
+ pg_relation_size('${benchmarkTable}') as table_size,
350
+ pg_total_relation_size('${benchmarkTable}') as total_size,
351
+ pg_indexes_size('${benchmarkTable}') as index_size
352
352
  `);
353
353
  const tableSize = parseInt(sizeResult.rows[0].table_size, 10);
354
354
  const totalSize = parseInt(sizeResult.rows[0].total_size, 10);
@@ -7,7 +7,7 @@
7
7
  * npx claude-flow ruvector import --from-memory
8
8
  * npx claude-flow ruvector import --input data.json --batch-size 100
9
9
  *
10
- * Created with care by ruv.io
10
+ * Created with care by motailz.com
11
11
  */
12
12
  import type { Command } from '../../types.js';
13
13
  /**
@@ -7,7 +7,7 @@
7
7
  * npx claude-flow ruvector import --from-memory
8
8
  * npx claude-flow ruvector import --input data.json --batch-size 100
9
9
  *
10
- * Created with care by ruv.io
10
+ * Created with care by motailz.com
11
11
  */
12
12
  import { output } from '../../output.js';
13
13
  import * as fs from 'fs';
@@ -10,7 +10,7 @@
10
10
  * - Performance benchmarking
11
11
  * - Migration management
12
12
  *
13
- * Created with care by ruv.io
13
+ * Created with care by motailz.com
14
14
  */
15
15
  import type { Command } from '../../types.js';
16
16
  /**
@@ -10,7 +10,7 @@
10
10
  * - Performance benchmarking
11
11
  * - Migration management
12
12
  *
13
- * Created with care by ruv.io
13
+ * Created with care by motailz.com
14
14
  */
15
15
  import { output } from '../../output.js';
16
16
  // Import subcommands
@@ -204,8 +204,8 @@ export const initCommand = {
204
204
  // Check pgvector extension
205
205
  spinner.setText('Checking pgvector extension...');
206
206
  spinner.start();
207
- const extensionResult = await client.query(`
208
- SELECT extversion FROM pg_extension WHERE extname = 'vector'
207
+ const extensionResult = await client.query(`
208
+ SELECT extversion FROM pg_extension WHERE extname = 'vector'
209
209
  `);
210
210
  if (extensionResult.rows.length === 0) {
211
211
  spinner.succeed('pgvector not installed, attempting to create...');
@@ -239,153 +239,153 @@ export const initCommand = {
239
239
  spinner.setText('Creating RuVector tables...');
240
240
  spinner.start();
241
241
  // Vector embeddings table
242
- await client.query(`
243
- CREATE TABLE IF NOT EXISTS ${config.schema}.embeddings (
244
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
245
- key VARCHAR(512) NOT NULL,
246
- namespace VARCHAR(128) NOT NULL DEFAULT 'default',
247
- content TEXT,
248
- embedding vector(${dimensions}),
249
- metadata JSONB DEFAULT '{}',
250
- created_at TIMESTAMPTZ DEFAULT NOW(),
251
- updated_at TIMESTAMPTZ DEFAULT NOW(),
252
- UNIQUE(key, namespace)
253
- )
242
+ await client.query(`
243
+ CREATE TABLE IF NOT EXISTS ${config.schema}.embeddings (
244
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
245
+ key VARCHAR(512) NOT NULL,
246
+ namespace VARCHAR(128) NOT NULL DEFAULT 'default',
247
+ content TEXT,
248
+ embedding vector(${dimensions}),
249
+ metadata JSONB DEFAULT '{}',
250
+ created_at TIMESTAMPTZ DEFAULT NOW(),
251
+ updated_at TIMESTAMPTZ DEFAULT NOW(),
252
+ UNIQUE(key, namespace)
253
+ )
254
254
  `);
255
255
  // Attention patterns table
256
- await client.query(`
257
- CREATE TABLE IF NOT EXISTS ${config.schema}.attention_patterns (
258
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
259
- pattern_name VARCHAR(256) NOT NULL,
260
- query_embedding vector(${dimensions}),
261
- key_embedding vector(${dimensions}),
262
- value_embedding vector(${dimensions}),
263
- attention_weights JSONB,
264
- context TEXT,
265
- created_at TIMESTAMPTZ DEFAULT NOW()
266
- )
256
+ await client.query(`
257
+ CREATE TABLE IF NOT EXISTS ${config.schema}.attention_patterns (
258
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
259
+ pattern_name VARCHAR(256) NOT NULL,
260
+ query_embedding vector(${dimensions}),
261
+ key_embedding vector(${dimensions}),
262
+ value_embedding vector(${dimensions}),
263
+ attention_weights JSONB,
264
+ context TEXT,
265
+ created_at TIMESTAMPTZ DEFAULT NOW()
266
+ )
267
267
  `);
268
268
  // GNN adjacency table
269
- await client.query(`
270
- CREATE TABLE IF NOT EXISTS ${config.schema}.gnn_edges (
271
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
272
- source_id UUID NOT NULL,
273
- target_id UUID NOT NULL,
274
- edge_type VARCHAR(64) NOT NULL DEFAULT 'related',
275
- weight FLOAT DEFAULT 1.0,
276
- metadata JSONB DEFAULT '{}',
277
- created_at TIMESTAMPTZ DEFAULT NOW(),
278
- UNIQUE(source_id, target_id, edge_type)
279
- )
269
+ await client.query(`
270
+ CREATE TABLE IF NOT EXISTS ${config.schema}.gnn_edges (
271
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
272
+ source_id UUID NOT NULL,
273
+ target_id UUID NOT NULL,
274
+ edge_type VARCHAR(64) NOT NULL DEFAULT 'related',
275
+ weight FLOAT DEFAULT 1.0,
276
+ metadata JSONB DEFAULT '{}',
277
+ created_at TIMESTAMPTZ DEFAULT NOW(),
278
+ UNIQUE(source_id, target_id, edge_type)
279
+ )
280
280
  `);
281
281
  // Hyperbolic embeddings table (Poincare ball)
282
- await client.query(`
283
- CREATE TABLE IF NOT EXISTS ${config.schema}.hyperbolic_embeddings (
284
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
285
- entity_id UUID NOT NULL,
286
- embedding vector(${dimensions}),
287
- curvature FLOAT DEFAULT -1.0,
288
- hierarchy_level INTEGER DEFAULT 0,
289
- parent_id UUID,
290
- created_at TIMESTAMPTZ DEFAULT NOW()
291
- )
282
+ await client.query(`
283
+ CREATE TABLE IF NOT EXISTS ${config.schema}.hyperbolic_embeddings (
284
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
285
+ entity_id UUID NOT NULL,
286
+ embedding vector(${dimensions}),
287
+ curvature FLOAT DEFAULT -1.0,
288
+ hierarchy_level INTEGER DEFAULT 0,
289
+ parent_id UUID,
290
+ created_at TIMESTAMPTZ DEFAULT NOW()
291
+ )
292
292
  `);
293
293
  // Migrations tracking table
294
- await client.query(`
295
- CREATE TABLE IF NOT EXISTS ${config.schema}.migrations (
296
- id SERIAL PRIMARY KEY,
297
- version VARCHAR(64) NOT NULL UNIQUE,
298
- name VARCHAR(256) NOT NULL,
299
- applied_at TIMESTAMPTZ DEFAULT NOW(),
300
- checksum VARCHAR(64)
301
- )
294
+ await client.query(`
295
+ CREATE TABLE IF NOT EXISTS ${config.schema}.migrations (
296
+ id SERIAL PRIMARY KEY,
297
+ version VARCHAR(64) NOT NULL UNIQUE,
298
+ name VARCHAR(256) NOT NULL,
299
+ applied_at TIMESTAMPTZ DEFAULT NOW(),
300
+ checksum VARCHAR(64)
301
+ )
302
302
  `);
303
303
  // RuVector metadata table
304
- await client.query(`
305
- CREATE TABLE IF NOT EXISTS ${config.schema}.metadata (
306
- key VARCHAR(128) PRIMARY KEY,
307
- value JSONB NOT NULL,
308
- updated_at TIMESTAMPTZ DEFAULT NOW()
309
- )
304
+ await client.query(`
305
+ CREATE TABLE IF NOT EXISTS ${config.schema}.metadata (
306
+ key VARCHAR(128) PRIMARY KEY,
307
+ value JSONB NOT NULL,
308
+ updated_at TIMESTAMPTZ DEFAULT NOW()
309
+ )
310
310
  `);
311
311
  // Store initialization metadata
312
- await client.query(`
313
- INSERT INTO ${config.schema}.metadata (key, value)
314
- VALUES ('ruvector_version', '"1.0.0"')
315
- ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
312
+ await client.query(`
313
+ INSERT INTO ${config.schema}.metadata (key, value)
314
+ VALUES ('ruvector_version', '"1.0.0"')
315
+ ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
316
316
  `);
317
- await client.query(`
318
- INSERT INTO ${config.schema}.metadata (key, value)
319
- VALUES ('dimensions', '${dimensions}')
320
- ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
317
+ await client.query(`
318
+ INSERT INTO ${config.schema}.metadata (key, value)
319
+ VALUES ('dimensions', '${dimensions}')
320
+ ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
321
321
  `);
322
- await client.query(`
323
- INSERT INTO ${config.schema}.metadata (key, value)
324
- VALUES ('initialized_at', '"${new Date().toISOString()}"')
325
- ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
322
+ await client.query(`
323
+ INSERT INTO ${config.schema}.metadata (key, value)
324
+ VALUES ('initialized_at', '"${new Date().toISOString()}"')
325
+ ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW()
326
326
  `);
327
327
  spinner.succeed('RuVector tables created');
328
328
  // Create indexes
329
329
  spinner.setText(`Creating ${indexType.toUpperCase()} indexes...`);
330
330
  spinner.start();
331
331
  if (indexType === 'hnsw') {
332
- await client.query(`
333
- CREATE INDEX IF NOT EXISTS idx_embeddings_vector_hnsw
334
- ON ${config.schema}.embeddings
335
- USING hnsw (embedding vector_cosine_ops)
336
- WITH (m = 16, ef_construction = 64)
332
+ await client.query(`
333
+ CREATE INDEX IF NOT EXISTS idx_embeddings_vector_hnsw
334
+ ON ${config.schema}.embeddings
335
+ USING hnsw (embedding vector_cosine_ops)
336
+ WITH (m = 16, ef_construction = 64)
337
337
  `);
338
- await client.query(`
339
- CREATE INDEX IF NOT EXISTS idx_attention_query_hnsw
340
- ON ${config.schema}.attention_patterns
341
- USING hnsw (query_embedding vector_cosine_ops)
342
- WITH (m = 16, ef_construction = 64)
338
+ await client.query(`
339
+ CREATE INDEX IF NOT EXISTS idx_attention_query_hnsw
340
+ ON ${config.schema}.attention_patterns
341
+ USING hnsw (query_embedding vector_cosine_ops)
342
+ WITH (m = 16, ef_construction = 64)
343
343
  `);
344
- await client.query(`
345
- CREATE INDEX IF NOT EXISTS idx_hyperbolic_embedding_hnsw
346
- ON ${config.schema}.hyperbolic_embeddings
347
- USING hnsw (embedding vector_cosine_ops)
348
- WITH (m = 16, ef_construction = 64)
344
+ await client.query(`
345
+ CREATE INDEX IF NOT EXISTS idx_hyperbolic_embedding_hnsw
346
+ ON ${config.schema}.hyperbolic_embeddings
347
+ USING hnsw (embedding vector_cosine_ops)
348
+ WITH (m = 16, ef_construction = 64)
349
349
  `);
350
350
  }
351
351
  else {
352
352
  // IVFFlat indexes
353
- await client.query(`
354
- CREATE INDEX IF NOT EXISTS idx_embeddings_vector_ivfflat
355
- ON ${config.schema}.embeddings
356
- USING ivfflat (embedding vector_cosine_ops)
357
- WITH (lists = 100)
353
+ await client.query(`
354
+ CREATE INDEX IF NOT EXISTS idx_embeddings_vector_ivfflat
355
+ ON ${config.schema}.embeddings
356
+ USING ivfflat (embedding vector_cosine_ops)
357
+ WITH (lists = 100)
358
358
  `);
359
- await client.query(`
360
- CREATE INDEX IF NOT EXISTS idx_attention_query_ivfflat
361
- ON ${config.schema}.attention_patterns
362
- USING ivfflat (query_embedding vector_cosine_ops)
363
- WITH (lists = 100)
359
+ await client.query(`
360
+ CREATE INDEX IF NOT EXISTS idx_attention_query_ivfflat
361
+ ON ${config.schema}.attention_patterns
362
+ USING ivfflat (query_embedding vector_cosine_ops)
363
+ WITH (lists = 100)
364
364
  `);
365
365
  }
366
366
  // Additional standard indexes
367
- await client.query(`
368
- CREATE INDEX IF NOT EXISTS idx_embeddings_namespace
369
- ON ${config.schema}.embeddings (namespace)
367
+ await client.query(`
368
+ CREATE INDEX IF NOT EXISTS idx_embeddings_namespace
369
+ ON ${config.schema}.embeddings (namespace)
370
370
  `);
371
- await client.query(`
372
- CREATE INDEX IF NOT EXISTS idx_embeddings_key
373
- ON ${config.schema}.embeddings (key)
371
+ await client.query(`
372
+ CREATE INDEX IF NOT EXISTS idx_embeddings_key
373
+ ON ${config.schema}.embeddings (key)
374
374
  `);
375
- await client.query(`
376
- CREATE INDEX IF NOT EXISTS idx_gnn_source
377
- ON ${config.schema}.gnn_edges (source_id)
375
+ await client.query(`
376
+ CREATE INDEX IF NOT EXISTS idx_gnn_source
377
+ ON ${config.schema}.gnn_edges (source_id)
378
378
  `);
379
- await client.query(`
380
- CREATE INDEX IF NOT EXISTS idx_gnn_target
381
- ON ${config.schema}.gnn_edges (target_id)
379
+ await client.query(`
380
+ CREATE INDEX IF NOT EXISTS idx_gnn_target
381
+ ON ${config.schema}.gnn_edges (target_id)
382
382
  `);
383
383
  spinner.succeed(`${indexType.toUpperCase()} indexes created`);
384
384
  // Record initial migration
385
- await client.query(`
386
- INSERT INTO ${config.schema}.migrations (version, name)
387
- VALUES ('1.0.0', 'Initial RuVector setup')
388
- ON CONFLICT (version) DO NOTHING
385
+ await client.query(`
386
+ INSERT INTO ${config.schema}.migrations (version, name)
387
+ VALUES ('1.0.0', 'Initial RuVector setup')
388
+ ON CONFLICT (version) DO NOTHING
389
389
  `);
390
390
  await client.end();
391
391
  output.writeln();
@@ -17,116 +17,116 @@ const MIGRATIONS = [
17
17
  {
18
18
  version: '1.1.0',
19
19
  name: 'Add full-text search',
20
- up: `
21
- CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts
22
- ON {{schema}}.embeddings
23
- USING gin (to_tsvector('english', COALESCE(content, '')));
24
-
25
- ALTER TABLE {{schema}}.embeddings
26
- ADD COLUMN IF NOT EXISTS search_vector tsvector
27
- GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;
20
+ up: `
21
+ CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts
22
+ ON {{schema}}.embeddings
23
+ USING gin (to_tsvector('english', COALESCE(content, '')));
24
+
25
+ ALTER TABLE {{schema}}.embeddings
26
+ ADD COLUMN IF NOT EXISTS search_vector tsvector
27
+ GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;
28
28
  `,
29
- down: `
30
- DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
31
- ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
29
+ down: `
30
+ DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
31
+ ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
32
32
  `,
33
33
  },
34
34
  {
35
35
  version: '1.2.0',
36
36
  name: 'Add embedding statistics',
37
- up: `
38
- CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (
39
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
40
- namespace VARCHAR(128) NOT NULL,
41
- total_vectors INTEGER DEFAULT 0,
42
- avg_magnitude FLOAT,
43
- dimension_stats JSONB,
44
- computed_at TIMESTAMPTZ DEFAULT NOW()
45
- );
46
-
47
- CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace
48
- ON {{schema}}.embedding_stats (namespace);
37
+ up: `
38
+ CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (
39
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
40
+ namespace VARCHAR(128) NOT NULL,
41
+ total_vectors INTEGER DEFAULT 0,
42
+ avg_magnitude FLOAT,
43
+ dimension_stats JSONB,
44
+ computed_at TIMESTAMPTZ DEFAULT NOW()
45
+ );
46
+
47
+ CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace
48
+ ON {{schema}}.embedding_stats (namespace);
49
49
  `,
50
- down: `
51
- DROP TABLE IF EXISTS {{schema}}.embedding_stats;
50
+ down: `
51
+ DROP TABLE IF EXISTS {{schema}}.embedding_stats;
52
52
  `,
53
53
  },
54
54
  {
55
55
  version: '1.3.0',
56
56
  name: 'Add query cache',
57
- up: `
58
- CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (
59
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
60
- query_hash VARCHAR(64) NOT NULL UNIQUE,
61
- query_embedding vector(1536),
62
- result_ids UUID[],
63
- result_scores FLOAT[],
64
- hit_count INTEGER DEFAULT 1,
65
- created_at TIMESTAMPTZ DEFAULT NOW(),
66
- last_accessed TIMESTAMPTZ DEFAULT NOW()
67
- );
68
-
69
- CREATE INDEX IF NOT EXISTS idx_query_cache_hash
70
- ON {{schema}}.query_cache (query_hash);
71
-
72
- CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed
73
- ON {{schema}}.query_cache (last_accessed);
57
+ up: `
58
+ CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (
59
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
60
+ query_hash VARCHAR(64) NOT NULL UNIQUE,
61
+ query_embedding vector(1536),
62
+ result_ids UUID[],
63
+ result_scores FLOAT[],
64
+ hit_count INTEGER DEFAULT 1,
65
+ created_at TIMESTAMPTZ DEFAULT NOW(),
66
+ last_accessed TIMESTAMPTZ DEFAULT NOW()
67
+ );
68
+
69
+ CREATE INDEX IF NOT EXISTS idx_query_cache_hash
70
+ ON {{schema}}.query_cache (query_hash);
71
+
72
+ CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed
73
+ ON {{schema}}.query_cache (last_accessed);
74
74
  `,
75
- down: `
76
- DROP TABLE IF EXISTS {{schema}}.query_cache;
75
+ down: `
76
+ DROP TABLE IF EXISTS {{schema}}.query_cache;
77
77
  `,
78
78
  },
79
79
  {
80
80
  version: '1.4.0',
81
81
  name: 'Add batch operations support',
82
- up: `
83
- CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (
84
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
85
- job_type VARCHAR(64) NOT NULL,
86
- status VARCHAR(32) DEFAULT 'pending',
87
- total_items INTEGER DEFAULT 0,
88
- processed_items INTEGER DEFAULT 0,
89
- error_count INTEGER DEFAULT 0,
90
- metadata JSONB DEFAULT '{}',
91
- started_at TIMESTAMPTZ,
92
- completed_at TIMESTAMPTZ,
93
- created_at TIMESTAMPTZ DEFAULT NOW()
94
- );
95
-
96
- CREATE INDEX IF NOT EXISTS idx_batch_jobs_status
97
- ON {{schema}}.batch_jobs (status);
82
+ up: `
83
+ CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (
84
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
85
+ job_type VARCHAR(64) NOT NULL,
86
+ status VARCHAR(32) DEFAULT 'pending',
87
+ total_items INTEGER DEFAULT 0,
88
+ processed_items INTEGER DEFAULT 0,
89
+ error_count INTEGER DEFAULT 0,
90
+ metadata JSONB DEFAULT '{}',
91
+ started_at TIMESTAMPTZ,
92
+ completed_at TIMESTAMPTZ,
93
+ created_at TIMESTAMPTZ DEFAULT NOW()
94
+ );
95
+
96
+ CREATE INDEX IF NOT EXISTS idx_batch_jobs_status
97
+ ON {{schema}}.batch_jobs (status);
98
98
  `,
99
- down: `
100
- DROP TABLE IF EXISTS {{schema}}.batch_jobs;
99
+ down: `
100
+ DROP TABLE IF EXISTS {{schema}}.batch_jobs;
101
101
  `,
102
102
  },
103
103
  {
104
104
  version: '1.5.0',
105
105
  name: 'Add neural pattern learning',
106
- up: `
107
- CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (
108
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
109
- pattern_type VARCHAR(64) NOT NULL,
110
- input_embedding vector(1536),
111
- output_embedding vector(1536),
112
- weight_matrix JSONB,
113
- activation VARCHAR(32) DEFAULT 'relu',
114
- accuracy FLOAT,
115
- training_steps INTEGER DEFAULT 0,
116
- created_at TIMESTAMPTZ DEFAULT NOW(),
117
- updated_at TIMESTAMPTZ DEFAULT NOW()
118
- );
119
-
120
- CREATE INDEX IF NOT EXISTS idx_neural_patterns_type
121
- ON {{schema}}.neural_patterns (pattern_type);
122
-
123
- CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw
124
- ON {{schema}}.neural_patterns
125
- USING hnsw (input_embedding vector_cosine_ops)
126
- WITH (m = 16, ef_construction = 64);
106
+ up: `
107
+ CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (
108
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
109
+ pattern_type VARCHAR(64) NOT NULL,
110
+ input_embedding vector(1536),
111
+ output_embedding vector(1536),
112
+ weight_matrix JSONB,
113
+ activation VARCHAR(32) DEFAULT 'relu',
114
+ accuracy FLOAT,
115
+ training_steps INTEGER DEFAULT 0,
116
+ created_at TIMESTAMPTZ DEFAULT NOW(),
117
+ updated_at TIMESTAMPTZ DEFAULT NOW()
118
+ );
119
+
120
+ CREATE INDEX IF NOT EXISTS idx_neural_patterns_type
121
+ ON {{schema}}.neural_patterns (pattern_type);
122
+
123
+ CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw
124
+ ON {{schema}}.neural_patterns
125
+ USING hnsw (input_embedding vector_cosine_ops)
126
+ WITH (m = 16, ef_construction = 64);
127
127
  `,
128
- down: `
129
- DROP TABLE IF EXISTS {{schema}}.neural_patterns;
128
+ down: `
129
+ DROP TABLE IF EXISTS {{schema}}.neural_patterns;
130
130
  `,
131
131
  },
132
132
  ];
@@ -287,8 +287,8 @@ export const migrateCommand = {
287
287
  // Check if schema and migrations table exist
288
288
  spinner.setText('Checking migration status...');
289
289
  spinner.start();
290
- const schemaExists = await client.query(`
291
- SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
290
+ const schemaExists = await client.query(`
291
+ SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
292
292
  `, [config.schema]);
293
293
  if (schemaExists.rows.length === 0) {
294
294
  spinner.fail(`Schema "${config.schema}" not found`);
@@ -297,10 +297,10 @@ export const migrateCommand = {
297
297
  return { success: false, exitCode: 1 };
298
298
  }
299
299
  // Get applied migrations
300
- const appliedResult = await client.query(`
301
- SELECT version, name, applied_at, checksum
302
- FROM ${config.schema}.migrations
303
- ORDER BY version ASC
300
+ const appliedResult = await client.query(`
301
+ SELECT version, name, applied_at, checksum
302
+ FROM ${config.schema}.migrations
303
+ ORDER BY version ASC
304
304
  `);
305
305
  const appliedVersions = new Set(appliedResult.rows.map(r => r.version));
306
306
  spinner.succeed(`Found ${appliedVersions.size} applied migrations`);
@@ -426,15 +426,15 @@ export const migrateCommand = {
426
426
  // Update migrations table
427
427
  if (direction === 'up') {
428
428
  const checksum = calculateChecksum(resolvedSql);
429
- await client.query(`
430
- INSERT INTO ${config.schema}.migrations (version, name, checksum)
431
- VALUES ($1, $2, $3)
432
- ON CONFLICT (version) DO UPDATE SET applied_at = NOW()
429
+ await client.query(`
430
+ INSERT INTO ${config.schema}.migrations (version, name, checksum)
431
+ VALUES ($1, $2, $3)
432
+ ON CONFLICT (version) DO UPDATE SET applied_at = NOW()
433
433
  `, [migration.version, migration.name, checksum]);
434
434
  }
435
435
  else {
436
- await client.query(`
437
- DELETE FROM ${config.schema}.migrations WHERE version = $1
436
+ await client.query(`
437
+ DELETE FROM ${config.schema}.migrations WHERE version = $1
438
438
  `, [migration.version]);
439
439
  }
440
440
  await client.query('COMMIT');