odd-flow 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +2 -2
- package/package.json +12 -12
- package/v3/{@claude-flow → @odd-flow}/cli/README.md +118 -4
- package/v3/{@claude-flow → @odd-flow}/cli/bin/cli.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/bin/mcp-server.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/gguf-engine.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/gguf-engine.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/ruvllm-bridge.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/ruvllm-bridge.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-runner.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-runner.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-signing.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-signing.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/autopilot-state.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/autopilot-state.js +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent-wasm.js +7 -7
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent.js +15 -15
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/analyze.js +52 -52
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/autopilot.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/benchmark.js +16 -16
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/claims.js +21 -21
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/cleanup.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/cleanup.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/completions.js +41 -41
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/config.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/daemon.js +27 -27
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/deployment.js +20 -20
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/doctor.js +24 -24
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/embeddings.js +58 -58
- package/v3/@odd-flow/cli/dist/src/commands/escalation.d.ts +7 -0
- package/v3/@odd-flow/cli/dist/src/commands/escalation.js +115 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/guidance.js +30 -30
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hive-mind.js +20 -20
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hooks.js +103 -103
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/index.d.ts +3 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/index.js +20 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/init.js +49 -48
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/issues.js +6 -6
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/mcp.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/mcp.js +14 -14
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/memory.js +33 -33
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/migrate.js +28 -28
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/neural.js +35 -35
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/performance.js +13 -13
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/plugins.js +33 -33
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/process.js +36 -36
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/progress.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/progress.js +7 -7
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/providers.js +13 -13
- package/v3/@odd-flow/cli/dist/src/commands/refinery.d.ts +7 -0
- package/v3/@odd-flow/cli/dist/src/commands/refinery.js +64 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/route.js +26 -26
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/backup.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/benchmark.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/import.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/import.js +11 -11
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/index.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/init.js +7 -7
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/migrate.js +5 -5
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/optimize.js +7 -7
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/setup.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/setup.js +14 -14
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/status.js +4 -4
- package/v3/@odd-flow/cli/dist/src/commands/scheduler.d.ts +7 -0
- package/v3/@odd-flow/cli/dist/src/commands/scheduler.js +86 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/security.js +22 -22
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/session.js +13 -13
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/start.js +16 -16
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/status.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/swarm.js +10 -10
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/task.js +9 -9
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/transfer-store.js +17 -17
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/update.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/update.js +8 -8
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/workflow.js +13 -13
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/config-adapter.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/config-adapter.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/index.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/infrastructure/in-memory-repositories.d.ts +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/claudemd-generator.js +31 -31
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/executor.js +63 -63
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/helpers-generator.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/helpers-generator.js +19 -19
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/mcp-generator.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/settings-generator.js +6 -6
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/statusline-generator.js +16 -16
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/types.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-server.d.ts +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-server.js +15 -15
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agent-tools.js +36 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agentdb-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/claims-tools.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/claims-tools.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/config-tools.js +12 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/coordination-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/embeddings-tools.js +1 -1
- package/v3/@odd-flow/cli/dist/src/mcp-tools/escalation-tools.d.ts +15 -0
- package/v3/@odd-flow/cli/dist/src/mcp-tools/escalation-tools.js +153 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hive-mind-tools.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hooks-tools.js +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/index.d.ts +3 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/index.js +4 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/memory-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/neural-tools.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/neural-tools.js +8 -8
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/performance-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/progress-tools.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/progress-tools.js +8 -8
- package/v3/@odd-flow/cli/dist/src/mcp-tools/refinery-tools.d.ts +16 -0
- package/v3/@odd-flow/cli/dist/src/mcp-tools/refinery-tools.js +223 -0
- package/v3/@odd-flow/cli/dist/src/mcp-tools/scheduler-tools.d.ts +16 -0
- package/v3/@odd-flow/cli/dist/src/mcp-tools/scheduler-tools.js +72 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/security-tools.js +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/session-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/swarm-tools.js +123 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/system-tools.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/task-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/workflow-tools.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/intelligence.js +5 -5
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-bridge.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-initializer.js +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/manager.js +10 -10
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/discovery.js +99 -99
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/demo-plugin-store.js +6 -6
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/standalone-test.js +6 -6
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/test-plugin-store.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/circuit-breaker.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/circuit-breaker.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/error-handler.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/error-handler.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/index.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/index.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/monitoring.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/monitoring.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/rate-limiter.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/rate-limiter.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/retry.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/retry.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/runtime/headless.d.ts +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/runtime/headless.js +3 -3
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/agent-wasm.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/agent-wasm.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/graph-analyzer.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/graph-analyzer.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/index.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/index.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ruvllm-wasm.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ruvllm-wasm.js +1 -1
- package/v3/@odd-flow/cli/dist/src/services/checkpoint-manager.d.ts +46 -0
- package/v3/@odd-flow/cli/dist/src/services/checkpoint-manager.js +114 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/claim-service.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/config-file-manager.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/container-worker-pool.js +6 -6
- package/v3/@odd-flow/cli/dist/src/services/escalation-router.d.ts +46 -0
- package/v3/@odd-flow/cli/dist/src/services/escalation-router.js +138 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/headless-worker-executor.js +2 -2
- package/v3/@odd-flow/cli/dist/src/services/refinery.d.ts +66 -0
- package/v3/@odd-flow/cli/dist/src/services/refinery.js +165 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/registry-api.js +1 -1
- package/v3/@odd-flow/cli/dist/src/services/scheduler.d.ts +66 -0
- package/v3/@odd-flow/cli/dist/src/services/scheduler.js +228 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-deacon.d.ts +20 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-deacon.js +52 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-dogs.d.ts +42 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-dogs.js +81 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-witness.d.ts +38 -0
- package/v3/@odd-flow/cli/dist/src/services/watchdog-witness.js +57 -0
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-daemon.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-daemon.js +18 -18
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-queue.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/suggest.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/upload.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/upload.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/models/seraphine.js +2 -2
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/serialization/cfp.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/gcs.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/gcs.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/discovery.js +7 -7
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/registry.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/tests/standalone-test.js +4 -4
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/test-seraphine.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/checker.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/checker.js +11 -11
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/executor.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/index.d.ts +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/index.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/rate-limiter.js +1 -1
- package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/validator.js +11 -11
- package/v3/{@claude-flow → @odd-flow}/cli/package.json +5 -5
- package/v3/{@claude-flow → @odd-flow}/shared/README.md +35 -35
- package/v3/{@claude-flow → @odd-flow}/shared/package.json +1 -1
- package/v3/README.md +55 -55
- /package/v3/{@claude-flow → @odd-flow}/cli/bin/preinstall.cjs +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-builder.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-builder.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-distribution.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-distribution.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-format.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-format.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/benchmarks/pretrain/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent-wasm.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/analyze.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance-advanced.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance-advanced.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/autopilot.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/benchmark.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/claims.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/completions.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/config.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/daemon.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/deployment.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/doctor.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/embeddings.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/guidance.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hive-mind.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hooks.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/init.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/issues.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/memory.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/migrate.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/neural.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/performance.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/plugins.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/process.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/providers.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/route.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/backup.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/benchmark.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/init.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/migrate.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/optimize.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/status.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/security.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/session.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/start.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/status.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/swarm.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/task.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/transfer-store.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/workflow.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/infrastructure/in-memory-repositories.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/claudemd-generator.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/executor.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/mcp-generator.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/settings-generator.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/statusline-generator.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-client.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-client.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agentdb-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/analyze-tools.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/config-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/coordination-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/security-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/session-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/system-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/task-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/types.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/ewc-consolidation.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/ewc-consolidation.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/intelligence.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-bridge.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-initializer.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/sona-optimizer.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/sona-optimizer.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/output.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/output.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/parser.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/parser.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/manager.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/discovery.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/search.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/search.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/types.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/prompt.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/prompt.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ast-analyzer.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ast-analyzer.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-tools.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-tools.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/diff-classifier.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/diff-classifier.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/enhanced-model-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/enhanced-model-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/flash-attention.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/flash-attention.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/lora-adapter.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/lora-adapter.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/model-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/model-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/moe-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/moe-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/q-learning-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/q-learning-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/semantic-router.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/semantic-router.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/vector-db.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/vector-db.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/agentic-flow-bridge.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/claim-service.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/config-file-manager.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/container-worker-pool.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/headless-worker-executor.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/registry-api.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/ruvector-training.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/ruvector-training.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-queue.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/suggest.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/anonymization/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/anonymization/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/deploy-seraphine.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/export.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/export.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/client.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/client.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/models/seraphine.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/serialization/cfp.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/discovery.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/download.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/download.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/index.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/index.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/publish.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/publish.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/registry.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/search.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/search.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/types.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/test-seraphine.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/tests/test-store.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/tests/test-store.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/types.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/types.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/types.js +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/executor.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/rate-limiter.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/validator.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/utils/path-validation.d.ts +0 -0
- /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/utils/path-validation.js +0 -0
|
@@ -22,9 +22,9 @@ const statusCommand = {
|
|
|
22
22
|
action: async (ctx) => {
|
|
23
23
|
const cwd = ctx.cwd || process.cwd();
|
|
24
24
|
const components = [];
|
|
25
|
-
// Check v2 config:
|
|
26
|
-
const v2ConfigPath = path.join(cwd, '
|
|
27
|
-
const v3ConfigDir = path.join(cwd, '.
|
|
25
|
+
// Check v2 config: odd-flow.config.json with version "2" or missing version
|
|
26
|
+
const v2ConfigPath = path.join(cwd, 'odd-flow.config.json');
|
|
27
|
+
const v3ConfigDir = path.join(cwd, '.odd-flow');
|
|
28
28
|
let hasV2Config = false;
|
|
29
29
|
let hasV3Config = false;
|
|
30
30
|
try {
|
|
@@ -88,7 +88,7 @@ const statusCommand = {
|
|
|
88
88
|
components.push({ component: 'Sessions', status: 'missing', migrationNeeded: 'no' });
|
|
89
89
|
}
|
|
90
90
|
// Check migration state
|
|
91
|
-
const migrationStatePath = path.join(cwd, '.
|
|
91
|
+
const migrationStatePath = path.join(cwd, '.odd-flow', 'migration-state.json');
|
|
92
92
|
let migrationState = null;
|
|
93
93
|
try {
|
|
94
94
|
if (fs.existsSync(migrationStatePath)) {
|
|
@@ -125,7 +125,7 @@ const statusCommand = {
|
|
|
125
125
|
const needsMigration = components.some(c => c.migrationNeeded === 'yes');
|
|
126
126
|
output.writeln();
|
|
127
127
|
if (needsMigration) {
|
|
128
|
-
output.printInfo('V2 artifacts detected. Run "
|
|
128
|
+
output.printInfo('V2 artifacts detected. Run "odd-flow migrate run" to migrate.');
|
|
129
129
|
}
|
|
130
130
|
else {
|
|
131
131
|
output.printSuccess('No migration needed.');
|
|
@@ -170,7 +170,7 @@ const runCommand = {
|
|
|
170
170
|
const dryRun = ctx.flags['dry-run'] === true;
|
|
171
171
|
const skipBackup = ctx.flags.backup === false;
|
|
172
172
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
173
|
-
const v3Dir = path.join(cwd, '.
|
|
173
|
+
const v3Dir = path.join(cwd, '.odd-flow');
|
|
174
174
|
const backupDir = path.join(v3Dir, 'backup', `v2-${timestamp}`);
|
|
175
175
|
const migrationStatePath = path.join(v3Dir, 'migration-state.json');
|
|
176
176
|
const migrated = [];
|
|
@@ -181,7 +181,7 @@ const runCommand = {
|
|
|
181
181
|
output.printWarning('Dry run mode — no changes will be made.');
|
|
182
182
|
}
|
|
183
183
|
output.writeln();
|
|
184
|
-
// Ensure .
|
|
184
|
+
// Ensure .odd-flow directory exists
|
|
185
185
|
if (!dryRun) {
|
|
186
186
|
fs.mkdirSync(v3Dir, { recursive: true });
|
|
187
187
|
}
|
|
@@ -191,7 +191,7 @@ const runCommand = {
|
|
|
191
191
|
fs.mkdirSync(backupDir, { recursive: true });
|
|
192
192
|
}
|
|
193
193
|
// --- Config migration ---
|
|
194
|
-
const v2ConfigPath = path.join(cwd, '
|
|
194
|
+
const v2ConfigPath = path.join(cwd, 'odd-flow.config.json');
|
|
195
195
|
try {
|
|
196
196
|
if (fs.existsSync(v2ConfigPath)) {
|
|
197
197
|
const raw = fs.readFileSync(v2ConfigPath, 'utf-8');
|
|
@@ -203,7 +203,7 @@ const runCommand = {
|
|
|
203
203
|
else {
|
|
204
204
|
// Backup
|
|
205
205
|
if (!skipBackup) {
|
|
206
|
-
fs.copyFileSync(v2ConfigPath, path.join(backupDir, '
|
|
206
|
+
fs.copyFileSync(v2ConfigPath, path.join(backupDir, 'odd-flow.config.json'));
|
|
207
207
|
}
|
|
208
208
|
// Transform to v3 format
|
|
209
209
|
const v3Config = { ...parsed, version: '3' };
|
|
@@ -267,7 +267,7 @@ const runCommand = {
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
output.printSuccess(`Memory files backed up (${jsonFiles.length} JSON, ${hasDb ? '1 DB' : '0 DB'}).`);
|
|
270
|
-
output.printInfo('Run "
|
|
270
|
+
output.printInfo('Run "odd-flow memory init --force" to import v2 memory into v3 AgentDB.');
|
|
271
271
|
}
|
|
272
272
|
migrated.push('memory');
|
|
273
273
|
}
|
|
@@ -353,7 +353,7 @@ const runCommand = {
|
|
|
353
353
|
}
|
|
354
354
|
else if (migrated.length > 0) {
|
|
355
355
|
output.printSuccess(`Migration complete. ${migrated.length} component(s) migrated: ${migrated.join(', ')}`);
|
|
356
|
-
output.printInfo('Run "
|
|
356
|
+
output.printInfo('Run "odd-flow migrate verify" to validate the migration.');
|
|
357
357
|
}
|
|
358
358
|
else {
|
|
359
359
|
output.printInfo('Nothing to migrate.');
|
|
@@ -375,7 +375,7 @@ const verifyCommand = {
|
|
|
375
375
|
],
|
|
376
376
|
action: async (ctx) => {
|
|
377
377
|
const cwd = ctx.cwd || process.cwd();
|
|
378
|
-
const v3Dir = path.join(cwd, '.
|
|
378
|
+
const v3Dir = path.join(cwd, '.odd-flow');
|
|
379
379
|
const migrationStatePath = path.join(v3Dir, 'migration-state.json');
|
|
380
380
|
const checks = [];
|
|
381
381
|
let allPassed = true;
|
|
@@ -490,7 +490,7 @@ const verifyCommand = {
|
|
|
490
490
|
}
|
|
491
491
|
else {
|
|
492
492
|
output.printError('Some verification checks failed.');
|
|
493
|
-
output.printInfo('Run "
|
|
493
|
+
output.printInfo('Run "odd-flow migrate run" to re-run the migration, or "migrate rollback" to restore from backup.');
|
|
494
494
|
}
|
|
495
495
|
return { success: allPassed, data: { checks, allPassed }, exitCode: allPassed ? 0 : 1 };
|
|
496
496
|
}
|
|
@@ -515,7 +515,7 @@ const rollbackCommand = {
|
|
|
515
515
|
],
|
|
516
516
|
action: async (ctx) => {
|
|
517
517
|
const cwd = ctx.cwd || process.cwd();
|
|
518
|
-
const v3Dir = path.join(cwd, '.
|
|
518
|
+
const v3Dir = path.join(cwd, '.odd-flow');
|
|
519
519
|
const migrationStatePath = path.join(v3Dir, 'migration-state.json');
|
|
520
520
|
output.writeln();
|
|
521
521
|
output.writeln(output.bold('Migration Rollback'));
|
|
@@ -546,9 +546,9 @@ const rollbackCommand = {
|
|
|
546
546
|
const restored = [];
|
|
547
547
|
try {
|
|
548
548
|
// Restore config
|
|
549
|
-
const backupConfig = path.join(backupPath, '
|
|
549
|
+
const backupConfig = path.join(backupPath, 'odd-flow.config.json');
|
|
550
550
|
if (fs.existsSync(backupConfig)) {
|
|
551
|
-
const destConfig = path.join(cwd, '
|
|
551
|
+
const destConfig = path.join(cwd, 'odd-flow.config.json');
|
|
552
552
|
fs.copyFileSync(backupConfig, destConfig);
|
|
553
553
|
// Remove v3 config
|
|
554
554
|
const v3Config = path.join(v3Dir, 'config.json');
|
|
@@ -612,7 +612,7 @@ const breakingCommand = {
|
|
|
612
612
|
{
|
|
613
613
|
category: 'Configuration',
|
|
614
614
|
changes: [
|
|
615
|
-
{ change: 'Config file renamed', from: '
|
|
615
|
+
{ change: 'Config file renamed', from: 'odd-flow.json', to: 'odd-flow.config.json' },
|
|
616
616
|
{ change: 'Swarm config restructured', from: 'swarm.mode', to: 'swarm.topology' },
|
|
617
617
|
{ change: 'Provider config format', from: 'provider: "anthropic"', to: 'providers: [...]' }
|
|
618
618
|
]
|
|
@@ -622,7 +622,7 @@ const breakingCommand = {
|
|
|
622
622
|
changes: [
|
|
623
623
|
{ change: 'Backend option changed', from: 'memory: { type }', to: 'memory: { backend }' },
|
|
624
624
|
{ change: 'HNSW enabled by default', from: 'Manual opt-in', to: 'Auto-enabled' },
|
|
625
|
-
{ change: 'Storage path changed', from: '.
|
|
625
|
+
{ change: 'Storage path changed', from: '.odd-flow/memory', to: 'data/memory' }
|
|
626
626
|
]
|
|
627
627
|
},
|
|
628
628
|
{
|
|
@@ -671,7 +671,7 @@ const breakingCommand = {
|
|
|
671
671
|
});
|
|
672
672
|
output.writeln();
|
|
673
673
|
}
|
|
674
|
-
output.printInfo('Run "
|
|
674
|
+
output.printInfo('Run "odd-flow migrate run" to automatically handle these changes');
|
|
675
675
|
return { success: true, data: changes };
|
|
676
676
|
}
|
|
677
677
|
};
|
|
@@ -682,15 +682,15 @@ export const migrateCommand = {
|
|
|
682
682
|
subcommands: [statusCommand, runCommand, verifyCommand, rollbackCommand, breakingCommand],
|
|
683
683
|
options: [],
|
|
684
684
|
examples: [
|
|
685
|
-
{ command: '
|
|
686
|
-
{ command: '
|
|
687
|
-
{ command: '
|
|
685
|
+
{ command: 'odd-flow migrate status', description: 'Check migration status' },
|
|
686
|
+
{ command: 'odd-flow migrate run --dry-run', description: 'Preview migration' },
|
|
687
|
+
{ command: 'odd-flow migrate run -t all', description: 'Run full migration' }
|
|
688
688
|
],
|
|
689
689
|
action: async (ctx) => {
|
|
690
690
|
output.writeln();
|
|
691
691
|
output.writeln(output.bold('V2 to V3 Migration Tools'));
|
|
692
692
|
output.writeln();
|
|
693
|
-
output.writeln('Usage:
|
|
693
|
+
output.writeln('Usage: odd-flow migrate <subcommand> [options]');
|
|
694
694
|
output.writeln();
|
|
695
695
|
output.writeln('Subcommands:');
|
|
696
696
|
output.printList([
|
|
@@ -727,12 +727,12 @@ function formatMigrationStatus(status) {
|
|
|
727
727
|
}
|
|
728
728
|
function getMigrationSteps(target) {
|
|
729
729
|
const allSteps = [
|
|
730
|
-
{ name: 'Configuration Files', description: 'Migrate config schema to V3 format', source: './
|
|
731
|
-
{ name: 'Memory Backend', description: 'Upgrade to hybrid backend with AgentDB', source: './.
|
|
732
|
-
{ name: 'Agent Definitions', description: 'Convert agent configs to V3 format', source: './.
|
|
730
|
+
{ name: 'Configuration Files', description: 'Migrate config schema to V3 format', source: './odd-flow.json', dest: './odd-flow.config.json' },
|
|
731
|
+
{ name: 'Memory Backend', description: 'Upgrade to hybrid backend with AgentDB', source: './.odd-flow/memory', dest: './data/memory' },
|
|
732
|
+
{ name: 'Agent Definitions', description: 'Convert agent configs to V3 format', source: './.odd-flow/agents', dest: './v3/agents' },
|
|
733
733
|
{ name: 'Hook Registry', description: 'Migrate hooks to V3 hook system', source: './src/hooks', dest: './v3/hooks' },
|
|
734
|
-
{ name: 'Workflow Definitions', description: 'Convert workflows to event-sourced format', source: './.
|
|
735
|
-
{ name: 'Embeddings System', description: 'Migrate to ONNX with hyperbolic (Poincaré ball)', source: 'OpenAI/TF.js embeddings', dest: '.
|
|
734
|
+
{ name: 'Workflow Definitions', description: 'Convert workflows to event-sourced format', source: './.odd-flow/workflows', dest: './data/workflows' },
|
|
735
|
+
{ name: 'Embeddings System', description: 'Migrate to ONNX with hyperbolic (Poincaré ball)', source: 'OpenAI/TF.js embeddings', dest: '.odd-flow/embeddings.json' }
|
|
736
736
|
];
|
|
737
737
|
if (target === 'all')
|
|
738
738
|
return allSteps;
|
|
@@ -23,9 +23,9 @@ const trainCommand = {
|
|
|
23
23
|
{ name: 'curriculum', type: 'boolean', description: 'Enable curriculum learning', default: 'false' },
|
|
24
24
|
],
|
|
25
25
|
examples: [
|
|
26
|
-
{ command: '
|
|
27
|
-
{ command: '
|
|
28
|
-
{ command: '
|
|
26
|
+
{ command: 'odd-flow neural train -p coordination -e 100', description: 'Train coordination patterns' },
|
|
27
|
+
{ command: 'odd-flow neural train -d ./training-data.json --flash', description: 'Train from file with Flash Attention' },
|
|
28
|
+
{ command: 'odd-flow neural train -p security --wasm --contrastive', description: 'Security patterns with contrastive learning' },
|
|
29
29
|
],
|
|
30
30
|
action: async (ctx) => {
|
|
31
31
|
const patternType = (ctx.flags.pattern || ctx.flags.patternType || ctx.flags['pattern-type']) || 'coordination';
|
|
@@ -336,8 +336,8 @@ const statusCommand = {
|
|
|
336
336
|
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Show detailed metrics' },
|
|
337
337
|
],
|
|
338
338
|
examples: [
|
|
339
|
-
{ command: '
|
|
340
|
-
{ command: '
|
|
339
|
+
{ command: 'odd-flow neural status', description: 'Show all neural status' },
|
|
340
|
+
{ command: 'odd-flow neural status -m model-123', description: 'Check specific model' },
|
|
341
341
|
],
|
|
342
342
|
action: async (ctx) => {
|
|
343
343
|
const verbose = ctx.flags.verbose === true;
|
|
@@ -476,8 +476,8 @@ const patternsCommand = {
|
|
|
476
476
|
{ name: 'limit', short: 'l', type: 'number', description: 'Max patterns to return', default: '10' },
|
|
477
477
|
],
|
|
478
478
|
examples: [
|
|
479
|
-
{ command: '
|
|
480
|
-
{ command: '
|
|
479
|
+
{ command: 'odd-flow neural patterns --action list', description: 'List all patterns' },
|
|
480
|
+
{ command: 'odd-flow neural patterns -a analyze -q "error handling"', description: 'Analyze patterns' },
|
|
481
481
|
],
|
|
482
482
|
action: async (ctx) => {
|
|
483
483
|
const action = ctx.flags.action || 'list';
|
|
@@ -558,7 +558,7 @@ const patternsCommand = {
|
|
|
558
558
|
catch (error) {
|
|
559
559
|
// Fallback if intelligence not initialized
|
|
560
560
|
output.writeln(output.dim('Intelligence system not initialized.'));
|
|
561
|
-
output.writeln(output.dim('Run:
|
|
561
|
+
output.writeln(output.dim('Run: odd-flow neural train --pattern-type general'));
|
|
562
562
|
return { success: false };
|
|
563
563
|
}
|
|
564
564
|
},
|
|
@@ -573,8 +573,8 @@ const predictCommand = {
|
|
|
573
573
|
{ name: 'format', short: 'f', type: 'string', description: 'Output format: json, table', default: 'table' },
|
|
574
574
|
],
|
|
575
575
|
examples: [
|
|
576
|
-
{ command: '
|
|
577
|
-
{ command: '
|
|
576
|
+
{ command: 'odd-flow neural predict -i "implement authentication"', description: 'Predict routing for task' },
|
|
577
|
+
{ command: 'odd-flow neural predict -i "fix bug in login" -k 3', description: 'Get top 3 predictions' },
|
|
578
578
|
],
|
|
579
579
|
action: async (ctx) => {
|
|
580
580
|
const input = ctx.flags.input;
|
|
@@ -600,7 +600,7 @@ const predictCommand = {
|
|
|
600
600
|
spinner.succeed(`Prediction complete (search: ${searchTime.toFixed(1)}ms)`);
|
|
601
601
|
output.writeln();
|
|
602
602
|
if (matches.length === 0) {
|
|
603
|
-
output.writeln(output.warning('No similar patterns found. Try training first:
|
|
603
|
+
output.writeln(output.warning('No similar patterns found. Try training first: odd-flow neural train'));
|
|
604
604
|
return { success: true, data: { matches: [] } };
|
|
605
605
|
}
|
|
606
606
|
if (format === 'json') {
|
|
@@ -658,8 +658,8 @@ const optimizeCommand = {
|
|
|
658
658
|
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Show detailed metrics' },
|
|
659
659
|
],
|
|
660
660
|
examples: [
|
|
661
|
-
{ command: '
|
|
662
|
-
{ command: '
|
|
661
|
+
{ command: 'odd-flow neural optimize --method quantize', description: 'Quantize patterns to Int8' },
|
|
662
|
+
{ command: 'odd-flow neural optimize --method analyze -v', description: 'Analyze memory usage' },
|
|
663
663
|
],
|
|
664
664
|
action: async (ctx) => {
|
|
665
665
|
const method = ctx.flags.method || 'quantize';
|
|
@@ -677,7 +677,7 @@ const optimizeCommand = {
|
|
|
677
677
|
const patterns = await getAllPatterns();
|
|
678
678
|
const stats = getIntelligenceStats();
|
|
679
679
|
// Get actual pattern storage size
|
|
680
|
-
const patternDir = path.join(process.cwd(), '.
|
|
680
|
+
const patternDir = path.join(process.cwd(), '.odd-flow', 'neural');
|
|
681
681
|
let beforeSize = 0;
|
|
682
682
|
try {
|
|
683
683
|
const patternFile = path.join(patternDir, 'patterns.json');
|
|
@@ -808,8 +808,8 @@ const exportCommand = {
|
|
|
808
808
|
{ name: 'name', short: 'n', type: 'string', description: 'Custom name for exported model' },
|
|
809
809
|
],
|
|
810
810
|
examples: [
|
|
811
|
-
{ command: '
|
|
812
|
-
{ command: '
|
|
811
|
+
{ command: 'odd-flow neural export -m security-patterns --ipfs', description: 'Export and pin to IPFS' },
|
|
812
|
+
{ command: 'odd-flow neural export -m code-review -o ./export.json', description: 'Export to file' },
|
|
813
813
|
],
|
|
814
814
|
action: async (ctx) => {
|
|
815
815
|
const modelId = ctx.flags.model || 'all';
|
|
@@ -840,7 +840,7 @@ const exportCommand = {
|
|
|
840
840
|
const exportData = {
|
|
841
841
|
type: 'learning-pattern',
|
|
842
842
|
version: '1.0.0',
|
|
843
|
-
name: customName || `
|
|
843
|
+
name: customName || `odd-flow-model-${Date.now()}`,
|
|
844
844
|
exportedAt: new Date().toISOString(),
|
|
845
845
|
modelId,
|
|
846
846
|
patterns: [],
|
|
@@ -853,7 +853,7 @@ const exportCommand = {
|
|
|
853
853
|
},
|
|
854
854
|
};
|
|
855
855
|
// Load patterns from local storage
|
|
856
|
-
const memoryDir = path.join(process.cwd(), '.
|
|
856
|
+
const memoryDir = path.join(process.cwd(), '.odd-flow', 'memory');
|
|
857
857
|
const patternsFile = path.join(memoryDir, 'patterns.json');
|
|
858
858
|
if (fs.existsSync(patternsFile)) {
|
|
859
859
|
const patterns = JSON.parse(fs.readFileSync(patternsFile, 'utf8'));
|
|
@@ -976,7 +976,7 @@ const exportCommand = {
|
|
|
976
976
|
});
|
|
977
977
|
output.writeln();
|
|
978
978
|
output.writeln(output.success('Share this CID for others to import your trained patterns'));
|
|
979
|
-
output.writeln(output.dim(`Import command:
|
|
979
|
+
output.writeln(output.dim(`Import command: odd-flow neural import --cid ${result.IpfsHash}`));
|
|
980
980
|
}
|
|
981
981
|
if (!outputFile && !pinToIpfs) {
|
|
982
982
|
// Just display the export
|
|
@@ -1002,9 +1002,9 @@ const listCommand = {
|
|
|
1002
1002
|
{ name: 'cid', type: 'string', description: 'Custom registry CID (default: official registry)' },
|
|
1003
1003
|
],
|
|
1004
1004
|
examples: [
|
|
1005
|
-
{ command: '
|
|
1006
|
-
{ command: '
|
|
1007
|
-
{ command: '
|
|
1005
|
+
{ command: 'odd-flow neural list', description: 'List all available models' },
|
|
1006
|
+
{ command: 'odd-flow neural list --category security', description: 'List only security models' },
|
|
1007
|
+
{ command: 'odd-flow neural list -f json', description: 'Output as JSON' },
|
|
1008
1008
|
],
|
|
1009
1009
|
action: async (ctx) => {
|
|
1010
1010
|
const category = ctx.flags.category;
|
|
@@ -1091,12 +1091,12 @@ const listCommand = {
|
|
|
1091
1091
|
output.writeln(output.dim('Registry CID: ' + registryCid));
|
|
1092
1092
|
output.writeln();
|
|
1093
1093
|
output.writeln(output.bold('Import Commands:'));
|
|
1094
|
-
output.writeln(output.dim(' All models: ') + `
|
|
1094
|
+
output.writeln(output.dim(' All models: ') + `odd-flow neural import --cid ${registryCid}`);
|
|
1095
1095
|
if (category) {
|
|
1096
|
-
output.writeln(output.dim(` ${category} only: `) + `
|
|
1096
|
+
output.writeln(output.dim(` ${category} only: `) + `odd-flow neural import --cid ${registryCid} --category ${category}`);
|
|
1097
1097
|
}
|
|
1098
1098
|
else {
|
|
1099
|
-
output.writeln(output.dim(' By category: ') + `
|
|
1099
|
+
output.writeln(output.dim(' By category: ') + `odd-flow neural import --cid ${registryCid} --category <category>`);
|
|
1100
1100
|
}
|
|
1101
1101
|
}
|
|
1102
1102
|
return { success: true };
|
|
@@ -1119,9 +1119,9 @@ const importCommand = {
|
|
|
1119
1119
|
{ name: 'category', type: 'string', description: 'Only import patterns from specific category' },
|
|
1120
1120
|
],
|
|
1121
1121
|
examples: [
|
|
1122
|
-
{ command: '
|
|
1123
|
-
{ command: '
|
|
1124
|
-
{ command: '
|
|
1122
|
+
{ command: 'odd-flow neural import --cid QmXxx...', description: 'Import from IPFS' },
|
|
1123
|
+
{ command: 'odd-flow neural import -f ./patterns.json --verify', description: 'Import from file' },
|
|
1124
|
+
{ command: 'odd-flow neural import --cid QmNr1yYMK... --category security', description: 'Import only security patterns' },
|
|
1125
1125
|
],
|
|
1126
1126
|
action: async (ctx) => {
|
|
1127
1127
|
const cid = ctx.flags.cid;
|
|
@@ -1246,7 +1246,7 @@ const importCommand = {
|
|
|
1246
1246
|
output.writeln(output.warning(`Filtered ${patterns.length - validPatterns.length} suspicious patterns`));
|
|
1247
1247
|
}
|
|
1248
1248
|
// Save to local memory
|
|
1249
|
-
const memoryDir = path.join(process.cwd(), '.
|
|
1249
|
+
const memoryDir = path.join(process.cwd(), '.odd-flow', 'memory');
|
|
1250
1250
|
if (!fs.existsSync(memoryDir)) {
|
|
1251
1251
|
fs.mkdirSync(memoryDir, { recursive: true });
|
|
1252
1252
|
}
|
|
@@ -1277,7 +1277,7 @@ const importCommand = {
|
|
|
1277
1277
|
});
|
|
1278
1278
|
output.writeln();
|
|
1279
1279
|
output.writeln(output.success('Patterns imported and ready to use'));
|
|
1280
|
-
output.writeln(output.dim('Run "
|
|
1280
|
+
output.writeln(output.dim('Run "odd-flow neural patterns --action list" to see imported patterns'));
|
|
1281
1281
|
return { success: true };
|
|
1282
1282
|
}
|
|
1283
1283
|
catch (error) {
|
|
@@ -1296,8 +1296,8 @@ const benchmarkCommand = {
|
|
|
1296
1296
|
{ name: 'keys', short: 'k', type: 'number', description: 'Number of keys for attention', default: '100' },
|
|
1297
1297
|
],
|
|
1298
1298
|
examples: [
|
|
1299
|
-
{ command: '
|
|
1300
|
-
{ command: '
|
|
1299
|
+
{ command: 'odd-flow neural benchmark', description: 'Run default benchmark' },
|
|
1300
|
+
{ command: 'odd-flow neural benchmark -d 128 -i 5000', description: 'Custom benchmark' },
|
|
1301
1301
|
],
|
|
1302
1302
|
action: async (ctx) => {
|
|
1303
1303
|
const dim = Math.min(parseInt(ctx.flags.dim || '256', 10), 256);
|
|
@@ -1433,9 +1433,9 @@ export const neuralCommand = {
|
|
|
1433
1433
|
description: 'Neural pattern training, MoE, Flash Attention, pattern learning',
|
|
1434
1434
|
subcommands: [trainCommand, statusCommand, patternsCommand, predictCommand, optimizeCommand, benchmarkCommand, listCommand, exportCommand, importCommand],
|
|
1435
1435
|
examples: [
|
|
1436
|
-
{ command: '
|
|
1437
|
-
{ command: '
|
|
1438
|
-
{ command: '
|
|
1436
|
+
{ command: 'odd-flow neural status', description: 'Check neural system status' },
|
|
1437
|
+
{ command: 'odd-flow neural train -p coordination', description: 'Train coordination patterns' },
|
|
1438
|
+
{ command: 'odd-flow neural patterns --action list', description: 'List learned patterns' },
|
|
1439
1439
|
],
|
|
1440
1440
|
action: async () => {
|
|
1441
1441
|
output.writeln();
|
|
@@ -14,8 +14,8 @@ const benchmarkCommand = {
|
|
|
14
14
|
{ name: 'output', short: 'o', type: 'string', description: 'Output format: text, json, csv', default: 'text' },
|
|
15
15
|
],
|
|
16
16
|
examples: [
|
|
17
|
-
{ command: '
|
|
18
|
-
{ command: '
|
|
17
|
+
{ command: 'odd-flow performance benchmark -s neural', description: 'Benchmark neural operations' },
|
|
18
|
+
{ command: 'odd-flow performance benchmark -i 1000', description: 'Run with 1000 iterations' },
|
|
19
19
|
],
|
|
20
20
|
action: async (ctx) => {
|
|
21
21
|
const suite = ctx.flags.suite || 'all';
|
|
@@ -215,8 +215,8 @@ const profileCommand = {
|
|
|
215
215
|
{ name: 'output', short: 'o', type: 'string', description: 'Output file for profile data' },
|
|
216
216
|
],
|
|
217
217
|
examples: [
|
|
218
|
-
{ command: '
|
|
219
|
-
{ command: '
|
|
218
|
+
{ command: 'odd-flow performance profile -t cpu', description: 'Profile CPU usage' },
|
|
219
|
+
{ command: 'odd-flow performance profile -d 60', description: 'Profile for 60 seconds' },
|
|
220
220
|
],
|
|
221
221
|
action: async (ctx) => {
|
|
222
222
|
const type = ctx.flags.type || 'all';
|
|
@@ -284,8 +284,8 @@ const metricsCommand = {
|
|
|
284
284
|
{ name: 'component', short: 'c', type: 'string', description: 'Component to filter' },
|
|
285
285
|
],
|
|
286
286
|
examples: [
|
|
287
|
-
{ command: '
|
|
288
|
-
{ command: '
|
|
287
|
+
{ command: 'odd-flow performance metrics -t 7d', description: 'Show 7-day metrics' },
|
|
288
|
+
{ command: 'odd-flow performance metrics -f prometheus', description: 'Export as Prometheus format' },
|
|
289
289
|
],
|
|
290
290
|
action: async (ctx) => {
|
|
291
291
|
const timeframe = ctx.flags.timeframe || '24h';
|
|
@@ -467,8 +467,8 @@ const optimizeCommand = {
|
|
|
467
467
|
{ name: 'dry-run', short: 'd', type: 'boolean', description: 'Show changes without applying' },
|
|
468
468
|
],
|
|
469
469
|
examples: [
|
|
470
|
-
{ command: '
|
|
471
|
-
{ command: '
|
|
470
|
+
{ command: 'odd-flow performance optimize -t memory', description: 'Optimize memory usage' },
|
|
471
|
+
{ command: 'odd-flow performance optimize --apply', description: 'Apply all optimizations' },
|
|
472
472
|
],
|
|
473
473
|
action: async (ctx) => {
|
|
474
474
|
const target = ctx.flags.target || 'all';
|
|
@@ -509,8 +509,8 @@ const bottleneckCommand = {
|
|
|
509
509
|
{ name: 'depth', short: 'd', type: 'string', description: 'Analysis depth: quick, full', default: 'quick' },
|
|
510
510
|
],
|
|
511
511
|
examples: [
|
|
512
|
-
{ command: '
|
|
513
|
-
{ command: '
|
|
512
|
+
{ command: 'odd-flow performance bottleneck', description: 'Find bottlenecks' },
|
|
513
|
+
{ command: 'odd-flow performance bottleneck -d full', description: 'Full analysis' },
|
|
514
514
|
],
|
|
515
515
|
action: async (ctx) => {
|
|
516
516
|
output.writeln();
|
|
@@ -544,9 +544,9 @@ export const performanceCommand = {
|
|
|
544
544
|
aliases: ['perf'],
|
|
545
545
|
subcommands: [benchmarkCommand, profileCommand, metricsCommand, optimizeCommand, bottleneckCommand],
|
|
546
546
|
examples: [
|
|
547
|
-
{ command: '
|
|
548
|
-
{ command: '
|
|
549
|
-
{ command: '
|
|
547
|
+
{ command: 'odd-flow performance benchmark', description: 'Run benchmarks' },
|
|
548
|
+
{ command: 'odd-flow performance profile', description: 'Profile application' },
|
|
549
|
+
{ command: 'odd-flow perf metrics', description: 'View metrics (alias)' },
|
|
550
550
|
],
|
|
551
551
|
action: async () => {
|
|
552
552
|
output.writeln();
|
|
@@ -18,13 +18,13 @@ const listCommand = {
|
|
|
18
18
|
{ name: 'type', short: 't', type: 'string', description: 'Filter by plugin type' },
|
|
19
19
|
{ name: 'official', short: 'o', type: 'boolean', description: 'Show only official plugins' },
|
|
20
20
|
{ name: 'featured', short: 'f', type: 'boolean', description: 'Show featured plugins' },
|
|
21
|
-
{ name: 'registry', short: 'r', type: 'string', description: 'Registry to use (default:
|
|
21
|
+
{ name: 'registry', short: 'r', type: 'string', description: 'Registry to use (default: odd-flow-official)' },
|
|
22
22
|
],
|
|
23
23
|
examples: [
|
|
24
|
-
{ command: '
|
|
25
|
-
{ command: '
|
|
26
|
-
{ command: '
|
|
27
|
-
{ command: '
|
|
24
|
+
{ command: 'odd-flow plugins list', description: 'List all plugins from registry' },
|
|
25
|
+
{ command: 'odd-flow plugins list --installed', description: 'List installed only' },
|
|
26
|
+
{ command: 'odd-flow plugins list --official', description: 'List official plugins' },
|
|
27
|
+
{ command: 'odd-flow plugins list --category security', description: 'List security plugins' },
|
|
28
28
|
],
|
|
29
29
|
action: async (ctx) => {
|
|
30
30
|
const installedOnly = ctx.flags.installed;
|
|
@@ -45,8 +45,8 @@ const listCommand = {
|
|
|
45
45
|
if (installed.length === 0) {
|
|
46
46
|
output.writeln(output.dim('No plugins installed.'));
|
|
47
47
|
output.writeln();
|
|
48
|
-
output.writeln(output.dim('Run "
|
|
49
|
-
output.writeln(output.dim('Run "
|
|
48
|
+
output.writeln(output.dim('Run "odd-flow plugins list" to see available plugins'));
|
|
49
|
+
output.writeln(output.dim('Run "odd-flow plugins install -n <plugin>" to install'));
|
|
50
50
|
return { success: true };
|
|
51
51
|
}
|
|
52
52
|
output.printTable({
|
|
@@ -181,8 +181,8 @@ const installCommand = {
|
|
|
181
181
|
{ name: 'registry', short: 'r', type: 'string', description: 'Registry to use' },
|
|
182
182
|
],
|
|
183
183
|
examples: [
|
|
184
|
-
{ command: '
|
|
185
|
-
{ command: '
|
|
184
|
+
{ command: 'odd-flow plugins install -n community-analytics', description: 'Install plugin from IPFS' },
|
|
185
|
+
{ command: 'odd-flow plugins install -n ./my-plugin --dev', description: 'Install local plugin' },
|
|
186
186
|
],
|
|
187
187
|
action: async (ctx) => {
|
|
188
188
|
const name = ctx.flags.name;
|
|
@@ -211,7 +211,7 @@ const installCommand = {
|
|
|
211
211
|
if (existingPlugin) {
|
|
212
212
|
spinner.fail(`Plugin ${name} is already installed (v${existingPlugin.version})`);
|
|
213
213
|
output.writeln();
|
|
214
|
-
output.writeln(output.dim('Use "
|
|
214
|
+
output.writeln(output.dim('Use "odd-flow plugins upgrade -n ' + name + '" to update'));
|
|
215
215
|
return { success: false, exitCode: 1 };
|
|
216
216
|
}
|
|
217
217
|
let result;
|
|
@@ -275,7 +275,7 @@ const uninstallCommand = {
|
|
|
275
275
|
{ name: 'force', short: 'f', type: 'boolean', description: 'Force uninstall without confirmation' },
|
|
276
276
|
],
|
|
277
277
|
examples: [
|
|
278
|
-
{ command: '
|
|
278
|
+
{ command: 'odd-flow plugins uninstall -n community-analytics', description: 'Uninstall plugin' },
|
|
279
279
|
],
|
|
280
280
|
action: async (ctx) => {
|
|
281
281
|
const name = ctx.flags.name;
|
|
@@ -323,8 +323,8 @@ const toggleCommand = {
|
|
|
323
323
|
{ name: 'disable', short: 'd', type: 'boolean', description: 'Disable the plugin' },
|
|
324
324
|
],
|
|
325
325
|
examples: [
|
|
326
|
-
{ command: '
|
|
327
|
-
{ command: '
|
|
326
|
+
{ command: 'odd-flow plugins toggle -n analytics --enable', description: 'Enable plugin' },
|
|
327
|
+
{ command: 'odd-flow plugins toggle -n analytics --disable', description: 'Disable plugin' },
|
|
328
328
|
],
|
|
329
329
|
action: async (ctx) => {
|
|
330
330
|
const name = ctx.flags.name;
|
|
@@ -386,7 +386,7 @@ const infoCommand = {
|
|
|
386
386
|
{ name: 'registry', short: 'r', type: 'string', description: 'Registry to use' },
|
|
387
387
|
],
|
|
388
388
|
examples: [
|
|
389
|
-
{ command: '
|
|
389
|
+
{ command: 'odd-flow plugins info -n @odd-flow/neural', description: 'Show plugin info' },
|
|
390
390
|
],
|
|
391
391
|
action: async (ctx) => {
|
|
392
392
|
const name = ctx.flags.name;
|
|
@@ -534,8 +534,8 @@ const createCommand = {
|
|
|
534
534
|
{ name: 'path', short: 'p', type: 'string', description: 'Output path', default: '.' },
|
|
535
535
|
],
|
|
536
536
|
examples: [
|
|
537
|
-
{ command: '
|
|
538
|
-
{ command: '
|
|
537
|
+
{ command: 'odd-flow plugins create -n my-plugin', description: 'Create basic plugin' },
|
|
538
|
+
{ command: 'odd-flow plugins create -n my-plugin -t hooks', description: 'Create hooks plugin' },
|
|
539
539
|
],
|
|
540
540
|
action: async (ctx) => {
|
|
541
541
|
const name = ctx.flags.name;
|
|
@@ -585,8 +585,8 @@ const upgradeCommand = {
|
|
|
585
585
|
{ name: 'version', short: 'v', type: 'string', description: 'Target version (default: latest)' },
|
|
586
586
|
],
|
|
587
587
|
examples: [
|
|
588
|
-
{ command: '
|
|
589
|
-
{ command: '
|
|
588
|
+
{ command: 'odd-flow plugins upgrade -n @odd-flow/neural', description: 'Upgrade to latest' },
|
|
589
|
+
{ command: 'odd-flow plugins upgrade -n @odd-flow/neural -v 3.1.0', description: 'Upgrade to specific version' },
|
|
590
590
|
],
|
|
591
591
|
action: async (ctx) => {
|
|
592
592
|
const name = ctx.flags.name;
|
|
@@ -638,8 +638,8 @@ const searchCommand = {
|
|
|
638
638
|
{ name: 'registry', short: 'r', type: 'string', description: 'Registry to use' },
|
|
639
639
|
],
|
|
640
640
|
examples: [
|
|
641
|
-
{ command: '
|
|
642
|
-
{ command: '
|
|
641
|
+
{ command: 'odd-flow plugins search -q neural', description: 'Search for neural plugins' },
|
|
642
|
+
{ command: 'odd-flow plugins search -q security --verified', description: 'Search verified security plugins' },
|
|
643
643
|
],
|
|
644
644
|
action: async (ctx) => {
|
|
645
645
|
const query = ctx.flags.query;
|
|
@@ -727,8 +727,8 @@ const rateCommand = {
|
|
|
727
727
|
{ name: 'rating', short: 'r', type: 'number', description: 'Rating (1-5)', required: true },
|
|
728
728
|
],
|
|
729
729
|
examples: [
|
|
730
|
-
{ command: '
|
|
731
|
-
{ command: '
|
|
730
|
+
{ command: 'odd-flow plugins rate -n @odd-flow/embeddings -r 5', description: 'Rate 5 stars' },
|
|
731
|
+
{ command: 'odd-flow plugins rate -n my-plugin -r 4', description: 'Rate 4 stars' },
|
|
732
732
|
],
|
|
733
733
|
action: async (ctx) => {
|
|
734
734
|
const { rateItem } = await import('../services/registry-api.js');
|
|
@@ -768,10 +768,10 @@ export const pluginsCommand = {
|
|
|
768
768
|
description: 'Plugin management with IPFS-based decentralized registry',
|
|
769
769
|
subcommands: [listCommand, searchCommand, installCommand, uninstallCommand, upgradeCommand, toggleCommand, infoCommand, createCommand, rateCommand],
|
|
770
770
|
examples: [
|
|
771
|
-
{ command: '
|
|
772
|
-
{ command: '
|
|
773
|
-
{ command: '
|
|
774
|
-
{ command: '
|
|
771
|
+
{ command: 'odd-flow plugins list', description: 'List plugins from IPFS registry' },
|
|
772
|
+
{ command: 'odd-flow plugins search -q neural', description: 'Search for plugins' },
|
|
773
|
+
{ command: 'odd-flow plugins install -n community-analytics', description: 'Install from IPFS' },
|
|
774
|
+
{ command: 'odd-flow plugins create -n my-plugin', description: 'Create new plugin' },
|
|
775
775
|
],
|
|
776
776
|
action: async () => {
|
|
777
777
|
output.writeln();
|
|
@@ -801,15 +801,15 @@ export const pluginsCommand = {
|
|
|
801
801
|
output.writeln();
|
|
802
802
|
output.writeln(output.bold('Official Plugins:'));
|
|
803
803
|
output.printList([
|
|
804
|
-
'@
|
|
805
|
-
'@
|
|
806
|
-
'@
|
|
807
|
-
'@
|
|
808
|
-
'@
|
|
809
|
-
'@
|
|
804
|
+
'@odd-flow/neural - Neural patterns and inference (WASM SIMD)',
|
|
805
|
+
'@odd-flow/security - Security scanning and CVE detection',
|
|
806
|
+
'@odd-flow/embeddings - Vector embeddings with hyperbolic support',
|
|
807
|
+
'@odd-flow/claims - Claims-based authorization',
|
|
808
|
+
'@odd-flow/performance - Performance profiling and benchmarks',
|
|
809
|
+
'@odd-flow/plugin-gastown-bridge - Gas Town orchestrator integration (WASM-accelerated)',
|
|
810
810
|
]);
|
|
811
811
|
output.writeln();
|
|
812
|
-
output.writeln(output.dim('Run "
|
|
812
|
+
output.writeln(output.dim('Run "odd-flow plugins list --official" to see all official plugins'));
|
|
813
813
|
return { success: true };
|
|
814
814
|
},
|
|
815
815
|
};
|