kynjal-cli 3.1.3 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/core/coder.md +1 -1
- package/.claude/agents/core/planner.md +2 -2
- package/.claude/agents/core/researcher.md +1 -1
- package/.claude/agents/core/reviewer.md +1 -1
- package/.claude/agents/core/tester.md +1 -1
- package/.claude/agents/data/data-ml-model.md +4 -4
- package/.claude/agents/development/dev-backend-api.md +4 -4
- package/.claude/agents/documentation/docs-api-openapi.md +4 -4
- package/.claude/agents/github/code-review-swarm.md +2 -2
- package/.claude/agents/github/issue-tracker.md +2 -2
- package/.claude/agents/github/pr-manager.md +2 -2
- package/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/agents/sparc/architecture.md +3 -3
- package/.claude/agents/sparc/pseudocode.md +2 -2
- package/.claude/agents/sparc/refinement.md +3 -3
- package/.claude/agents/sparc/specification.md +2 -2
- package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
- package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
- package/.claude/agents/swarm/mesh-coordinator.md +1 -1
- package/.claude/agents/templates/base-template-generator.md +25 -4
- package/.claude/agents/templates/sparc-coordinator.md +3 -3
- package/.claude/helpers/auto-commit.sh +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +27 -9
- package/.claude/helpers/hook-handler.cjs +58 -18
- package/.claude/helpers/statusline.cjs +14 -33
- package/.claude/helpers/statusline.js +3 -3
- package/.claude/settings.json +9 -9
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
- package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
- package/README.md +383 -170
- package/bin/cli.js +6 -6
- package/bin/mcp-server.js +1 -1
- package/bin/preinstall.cjs +2 -0
- package/dist/src/appliance/gguf-engine.js +664 -0
- package/dist/src/appliance/gguf-engine.js.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.js +492 -0
- package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
- package/dist/src/appliance/rvfa-builder.js +383 -0
- package/dist/src/appliance/rvfa-builder.js.map +1 -0
- package/dist/src/appliance/rvfa-distribution.js +533 -0
- package/dist/src/appliance/rvfa-distribution.js.map +1 -0
- package/dist/src/appliance/rvfa-format.js +465 -0
- package/dist/src/appliance/rvfa-format.js.map +1 -0
- package/dist/src/appliance/rvfa-runner.js +373 -0
- package/dist/src/appliance/rvfa-runner.js.map +1 -0
- package/dist/src/appliance/rvfa-signing.js +469 -0
- package/dist/src/appliance/rvfa-signing.js.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +542 -331
- package/dist/src/benchmarks/pretrain/index.js.map +1 -1
- package/dist/src/commands/agent.d.ts.map +1 -1
- package/dist/src/commands/agent.js +725 -502
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.js +1548 -1218
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
- package/dist/src/commands/appliance-advanced.js +324 -0
- package/dist/src/commands/appliance-advanced.js.map +1 -0
- package/dist/src/commands/appliance.d.ts +8 -0
- package/dist/src/commands/appliance.d.ts.map +1 -0
- package/dist/src/commands/appliance.js +581 -0
- package/dist/src/commands/appliance.js.map +1 -0
- package/dist/src/commands/benchmark.js +523 -372
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/claims.js +364 -274
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/cleanup.d.ts +13 -0
- package/dist/src/commands/cleanup.d.ts.map +1 -0
- package/dist/src/commands/cleanup.js +262 -0
- package/dist/src/commands/cleanup.js.map +1 -0
- package/dist/src/commands/completions.js +118 -477
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/config.js +303 -237
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +597 -425
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/deployment.js +275 -194
- package/dist/src/commands/deployment.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +690 -460
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.js +1543 -1293
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/guidance.js +596 -449
- package/dist/src/commands/guidance.js.map +1 -1
- package/dist/src/commands/hive-mind.js +938 -854
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +3677 -2570
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.js +322 -122
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +943 -787
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.js +558 -383
- package/dist/src/commands/issues.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +605 -475
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +1031 -814
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/migrate.js +347 -282
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/neural.d.ts.map +1 -1
- package/dist/src/commands/neural.js +1563 -1283
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.js +643 -497
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/plugins.js +841 -668
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/process.js +447 -392
- package/dist/src/commands/process.js.map +1 -1
- package/dist/src/commands/progress.js +256 -162
- package/dist/src/commands/progress.js.map +1 -1
- package/dist/src/commands/providers.js +220 -150
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/route.js +665 -520
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +651 -505
- package/dist/src/commands/ruvector/backup.js.map +1 -1
- package/dist/src/commands/ruvector/benchmark.js +401 -349
- package/dist/src/commands/ruvector/benchmark.js.map +1 -1
- package/dist/src/commands/ruvector/import.js +267 -225
- package/dist/src/commands/ruvector/import.js.map +1 -1
- package/dist/src/commands/ruvector/index.js +75 -37
- package/dist/src/commands/ruvector/index.js.map +1 -1
- package/dist/src/commands/ruvector/init.js +359 -336
- package/dist/src/commands/ruvector/init.js.map +1 -1
- package/dist/src/commands/ruvector/migrate.js +322 -335
- package/dist/src/commands/ruvector/migrate.js.map +1 -1
- package/dist/src/commands/ruvector/optimize.js +431 -375
- package/dist/src/commands/ruvector/optimize.js.map +1 -1
- package/dist/src/commands/ruvector/setup.js +117 -703
- package/dist/src/commands/ruvector/setup.js.map +1 -1
- package/dist/src/commands/ruvector/status.js +419 -364
- package/dist/src/commands/ruvector/status.js.map +1 -1
- package/dist/src/commands/security.d.ts.map +1 -1
- package/dist/src/commands/security.js +610 -456
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/session.d.ts +1 -1
- package/dist/src/commands/session.js +627 -505
- package/dist/src/commands/session.js.map +1 -1
- package/dist/src/commands/start.d.ts +1 -1
- package/dist/src/commands/start.js +368 -271
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.d.ts +1 -1
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/status.js +492 -379
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/swarm.js +488 -408
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.d.ts +1 -1
- package/dist/src/commands/task.js +539 -424
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/commands/transfer-store.js +412 -322
- package/dist/src/commands/transfer-store.js.map +1 -1
- package/dist/src/commands/update.js +291 -196
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workflow.js +486 -386
- package/dist/src/commands/workflow.js.map +1 -1
- package/dist/src/config-adapter.js +40 -39
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.js +416 -312
- package/dist/src/index.js.map +1 -1
- package/dist/src/infrastructure/in-memory-repositories.js +507 -246
- package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
- package/dist/src/init/claudemd-generator.js +78 -368
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.js +1019 -1345
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.js +60 -635
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/index.d.ts +1 -1
- package/dist/src/init/index.d.ts.map +1 -1
- package/dist/src/init/index.js +1 -1
- package/dist/src/init/index.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +0 -1
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +62 -42
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +167 -100
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts +16 -8
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +20 -1300
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +15 -5
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +66 -76
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.js +130 -76
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.js +758 -445
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +492 -391
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/agentdb-tools.js +758 -0
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
- package/dist/src/mcp-tools/analyze-tools.js +236 -172
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/auto-install.js +142 -80
- package/dist/src/mcp-tools/auto-install.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +375 -252
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +565 -473
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +284 -190
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +600 -349
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +367 -289
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +693 -582
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +312 -261
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +2 -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/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +514 -329
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +428 -326
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +480 -420
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +278 -204
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
- package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
- package/dist/src/mcp-tools/security-tools.js +429 -297
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +234 -185
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +303 -64
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +352 -200
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +357 -189
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +196 -148
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +333 -186
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
- package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +471 -335
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.js +345 -173
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/intelligence.js +841 -359
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.js +1964 -0
- package/dist/src/memory/memory-bridge.js.map +1 -0
- package/dist/src/memory/memory-initializer.js +1895 -1602
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.js +329 -199
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/output.d.ts +2 -2
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +273 -242
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.js +217 -124
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/manager.js +531 -278
- package/dist/src/plugins/manager.js.map +1 -1
- package/dist/src/plugins/store/discovery.js +362 -275
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/index.js +105 -48
- package/dist/src/plugins/store/index.js.map +1 -1
- package/dist/src/plugins/store/search.js +107 -69
- package/dist/src/plugins/store/search.js.map +1 -1
- package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
- package/dist/src/plugins/tests/standalone-test.js +223 -172
- package/dist/src/plugins/tests/standalone-test.js.map +1 -1
- package/dist/src/plugins/tests/test-plugin-store.js +228 -190
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
- package/dist/src/production/circuit-breaker.js +126 -62
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.js +156 -86
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.js +220 -139
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.js +93 -74
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.js +167 -75
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/prompt.js +560 -436
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/runtime/headless.js +289 -200
- package/dist/src/runtime/headless.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.js +511 -0
- package/dist/src/ruvector/agent-wasm.js.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +232 -145
- package/dist/src/ruvector/ast-analyzer.js.map +1 -1
- package/dist/src/ruvector/coverage-router.js +419 -287
- package/dist/src/ruvector/coverage-router.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +101 -56
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/diff-classifier.js +451 -324
- package/dist/src/ruvector/diff-classifier.js.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.js +337 -251
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/flash-attention.js +254 -223
- package/dist/src/ruvector/flash-attention.js.map +1 -1
- package/dist/src/ruvector/graph-analyzer.js +680 -486
- package/dist/src/ruvector/graph-analyzer.js.map +1 -1
- package/dist/src/ruvector/index.js +113 -27
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/lora-adapter.js +248 -155
- package/dist/src/ruvector/lora-adapter.js.map +1 -1
- package/dist/src/ruvector/model-router.js +248 -175
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/moe-router.js +286 -228
- package/dist/src/ruvector/moe-router.js.map +1 -1
- package/dist/src/ruvector/q-learning-router.js +338 -257
- package/dist/src/ruvector/q-learning-router.js.map +1 -1
- package/dist/src/ruvector/ruvllm-wasm.js +527 -0
- package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
- package/dist/src/ruvector/semantic-router.js +67 -60
- package/dist/src/ruvector/semantic-router.js.map +1 -1
- package/dist/src/ruvector/vector-db.js +205 -119
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/agentic-flow-bridge.js +168 -0
- package/dist/src/services/agentic-flow-bridge.js.map +1 -0
- package/dist/src/services/claim-service.js +940 -615
- package/dist/src/services/claim-service.js.map +1 -1
- package/dist/src/services/container-worker-pool.js +669 -399
- package/dist/src/services/container-worker-pool.js.map +1 -1
- package/dist/src/services/headless-worker-executor.js +467 -441
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/index.d.ts +5 -5
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +4 -4
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/registry-api.js +201 -93
- package/dist/src/services/registry-api.js.map +1 -1
- package/dist/src/services/ruvector-training.js +414 -144
- package/dist/src/services/ruvector-training.js.map +1 -1
- package/dist/src/services/worker-daemon.js +928 -531
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/src/services/worker-queue.js +550 -331
- package/dist/src/services/worker-queue.js.map +1 -1
- package/dist/src/suggest.js +55 -45
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/anonymization/index.js +37 -29
- package/dist/src/transfer/anonymization/index.js.map +1 -1
- package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
- package/dist/src/transfer/deploy-seraphine.js +156 -129
- package/dist/src/transfer/deploy-seraphine.js.map +1 -1
- package/dist/src/transfer/export.js +142 -84
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/index.d.ts +1 -1
- package/dist/src/transfer/index.d.ts.map +1 -1
- package/dist/src/transfer/index.js +2 -0
- package/dist/src/transfer/index.js.map +1 -1
- package/dist/src/transfer/ipfs/client.js +337 -179
- package/dist/src/transfer/ipfs/client.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.js +434 -290
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/models/seraphine.js +58 -58
- package/dist/src/transfer/models/seraphine.js.map +1 -1
- package/dist/src/transfer/serialization/cfp.js +37 -33
- package/dist/src/transfer/serialization/cfp.js.map +1 -1
- package/dist/src/transfer/storage/gcs.js +248 -139
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.js +353 -243
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.js +365 -243
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/index.js +130 -63
- package/dist/src/transfer/store/index.js.map +1 -1
- package/dist/src/transfer/store/publish.js +258 -184
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/registry.js +73 -51
- package/dist/src/transfer/store/registry.js.map +1 -1
- package/dist/src/transfer/store/search.js +96 -64
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/transfer/store/tests/standalone-test.js +231 -174
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
- package/dist/src/transfer/test-seraphine.js +130 -95
- package/dist/src/transfer/test-seraphine.js.map +1 -1
- package/dist/src/transfer/tests/test-store.js +239 -194
- package/dist/src/transfer/tests/test-store.js.map +1 -1
- package/dist/src/types.js +56 -27
- package/dist/src/types.js.map +1 -1
- package/dist/src/update/checker.js +183 -106
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/executor.js +198 -135
- package/dist/src/update/executor.js.map +1 -1
- package/dist/src/update/index.js +85 -38
- package/dist/src/update/index.js.map +1 -1
- package/dist/src/update/rate-limiter.js +31 -19
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/src/update/validator.js +64 -38
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -10
- package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
- package/.claude/agents/custom/design-architect.yaml +0 -48
- package/.claude/agents/custom/ui-developer.yaml +0 -46
- package/.claude/agents/custom/ux-researcher.yaml +0 -60
- package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
- package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
- package/dist/src/commands/index.d.ts +0 -108
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/config-adapter.d.ts +0 -15
- package/dist/src/config-adapter.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -76
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
- package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
- package/dist/src/init/claudemd-generator.d.ts +0 -25
- package/dist/src/init/claudemd-generator.d.ts.map +0 -1
- package/dist/src/init/executor.d.ts +0 -41
- package/dist/src/init/executor.d.ts.map +0 -1
- package/dist/src/init/helpers-generator.d.ts +0 -60
- package/dist/src/init/helpers-generator.d.ts.map +0 -1
- package/dist/src/mcp-client.d.ts +0 -92
- package/dist/src/mcp-client.d.ts.map +0 -1
- package/dist/src/mcp-server.d.ts +0 -161
- package/dist/src/mcp-server.d.ts.map +0 -1
- package/dist/src/mcp-tools/auto-install.d.ts +0 -83
- package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
- package/dist/src/mcp-tools/types.d.ts +0 -31
- package/dist/src/mcp-tools/types.d.ts.map +0 -1
- package/dist/src/memory/ewc-consolidation.d.ts +0 -271
- package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
- package/dist/src/memory/intelligence.d.ts +0 -285
- package/dist/src/memory/intelligence.d.ts.map +0 -1
- package/dist/src/memory/memory-initializer.d.ts +0 -396
- package/dist/src/memory/memory-initializer.d.ts.map +0 -1
- package/dist/src/memory/sona-optimizer.d.ts +0 -227
- package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
- package/dist/src/parser.d.ts +0 -41
- package/dist/src/parser.d.ts.map +0 -1
- package/dist/src/plugins/manager.d.ts +0 -133
- package/dist/src/plugins/manager.d.ts.map +0 -1
- package/dist/src/plugins/store/discovery.d.ts +0 -88
- package/dist/src/plugins/store/discovery.d.ts.map +0 -1
- package/dist/src/plugins/store/index.d.ts +0 -76
- package/dist/src/plugins/store/index.d.ts.map +0 -1
- package/dist/src/plugins/store/search.d.ts +0 -46
- package/dist/src/plugins/store/search.d.ts.map +0 -1
- package/dist/src/plugins/store/types.d.ts +0 -274
- package/dist/src/plugins/store/types.d.ts.map +0 -1
- package/dist/src/production/circuit-breaker.d.ts +0 -101
- package/dist/src/production/circuit-breaker.d.ts.map +0 -1
- package/dist/src/production/error-handler.d.ts +0 -92
- package/dist/src/production/error-handler.d.ts.map +0 -1
- package/dist/src/production/monitoring.d.ts +0 -161
- package/dist/src/production/monitoring.d.ts.map +0 -1
- package/dist/src/production/rate-limiter.d.ts +0 -80
- package/dist/src/production/rate-limiter.d.ts.map +0 -1
- package/dist/src/production/retry.d.ts +0 -48
- package/dist/src/production/retry.d.ts.map +0 -1
- package/dist/src/prompt.d.ts +0 -44
- package/dist/src/prompt.d.ts.map +0 -1
- package/dist/src/runtime/headless.d.ts +0 -60
- package/dist/src/runtime/headless.d.ts.map +0 -1
- package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
- package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
- package/dist/src/ruvector/coverage-router.d.ts +0 -160
- package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
- package/dist/src/ruvector/diff-classifier.d.ts +0 -175
- package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
- package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
- 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/graph-analyzer.d.ts +0 -187
- package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
- package/dist/src/ruvector/index.d.ts +0 -34
- package/dist/src/ruvector/index.d.ts.map +0 -1
- package/dist/src/ruvector/lora-adapter.d.ts +0 -218
- package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
- package/dist/src/ruvector/model-router.d.ts +0 -220
- package/dist/src/ruvector/model-router.d.ts.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/q-learning-router.d.ts +0 -211
- package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
- package/dist/src/ruvector/semantic-router.d.ts +0 -77
- package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
- package/dist/src/ruvector/vector-db.d.ts +0 -69
- package/dist/src/ruvector/vector-db.d.ts.map +0 -1
- package/dist/src/services/claim-service.d.ts +0 -204
- package/dist/src/services/claim-service.d.ts.map +0 -1
- package/dist/src/services/container-worker-pool.d.ts +0 -197
- package/dist/src/services/container-worker-pool.d.ts.map +0 -1
- package/dist/src/services/headless-worker-executor.d.ts +0 -304
- package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
- package/dist/src/services/registry-api.d.ts +0 -58
- package/dist/src/services/registry-api.d.ts.map +0 -1
- package/dist/src/services/ruvector-training.d.ts +0 -213
- package/dist/src/services/ruvector-training.d.ts.map +0 -1
- package/dist/src/services/worker-daemon.d.ts +0 -203
- package/dist/src/services/worker-daemon.d.ts.map +0 -1
- package/dist/src/services/worker-queue.d.ts +0 -194
- package/dist/src/services/worker-queue.d.ts.map +0 -1
- package/dist/src/suggest.d.ts +0 -53
- package/dist/src/suggest.d.ts.map +0 -1
- package/dist/src/transfer/export.d.ts +0 -25
- package/dist/src/transfer/export.d.ts.map +0 -1
- package/dist/src/transfer/ipfs/client.d.ts +0 -109
- package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
- package/dist/src/transfer/ipfs/upload.d.ts +0 -95
- package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
- package/dist/src/transfer/models/seraphine.d.ts +0 -72
- package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
- package/dist/src/transfer/serialization/cfp.d.ts +0 -49
- package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
- package/dist/src/transfer/storage/gcs.d.ts +0 -82
- package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
- package/dist/src/transfer/store/discovery.d.ts +0 -84
- package/dist/src/transfer/store/discovery.d.ts.map +0 -1
- package/dist/src/transfer/store/download.d.ts +0 -70
- package/dist/src/transfer/store/download.d.ts.map +0 -1
- package/dist/src/transfer/store/index.d.ts +0 -84
- package/dist/src/transfer/store/index.d.ts.map +0 -1
- package/dist/src/transfer/store/publish.d.ts +0 -76
- package/dist/src/transfer/store/publish.d.ts.map +0 -1
- package/dist/src/transfer/store/search.d.ts +0 -54
- package/dist/src/transfer/store/search.d.ts.map +0 -1
- package/dist/src/transfer/types.d.ts +0 -245
- package/dist/src/transfer/types.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -198
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/update/checker.d.ts +0 -34
- package/dist/src/update/checker.d.ts.map +0 -1
- package/dist/src/update/executor.d.ts +0 -32
- package/dist/src/update/executor.d.ts.map +0 -1
- package/dist/src/update/index.d.ts +0 -33
- package/dist/src/update/index.d.ts.map +0 -1
- package/dist/src/update/rate-limiter.d.ts +0 -20
- package/dist/src/update/rate-limiter.d.ts.map +0 -1
- package/dist/src/update/validator.d.ts +0 -17
- package/dist/src/update/validator.d.ts.map +0 -1
|
@@ -2,132 +2,83 @@
|
|
|
2
2
|
* V3 CLI RuVector Migrate Command
|
|
3
3
|
* Database migration management for RuVector
|
|
4
4
|
*/
|
|
5
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
9
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
11
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
15
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
16
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
17
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
18
|
+
function step(op) {
|
|
19
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
20
|
+
while (_) try {
|
|
21
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
22
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
23
|
+
switch (op[0]) {
|
|
24
|
+
case 0: case 1: t = op; break;
|
|
25
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
26
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
27
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
28
|
+
default:
|
|
29
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
30
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
31
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
32
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
33
|
+
if (t[2]) _.ops.pop();
|
|
34
|
+
_.trys.pop(); continue;
|
|
35
|
+
}
|
|
36
|
+
op = body.call(thisArg, _);
|
|
37
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
38
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
39
|
+
}
|
|
40
|
+
};
|
|
5
41
|
import { output } from '../../output.js';
|
|
6
42
|
import { confirm } from '../../prompt.js';
|
|
7
43
|
/**
|
|
8
44
|
* Available migrations
|
|
9
45
|
*/
|
|
10
|
-
|
|
46
|
+
var MIGRATIONS = [
|
|
11
47
|
{
|
|
12
48
|
version: '1.0.0',
|
|
13
49
|
name: 'Initial RuVector setup',
|
|
14
50
|
up: '-- Initial setup handled by init command',
|
|
15
|
-
down: '-- Drop all tables in schema'
|
|
51
|
+
down: '-- Drop all tables in schema'
|
|
16
52
|
},
|
|
17
53
|
{
|
|
18
54
|
version: '1.1.0',
|
|
19
55
|
name: 'Add full-text search',
|
|
20
|
-
up:
|
|
21
|
-
|
|
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
|
-
`,
|
|
29
|
-
down: `
|
|
30
|
-
DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;
|
|
31
|
-
ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;
|
|
32
|
-
`,
|
|
56
|
+
up: "\n CREATE INDEX IF NOT EXISTS idx_embeddings_content_fts\n ON {{schema}}.embeddings\n USING gin (to_tsvector('english', COALESCE(content, '')));\n\n ALTER TABLE {{schema}}.embeddings\n ADD COLUMN IF NOT EXISTS search_vector tsvector\n GENERATED ALWAYS AS (to_tsvector('english', COALESCE(content, ''))) STORED;\n ",
|
|
57
|
+
down: "\n DROP INDEX IF EXISTS {{schema}}.idx_embeddings_content_fts;\n ALTER TABLE {{schema}}.embeddings DROP COLUMN IF EXISTS search_vector;\n "
|
|
33
58
|
},
|
|
34
59
|
{
|
|
35
60
|
version: '1.2.0',
|
|
36
61
|
name: 'Add embedding statistics',
|
|
37
|
-
up:
|
|
38
|
-
|
|
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
|
-
`,
|
|
50
|
-
down: `
|
|
51
|
-
DROP TABLE IF EXISTS {{schema}}.embedding_stats;
|
|
52
|
-
`,
|
|
62
|
+
up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.embedding_stats (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n namespace VARCHAR(128) NOT NULL,\n total_vectors INTEGER DEFAULT 0,\n avg_magnitude FLOAT,\n dimension_stats JSONB,\n computed_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_embedding_stats_namespace\n ON {{schema}}.embedding_stats (namespace);\n ",
|
|
63
|
+
down: "\n DROP TABLE IF EXISTS {{schema}}.embedding_stats;\n "
|
|
53
64
|
},
|
|
54
65
|
{
|
|
55
66
|
version: '1.3.0',
|
|
56
67
|
name: 'Add query cache',
|
|
57
|
-
up:
|
|
58
|
-
|
|
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
|
-
`,
|
|
75
|
-
down: `
|
|
76
|
-
DROP TABLE IF EXISTS {{schema}}.query_cache;
|
|
77
|
-
`,
|
|
68
|
+
up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.query_cache (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n query_hash VARCHAR(64) NOT NULL UNIQUE,\n query_embedding vector(1536),\n result_ids UUID[],\n result_scores FLOAT[],\n hit_count INTEGER DEFAULT 1,\n created_at TIMESTAMPTZ DEFAULT NOW(),\n last_accessed TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_query_cache_hash\n ON {{schema}}.query_cache (query_hash);\n\n CREATE INDEX IF NOT EXISTS idx_query_cache_last_accessed\n ON {{schema}}.query_cache (last_accessed);\n ",
|
|
69
|
+
down: "\n DROP TABLE IF EXISTS {{schema}}.query_cache;\n "
|
|
78
70
|
},
|
|
79
71
|
{
|
|
80
72
|
version: '1.4.0',
|
|
81
73
|
name: 'Add batch operations support',
|
|
82
|
-
up:
|
|
83
|
-
|
|
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
|
-
`,
|
|
99
|
-
down: `
|
|
100
|
-
DROP TABLE IF EXISTS {{schema}}.batch_jobs;
|
|
101
|
-
`,
|
|
74
|
+
up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.batch_jobs (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n job_type VARCHAR(64) NOT NULL,\n status VARCHAR(32) DEFAULT 'pending',\n total_items INTEGER DEFAULT 0,\n processed_items INTEGER DEFAULT 0,\n error_count INTEGER DEFAULT 0,\n metadata JSONB DEFAULT '{}',\n started_at TIMESTAMPTZ,\n completed_at TIMESTAMPTZ,\n created_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_batch_jobs_status\n ON {{schema}}.batch_jobs (status);\n ",
|
|
75
|
+
down: "\n DROP TABLE IF EXISTS {{schema}}.batch_jobs;\n "
|
|
102
76
|
},
|
|
103
77
|
{
|
|
104
78
|
version: '1.5.0',
|
|
105
79
|
name: 'Add neural pattern learning',
|
|
106
|
-
up:
|
|
107
|
-
|
|
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
|
-
`,
|
|
128
|
-
down: `
|
|
129
|
-
DROP TABLE IF EXISTS {{schema}}.neural_patterns;
|
|
130
|
-
`,
|
|
80
|
+
up: "\n CREATE TABLE IF NOT EXISTS {{schema}}.neural_patterns (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n pattern_type VARCHAR(64) NOT NULL,\n input_embedding vector(1536),\n output_embedding vector(1536),\n weight_matrix JSONB,\n activation VARCHAR(32) DEFAULT 'relu',\n accuracy FLOAT,\n training_steps INTEGER DEFAULT 0,\n created_at TIMESTAMPTZ DEFAULT NOW(),\n updated_at TIMESTAMPTZ DEFAULT NOW()\n );\n\n CREATE INDEX IF NOT EXISTS idx_neural_patterns_type\n ON {{schema}}.neural_patterns (pattern_type);\n\n CREATE INDEX IF NOT EXISTS idx_neural_patterns_input_hnsw\n ON {{schema}}.neural_patterns\n USING hnsw (input_embedding vector_cosine_ops)\n WITH (m = 16, ef_construction = 64);\n ",
|
|
81
|
+
down: "\n DROP TABLE IF EXISTS {{schema}}.neural_patterns;\n "
|
|
131
82
|
},
|
|
132
83
|
];
|
|
133
84
|
/**
|
|
@@ -141,16 +92,16 @@ function getConnectionConfig(ctx) {
|
|
|
141
92
|
user: ctx.flags.user || process.env.PGUSER || 'postgres',
|
|
142
93
|
password: ctx.flags.password || process.env.PGPASSWORD || '',
|
|
143
94
|
ssl: ctx.flags.ssl || process.env.PGSSLMODE === 'require',
|
|
144
|
-
schema: ctx.flags.schema || 'claude_flow'
|
|
95
|
+
schema: ctx.flags.schema || 'claude_flow'
|
|
145
96
|
};
|
|
146
97
|
}
|
|
147
98
|
/**
|
|
148
99
|
* Calculate simple checksum for migration SQL
|
|
149
100
|
*/
|
|
150
101
|
function calculateChecksum(sql) {
|
|
151
|
-
|
|
152
|
-
for (
|
|
153
|
-
|
|
102
|
+
var hash = 0;
|
|
103
|
+
for (var i = 0; i < sql.length; i++) {
|
|
104
|
+
var char = sql.charCodeAt(i);
|
|
154
105
|
hash = ((hash << 5) - hash) + char;
|
|
155
106
|
hash = hash & hash;
|
|
156
107
|
}
|
|
@@ -159,7 +110,7 @@ function calculateChecksum(sql) {
|
|
|
159
110
|
/**
|
|
160
111
|
* RuVector migrate command
|
|
161
112
|
*/
|
|
162
|
-
export
|
|
113
|
+
export var migrateCommand = {
|
|
163
114
|
name: 'migrate',
|
|
164
115
|
description: 'Run database migrations',
|
|
165
116
|
options: [
|
|
@@ -167,74 +118,74 @@ export const migrateCommand = {
|
|
|
167
118
|
name: 'up',
|
|
168
119
|
description: 'Run pending migrations (default)',
|
|
169
120
|
type: 'boolean',
|
|
170
|
-
default: true
|
|
121
|
+
"default": true
|
|
171
122
|
},
|
|
172
123
|
{
|
|
173
124
|
name: 'down',
|
|
174
125
|
description: 'Rollback last migration',
|
|
175
126
|
type: 'boolean',
|
|
176
|
-
default: false
|
|
127
|
+
"default": false
|
|
177
128
|
},
|
|
178
129
|
{
|
|
179
130
|
name: 'to',
|
|
180
131
|
description: 'Migrate to specific version',
|
|
181
|
-
type: 'string'
|
|
132
|
+
type: 'string'
|
|
182
133
|
},
|
|
183
134
|
{
|
|
184
135
|
name: 'dry-run',
|
|
185
136
|
description: 'Show SQL without executing',
|
|
186
137
|
type: 'boolean',
|
|
187
|
-
default: false
|
|
138
|
+
"default": false
|
|
188
139
|
},
|
|
189
140
|
{
|
|
190
141
|
name: 'force',
|
|
191
142
|
description: 'Force migration even if dirty',
|
|
192
143
|
type: 'boolean',
|
|
193
|
-
default: false
|
|
144
|
+
"default": false
|
|
194
145
|
},
|
|
195
146
|
{
|
|
196
147
|
name: 'host',
|
|
197
148
|
short: 'h',
|
|
198
149
|
description: 'PostgreSQL host',
|
|
199
150
|
type: 'string',
|
|
200
|
-
default: 'localhost'
|
|
151
|
+
"default": 'localhost'
|
|
201
152
|
},
|
|
202
153
|
{
|
|
203
154
|
name: 'port',
|
|
204
155
|
short: 'p',
|
|
205
156
|
description: 'PostgreSQL port',
|
|
206
157
|
type: 'number',
|
|
207
|
-
default: 5432
|
|
158
|
+
"default": 5432
|
|
208
159
|
},
|
|
209
160
|
{
|
|
210
161
|
name: 'database',
|
|
211
162
|
short: 'd',
|
|
212
163
|
description: 'Database name',
|
|
213
|
-
type: 'string'
|
|
164
|
+
type: 'string'
|
|
214
165
|
},
|
|
215
166
|
{
|
|
216
167
|
name: 'user',
|
|
217
168
|
short: 'u',
|
|
218
169
|
description: 'Database user',
|
|
219
|
-
type: 'string'
|
|
170
|
+
type: 'string'
|
|
220
171
|
},
|
|
221
172
|
{
|
|
222
173
|
name: 'password',
|
|
223
174
|
description: 'Database password',
|
|
224
|
-
type: 'string'
|
|
175
|
+
type: 'string'
|
|
225
176
|
},
|
|
226
177
|
{
|
|
227
178
|
name: 'ssl',
|
|
228
179
|
description: 'Enable SSL',
|
|
229
180
|
type: 'boolean',
|
|
230
|
-
default: false
|
|
181
|
+
"default": false
|
|
231
182
|
},
|
|
232
183
|
{
|
|
233
184
|
name: 'schema',
|
|
234
185
|
short: 's',
|
|
235
186
|
description: 'Schema name',
|
|
236
187
|
type: 'string',
|
|
237
|
-
default: 'claude_flow'
|
|
188
|
+
"default": 'claude_flow'
|
|
238
189
|
},
|
|
239
190
|
],
|
|
240
191
|
examples: [
|
|
@@ -243,239 +194,275 @@ export const migrateCommand = {
|
|
|
243
194
|
{ command: 'claude-flow ruvector migrate --to 1.2.0', description: 'Migrate to version 1.2.0' },
|
|
244
195
|
{ command: 'claude-flow ruvector migrate --dry-run', description: 'Preview migration SQL' },
|
|
245
196
|
],
|
|
246
|
-
action:
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
FROM $
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
197
|
+
action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
|
|
198
|
+
var config, dryRun, force, targetVersion, rollback, spinner, pg, _a, client, schemaExists, appliedResult, appliedVersions_1, migrationsToRun, direction_1, lastApplied_1, migration, targetIdx, currentVersions_1, currentIdx, _i, migrationsToRun_1, migration, sql, resolvedSql, confirmRun, results, _b, migrationsToRun_2, migration, sql, resolvedSql, checksum, error_1, errorMessage, successful, failed, error_2;
|
|
199
|
+
return __generator(this, function (_c) {
|
|
200
|
+
switch (_c.label) {
|
|
201
|
+
case 0:
|
|
202
|
+
config = getConnectionConfig(ctx);
|
|
203
|
+
dryRun = ctx.flags['dry-run'];
|
|
204
|
+
force = ctx.flags.force;
|
|
205
|
+
targetVersion = ctx.flags.to;
|
|
206
|
+
rollback = ctx.flags.down;
|
|
207
|
+
output.writeln();
|
|
208
|
+
output.writeln(output.bold('RuVector Migration'));
|
|
209
|
+
output.writeln(output.dim('='.repeat(60)));
|
|
210
|
+
output.writeln();
|
|
211
|
+
if (!config.database) {
|
|
212
|
+
output.printError('Database name is required. Use --database or -d flag, or set PGDATABASE env.');
|
|
213
|
+
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
214
|
+
}
|
|
215
|
+
if (dryRun) {
|
|
216
|
+
output.printInfo('Dry run mode: SQL will be shown but not executed');
|
|
217
|
+
output.writeln();
|
|
218
|
+
}
|
|
219
|
+
spinner = output.createSpinner({ text: 'Connecting to PostgreSQL...', spinner: 'dots' });
|
|
220
|
+
spinner.start();
|
|
221
|
+
_c.label = 1;
|
|
222
|
+
case 1:
|
|
223
|
+
_c.trys.push([1, 39, , 40]);
|
|
224
|
+
pg = null;
|
|
225
|
+
_c.label = 2;
|
|
226
|
+
case 2:
|
|
227
|
+
_c.trys.push([2, 4, , 5]);
|
|
228
|
+
return [4 /*yield*/, import('pg')];
|
|
229
|
+
case 3:
|
|
230
|
+
pg = _c.sent();
|
|
231
|
+
return [3 /*break*/, 5];
|
|
232
|
+
case 4:
|
|
233
|
+
_a = _c.sent();
|
|
234
|
+
spinner.fail('PostgreSQL driver not found');
|
|
235
|
+
output.printError('Install pg package: npm install pg');
|
|
236
|
+
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
237
|
+
case 5:
|
|
238
|
+
client = new pg.Client({
|
|
239
|
+
host: config.host,
|
|
240
|
+
port: config.port,
|
|
241
|
+
database: config.database,
|
|
242
|
+
user: config.user,
|
|
243
|
+
password: config.password,
|
|
244
|
+
ssl: config.ssl ? { rejectUnauthorized: false } : false
|
|
245
|
+
});
|
|
246
|
+
return [4 /*yield*/, client.connect()];
|
|
247
|
+
case 6:
|
|
248
|
+
_c.sent();
|
|
249
|
+
spinner.succeed('Connected to PostgreSQL');
|
|
250
|
+
// Check if schema and migrations table exist
|
|
251
|
+
spinner.setText('Checking migration status...');
|
|
252
|
+
spinner.start();
|
|
253
|
+
return [4 /*yield*/, client.query("\n SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1\n ", [config.schema])];
|
|
254
|
+
case 7:
|
|
255
|
+
schemaExists = _c.sent();
|
|
256
|
+
if (!(schemaExists.rows.length === 0)) return [3 /*break*/, 9];
|
|
257
|
+
spinner.fail("Schema \"" + config.schema + "\" not found");
|
|
258
|
+
output.printError('Run `claude-flow ruvector init` first');
|
|
259
|
+
return [4 /*yield*/, client.end()];
|
|
260
|
+
case 8:
|
|
261
|
+
_c.sent();
|
|
262
|
+
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
263
|
+
case 9: return [4 /*yield*/, client.query("\n SELECT version, name, applied_at, checksum\n FROM " + config.schema + ".migrations\n ORDER BY version ASC\n ")];
|
|
264
|
+
case 10:
|
|
265
|
+
appliedResult = _c.sent();
|
|
266
|
+
appliedVersions_1 = new Set(appliedResult.rows.map(function (r) { return r.version; }));
|
|
267
|
+
spinner.succeed("Found " + appliedVersions_1.size + " applied migrations");
|
|
268
|
+
migrationsToRun = [];
|
|
269
|
+
direction_1 = 'up';
|
|
270
|
+
if (!rollback) return [3 /*break*/, 13];
|
|
271
|
+
direction_1 = 'down';
|
|
272
|
+
lastApplied_1 = appliedResult.rows[appliedResult.rows.length - 1];
|
|
273
|
+
if (!!lastApplied_1) return [3 /*break*/, 12];
|
|
315
274
|
output.printWarning('No migrations to rollback');
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
{ key: 'name', header: 'Name', width: 35 },
|
|
362
|
-
{ key: 'applied', header: 'Applied At', width: 22 },
|
|
363
|
-
],
|
|
364
|
-
data: appliedResult.rows.map(r => ({
|
|
365
|
-
version: r.version,
|
|
366
|
-
name: r.name,
|
|
367
|
-
applied: new Date(r.applied_at).toISOString().replace('T', ' ').substring(0, 19),
|
|
368
|
-
})),
|
|
369
|
-
});
|
|
370
|
-
await client.end();
|
|
371
|
-
return { success: true };
|
|
372
|
-
}
|
|
373
|
-
// Show migrations to run
|
|
374
|
-
output.writeln();
|
|
375
|
-
output.writeln(output.highlight(`Migrations to ${direction === 'up' ? 'apply' : 'rollback'}:`));
|
|
376
|
-
output.printTable({
|
|
377
|
-
columns: [
|
|
378
|
-
{ key: 'version', header: 'Version', width: 12 },
|
|
379
|
-
{ key: 'name', header: 'Name', width: 40 },
|
|
380
|
-
{ key: 'direction', header: 'Direction', width: 10 },
|
|
381
|
-
],
|
|
382
|
-
data: migrationsToRun.map(m => ({
|
|
383
|
-
version: m.version,
|
|
384
|
-
name: m.name,
|
|
385
|
-
direction: direction === 'up' ? output.success('UP') : output.warning('DOWN'),
|
|
386
|
-
})),
|
|
387
|
-
});
|
|
388
|
-
output.writeln();
|
|
389
|
-
// Dry run: show SQL
|
|
390
|
-
if (dryRun) {
|
|
391
|
-
for (const migration of migrationsToRun) {
|
|
392
|
-
const sql = direction === 'up' ? migration.up : migration.down;
|
|
393
|
-
const resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
|
|
394
|
-
output.writeln(output.bold(`-- Migration ${migration.version}: ${migration.name}`));
|
|
395
|
-
output.writeln(output.dim('-- Direction: ' + direction.toUpperCase()));
|
|
275
|
+
return [4 /*yield*/, client.end()];
|
|
276
|
+
case 11:
|
|
277
|
+
_c.sent();
|
|
278
|
+
return [2 /*return*/, { success: true }];
|
|
279
|
+
case 12:
|
|
280
|
+
migration = MIGRATIONS.find(function (m) { return m.version === lastApplied_1.version; });
|
|
281
|
+
if (migration) {
|
|
282
|
+
migrationsToRun = [migration];
|
|
283
|
+
}
|
|
284
|
+
return [3 /*break*/, 17];
|
|
285
|
+
case 13:
|
|
286
|
+
if (!targetVersion) return [3 /*break*/, 16];
|
|
287
|
+
targetIdx = MIGRATIONS.findIndex(function (m) { return m.version === targetVersion; });
|
|
288
|
+
if (!(targetIdx === -1)) return [3 /*break*/, 15];
|
|
289
|
+
output.printError("Version " + targetVersion + " not found");
|
|
290
|
+
return [4 /*yield*/, client.end()];
|
|
291
|
+
case 14:
|
|
292
|
+
_c.sent();
|
|
293
|
+
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
294
|
+
case 15:
|
|
295
|
+
currentVersions_1 = Array.from(appliedVersions_1);
|
|
296
|
+
currentIdx = currentVersions_1.length > 0
|
|
297
|
+
? MIGRATIONS.findIndex(function (m) { return m.version === currentVersions_1[currentVersions_1.length - 1]; })
|
|
298
|
+
: -1;
|
|
299
|
+
if (targetIdx > currentIdx) {
|
|
300
|
+
// Migrate up
|
|
301
|
+
migrationsToRun = MIGRATIONS.slice(currentIdx + 1, targetIdx + 1)
|
|
302
|
+
.filter(function (m) { return !appliedVersions_1.has(m.version); });
|
|
303
|
+
}
|
|
304
|
+
else if (targetIdx < currentIdx) {
|
|
305
|
+
// Migrate down
|
|
306
|
+
direction_1 = 'down';
|
|
307
|
+
migrationsToRun = MIGRATIONS.slice(targetIdx + 1, currentIdx + 1)
|
|
308
|
+
.filter(function (m) { return appliedVersions_1.has(m.version); })
|
|
309
|
+
.reverse();
|
|
310
|
+
}
|
|
311
|
+
return [3 /*break*/, 17];
|
|
312
|
+
case 16:
|
|
313
|
+
// Run all pending migrations
|
|
314
|
+
migrationsToRun = MIGRATIONS.filter(function (m) { return !appliedVersions_1.has(m.version); });
|
|
315
|
+
_c.label = 17;
|
|
316
|
+
case 17:
|
|
317
|
+
if (!(migrationsToRun.length === 0)) return [3 /*break*/, 19];
|
|
318
|
+
output.printSuccess('Database is up to date');
|
|
319
|
+
// Show current migration status
|
|
396
320
|
output.writeln();
|
|
397
|
-
output.writeln(
|
|
321
|
+
output.writeln(output.highlight('Applied Migrations:'));
|
|
322
|
+
output.printTable({
|
|
323
|
+
columns: [
|
|
324
|
+
{ key: 'version', header: 'Version', width: 12 },
|
|
325
|
+
{ key: 'name', header: 'Name', width: 35 },
|
|
326
|
+
{ key: 'applied', header: 'Applied At', width: 22 },
|
|
327
|
+
],
|
|
328
|
+
data: appliedResult.rows.map(function (r) { return ({
|
|
329
|
+
version: r.version,
|
|
330
|
+
name: r.name,
|
|
331
|
+
applied: new Date(r.applied_at).toISOString().replace('T', ' ').substring(0, 19)
|
|
332
|
+
}); })
|
|
333
|
+
});
|
|
334
|
+
return [4 /*yield*/, client.end()];
|
|
335
|
+
case 18:
|
|
336
|
+
_c.sent();
|
|
337
|
+
return [2 /*return*/, { success: true }];
|
|
338
|
+
case 19:
|
|
339
|
+
// Show migrations to run
|
|
398
340
|
output.writeln();
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
341
|
+
output.writeln(output.highlight("Migrations to " + (direction_1 === 'up' ? 'apply' : 'rollback') + ":"));
|
|
342
|
+
output.printTable({
|
|
343
|
+
columns: [
|
|
344
|
+
{ key: 'version', header: 'Version', width: 12 },
|
|
345
|
+
{ key: 'name', header: 'Name', width: 40 },
|
|
346
|
+
{ key: 'direction', header: 'Direction', width: 10 },
|
|
347
|
+
],
|
|
348
|
+
data: migrationsToRun.map(function (m) { return ({
|
|
349
|
+
version: m.version,
|
|
350
|
+
name: m.name,
|
|
351
|
+
direction: direction_1 === 'up' ? output.success('UP') : output.warning('DOWN')
|
|
352
|
+
}); })
|
|
353
|
+
});
|
|
354
|
+
output.writeln();
|
|
355
|
+
if (!dryRun) return [3 /*break*/, 21];
|
|
356
|
+
for (_i = 0, migrationsToRun_1 = migrationsToRun; _i < migrationsToRun_1.length; _i++) {
|
|
357
|
+
migration = migrationsToRun_1[_i];
|
|
358
|
+
sql = direction_1 === 'up' ? migration.up : migration.down;
|
|
359
|
+
resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
|
|
360
|
+
output.writeln(output.bold("-- Migration " + migration.version + ": " + migration.name));
|
|
361
|
+
output.writeln(output.dim('-- Direction: ' + direction_1.toUpperCase()));
|
|
362
|
+
output.writeln();
|
|
363
|
+
output.writeln(resolvedSql);
|
|
364
|
+
output.writeln();
|
|
365
|
+
}
|
|
366
|
+
return [4 /*yield*/, client.end()];
|
|
367
|
+
case 20:
|
|
368
|
+
_c.sent();
|
|
369
|
+
return [2 /*return*/, { success: true, data: { dryRun: true, migrations: migrationsToRun.map(function (m) { return m.version; }) } }];
|
|
370
|
+
case 21:
|
|
371
|
+
if (!(ctx.interactive && !force)) return [3 /*break*/, 24];
|
|
372
|
+
return [4 /*yield*/, confirm({
|
|
373
|
+
message: "Run " + migrationsToRun.length + " migration(s)?",
|
|
374
|
+
"default": true
|
|
375
|
+
})];
|
|
376
|
+
case 22:
|
|
377
|
+
confirmRun = _c.sent();
|
|
378
|
+
if (!!confirmRun) return [3 /*break*/, 24];
|
|
410
379
|
output.printInfo('Migration cancelled');
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
380
|
+
return [4 /*yield*/, client.end()];
|
|
381
|
+
case 23:
|
|
382
|
+
_c.sent();
|
|
383
|
+
return [2 /*return*/, { success: false, exitCode: 0 }];
|
|
384
|
+
case 24:
|
|
385
|
+
results = [];
|
|
386
|
+
_b = 0, migrationsToRun_2 = migrationsToRun;
|
|
387
|
+
_c.label = 25;
|
|
388
|
+
case 25:
|
|
389
|
+
if (!(_b < migrationsToRun_2.length)) return [3 /*break*/, 37];
|
|
390
|
+
migration = migrationsToRun_2[_b];
|
|
391
|
+
spinner.setText("Running migration " + migration.version + ": " + migration.name + "...");
|
|
392
|
+
spinner.start();
|
|
393
|
+
_c.label = 26;
|
|
394
|
+
case 26:
|
|
395
|
+
_c.trys.push([26, 34, , 36]);
|
|
396
|
+
sql = direction_1 === 'up' ? migration.up : migration.down;
|
|
397
|
+
resolvedSql = sql.replace(/\{\{schema\}\}/g, config.schema);
|
|
398
|
+
return [4 /*yield*/, client.query('BEGIN')];
|
|
399
|
+
case 27:
|
|
400
|
+
_c.sent();
|
|
424
401
|
// Execute migration SQL
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
VALUES ($1, $2, $3)
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
402
|
+
return [4 /*yield*/, client.query(resolvedSql)];
|
|
403
|
+
case 28:
|
|
404
|
+
// Execute migration SQL
|
|
405
|
+
_c.sent();
|
|
406
|
+
if (!(direction_1 === 'up')) return [3 /*break*/, 30];
|
|
407
|
+
checksum = calculateChecksum(resolvedSql);
|
|
408
|
+
return [4 /*yield*/, client.query("\n INSERT INTO " + config.schema + ".migrations (version, name, checksum)\n VALUES ($1, $2, $3)\n ON CONFLICT (version) DO UPDATE SET applied_at = NOW()\n ", [migration.version, migration.name, checksum])];
|
|
409
|
+
case 29:
|
|
410
|
+
_c.sent();
|
|
411
|
+
return [3 /*break*/, 32];
|
|
412
|
+
case 30: return [4 /*yield*/, client.query("\n DELETE FROM " + config.schema + ".migrations WHERE version = $1\n ", [migration.version])];
|
|
413
|
+
case 31:
|
|
414
|
+
_c.sent();
|
|
415
|
+
_c.label = 32;
|
|
416
|
+
case 32: return [4 /*yield*/, client.query('COMMIT')];
|
|
417
|
+
case 33:
|
|
418
|
+
_c.sent();
|
|
419
|
+
spinner.succeed("Migration " + migration.version + " " + (direction_1 === 'up' ? 'applied' : 'rolled back'));
|
|
442
420
|
results.push({ version: migration.version, success: true });
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
421
|
+
return [3 /*break*/, 36];
|
|
422
|
+
case 34:
|
|
423
|
+
error_1 = _c.sent();
|
|
424
|
+
return [4 /*yield*/, client.query('ROLLBACK')];
|
|
425
|
+
case 35:
|
|
426
|
+
_c.sent();
|
|
427
|
+
spinner.fail("Migration " + migration.version + " failed");
|
|
428
|
+
errorMessage = error_1 instanceof Error ? error_1.message : String(error_1);
|
|
448
429
|
output.printError(errorMessage);
|
|
449
430
|
results.push({ version: migration.version, success: false, error: errorMessage });
|
|
450
431
|
if (!force) {
|
|
451
432
|
output.printWarning('Stopping migration due to error. Use --force to continue.');
|
|
452
|
-
break;
|
|
433
|
+
return [3 /*break*/, 37];
|
|
453
434
|
}
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
435
|
+
return [3 /*break*/, 36];
|
|
436
|
+
case 36:
|
|
437
|
+
_b++;
|
|
438
|
+
return [3 /*break*/, 25];
|
|
439
|
+
case 37: return [4 /*yield*/, client.end()];
|
|
440
|
+
case 38:
|
|
441
|
+
_c.sent();
|
|
442
|
+
// Summary
|
|
443
|
+
output.writeln();
|
|
444
|
+
successful = results.filter(function (r) { return r.success; }).length;
|
|
445
|
+
failed = results.filter(function (r) { return !r.success; }).length;
|
|
446
|
+
if (failed === 0) {
|
|
447
|
+
output.printSuccess("All " + successful + " migration(s) completed successfully");
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
output.printWarning(successful + " succeeded, " + failed + " failed");
|
|
451
|
+
}
|
|
452
|
+
return [2 /*return*/, {
|
|
453
|
+
success: failed === 0,
|
|
454
|
+
data: { results: results },
|
|
455
|
+
exitCode: failed > 0 ? 1 : 0
|
|
456
|
+
}];
|
|
457
|
+
case 39:
|
|
458
|
+
error_2 = _c.sent();
|
|
459
|
+
spinner.fail('Migration failed');
|
|
460
|
+
output.printError(error_2 instanceof Error ? error_2.message : String(error_2));
|
|
461
|
+
return [2 /*return*/, { success: false, exitCode: 1 }];
|
|
462
|
+
case 40: return [2 /*return*/];
|
|
466
463
|
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
data: { results },
|
|
470
|
-
exitCode: failed > 0 ? 1 : 0,
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
|
-
catch (error) {
|
|
474
|
-
spinner.fail('Migration failed');
|
|
475
|
-
output.printError(error instanceof Error ? error.message : String(error));
|
|
476
|
-
return { success: false, exitCode: 1 };
|
|
477
|
-
}
|
|
478
|
-
},
|
|
464
|
+
});
|
|
465
|
+
}); }
|
|
479
466
|
};
|
|
480
467
|
export default migrateCommand;
|
|
481
468
|
//# sourceMappingURL=migrate.js.map
|