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
|
@@ -77,10 +77,10 @@ const diffCommand = {
|
|
|
77
77
|
},
|
|
78
78
|
],
|
|
79
79
|
examples: [
|
|
80
|
-
{ command: '
|
|
81
|
-
{ command: '
|
|
82
|
-
{ command: '
|
|
83
|
-
{ command: '
|
|
80
|
+
{ command: 'odd-flow analyze diff --risk', description: 'Analyze current diff with risk assessment' },
|
|
81
|
+
{ command: 'odd-flow analyze diff HEAD~1 --classify', description: 'Classify changes from last commit' },
|
|
82
|
+
{ command: 'odd-flow analyze diff main..feature --format json', description: 'Compare branches with JSON output' },
|
|
83
|
+
{ command: 'odd-flow analyze diff --reviewers', description: 'Get recommended reviewers for changes' },
|
|
84
84
|
],
|
|
85
85
|
action: async (ctx) => {
|
|
86
86
|
const ref = ctx.args[0] || 'HEAD';
|
|
@@ -245,8 +245,8 @@ const codeCommand = {
|
|
|
245
245
|
{ name: 'format', short: 'f', type: 'string', description: 'Output format: text, json', default: 'text' },
|
|
246
246
|
],
|
|
247
247
|
examples: [
|
|
248
|
-
{ command: '
|
|
249
|
-
{ command: '
|
|
248
|
+
{ command: 'odd-flow analyze code -p ./src', description: 'Analyze source directory' },
|
|
249
|
+
{ command: 'odd-flow analyze code --type complexity', description: 'Run complexity analysis' },
|
|
250
250
|
],
|
|
251
251
|
action: async (ctx) => {
|
|
252
252
|
const path = ctx.flags.path || '.';
|
|
@@ -358,10 +358,10 @@ const astCommand = {
|
|
|
358
358
|
},
|
|
359
359
|
],
|
|
360
360
|
examples: [
|
|
361
|
-
{ command: '
|
|
362
|
-
{ command: '
|
|
363
|
-
{ command: '
|
|
364
|
-
{ command: '
|
|
361
|
+
{ command: 'odd-flow analyze ast src/', description: 'Analyze all files in src/' },
|
|
362
|
+
{ command: 'odd-flow analyze ast src/index.ts --complexity', description: 'Analyze with complexity' },
|
|
363
|
+
{ command: 'odd-flow analyze ast . --format json', description: 'JSON output' },
|
|
364
|
+
{ command: 'odd-flow analyze ast src/ --symbols', description: 'Extract symbols' },
|
|
365
365
|
],
|
|
366
366
|
action: async (ctx) => {
|
|
367
367
|
const targetPath = ctx.args[0] || ctx.cwd;
|
|
@@ -577,8 +577,8 @@ const complexityAstCommand = {
|
|
|
577
577
|
},
|
|
578
578
|
],
|
|
579
579
|
examples: [
|
|
580
|
-
{ command: '
|
|
581
|
-
{ command: '
|
|
580
|
+
{ command: 'odd-flow analyze complexity src/', description: 'Analyze complexity' },
|
|
581
|
+
{ command: 'odd-flow analyze complexity src/ --threshold 15', description: 'Flag high complexity' },
|
|
582
582
|
],
|
|
583
583
|
action: async (ctx) => {
|
|
584
584
|
const targetPath = ctx.args[0] || ctx.cwd;
|
|
@@ -729,9 +729,9 @@ const symbolsCommand = {
|
|
|
729
729
|
},
|
|
730
730
|
],
|
|
731
731
|
examples: [
|
|
732
|
-
{ command: '
|
|
733
|
-
{ command: '
|
|
734
|
-
{ command: '
|
|
732
|
+
{ command: 'odd-flow analyze symbols src/', description: 'Extract all symbols' },
|
|
733
|
+
{ command: 'odd-flow analyze symbols src/ --type function', description: 'Only functions' },
|
|
734
|
+
{ command: 'odd-flow analyze symbols src/ --format json', description: 'JSON output' },
|
|
735
735
|
],
|
|
736
736
|
action: async (ctx) => {
|
|
737
737
|
const targetPath = ctx.args[0] || ctx.cwd;
|
|
@@ -869,8 +869,8 @@ const importsCommand = {
|
|
|
869
869
|
},
|
|
870
870
|
],
|
|
871
871
|
examples: [
|
|
872
|
-
{ command: '
|
|
873
|
-
{ command: '
|
|
872
|
+
{ command: 'odd-flow analyze imports src/', description: 'Analyze all imports' },
|
|
873
|
+
{ command: 'odd-flow analyze imports src/ --external', description: 'Only npm packages' },
|
|
874
874
|
],
|
|
875
875
|
action: async (ctx) => {
|
|
876
876
|
const targetPath = ctx.args[0] || ctx.cwd;
|
|
@@ -1098,8 +1098,8 @@ const depsCommand = {
|
|
|
1098
1098
|
{ name: 'format', short: 'f', type: 'string', description: 'Output format: text, json', default: 'text' },
|
|
1099
1099
|
],
|
|
1100
1100
|
examples: [
|
|
1101
|
-
{ command: '
|
|
1102
|
-
{ command: '
|
|
1101
|
+
{ command: 'odd-flow analyze deps --outdated', description: 'Show outdated dependencies' },
|
|
1102
|
+
{ command: 'odd-flow analyze deps --security', description: 'Check for vulnerabilities' },
|
|
1103
1103
|
],
|
|
1104
1104
|
action: async (ctx) => {
|
|
1105
1105
|
const showOutdated = ctx.flags.outdated;
|
|
@@ -1155,9 +1155,9 @@ const boundariesCommand = {
|
|
|
1155
1155
|
},
|
|
1156
1156
|
],
|
|
1157
1157
|
examples: [
|
|
1158
|
-
{ command: '
|
|
1159
|
-
{ command: '
|
|
1160
|
-
{ command: '
|
|
1158
|
+
{ command: 'odd-flow analyze boundaries src/', description: 'Find code boundaries in src/' },
|
|
1159
|
+
{ command: 'odd-flow analyze boundaries -p 3 src/', description: 'Find 3 partitions' },
|
|
1160
|
+
{ command: 'odd-flow analyze boundaries -f dot -o graph.dot src/', description: 'Export to DOT format' },
|
|
1161
1161
|
],
|
|
1162
1162
|
action: async (ctx) => {
|
|
1163
1163
|
const targetDir = ctx.args[0] || ctx.cwd;
|
|
@@ -1307,9 +1307,9 @@ const modulesCommand = {
|
|
|
1307
1307
|
},
|
|
1308
1308
|
],
|
|
1309
1309
|
examples: [
|
|
1310
|
-
{ command: '
|
|
1311
|
-
{ command: '
|
|
1312
|
-
{ command: '
|
|
1310
|
+
{ command: 'odd-flow analyze modules src/', description: 'Detect module communities' },
|
|
1311
|
+
{ command: 'odd-flow analyze modules -f dot -o modules.dot src/', description: 'Export colored DOT graph' },
|
|
1312
|
+
{ command: 'odd-flow analyze modules -m 3 src/', description: 'Only show communities with 3+ files' },
|
|
1313
1313
|
],
|
|
1314
1314
|
action: async (ctx) => {
|
|
1315
1315
|
const targetDir = ctx.args[0] || ctx.cwd;
|
|
@@ -1455,9 +1455,9 @@ const dependenciesCommand = {
|
|
|
1455
1455
|
},
|
|
1456
1456
|
],
|
|
1457
1457
|
examples: [
|
|
1458
|
-
{ command: '
|
|
1459
|
-
{ command: '
|
|
1460
|
-
{ command: '
|
|
1458
|
+
{ command: 'odd-flow analyze dependencies src/', description: 'Build dependency graph' },
|
|
1459
|
+
{ command: 'odd-flow analyze dependencies -f dot -o deps.dot src/', description: 'Export to DOT' },
|
|
1460
|
+
{ command: 'odd-flow analyze dependencies -i .ts,.tsx src/', description: 'Only TypeScript files' },
|
|
1461
1461
|
],
|
|
1462
1462
|
action: async (ctx) => {
|
|
1463
1463
|
const targetDir = ctx.args[0] || ctx.cwd;
|
|
@@ -1619,8 +1619,8 @@ const circularCommand = {
|
|
|
1619
1619
|
},
|
|
1620
1620
|
],
|
|
1621
1621
|
examples: [
|
|
1622
|
-
{ command: '
|
|
1623
|
-
{ command: '
|
|
1622
|
+
{ command: 'odd-flow analyze circular src/', description: 'Find circular dependencies' },
|
|
1623
|
+
{ command: 'odd-flow analyze circular -s high src/', description: 'Only high severity cycles' },
|
|
1624
1624
|
],
|
|
1625
1625
|
action: async (ctx) => {
|
|
1626
1626
|
const targetDir = ctx.args[0] || ctx.cwd;
|
|
@@ -1762,16 +1762,16 @@ export const analyzeCommand = {
|
|
|
1762
1762
|
},
|
|
1763
1763
|
],
|
|
1764
1764
|
examples: [
|
|
1765
|
-
{ command: '
|
|
1766
|
-
{ command: '
|
|
1767
|
-
{ command: '
|
|
1768
|
-
{ command: '
|
|
1769
|
-
{ command: '
|
|
1770
|
-
{ command: '
|
|
1771
|
-
{ command: '
|
|
1772
|
-
{ command: '
|
|
1773
|
-
{ command: '
|
|
1774
|
-
{ command: '
|
|
1765
|
+
{ command: 'odd-flow analyze ast src/', description: 'Analyze code with AST parsing' },
|
|
1766
|
+
{ command: 'odd-flow analyze complexity src/ --threshold 15', description: 'Find high-complexity files' },
|
|
1767
|
+
{ command: 'odd-flow analyze symbols src/ --type function', description: 'Extract all functions' },
|
|
1768
|
+
{ command: 'odd-flow analyze imports src/ --external', description: 'List npm dependencies' },
|
|
1769
|
+
{ command: 'odd-flow analyze diff --risk', description: 'Analyze diff with risk assessment' },
|
|
1770
|
+
{ command: 'odd-flow analyze boundaries src/', description: 'Find code boundaries using MinCut' },
|
|
1771
|
+
{ command: 'odd-flow analyze modules src/', description: 'Detect module communities with Louvain' },
|
|
1772
|
+
{ command: 'odd-flow analyze dependencies src/ --format dot', description: 'Export dependency graph as DOT' },
|
|
1773
|
+
{ command: 'odd-flow analyze circular src/', description: 'Find circular dependencies' },
|
|
1774
|
+
{ command: 'odd-flow analyze deps --security', description: 'Check dependency vulnerabilities' },
|
|
1775
1775
|
],
|
|
1776
1776
|
action: async (ctx) => {
|
|
1777
1777
|
// If no subcommand, show help
|
|
@@ -1795,24 +1795,24 @@ export const analyzeCommand = {
|
|
|
1795
1795
|
output.writeln();
|
|
1796
1796
|
output.writeln(output.bold('AST Analysis Examples:'));
|
|
1797
1797
|
output.writeln();
|
|
1798
|
-
output.writeln(` ${output.dim('
|
|
1799
|
-
output.writeln(` ${output.dim('
|
|
1800
|
-
output.writeln(` ${output.dim('
|
|
1801
|
-
output.writeln(` ${output.dim('
|
|
1802
|
-
output.writeln(` ${output.dim('
|
|
1798
|
+
output.writeln(` ${output.dim('odd-flow analyze ast src/')} # Full AST analysis`);
|
|
1799
|
+
output.writeln(` ${output.dim('odd-flow analyze ast src/index.ts -c')} # Include complexity`);
|
|
1800
|
+
output.writeln(` ${output.dim('odd-flow analyze complexity src/ -t 15')} # Flag high complexity`);
|
|
1801
|
+
output.writeln(` ${output.dim('odd-flow analyze symbols src/ --type fn')} # Extract functions`);
|
|
1802
|
+
output.writeln(` ${output.dim('odd-flow analyze imports src/ --external')} # Only npm imports`);
|
|
1803
1803
|
output.writeln();
|
|
1804
1804
|
output.writeln(output.bold('Graph Analysis Examples:'));
|
|
1805
1805
|
output.writeln();
|
|
1806
|
-
output.writeln(` ${output.dim('
|
|
1807
|
-
output.writeln(` ${output.dim('
|
|
1808
|
-
output.writeln(` ${output.dim('
|
|
1809
|
-
output.writeln(` ${output.dim('
|
|
1806
|
+
output.writeln(` ${output.dim('odd-flow analyze boundaries src/')} # Find natural code boundaries`);
|
|
1807
|
+
output.writeln(` ${output.dim('odd-flow analyze modules src/')} # Detect module communities`);
|
|
1808
|
+
output.writeln(` ${output.dim('odd-flow analyze dependencies -f dot src/')} # Export to DOT format`);
|
|
1809
|
+
output.writeln(` ${output.dim('odd-flow analyze circular src/')} # Find circular deps`);
|
|
1810
1810
|
output.writeln();
|
|
1811
1811
|
output.writeln(output.bold('Diff Analysis Examples:'));
|
|
1812
1812
|
output.writeln();
|
|
1813
|
-
output.writeln(` ${output.dim('
|
|
1814
|
-
output.writeln(` ${output.dim('
|
|
1815
|
-
output.writeln(` ${output.dim('
|
|
1813
|
+
output.writeln(` ${output.dim('odd-flow analyze diff --risk')} # Risk assessment`);
|
|
1814
|
+
output.writeln(` ${output.dim('odd-flow analyze diff HEAD~1 --classify')} # Classify changes`);
|
|
1815
|
+
output.writeln(` ${output.dim('odd-flow analyze diff main..feature')} # Compare branches`);
|
|
1816
1816
|
output.writeln();
|
|
1817
1817
|
return { success: true };
|
|
1818
1818
|
},
|
|
@@ -26,7 +26,7 @@ async function loadModule(path, exportName, label) {
|
|
|
26
26
|
return mod[exportName];
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
|
-
output.printError(`RVFA ${label} module not found`, 'Install with: npm install @
|
|
29
|
+
output.printError(`RVFA ${label} module not found`, 'Install with: npm install @odd-flow/appliance');
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -334,10 +334,10 @@ export const autopilotCommand = {
|
|
|
334
334
|
aliases: ['ap'],
|
|
335
335
|
subcommands: [statusCommand, enableCommand, disableCommand, configCommand, resetCommand, logCommand, learnCommand, historyCommand, predictCommand, checkCommand],
|
|
336
336
|
examples: [
|
|
337
|
-
{ command: '
|
|
338
|
-
{ command: '
|
|
339
|
-
{ command: '
|
|
340
|
-
{ command: '
|
|
337
|
+
{ command: 'odd-flow autopilot status', description: 'Show current state and progress' },
|
|
338
|
+
{ command: 'odd-flow autopilot enable', description: 'Enable persistent completion' },
|
|
339
|
+
{ command: 'odd-flow autopilot config --max-iterations 100 --timeout 180', description: 'Configure limits' },
|
|
340
|
+
{ command: 'odd-flow autopilot predict', description: 'Get recommended next action' },
|
|
341
341
|
],
|
|
342
342
|
action: async () => {
|
|
343
343
|
output.writeln(output.bold('Autopilot — Persistent Swarm Completion'));
|
|
@@ -21,9 +21,9 @@ const pretrainCommand = {
|
|
|
21
21
|
{ name: 'verbose', short: 'v', type: 'boolean', description: 'Verbose output', default: 'false' },
|
|
22
22
|
],
|
|
23
23
|
examples: [
|
|
24
|
-
{ command: '
|
|
25
|
-
{ command: '
|
|
26
|
-
{ command: '
|
|
24
|
+
{ command: 'odd-flow benchmark pretrain', description: 'Run pre-training benchmarks' },
|
|
25
|
+
{ command: 'odd-flow benchmark pretrain -i 500 --save results.json', description: 'Extended benchmark with results saved' },
|
|
26
|
+
{ command: 'odd-flow benchmark pretrain -o json', description: 'Output results as JSON' },
|
|
27
27
|
],
|
|
28
28
|
action: async (ctx) => {
|
|
29
29
|
const iterations = parseInt(ctx.flags.iterations || '100', 10);
|
|
@@ -45,7 +45,7 @@ const pretrainCommand = {
|
|
|
45
45
|
}
|
|
46
46
|
// Save to file if requested
|
|
47
47
|
if (saveFile) {
|
|
48
|
-
const resultsDir = join(process.cwd(), '.
|
|
48
|
+
const resultsDir = join(process.cwd(), '.odd-flow', 'benchmarks');
|
|
49
49
|
if (!existsSync(resultsDir)) {
|
|
50
50
|
mkdirSync(resultsDir, { recursive: true });
|
|
51
51
|
}
|
|
@@ -84,8 +84,8 @@ const neuralCommand = {
|
|
|
84
84
|
{ name: 'output', short: 'o', type: 'string', description: 'Output format: text, json', default: 'text' },
|
|
85
85
|
],
|
|
86
86
|
examples: [
|
|
87
|
-
{ command: '
|
|
88
|
-
{ command: '
|
|
87
|
+
{ command: 'odd-flow benchmark neural', description: 'Run neural benchmarks' },
|
|
88
|
+
{ command: 'odd-flow benchmark neural -d 768 -n 5000', description: 'Higher dimension, more vectors' },
|
|
89
89
|
],
|
|
90
90
|
action: async (ctx) => {
|
|
91
91
|
const iterations = parseInt(ctx.flags.iterations || '100', 10);
|
|
@@ -250,7 +250,7 @@ const memoryCommand = {
|
|
|
250
250
|
{ name: 'output', short: 'o', type: 'string', description: 'Output format: text, json', default: 'text' },
|
|
251
251
|
],
|
|
252
252
|
examples: [
|
|
253
|
-
{ command: '
|
|
253
|
+
{ command: 'odd-flow benchmark memory', description: 'Run memory benchmarks' },
|
|
254
254
|
],
|
|
255
255
|
action: async (ctx) => {
|
|
256
256
|
const iterations = parseInt(ctx.flags.iterations || '100', 10);
|
|
@@ -365,8 +365,8 @@ const allCommand = {
|
|
|
365
365
|
{ name: 'save', short: 's', type: 'string', description: 'Save results to file' },
|
|
366
366
|
],
|
|
367
367
|
examples: [
|
|
368
|
-
{ command: '
|
|
369
|
-
{ command: '
|
|
368
|
+
{ command: 'odd-flow benchmark all', description: 'Run all benchmarks' },
|
|
369
|
+
{ command: 'odd-flow benchmark all --save full-results.json', description: 'Run all and save results' },
|
|
370
370
|
],
|
|
371
371
|
action: async (ctx) => {
|
|
372
372
|
output.writeln();
|
|
@@ -404,7 +404,7 @@ const allCommand = {
|
|
|
404
404
|
// Save if requested
|
|
405
405
|
const saveFile = ctx.flags.save;
|
|
406
406
|
if (saveFile) {
|
|
407
|
-
const resultsDir = join(process.cwd(), '.
|
|
407
|
+
const resultsDir = join(process.cwd(), '.odd-flow', 'benchmarks');
|
|
408
408
|
if (!existsSync(resultsDir)) {
|
|
409
409
|
mkdirSync(resultsDir, { recursive: true });
|
|
410
410
|
}
|
|
@@ -432,10 +432,10 @@ export const benchmarkCommand = {
|
|
|
432
432
|
allCommand,
|
|
433
433
|
],
|
|
434
434
|
examples: [
|
|
435
|
-
{ command: '
|
|
436
|
-
{ command: '
|
|
437
|
-
{ command: '
|
|
438
|
-
{ command: '
|
|
435
|
+
{ command: 'odd-flow benchmark pretrain', description: 'Benchmark pre-training system' },
|
|
436
|
+
{ command: 'odd-flow benchmark neural', description: 'Benchmark neural operations' },
|
|
437
|
+
{ command: 'odd-flow benchmark memory', description: 'Benchmark memory operations' },
|
|
438
|
+
{ command: 'odd-flow benchmark all', description: 'Run all benchmarks' },
|
|
439
439
|
],
|
|
440
440
|
action: async (_ctx) => {
|
|
441
441
|
output.writeln();
|
|
@@ -449,8 +449,8 @@ export const benchmarkCommand = {
|
|
|
449
449
|
output.writeln(` ${output.highlight('all')} - Run all benchmark suites`);
|
|
450
450
|
output.writeln();
|
|
451
451
|
output.writeln('Examples:');
|
|
452
|
-
output.writeln('
|
|
453
|
-
output.writeln('
|
|
452
|
+
output.writeln(' odd-flow benchmark pretrain -i 200');
|
|
453
|
+
output.writeln(' odd-flow benchmark all --save results.json');
|
|
454
454
|
output.writeln();
|
|
455
455
|
return { success: true, message: 'Use a subcommand to run benchmarks' };
|
|
456
456
|
},
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { output } from '../output.js';
|
|
6
6
|
const CLAIMS_CONFIG_PATHS = [
|
|
7
|
-
'.
|
|
8
|
-
'
|
|
7
|
+
'.odd-flow/claims.json',
|
|
8
|
+
'odd-flow.claims.json',
|
|
9
9
|
];
|
|
10
10
|
function getClaimsConfigPaths() {
|
|
11
11
|
// Lazy import to keep top-level synchronous
|
|
@@ -14,7 +14,7 @@ function getClaimsConfigPaths() {
|
|
|
14
14
|
return [
|
|
15
15
|
path.resolve(CLAIMS_CONFIG_PATHS[0]),
|
|
16
16
|
path.resolve(CLAIMS_CONFIG_PATHS[1]),
|
|
17
|
-
path.resolve(process.env.HOME || '~', '.config/
|
|
17
|
+
path.resolve(process.env.HOME || '~', '.config/odd-flow/claims.json'),
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
function loadClaimsConfig() {
|
|
@@ -59,8 +59,8 @@ const listCommand = {
|
|
|
59
59
|
{ name: 'resource', type: 'string', description: 'Filter by resource' },
|
|
60
60
|
],
|
|
61
61
|
examples: [
|
|
62
|
-
{ command: '
|
|
63
|
-
{ command: '
|
|
62
|
+
{ command: 'odd-flow claims list', description: 'List all claims' },
|
|
63
|
+
{ command: 'odd-flow claims list -u user123', description: 'List user claims' },
|
|
64
64
|
],
|
|
65
65
|
action: async (_ctx) => {
|
|
66
66
|
try {
|
|
@@ -137,8 +137,8 @@ const checkCommand = {
|
|
|
137
137
|
{ name: 'resource', short: 'r', type: 'string', description: 'Resource context' },
|
|
138
138
|
],
|
|
139
139
|
examples: [
|
|
140
|
-
{ command: '
|
|
141
|
-
{ command: '
|
|
140
|
+
{ command: 'odd-flow claims check -c swarm:create', description: 'Check swarm creation permission' },
|
|
141
|
+
{ command: 'odd-flow claims check -c admin:delete -u user123', description: 'Check user permission' },
|
|
142
142
|
],
|
|
143
143
|
action: async (ctx) => {
|
|
144
144
|
const claim = ctx.flags.claim;
|
|
@@ -162,9 +162,9 @@ const checkCommand = {
|
|
|
162
162
|
try {
|
|
163
163
|
// Check for claims config file
|
|
164
164
|
const claimsConfigPaths = [
|
|
165
|
-
path.resolve('.
|
|
166
|
-
path.resolve('
|
|
167
|
-
path.resolve(process.env.HOME || '~', '.config/
|
|
165
|
+
path.resolve('.odd-flow/claims.json'),
|
|
166
|
+
path.resolve('odd-flow.claims.json'),
|
|
167
|
+
path.resolve(process.env.HOME || '~', '.config/odd-flow/claims.json'),
|
|
168
168
|
];
|
|
169
169
|
let claimsConfig = {
|
|
170
170
|
// Default policy - allows basic operations
|
|
@@ -269,8 +269,8 @@ const grantCommand = {
|
|
|
269
269
|
{ name: 'expires', short: 'e', type: 'string', description: 'Expiration time (e.g., 24h, 7d)' },
|
|
270
270
|
],
|
|
271
271
|
examples: [
|
|
272
|
-
{ command: '
|
|
273
|
-
{ command: '
|
|
272
|
+
{ command: 'odd-flow claims grant -c swarm:create -u user123', description: 'Grant to user' },
|
|
273
|
+
{ command: 'odd-flow claims grant -c agent:spawn -r developer', description: 'Grant to role' },
|
|
274
274
|
],
|
|
275
275
|
action: async (ctx) => {
|
|
276
276
|
const claim = ctx.flags.claim;
|
|
@@ -329,8 +329,8 @@ const revokeCommand = {
|
|
|
329
329
|
{ name: 'role', short: 'r', type: 'string', description: 'Role name' },
|
|
330
330
|
],
|
|
331
331
|
examples: [
|
|
332
|
-
{ command: '
|
|
333
|
-
{ command: '
|
|
332
|
+
{ command: 'odd-flow claims revoke -c swarm:delete -u user123', description: 'Revoke from user' },
|
|
333
|
+
{ command: 'odd-flow claims revoke -c admin:* -r guest', description: 'Revoke from role' },
|
|
334
334
|
],
|
|
335
335
|
action: async (ctx) => {
|
|
336
336
|
const claim = ctx.flags.claim;
|
|
@@ -389,8 +389,8 @@ const rolesCommand = {
|
|
|
389
389
|
{ name: 'name', short: 'n', type: 'string', description: 'Role name' },
|
|
390
390
|
],
|
|
391
391
|
examples: [
|
|
392
|
-
{ command: '
|
|
393
|
-
{ command: '
|
|
392
|
+
{ command: 'odd-flow claims roles', description: 'List all roles' },
|
|
393
|
+
{ command: 'odd-flow claims roles -a show -n admin', description: 'Show role details' },
|
|
394
394
|
],
|
|
395
395
|
action: async (ctx) => {
|
|
396
396
|
const action = ctx.flags.action || 'list';
|
|
@@ -492,8 +492,8 @@ const policiesCommand = {
|
|
|
492
492
|
{ name: 'name', short: 'n', type: 'string', description: 'Policy name' },
|
|
493
493
|
],
|
|
494
494
|
examples: [
|
|
495
|
-
{ command: '
|
|
496
|
-
{ command: '
|
|
495
|
+
{ command: 'odd-flow claims policies', description: 'List policies' },
|
|
496
|
+
{ command: 'odd-flow claims policies -a create -n rate-limit', description: 'Create policy' },
|
|
497
497
|
],
|
|
498
498
|
action: async (ctx) => {
|
|
499
499
|
const action = ctx.flags.action || 'list';
|
|
@@ -587,9 +587,9 @@ export const claimsCommand = {
|
|
|
587
587
|
description: 'Claims-based authorization, permissions, and access control',
|
|
588
588
|
subcommands: [listCommand, checkCommand, grantCommand, revokeCommand, rolesCommand, policiesCommand],
|
|
589
589
|
examples: [
|
|
590
|
-
{ command: '
|
|
591
|
-
{ command: '
|
|
592
|
-
{ command: '
|
|
590
|
+
{ command: 'odd-flow claims list', description: 'List all claims' },
|
|
591
|
+
{ command: 'odd-flow claims check -c swarm:create', description: 'Check permission' },
|
|
592
|
+
{ command: 'odd-flow claims grant -c agent:spawn -r developer', description: 'Grant claim' },
|
|
593
593
|
],
|
|
594
594
|
action: async () => {
|
|
595
595
|
output.writeln();
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* V3 CLI Cleanup Command
|
|
3
|
-
* Removes project artifacts created by
|
|
3
|
+
* Removes project artifacts created by odd-flow/odd-flow
|
|
4
4
|
*/
|
|
5
5
|
import { output } from '../output.js';
|
|
6
6
|
import { existsSync, statSync, rmSync, readdirSync } from 'fs';
|
|
7
7
|
import { join } from 'path';
|
|
8
8
|
/**
|
|
9
|
-
* Artifact directories and files that
|
|
9
|
+
* Artifact directories and files that odd-flow/odd-flow may create
|
|
10
10
|
*/
|
|
11
11
|
const ARTIFACT_DIRS = [
|
|
12
12
|
{ path: '.claude', description: 'Claude settings, helpers, agents' },
|
|
13
|
-
{ path: '.
|
|
13
|
+
{ path: '.odd-flow', description: 'Capabilities and configuration' },
|
|
14
14
|
{ path: 'data', description: 'Memory databases' },
|
|
15
15
|
{ path: '.swarm', description: 'Swarm state' },
|
|
16
16
|
{ path: '.hive-mind', description: 'Consensus state' },
|
|
@@ -18,13 +18,13 @@ const ARTIFACT_DIRS = [
|
|
|
18
18
|
{ path: 'memory', description: 'Memory storage' },
|
|
19
19
|
];
|
|
20
20
|
const ARTIFACT_FILES = [
|
|
21
|
-
{ path: '
|
|
21
|
+
{ path: 'odd-flow.config.json', description: 'Claude Flow configuration' },
|
|
22
22
|
];
|
|
23
23
|
/**
|
|
24
24
|
* Paths to preserve when --keep-config is set
|
|
25
25
|
*/
|
|
26
26
|
const KEEP_CONFIG_PATHS = [
|
|
27
|
-
'
|
|
27
|
+
'odd-flow.config.json',
|
|
28
28
|
join('.claude', 'settings.json'),
|
|
29
29
|
];
|
|
30
30
|
/**
|
|
@@ -66,7 +66,7 @@ function formatSize(bytes) {
|
|
|
66
66
|
*/
|
|
67
67
|
export const cleanupCommand = {
|
|
68
68
|
name: 'cleanup',
|
|
69
|
-
description: 'Remove project artifacts created by
|
|
69
|
+
description: 'Remove project artifacts created by odd-flow/odd-flow',
|
|
70
70
|
aliases: ['clean'],
|
|
71
71
|
options: [
|
|
72
72
|
{
|
|
@@ -86,7 +86,7 @@ export const cleanupCommand = {
|
|
|
86
86
|
{
|
|
87
87
|
name: 'keep-config',
|
|
88
88
|
short: 'k',
|
|
89
|
-
description: 'Preserve
|
|
89
|
+
description: 'Preserve odd-flow.config.json and .claude/settings.json',
|
|
90
90
|
type: 'boolean',
|
|
91
91
|
default: false,
|
|
92
92
|
},
|
|
@@ -98,7 +98,7 @@ export const cleanupCommand = {
|
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
command: 'cleanup --force',
|
|
101
|
-
description: 'Remove all
|
|
101
|
+
description: 'Remove all odd-flow artifacts',
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
command: 'cleanup --force --keep-config',
|
|
@@ -136,7 +136,7 @@ export const cleanupCommand = {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
if (found.length === 0) {
|
|
139
|
-
output.writeln(output.info('No
|
|
139
|
+
output.writeln(output.info('No odd-flow artifacts found in the current directory.'));
|
|
140
140
|
return { success: true, message: 'Nothing to clean' };
|
|
141
141
|
}
|
|
142
142
|
// Mark items that would be skipped due to --keep-config
|