@claude-flow/cli 3.10.46 → 3.12.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.
- package/.claude/agents/analysis/analyze-code-quality.md +178 -178
- package/.claude/agents/analysis/code-analyzer.md +209 -209
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +178 -178
- package/.claude/agents/architecture/arch-system-design.md +156 -156
- package/.claude/agents/architecture/system-design/arch-system-design.md +154 -154
- package/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/consensus/byzantine-coordinator.md +62 -62
- package/.claude/agents/consensus/crdt-synchronizer.md +996 -996
- package/.claude/agents/consensus/gossip-coordinator.md +62 -62
- package/.claude/agents/consensus/performance-benchmarker.md +850 -850
- package/.claude/agents/consensus/quorum-manager.md +822 -822
- package/.claude/agents/consensus/raft-manager.md +62 -62
- package/.claude/agents/consensus/security-manager.md +621 -621
- package/.claude/agents/core/planner.md +374 -374
- package/.claude/agents/custom/test-long-runner.md +44 -44
- package/.claude/agents/data/data-ml-model.md +444 -444
- package/.claude/agents/data/ml/data-ml-model.md +192 -192
- package/.claude/agents/development/backend/dev-backend-api.md +141 -141
- package/.claude/agents/development/dev-backend-api.md +344 -344
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +163 -163
- package/.claude/agents/devops/ops-cicd-github.md +164 -164
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +173 -173
- package/.claude/agents/documentation/docs-api-openapi.md +354 -354
- package/.claude/agents/flow-nexus/app-store.md +87 -87
- package/.claude/agents/flow-nexus/authentication.md +68 -68
- package/.claude/agents/flow-nexus/challenges.md +80 -80
- package/.claude/agents/flow-nexus/neural-network.md +87 -87
- package/.claude/agents/flow-nexus/payments.md +82 -82
- package/.claude/agents/flow-nexus/sandbox.md +75 -75
- package/.claude/agents/flow-nexus/swarm.md +75 -75
- package/.claude/agents/flow-nexus/user-tools.md +95 -95
- package/.claude/agents/flow-nexus/workflow.md +83 -83
- package/.claude/agents/github/code-review-swarm.md +377 -377
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +575 -575
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +437 -437
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +604 -604
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +902 -902
- package/.claude/agents/goal/agent.md +815 -815
- package/.claude/agents/optimization/benchmark-suite.md +664 -664
- package/.claude/agents/optimization/load-balancer.md +430 -430
- package/.claude/agents/optimization/performance-monitor.md +671 -671
- package/.claude/agents/optimization/resource-allocator.md +673 -673
- package/.claude/agents/optimization/topology-optimizer.md +807 -807
- package/.claude/agents/payments/agentic-payments.md +126 -126
- package/.claude/agents/sona/sona-learning-optimizer.md +74 -74
- package/.claude/agents/sparc/architecture.md +698 -698
- package/.claude/agents/sparc/pseudocode.md +519 -519
- package/.claude/agents/sparc/refinement.md +801 -801
- package/.claude/agents/sparc/specification.md +477 -477
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +224 -224
- package/.claude/agents/specialized/spec-mobile-react-native.md +226 -226
- package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
- package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
- package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
- package/.claude/agents/sublinear/performance-optimizer.md +367 -367
- package/.claude/agents/sublinear/trading-predictor.md +245 -245
- package/.claude/agents/swarm/adaptive-coordinator.md +1126 -1126
- package/.claude/agents/swarm/hierarchical-coordinator.md +709 -709
- package/.claude/agents/swarm/mesh-coordinator.md +962 -962
- package/.claude/agents/templates/automation-smart-agent.md +204 -204
- package/.claude/agents/templates/base-template-generator.md +289 -289
- package/.claude/agents/templates/coordinator-swarm-init.md +89 -89
- package/.claude/agents/templates/github-pr-manager.md +176 -176
- package/.claude/agents/templates/implementer-sparc-coder.md +258 -258
- package/.claude/agents/templates/memory-coordinator.md +186 -186
- package/.claude/agents/templates/orchestrator-task.md +138 -138
- package/.claude/agents/templates/performance-analyzer.md +198 -198
- package/.claude/agents/templates/sparc-coordinator.md +513 -513
- package/.claude/agents/testing/production-validator.md +394 -394
- package/.claude/agents/testing/tdd-london-swarm.md +243 -243
- package/.claude/agents/v3/aidefence-guardian.md +282 -282
- package/.claude/agents/v3/claims-authorizer.md +208 -208
- package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -993
- package/.claude/agents/v3/ddd-domain-expert.md +220 -220
- package/.claude/agents/v3/injection-analyst.md +236 -236
- package/.claude/agents/v3/performance-engineer.md +1233 -1233
- package/.claude/agents/v3/pii-detector.md +151 -151
- package/.claude/agents/v3/reasoningbank-learner.md +213 -213
- package/.claude/agents/v3/security-architect-aidefence.md +410 -410
- package/.claude/agents/v3/security-architect.md +867 -867
- package/.claude/agents/v3/swarm-memory-manager.md +157 -157
- package/.claude/agents/v3/v3-integration-architect.md +205 -205
- package/.claude/commands/agents/README.md +50 -50
- package/.claude/commands/agents/agent-capabilities.md +140 -140
- package/.claude/commands/agents/agent-coordination.md +28 -28
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/agents/agent-types.md +216 -216
- package/.claude/commands/agents/health.md +139 -139
- package/.claude/commands/agents/list.md +100 -100
- package/.claude/commands/agents/logs.md +130 -130
- package/.claude/commands/agents/metrics.md +122 -122
- package/.claude/commands/agents/pool.md +127 -127
- package/.claude/commands/agents/spawn.md +140 -140
- package/.claude/commands/agents/status.md +115 -115
- package/.claude/commands/agents/stop.md +102 -102
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
- package/.claude/commands/analysis/README.md +9 -9
- package/.claude/commands/analysis/bottleneck-detect.md +162 -162
- package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
- package/.claude/commands/analysis/performance-report.md +25 -25
- package/.claude/commands/analysis/token-efficiency.md +44 -44
- package/.claude/commands/analysis/token-usage.md +25 -25
- package/.claude/commands/automation/README.md +9 -9
- package/.claude/commands/automation/auto-agent.md +122 -122
- package/.claude/commands/automation/self-healing.md +105 -105
- package/.claude/commands/automation/session-memory.md +89 -89
- package/.claude/commands/automation/smart-agents.md +72 -72
- package/.claude/commands/automation/smart-spawn.md +25 -25
- package/.claude/commands/automation/workflow-select.md +25 -25
- package/.claude/commands/claude-flow-help.md +103 -103
- package/.claude/commands/claude-flow-memory.md +107 -107
- package/.claude/commands/claude-flow-swarm.md +205 -205
- package/.claude/commands/coordination/README.md +9 -9
- package/.claude/commands/coordination/agent-spawn.md +25 -25
- package/.claude/commands/coordination/init.md +44 -44
- package/.claude/commands/coordination/orchestrate.md +43 -43
- package/.claude/commands/coordination/spawn.md +45 -45
- package/.claude/commands/coordination/swarm-init.md +85 -85
- package/.claude/commands/coordination/task-orchestrate.md +25 -25
- package/.claude/commands/github/README.md +11 -11
- package/.claude/commands/github/code-review-swarm.md +513 -513
- package/.claude/commands/github/code-review.md +25 -25
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/issue-triage.md +25 -25
- package/.claude/commands/github/multi-repo-swarm.md +518 -518
- package/.claude/commands/github/pr-enhance.md +26 -26
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/project-board-sync.md +470 -470
- package/.claude/commands/github/release-manager.md +339 -339
- package/.claude/commands/github/release-swarm.md +543 -543
- package/.claude/commands/github/repo-analyze.md +25 -25
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/swarm-issue.md +484 -484
- package/.claude/commands/github/swarm-pr.md +287 -287
- package/.claude/commands/github/sync-coordinator.md +302 -302
- package/.claude/commands/github/workflow-automation.md +441 -441
- package/.claude/commands/hive-mind/README.md +17 -17
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
- package/.claude/commands/hive-mind/hive-mind.md +27 -27
- package/.claude/commands/hooks/README.md +11 -11
- package/.claude/commands/hooks/overview.md +57 -57
- package/.claude/commands/hooks/post-edit.md +117 -117
- package/.claude/commands/hooks/post-task.md +112 -112
- package/.claude/commands/hooks/pre-edit.md +113 -113
- package/.claude/commands/hooks/pre-task.md +111 -111
- package/.claude/commands/hooks/session-end.md +118 -118
- package/.claude/commands/hooks/setup.md +102 -102
- package/.claude/commands/memory/README.md +9 -9
- package/.claude/commands/memory/memory-persist.md +25 -25
- package/.claude/commands/memory/memory-search.md +25 -25
- package/.claude/commands/memory/memory-usage.md +25 -25
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/monitoring/README.md +9 -9
- package/.claude/commands/monitoring/agent-metrics.md +25 -25
- package/.claude/commands/monitoring/agents.md +44 -44
- package/.claude/commands/monitoring/real-time-view.md +25 -25
- package/.claude/commands/monitoring/status.md +46 -46
- package/.claude/commands/monitoring/swarm-monitor.md +25 -25
- package/.claude/commands/optimization/README.md +9 -9
- package/.claude/commands/optimization/auto-topology.md +61 -61
- package/.claude/commands/optimization/cache-manage.md +25 -25
- package/.claude/commands/optimization/parallel-execute.md +25 -25
- package/.claude/commands/optimization/parallel-execution.md +49 -49
- package/.claude/commands/optimization/topology-optimize.md +25 -25
- package/.claude/commands/pair/README.md +260 -260
- package/.claude/commands/pair/commands.md +545 -545
- package/.claude/commands/pair/config.md +509 -509
- package/.claude/commands/pair/examples.md +511 -511
- package/.claude/commands/pair/modes.md +347 -347
- package/.claude/commands/pair/session.md +406 -406
- package/.claude/commands/pair/start.md +208 -208
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/stream-chain/pipeline.md +120 -120
- package/.claude/commands/stream-chain/run.md +69 -69
- package/.claude/commands/swarm/README.md +15 -15
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/swarm-analysis.md +8 -8
- package/.claude/commands/swarm/swarm-background.md +8 -8
- package/.claude/commands/swarm/swarm-init.md +19 -19
- package/.claude/commands/swarm/swarm-modes.md +8 -8
- package/.claude/commands/swarm/swarm-monitor.md +8 -8
- package/.claude/commands/swarm/swarm-spawn.md +19 -19
- package/.claude/commands/swarm/swarm-status.md +8 -8
- package/.claude/commands/swarm/swarm-strategies.md +8 -8
- package/.claude/commands/swarm/swarm.md +87 -87
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/training/README.md +9 -9
- package/.claude/commands/training/model-update.md +25 -25
- package/.claude/commands/training/neural-patterns.md +107 -107
- package/.claude/commands/training/neural-train.md +75 -75
- package/.claude/commands/training/pattern-learn.md +25 -25
- package/.claude/commands/training/specialization.md +62 -62
- package/.claude/commands/truth/start.md +142 -142
- package/.claude/commands/verify/check.md +49 -49
- package/.claude/commands/verify/start.md +127 -127
- package/.claude/commands/workflows/README.md +9 -9
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/commands/workflows/workflow-create.md +25 -25
- package/.claude/commands/workflows/workflow-execute.md +25 -25
- package/.claude/commands/workflows/workflow-export.md +25 -25
- package/.claude/helpers/README.md +96 -96
- package/.claude/helpers/adr-compliance.sh +186 -186
- package/.claude/helpers/auto-commit.sh +178 -178
- package/.claude/helpers/auto-memory-hook.mjs +368 -368
- package/.claude/helpers/checkpoint-manager.sh +251 -251
- package/.claude/helpers/daemon-manager.sh +252 -252
- package/.claude/helpers/ddd-tracker.sh +144 -144
- package/.claude/helpers/github-safe.js +156 -156
- package/.claude/helpers/github-setup.sh +45 -45
- package/.claude/helpers/guidance-hook.sh +13 -13
- package/.claude/helpers/guidance-hooks.sh +102 -102
- package/.claude/helpers/health-monitor.sh +108 -108
- package/.claude/helpers/hook-handler.cjs +286 -286
- package/.claude/helpers/intelligence.cjs +1031 -1031
- package/.claude/helpers/learning-hooks.sh +329 -329
- package/.claude/helpers/learning-optimizer.sh +127 -127
- package/.claude/helpers/learning-service.mjs +1144 -1144
- package/.claude/helpers/memory.js +83 -83
- package/.claude/helpers/metrics-db.mjs +488 -488
- package/.claude/helpers/pattern-consolidator.sh +86 -86
- package/.claude/helpers/perf-worker.sh +160 -160
- package/.claude/helpers/post-commit +16 -16
- package/.claude/helpers/pre-commit +26 -26
- package/.claude/helpers/quick-start.sh +19 -19
- package/.claude/helpers/router.js +105 -105
- package/.claude/helpers/security-scanner.sh +127 -127
- package/.claude/helpers/session.js +157 -157
- package/.claude/helpers/setup-mcp.sh +18 -18
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
- package/.claude/helpers/statusline-hook.sh +21 -21
- package/.claude/helpers/statusline.cjs +604 -604
- package/.claude/helpers/statusline.js +352 -352
- package/.claude/helpers/swarm-comms.sh +353 -353
- package/.claude/helpers/swarm-hooks.sh +761 -761
- package/.claude/helpers/swarm-monitor.sh +210 -210
- package/.claude/helpers/sync-v3-metrics.sh +245 -245
- package/.claude/helpers/update-v3-progress.sh +165 -165
- package/.claude/helpers/v3-quick-status.sh +57 -57
- package/.claude/helpers/v3.sh +110 -110
- package/.claude/helpers/validate-v3-config.sh +215 -215
- package/.claude/helpers/worker-manager.sh +170 -170
- package/.claude/settings.json +182 -182
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
- package/.claude/skills/agentdb-learning/SKILL.md +545 -545
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
- package/.claude/skills/browser/SKILL.md +204 -204
- package/.claude/skills/dual-mode/README.md +71 -71
- package/.claude/skills/dual-mode/dual-collect.md +103 -103
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
- package/.claude/skills/dual-mode/dual-spawn.md +81 -81
- package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
- package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
- package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
- package/.claude/skills/github-code-review/SKILL.md +1125 -1125
- package/.claude/skills/github-multi-repo/SKILL.md +862 -862
- package/.claude/skills/github-project-management/SKILL.md +1262 -1262
- package/.claude/skills/github-release-management/SKILL.md +1064 -1064
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/pair-programming/SKILL.md +1202 -1202
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
- package/.claude/skills/skill-builder/SKILL.md +910 -910
- package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
- package/.claude/skills/stream-chain/SKILL.md +560 -560
- package/.claude/skills/swarm-advanced/SKILL.md +970 -970
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
- package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
- package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
- package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
- package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
- package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
- package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
- package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
- package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
- package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
- package/.claude/skills/verification-quality/SKILL.md +691 -691
- package/README.md +412 -412
- package/bin/cli.js +314 -314
- package/bin/mcp-server.js +224 -224
- package/bin/preinstall.cjs +2 -2
- package/dist/src/benchmarks/gaia-critic.js +24 -24
- package/dist/src/commands/completions.js +409 -409
- package/dist/src/commands/daemon.js +44 -44
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +175 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/eject.d.ts +33 -0
- package/dist/src/commands/eject.d.ts.map +1 -0
- package/dist/src/commands/eject.js +195 -0
- package/dist/src/commands/eject.js.map +1 -0
- package/dist/src/commands/embeddings.js +26 -26
- package/dist/src/commands/hive-mind.js +97 -97
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +11 -10
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +4 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +3 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/metaharness.d.ts +39 -0
- package/dist/src/commands/metaharness.d.ts.map +1 -0
- package/dist/src/commands/metaharness.js +194 -0
- package/dist/src/commands/metaharness.js.map +1 -0
- package/dist/src/commands/neural.d.ts.map +1 -1
- package/dist/src/commands/neural.js +2351 -1
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +23 -23
- package/dist/src/commands/ruvector/benchmark.js +31 -31
- package/dist/src/commands/ruvector/import.js +14 -14
- package/dist/src/commands/ruvector/init.js +115 -115
- package/dist/src/commands/ruvector/migrate.js +99 -99
- package/dist/src/commands/ruvector/optimize.js +51 -51
- package/dist/src/commands/ruvector/setup.js +624 -624
- package/dist/src/commands/ruvector/status.js +38 -38
- package/dist/src/init/claudemd-generator.js +231 -231
- package/dist/src/init/executor.js +453 -453
- package/dist/src/init/helpers-generator.js +727 -727
- package/dist/src/init/statusline-generator.js +717 -717
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +4 -0
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts +23 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +136 -9
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +48 -4
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +15 -15
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +196 -0
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +1 -0
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +2 -0
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/metaharness-tools.d.ts +31 -0
- package/dist/src/mcp-tools/metaharness-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/metaharness-tools.js +372 -0
- package/dist/src/mcp-tools/metaharness-tools.js.map +1 -0
- package/dist/src/memory/graph-edge-writer.js +18 -18
- package/dist/src/memory/memory-bridge.js +84 -84
- package/dist/src/memory/memory-initializer.js +393 -393
- package/dist/src/memory/rabitq-index.js +5 -5
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +3 -0
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/types.d.ts +6 -1
- package/dist/src/plugins/store/types.d.ts.map +1 -1
- package/dist/src/runtime/headless.js +28 -28
- package/dist/src/ruvector/enhanced-model-router.d.ts +5 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.js +18 -1
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/model-prices.d.ts +50 -0
- package/dist/src/ruvector/model-prices.d.ts.map +1 -0
- package/dist/src/ruvector/model-prices.js +72 -0
- package/dist/src/ruvector/model-prices.js.map +1 -0
- package/dist/src/ruvector/model-router.d.ts +147 -8
- package/dist/src/ruvector/model-router.d.ts.map +1 -1
- package/dist/src/ruvector/model-router.js +455 -18
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/neural-router.d.ts +172 -39
- package/dist/src/ruvector/neural-router.d.ts.map +1 -1
- package/dist/src/ruvector/neural-router.js +780 -91
- package/dist/src/ruvector/neural-router.js.map +1 -1
- package/dist/src/ruvector/router-calibrator.d.ts +65 -0
- package/dist/src/ruvector/router-calibrator.d.ts.map +1 -0
- package/dist/src/ruvector/router-calibrator.js +120 -0
- package/dist/src/ruvector/router-calibrator.js.map +1 -0
- package/dist/src/ruvector/router-parallel-recorder.d.ts +127 -0
- package/dist/src/ruvector/router-parallel-recorder.d.ts.map +1 -0
- package/dist/src/ruvector/router-parallel-recorder.js +183 -0
- package/dist/src/ruvector/router-parallel-recorder.js.map +1 -0
- package/dist/src/ruvector/router-trajectory.d.ts +137 -45
- package/dist/src/ruvector/router-trajectory.d.ts.map +1 -1
- package/dist/src/ruvector/router-trajectory.js +226 -63
- package/dist/src/ruvector/router-trajectory.js.map +1 -1
- package/dist/src/ruvector/task-embedder.d.ts +56 -0
- package/dist/src/ruvector/task-embedder.d.ts.map +1 -0
- package/dist/src/ruvector/task-embedder.js +237 -0
- package/dist/src/ruvector/task-embedder.js.map +1 -0
- package/dist/src/services/headless-worker-executor.js +84 -84
- package/dist/src/transfer/deploy-seraphine.js +23 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +138 -134
- package/scripts/beir-bootstrap-significance.mjs +162 -162
- package/scripts/bench-rvagent.mjs +312 -312
- package/scripts/benchmark-codemods.mjs +127 -127
- package/scripts/benchmark-cross-repo.mjs +206 -206
- package/scripts/benchmark-pretrained-retrieval.mjs +305 -305
- package/scripts/benchmark-self-learning.mjs +241 -241
- package/scripts/benchmark-trajectory-mrr.mjs +191 -191
- package/scripts/deploy-ipfs-node.sh +153 -153
- package/scripts/grid-search-retrieval.mjs +216 -216
- package/scripts/postinstall.cjs +153 -153
- package/scripts/pretrain-from-github.mjs +358 -358
- package/scripts/publish-registry.ts +345 -345
- package/scripts/publish.sh +57 -57
- package/scripts/run-beir-bge.mjs +324 -324
- package/scripts/run-beir-hybrid.mjs +261 -261
- package/scripts/run-beir-lucene-bm25.mjs +154 -154
- package/scripts/run-beir-nfcorpus.mjs +231 -231
- package/scripts/run-beir-rrf-ablation.mjs +221 -221
- package/scripts/setup-ipfs-registry.md +366 -366
- package/dist/src/ruvector/flash-attention.d.ts +0 -195
- package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
- package/dist/src/ruvector/flash-attention.js +0 -643
- package/dist/src/ruvector/flash-attention.js.map +0 -1
- package/dist/src/ruvector/moe-router.d.ts +0 -206
- package/dist/src/ruvector/moe-router.d.ts.map +0 -1
- package/dist/src/ruvector/moe-router.js +0 -626
- package/dist/src/ruvector/moe-router.js.map +0 -1
- package/dist/src/services/event-stream.d.ts +0 -25
- package/dist/src/services/event-stream.js +0 -27
- package/dist/src/services/loop-worker-runner.d.ts +0 -16
- package/dist/src/services/loop-worker-runner.js +0 -34
- package/dist/src/services/runtime-capabilities.d.ts +0 -22
- package/dist/src/services/runtime-capabilities.js +0 -45
|
@@ -18,116 +18,116 @@ const MIGRATIONS = [
|
|
|
18
18
|
{
|
|
19
19
|
version: '1.1.0',
|
|
20
20
|
name: 'Add full-text search',
|
|
21
|
-
up: `
|
|
22
|
-
CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts
|
|
23
|
-
ON {{schema}}.embeddings
|
|
24
|
-
USING gin (to_tsvector('english', COALESCE(content, '')));
|
|
25
|
-
|
|
26
|
-
ALTER TABLE {{schema}}.embeddings
|
|
27
|
-
ADD COLUMN IF NOT EXISTS search_vector tsvector
|
|
28
|
-
GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;
|
|
21
|
+
up: `
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts
|
|
23
|
+
ON {{schema}}.embeddings
|
|
24
|
+
USING gin (to_tsvector('english', COALESCE(content, '')));
|
|
25
|
+
|
|
26
|
+
ALTER TABLE {{schema}}.embeddings
|
|
27
|
+
ADD COLUMN IF NOT EXISTS search_vector tsvector
|
|
28
|
+
GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;
|
|
29
29
|
`,
|
|
30
|
-
down: `
|
|
31
|
-
DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
|
|
32
|
-
ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
|
|
30
|
+
down: `
|
|
31
|
+
DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
|
|
32
|
+
ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
|
|
33
33
|
`,
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
version: '1.2.0',
|
|
37
37
|
name: 'Add embedding statistics',
|
|
38
|
-
up: `
|
|
39
|
-
CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (
|
|
40
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
41
|
-
namespace VARCHAR(128) NOT NULL,
|
|
42
|
-
total_vectors INTEGER DEFAULT 0,
|
|
43
|
-
avg_magnitude FLOAT,
|
|
44
|
-
dimension_stats JSONB,
|
|
45
|
-
computed_at TIMESTAMPTZ DEFAULT NOW()
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace
|
|
49
|
-
ON {{schema}}.embedding_stats (namespace);
|
|
38
|
+
up: `
|
|
39
|
+
CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (
|
|
40
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
41
|
+
namespace VARCHAR(128) NOT NULL,
|
|
42
|
+
total_vectors INTEGER DEFAULT 0,
|
|
43
|
+
avg_magnitude FLOAT,
|
|
44
|
+
dimension_stats JSONB,
|
|
45
|
+
computed_at TIMESTAMPTZ DEFAULT NOW()
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace
|
|
49
|
+
ON {{schema}}.embedding_stats (namespace);
|
|
50
50
|
`,
|
|
51
|
-
down: `
|
|
52
|
-
DROP TABLE IF EXISTS {{schema}}.embedding_stats;
|
|
51
|
+
down: `
|
|
52
|
+
DROP TABLE IF EXISTS {{schema}}.embedding_stats;
|
|
53
53
|
`,
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
version: '1.3.0',
|
|
57
57
|
name: 'Add query cache',
|
|
58
|
-
up: `
|
|
59
|
-
CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (
|
|
60
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
61
|
-
query_hash VARCHAR(64) NOT NULL UNIQUE,
|
|
62
|
-
query_embedding {{vector_type}}(1536),
|
|
63
|
-
result_ids UUID[],
|
|
64
|
-
result_scores FLOAT[],
|
|
65
|
-
hit_count INTEGER DEFAULT 1,
|
|
66
|
-
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
67
|
-
last_accessed TIMESTAMPTZ DEFAULT NOW()
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
CREATE INDEX IF NOT EXISTS idx_query_cache_hash
|
|
71
|
-
ON {{schema}}.query_cache (query_hash);
|
|
72
|
-
|
|
73
|
-
CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed
|
|
74
|
-
ON {{schema}}.query_cache (last_accessed);
|
|
58
|
+
up: `
|
|
59
|
+
CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (
|
|
60
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
61
|
+
query_hash VARCHAR(64) NOT NULL UNIQUE,
|
|
62
|
+
query_embedding {{vector_type}}(1536),
|
|
63
|
+
result_ids UUID[],
|
|
64
|
+
result_scores FLOAT[],
|
|
65
|
+
hit_count INTEGER DEFAULT 1,
|
|
66
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
67
|
+
last_accessed TIMESTAMPTZ DEFAULT NOW()
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
CREATE INDEX IF NOT EXISTS idx_query_cache_hash
|
|
71
|
+
ON {{schema}}.query_cache (query_hash);
|
|
72
|
+
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed
|
|
74
|
+
ON {{schema}}.query_cache (last_accessed);
|
|
75
75
|
`,
|
|
76
|
-
down: `
|
|
77
|
-
DROP TABLE IF EXISTS {{schema}}.query_cache;
|
|
76
|
+
down: `
|
|
77
|
+
DROP TABLE IF EXISTS {{schema}}.query_cache;
|
|
78
78
|
`,
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
version: '1.4.0',
|
|
82
82
|
name: 'Add batch operations support',
|
|
83
|
-
up: `
|
|
84
|
-
CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (
|
|
85
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
86
|
-
job_type VARCHAR(64) NOT NULL,
|
|
87
|
-
status VARCHAR(32) DEFAULT 'pending',
|
|
88
|
-
total_items INTEGER DEFAULT 0,
|
|
89
|
-
processed_items INTEGER DEFAULT 0,
|
|
90
|
-
error_count INTEGER DEFAULT 0,
|
|
91
|
-
metadata JSONB DEFAULT '{}',
|
|
92
|
-
started_at TIMESTAMPTZ,
|
|
93
|
-
completed_at TIMESTAMPTZ,
|
|
94
|
-
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
CREATE INDEX IF NOT EXISTS idx_batch_jobs_status
|
|
98
|
-
ON {{schema}}.batch_jobs (status);
|
|
83
|
+
up: `
|
|
84
|
+
CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (
|
|
85
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
86
|
+
job_type VARCHAR(64) NOT NULL,
|
|
87
|
+
status VARCHAR(32) DEFAULT 'pending',
|
|
88
|
+
total_items INTEGER DEFAULT 0,
|
|
89
|
+
processed_items INTEGER DEFAULT 0,
|
|
90
|
+
error_count INTEGER DEFAULT 0,
|
|
91
|
+
metadata JSONB DEFAULT '{}',
|
|
92
|
+
started_at TIMESTAMPTZ,
|
|
93
|
+
completed_at TIMESTAMPTZ,
|
|
94
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
CREATE INDEX IF NOT EXISTS idx_batch_jobs_status
|
|
98
|
+
ON {{schema}}.batch_jobs (status);
|
|
99
99
|
`,
|
|
100
|
-
down: `
|
|
101
|
-
DROP TABLE IF EXISTS {{schema}}.batch_jobs;
|
|
100
|
+
down: `
|
|
101
|
+
DROP TABLE IF EXISTS {{schema}}.batch_jobs;
|
|
102
102
|
`,
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
105
|
version: '1.5.0',
|
|
106
106
|
name: 'Add neural pattern learning',
|
|
107
|
-
up: `
|
|
108
|
-
CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (
|
|
109
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
110
|
-
pattern_type VARCHAR(64) NOT NULL,
|
|
111
|
-
input_embedding {{vector_type}}(1536),
|
|
112
|
-
output_embedding {{vector_type}}(1536),
|
|
113
|
-
weight_matrix JSONB,
|
|
114
|
-
activation VARCHAR(32) DEFAULT 'relu',
|
|
115
|
-
accuracy FLOAT,
|
|
116
|
-
training_steps INTEGER DEFAULT 0,
|
|
117
|
-
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
118
|
-
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
119
|
-
);
|
|
120
|
-
|
|
121
|
-
CREATE INDEX IF NOT EXISTS idx_neural_patterns_type
|
|
122
|
-
ON {{schema}}.neural_patterns (pattern_type);
|
|
123
|
-
|
|
124
|
-
CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw
|
|
125
|
-
ON {{schema}}.neural_patterns
|
|
126
|
-
USING hnsw (input_embedding {{cosine_ops}})
|
|
127
|
-
WITH (m = 16, ef_construction = 64);
|
|
107
|
+
up: `
|
|
108
|
+
CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (
|
|
109
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
110
|
+
pattern_type VARCHAR(64) NOT NULL,
|
|
111
|
+
input_embedding {{vector_type}}(1536),
|
|
112
|
+
output_embedding {{vector_type}}(1536),
|
|
113
|
+
weight_matrix JSONB,
|
|
114
|
+
activation VARCHAR(32) DEFAULT 'relu',
|
|
115
|
+
accuracy FLOAT,
|
|
116
|
+
training_steps INTEGER DEFAULT 0,
|
|
117
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
118
|
+
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_neural_patterns_type
|
|
122
|
+
ON {{schema}}.neural_patterns (pattern_type);
|
|
123
|
+
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw
|
|
125
|
+
ON {{schema}}.neural_patterns
|
|
126
|
+
USING hnsw (input_embedding {{cosine_ops}})
|
|
127
|
+
WITH (m = 16, ef_construction = 64);
|
|
128
128
|
`,
|
|
129
|
-
down: `
|
|
130
|
-
DROP TABLE IF EXISTS {{schema}}.neural_patterns;
|
|
129
|
+
down: `
|
|
130
|
+
DROP TABLE IF EXISTS {{schema}}.neural_patterns;
|
|
131
131
|
`,
|
|
132
132
|
},
|
|
133
133
|
];
|
|
@@ -288,8 +288,8 @@ export const migrateCommand = {
|
|
|
288
288
|
// Detect vector extension type: prefer ruvector, fall back to pgvector
|
|
289
289
|
let vectorTypeName = 'vector';
|
|
290
290
|
let cosineOps = 'vector_cosine_ops';
|
|
291
|
-
const ruvectorCheck = await client.query(`
|
|
292
|
-
SELECT extname FROM pg_extension WHERE extname = 'ruvector'
|
|
291
|
+
const ruvectorCheck = await client.query(`
|
|
292
|
+
SELECT extname FROM pg_extension WHERE extname = 'ruvector'
|
|
293
293
|
`);
|
|
294
294
|
if (ruvectorCheck.rows.length > 0) {
|
|
295
295
|
vectorTypeName = 'ruvector';
|
|
@@ -298,8 +298,8 @@ export const migrateCommand = {
|
|
|
298
298
|
// Check if schema and migrations table exist
|
|
299
299
|
spinner.setText('Checking migration status...');
|
|
300
300
|
spinner.start();
|
|
301
|
-
const schemaExists = await client.query(`
|
|
302
|
-
SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
|
|
301
|
+
const schemaExists = await client.query(`
|
|
302
|
+
SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
|
|
303
303
|
`, [config.schema]);
|
|
304
304
|
if (schemaExists.rows.length === 0) {
|
|
305
305
|
spinner.fail(`Schema "${config.schema}" not found`);
|
|
@@ -308,10 +308,10 @@ export const migrateCommand = {
|
|
|
308
308
|
return { success: false, exitCode: 1 };
|
|
309
309
|
}
|
|
310
310
|
// Get applied migrations
|
|
311
|
-
const appliedResult = await client.query(`
|
|
312
|
-
SELECT version, name, applied_at, checksum
|
|
313
|
-
FROM ${config.schema}.migrations
|
|
314
|
-
ORDER BY version ASC
|
|
311
|
+
const appliedResult = await client.query(`
|
|
312
|
+
SELECT version, name, applied_at, checksum
|
|
313
|
+
FROM ${config.schema}.migrations
|
|
314
|
+
ORDER BY version ASC
|
|
315
315
|
`);
|
|
316
316
|
const appliedVersions = new Set(appliedResult.rows.map(r => r.version));
|
|
317
317
|
spinner.succeed(`Found ${appliedVersions.size} applied migrations`);
|
|
@@ -443,15 +443,15 @@ export const migrateCommand = {
|
|
|
443
443
|
// Update migrations table
|
|
444
444
|
if (direction === 'up') {
|
|
445
445
|
const checksum = calculateChecksum(resolvedSql);
|
|
446
|
-
await client.query(`
|
|
447
|
-
INSERT INTO ${config.schema}.migrations (version, name, checksum)
|
|
448
|
-
VALUES ($1, $2, $3)
|
|
449
|
-
ON CONFLICT (version) DO UPDATE SET applied_at = NOW()
|
|
446
|
+
await client.query(`
|
|
447
|
+
INSERT INTO ${config.schema}.migrations (version, name, checksum)
|
|
448
|
+
VALUES ($1, $2, $3)
|
|
449
|
+
ON CONFLICT (version) DO UPDATE SET applied_at = NOW()
|
|
450
450
|
`, [migration.version, migration.name, checksum]);
|
|
451
451
|
}
|
|
452
452
|
else {
|
|
453
|
-
await client.query(`
|
|
454
|
-
DELETE FROM ${config.schema}.migrations WHERE version = $1
|
|
453
|
+
await client.query(`
|
|
454
|
+
DELETE FROM ${config.schema}.migrations WHERE version = $1
|
|
455
455
|
`, [migration.version]);
|
|
456
456
|
}
|
|
457
457
|
await client.query('COMMIT');
|
|
@@ -147,8 +147,8 @@ export const optimizeCommand = {
|
|
|
147
147
|
await client.connect();
|
|
148
148
|
spinner.succeed('Connected to PostgreSQL');
|
|
149
149
|
// Check schema exists
|
|
150
|
-
const schemaResult = await client.query(`
|
|
151
|
-
SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
|
|
150
|
+
const schemaResult = await client.query(`
|
|
151
|
+
SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
|
|
152
152
|
`, [config.schema]);
|
|
153
153
|
if (schemaResult.rows.length === 0) {
|
|
154
154
|
output.printError(`Schema "${config.schema}" not found`);
|
|
@@ -159,9 +159,9 @@ export const optimizeCommand = {
|
|
|
159
159
|
if (runVacuum) {
|
|
160
160
|
spinner.setText('Running VACUUM ANALYZE...');
|
|
161
161
|
spinner.start();
|
|
162
|
-
const tables = await client.query(`
|
|
163
|
-
SELECT table_name FROM information_schema.tables
|
|
164
|
-
WHERE table_schema = $1 AND table_type = 'BASE TABLE'
|
|
162
|
+
const tables = await client.query(`
|
|
163
|
+
SELECT table_name FROM information_schema.tables
|
|
164
|
+
WHERE table_schema = $1 AND table_type = 'BASE TABLE'
|
|
165
165
|
`, [config.schema]);
|
|
166
166
|
for (const row of tables.rows) {
|
|
167
167
|
await client.query(`VACUUM ANALYZE ${config.schema}.${row.table_name}`);
|
|
@@ -184,17 +184,17 @@ export const optimizeCommand = {
|
|
|
184
184
|
// Analyze table statistics
|
|
185
185
|
spinner.setText('Analyzing table statistics...');
|
|
186
186
|
spinner.start();
|
|
187
|
-
const tableStatsResult = await client.query(`
|
|
188
|
-
SELECT
|
|
189
|
-
relname as table_name,
|
|
190
|
-
n_live_tup as live_rows,
|
|
191
|
-
n_dead_tup as dead_rows,
|
|
192
|
-
last_vacuum,
|
|
193
|
-
last_autovacuum,
|
|
194
|
-
last_analyze,
|
|
195
|
-
last_autoanalyze
|
|
196
|
-
FROM pg_stat_user_tables
|
|
197
|
-
WHERE schemaname = $1
|
|
187
|
+
const tableStatsResult = await client.query(`
|
|
188
|
+
SELECT
|
|
189
|
+
relname as table_name,
|
|
190
|
+
n_live_tup as live_rows,
|
|
191
|
+
n_dead_tup as dead_rows,
|
|
192
|
+
last_vacuum,
|
|
193
|
+
last_autovacuum,
|
|
194
|
+
last_analyze,
|
|
195
|
+
last_autoanalyze
|
|
196
|
+
FROM pg_stat_user_tables
|
|
197
|
+
WHERE schemaname = $1
|
|
198
198
|
`, [config.schema]);
|
|
199
199
|
for (const row of tableStatsResult.rows) {
|
|
200
200
|
const deadRatio = row.live_rows > 0 ? row.dead_rows / row.live_rows : 0;
|
|
@@ -225,25 +225,25 @@ export const optimizeCommand = {
|
|
|
225
225
|
// Analyze indexes
|
|
226
226
|
spinner.setText('Analyzing index health...');
|
|
227
227
|
spinner.start();
|
|
228
|
-
const indexStatsResult = await client.query(`
|
|
229
|
-
SELECT
|
|
230
|
-
i.relname as index_name,
|
|
231
|
-
t.relname as table_name,
|
|
232
|
-
am.amname as index_type,
|
|
233
|
-
pg_relation_size(i.oid) as index_size,
|
|
234
|
-
idx.indisvalid as is_valid,
|
|
235
|
-
idx.indisready as is_ready,
|
|
236
|
-
idx.indislive as is_live,
|
|
237
|
-
pg_stat_user_indexes.idx_scan as scans,
|
|
238
|
-
pg_stat_user_indexes.idx_tup_read as tuples_read,
|
|
239
|
-
pg_stat_user_indexes.idx_tup_fetch as tuples_fetched
|
|
240
|
-
FROM pg_index idx
|
|
241
|
-
JOIN pg_class i ON i.oid = idx.indexrelid
|
|
242
|
-
JOIN pg_class t ON t.oid = idx.indrelid
|
|
243
|
-
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
244
|
-
JOIN pg_am am ON am.oid = i.relam
|
|
245
|
-
LEFT JOIN pg_stat_user_indexes ON pg_stat_user_indexes.indexrelid = i.oid
|
|
246
|
-
WHERE n.nspname = $1
|
|
228
|
+
const indexStatsResult = await client.query(`
|
|
229
|
+
SELECT
|
|
230
|
+
i.relname as index_name,
|
|
231
|
+
t.relname as table_name,
|
|
232
|
+
am.amname as index_type,
|
|
233
|
+
pg_relation_size(i.oid) as index_size,
|
|
234
|
+
idx.indisvalid as is_valid,
|
|
235
|
+
idx.indisready as is_ready,
|
|
236
|
+
idx.indislive as is_live,
|
|
237
|
+
pg_stat_user_indexes.idx_scan as scans,
|
|
238
|
+
pg_stat_user_indexes.idx_tup_read as tuples_read,
|
|
239
|
+
pg_stat_user_indexes.idx_tup_fetch as tuples_fetched
|
|
240
|
+
FROM pg_index idx
|
|
241
|
+
JOIN pg_class i ON i.oid = idx.indexrelid
|
|
242
|
+
JOIN pg_class t ON t.oid = idx.indrelid
|
|
243
|
+
JOIN pg_namespace n ON n.oid = t.relnamespace
|
|
244
|
+
JOIN pg_am am ON am.oid = i.relam
|
|
245
|
+
LEFT JOIN pg_stat_user_indexes ON pg_stat_user_indexes.indexrelid = i.oid
|
|
246
|
+
WHERE n.nspname = $1
|
|
247
247
|
`, [config.schema]);
|
|
248
248
|
for (const row of indexStatsResult.rows) {
|
|
249
249
|
// Check for invalid indexes
|
|
@@ -279,11 +279,11 @@ export const optimizeCommand = {
|
|
|
279
279
|
const vectorIndexes = indexStatsResult.rows.filter(r => r.index_type === 'hnsw' || r.index_type === 'ivfflat');
|
|
280
280
|
for (const idx of vectorIndexes) {
|
|
281
281
|
// Get index options
|
|
282
|
-
const optionsResult = await client.query(`
|
|
283
|
-
SELECT reloptions FROM pg_class
|
|
284
|
-
WHERE relname = $1 AND relnamespace = (
|
|
285
|
-
SELECT oid FROM pg_namespace WHERE nspname = $2
|
|
286
|
-
)
|
|
282
|
+
const optionsResult = await client.query(`
|
|
283
|
+
SELECT reloptions FROM pg_class
|
|
284
|
+
WHERE relname = $1 AND relnamespace = (
|
|
285
|
+
SELECT oid FROM pg_namespace WHERE nspname = $2
|
|
286
|
+
)
|
|
287
287
|
`, [idx.index_name, config.schema]);
|
|
288
288
|
const options = optionsResult.rows[0]?.reloptions || [];
|
|
289
289
|
if (idx.index_type === 'hnsw') {
|
|
@@ -293,8 +293,8 @@ export const optimizeCommand = {
|
|
|
293
293
|
const mValue = m ? parseInt(m.split('=')[1], 10) : 16;
|
|
294
294
|
const efValue = efConstruction ? parseInt(efConstruction.split('=')[1], 10) : 64;
|
|
295
295
|
// Get table row count
|
|
296
|
-
const countResult = await client.query(`
|
|
297
|
-
SELECT count(*) as cnt FROM ${config.schema}.${idx.table_name}
|
|
296
|
+
const countResult = await client.query(`
|
|
297
|
+
SELECT count(*) as cnt FROM ${config.schema}.${idx.table_name}
|
|
298
298
|
`);
|
|
299
299
|
const rowCount = parseInt(countResult.rows[0].cnt, 10);
|
|
300
300
|
// Recommend higher ef_construction for large datasets
|
|
@@ -325,8 +325,8 @@ export const optimizeCommand = {
|
|
|
325
325
|
const lists = options.find((o) => o.startsWith('lists='));
|
|
326
326
|
const listsValue = lists ? parseInt(lists.split('=')[1], 10) : 100;
|
|
327
327
|
// Get table row count
|
|
328
|
-
const countResult = await client.query(`
|
|
329
|
-
SELECT count(*) as cnt FROM ${config.schema}.${idx.table_name}
|
|
328
|
+
const countResult = await client.query(`
|
|
329
|
+
SELECT count(*) as cnt FROM ${config.schema}.${idx.table_name}
|
|
330
330
|
`);
|
|
331
331
|
const rowCount = parseInt(countResult.rows[0].cnt, 10);
|
|
332
332
|
// Recommended lists = sqrt(n)
|
|
@@ -347,13 +347,13 @@ export const optimizeCommand = {
|
|
|
347
347
|
// Check memory settings
|
|
348
348
|
spinner.setText('Checking PostgreSQL settings...');
|
|
349
349
|
spinner.start();
|
|
350
|
-
const settingsResult = await client.query(`
|
|
351
|
-
SELECT name, setting, unit, context
|
|
352
|
-
FROM pg_settings
|
|
353
|
-
WHERE name IN (
|
|
354
|
-
'shared_buffers', 'effective_cache_size', 'work_mem',
|
|
355
|
-
'maintenance_work_mem', 'max_parallel_workers_per_gather'
|
|
356
|
-
)
|
|
350
|
+
const settingsResult = await client.query(`
|
|
351
|
+
SELECT name, setting, unit, context
|
|
352
|
+
FROM pg_settings
|
|
353
|
+
WHERE name IN (
|
|
354
|
+
'shared_buffers', 'effective_cache_size', 'work_mem',
|
|
355
|
+
'maintenance_work_mem', 'max_parallel_workers_per_gather'
|
|
356
|
+
)
|
|
357
357
|
`);
|
|
358
358
|
const settings = {};
|
|
359
359
|
for (const row of settingsResult.rows) {
|