odd-flow 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
- package/.claude/agents/analysis/analyze-code-quality.md +58 -0
- package/.claude/agents/analysis/code-analyzer.md +189 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +36 -0
- package/.claude/agents/base-template-generator.md +41 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
- package/.claude/agents/consensus/gossip-coordinator.md +43 -0
- package/.claude/agents/consensus/performance-benchmarker.md +831 -0
- package/.claude/agents/consensus/quorum-manager.md +803 -0
- package/.claude/agents/consensus/raft-manager.md +43 -0
- package/.claude/agents/consensus/security-manager.md +602 -0
- package/.claude/agents/core/coder.md +244 -0
- package/.claude/agents/core/planner.md +152 -0
- package/.claude/agents/core/researcher.md +174 -0
- package/.claude/agents/core/reviewer.md +309 -0
- package/.claude/agents/core/tester.md +300 -0
- package/.claude/agents/custom/test-long-runner.md +43 -0
- package/.claude/agents/data/ml/data-ml-model.md +76 -0
- package/.claude/agents/database-specialist.md +9 -0
- package/.claude/agents/development/backend/dev-backend-api.md +29 -0
- package/.claude/agents/development/dev-backend-api.md +178 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
- package/.claude/agents/dual-mode/codex-coordinator.md +201 -0
- package/.claude/agents/dual-mode/codex-worker.md +183 -0
- package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +521 -0
- package/.claude/agents/github/github-modes.md +154 -0
- package/.claude/agents/github/issue-tracker.md +299 -0
- package/.claude/agents/github/multi-repo-swarm.md +525 -0
- package/.claude/agents/github/pr-manager.md +163 -0
- package/.claude/agents/github/project-board-sync.md +478 -0
- package/.claude/agents/github/release-manager.md +336 -0
- package/.claude/agents/github/release-swarm.md +551 -0
- package/.claude/agents/github/repo-architect.md +365 -0
- package/.claude/agents/github/swarm-issue.md +548 -0
- package/.claude/agents/github/swarm-pr.md +399 -0
- package/.claude/agents/github/sync-coordinator.md +423 -0
- package/.claude/agents/github/workflow-automation.md +605 -0
- package/.claude/agents/goal/agent.md +817 -0
- package/.claude/agents/goal/code-goal-planner.md +445 -0
- package/.claude/agents/goal/goal-planner.md +168 -0
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
- package/.claude/agents/hive-mind/scout-explorer.md +241 -0
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
- package/.claude/agents/hive-mind/worker-specialist.md +216 -0
- package/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude/agents/optimization/benchmark-suite.md +663 -0
- package/.claude/agents/optimization/load-balancer.md +429 -0
- package/.claude/agents/optimization/performance-monitor.md +670 -0
- package/.claude/agents/optimization/resource-allocator.md +672 -0
- package/.claude/agents/optimization/topology-optimizer.md +806 -0
- package/.claude/agents/payments/agentic-payments.md +126 -0
- package/.claude/agents/project-coordinator.md +8 -0
- package/.claude/agents/python-specialist.md +9 -0
- package/.claude/agents/reasoning/agent.md +817 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -0
- package/.claude/agents/security-auditor.md +9 -0
- package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
- package/.claude/agents/sparc/architecture.md +453 -0
- package/.claude/agents/sparc/pseudocode.md +299 -0
- package/.claude/agents/sparc/refinement.md +504 -0
- package/.claude/agents/sparc/specification.md +258 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
- package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
- package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
- package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
- package/.claude/agents/sublinear/performance-optimizer.md +368 -0
- package/.claude/agents/sublinear/trading-predictor.md +246 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude/agents/swarm/mesh-coordinator.md +363 -0
- package/.claude/agents/templates/automation-smart-agent.md +185 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
- package/.claude/agents/templates/github-pr-manager.md +155 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +231 -0
- package/.claude/agents/templates/memory-coordinator.md +163 -0
- package/.claude/agents/templates/migration-plan.md +724 -0
- package/.claude/agents/templates/orchestrator-task.md +120 -0
- package/.claude/agents/templates/performance-analyzer.md +179 -0
- package/.claude/agents/templates/sparc-coordinator.md +163 -0
- package/.claude/agents/testing/production-validator.md +373 -0
- package/.claude/agents/testing/tdd-london-swarm.md +222 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
- package/.claude/agents/testing/validation/production-validator.md +373 -0
- package/.claude/agents/typescript-specialist.md +9 -0
- package/.claude/agents/v3/database-specialist.md +9 -0
- package/.claude/agents/v3/project-coordinator.md +8 -0
- package/.claude/agents/v3/python-specialist.md +9 -0
- package/.claude/agents/v3/test-architect.md +9 -0
- package/.claude/agents/v3/typescript-specialist.md +9 -0
- package/.claude/agents/v3/v3-integration-architect.md +312 -0
- package/.claude/agents/v3/v3-memory-specialist.md +281 -0
- package/.claude/agents/v3/v3-performance-engineer.md +363 -0
- package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
- package/.claude/agents/v3/v3-security-architect.md +140 -0
- package/.claude/checkpoints/1767754460.json +8 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/claude-flow-help.md +103 -0
- package/.claude/commands/claude-flow-memory.md +107 -0
- package/.claude/commands/claude-flow-swarm.md +205 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/ask.md +97 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/code.md +89 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debug.md +83 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/devops.md +109 -0
- package/.claude/commands/sparc/docs-writer.md +80 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/integration.md +83 -0
- package/.claude/commands/sparc/mcp.md +117 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/security-review.md +80 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/sparc.md +111 -0
- package/.claude/commands/sparc/spec-pseudocode.md +80 -0
- package/.claude/commands/sparc/supabase-admin.md +348 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/tutorial.md +79 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/sparc.md +166 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/config/v3-dependency-optimization.json +266 -0
- package/.claude/config/v3-performance-targets.json +251 -0
- package/.claude/helpers/README.md +97 -0
- package/.claude/helpers/adr-compliance.sh +186 -0
- package/.claude/helpers/aggressive-microcompact.mjs +36 -0
- package/.claude/helpers/auto-commit.sh +178 -0
- package/.claude/helpers/auto-memory-hook.mjs +369 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/context-persistence-hook.mjs +1979 -0
- package/.claude/helpers/daemon-manager.sh +252 -0
- package/.claude/helpers/ddd-tracker.sh +144 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/guidance-hook.sh +13 -0
- package/.claude/helpers/guidance-hooks.sh +102 -0
- package/.claude/helpers/health-monitor.sh +108 -0
- package/.claude/helpers/hook-handler.cjs +234 -0
- package/.claude/helpers/intelligence.cjs +207 -0
- package/.claude/helpers/learning-hooks.sh +329 -0
- package/.claude/helpers/learning-optimizer.sh +127 -0
- package/.claude/helpers/learning-service.mjs +1144 -0
- package/.claude/helpers/memory.cjs +84 -0
- package/.claude/helpers/metrics-db.mjs +488 -0
- package/.claude/helpers/pattern-consolidator.sh +86 -0
- package/.claude/helpers/perf-worker.sh +160 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/router.cjs +62 -0
- package/.claude/helpers/security-scanner.sh +127 -0
- package/.claude/helpers/session.cjs +125 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
- package/.claude/helpers/statusline.cjs +770 -0
- package/.claude/helpers/swarm-comms.sh +353 -0
- package/.claude/helpers/swarm-hooks.sh +761 -0
- package/.claude/helpers/swarm-monitor.sh +211 -0
- package/.claude/helpers/sync-v3-metrics.sh +245 -0
- package/.claude/helpers/update-v3-progress.sh +166 -0
- package/.claude/helpers/v3-quick-status.sh +58 -0
- package/.claude/helpers/v3.sh +111 -0
- package/.claude/helpers/validate-v3-config.sh +216 -0
- package/.claude/helpers/worker-manager.sh +170 -0
- package/.claude/mcp.json +13 -0
- package/.claude/settings copy.json +526 -0
- package/.claude/settings.json +305 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
- package/.claude/skills/github-code-review/SKILL.md +1125 -0
- package/.claude/skills/github-multi-repo/SKILL.md +862 -0
- package/.claude/skills/github-project-management/SKILL.md +1250 -0
- package/.claude/skills/github-release-management/SKILL.md +1064 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +560 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
- package/.claude/skills/stream-chain/SKILL.md +560 -0
- package/.claude/skills/swarm-advanced/SKILL.md +970 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
- package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
- package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
- package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
- package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
- package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
- package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
- package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
- package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
- package/.claude/skills/verification-quality/SKILL.md +647 -0
- package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
- package/.claude/skills/worker-integration/SKILL.md +147 -0
- package/.claude/statusline-command.sh +176 -0
- package/.claude/statusline.mjs +109 -0
- package/.claude/statusline.sh +431 -0
- package/.claude-plugin/README.md +720 -0
- package/.claude-plugin/docs/INSTALLATION.md +261 -0
- package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
- package/.claude-plugin/docs/QUICKSTART.md +361 -0
- package/.claude-plugin/docs/STRUCTURE.md +128 -0
- package/.claude-plugin/hooks/hooks.json +74 -0
- package/.claude-plugin/marketplace.json +96 -0
- package/.claude-plugin/plugin.json +71 -0
- package/.claude-plugin/scripts/install.sh +234 -0
- package/.claude-plugin/scripts/uninstall.sh +36 -0
- package/.claude-plugin/scripts/verify.sh +108 -0
- package/LICENSE +21 -0
- package/README.md +7541 -0
- package/bin/cli.js +11 -0
- package/bin/npx-repair.js +7 -0
- package/bin/npx-safe-launch.js +9 -0
- package/package.json +84 -0
- package/v3/@claude-flow/cli/README.md +192 -0
- package/v3/@claude-flow/cli/bin/cli.js +156 -0
- package/v3/@claude-flow/cli/bin/mcp-server.js +189 -0
- package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
- package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
- package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
- package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
- package/v3/@claude-flow/cli/dist/src/autopilot-state.js +279 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
- package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/commands/analyze.js +1821 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/appliance.js +406 -0
- package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
- package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +459 -0
- package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/claims.js +621 -0
- package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +216 -0
- package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/completions.js +537 -0
- package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/config.js +356 -0
- package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/daemon.js +669 -0
- package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/deployment.js +669 -0
- package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/doctor.js +617 -0
- package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1573 -0
- package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/guidance.js +560 -0
- package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1237 -0
- package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4441 -0
- package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +117 -0
- package/v3/@claude-flow/cli/dist/src/commands/index.js +384 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.js +969 -0
- package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
- package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
- package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/memory.js +1299 -0
- package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
- package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/neural.js +1451 -0
- package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/performance.js +576 -0
- package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/commands/plugins.js +817 -0
- package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
- package/v3/@claude-flow/cli/dist/src/commands/process.js +641 -0
- package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
- package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/providers.js +355 -0
- package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/commands/route.js +811 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +746 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +480 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +347 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +27 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +127 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +431 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +481 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +503 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +763 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +456 -0
- package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/security.js +614 -0
- package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/session.js +750 -0
- package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
- package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
- package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/swarm.js +802 -0
- package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/task.js +671 -0
- package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
- package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
- package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
- package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
- package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
- package/v3/@claude-flow/cli/dist/src/index.d.ts +74 -0
- package/v3/@claude-flow/cli/dist/src/index.js +469 -0
- package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
- package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +486 -0
- package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
- package/v3/@claude-flow/cli/dist/src/init/executor.js +1776 -0
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1181 -0
- package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
- package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
- package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +101 -0
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +392 -0
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +833 -0
- package/v3/@claude-flow/cli/dist/src/init/types.d.ts +295 -0
- package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
- package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
- package/v3/@claude-flow/cli/dist/src/mcp-client.js +227 -0
- package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
- package/v3/@claude-flow/cli/dist/src/mcp-server.js +654 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +550 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +557 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +317 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +732 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +357 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +665 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +782 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +811 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3120 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +22 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +21 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +512 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +461 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +534 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +16 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +404 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +315 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +288 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +408 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +405 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +31 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +7 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +572 -0
- package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
- package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +338 -0
- package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1023 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +407 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +1499 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +412 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2222 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +227 -0
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +633 -0
- package/v3/@claude-flow/cli/dist/src/output.d.ts +133 -0
- package/v3/@claude-flow/cli/dist/src/output.js +514 -0
- package/v3/@claude-flow/cli/dist/src/parser.d.ts +51 -0
- package/v3/@claude-flow/cli/dist/src/parser.js +425 -0
- package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
- package/v3/@claude-flow/cli/dist/src/plugins/manager.js +400 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +88 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1147 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
- package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
- package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
- package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
- package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
- package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
- package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
- package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
- package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
- package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
- package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
- package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
- package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
- package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
- package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
- package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
- package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +316 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +529 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +698 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +513 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +193 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +641 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +40 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/index.js +76 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +455 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +220 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +488 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +67 -0
- package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +241 -0
- package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
- package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
- package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
- package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
- package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +224 -0
- package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
- package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1024 -0
- package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
- package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
- package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +220 -0
- package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +686 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +245 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +960 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
- package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
- package/v3/@claude-flow/cli/dist/src/suggest.d.ts +51 -0
- package/v3/@claude-flow/cli/dist/src/suggest.js +198 -0
- package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
- package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
- package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
- package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
- package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +411 -0
- package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
- package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
- package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
- package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
- package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
- package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
- package/v3/@claude-flow/cli/dist/src/types.d.ts +198 -0
- package/v3/@claude-flow/cli/dist/src/types.js +38 -0
- package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
- package/v3/@claude-flow/cli/dist/src/update/checker.js +190 -0
- package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +32 -0
- package/v3/@claude-flow/cli/dist/src/update/executor.js +181 -0
- package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
- package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
- package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
- package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
- package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
- package/v3/@claude-flow/cli/dist/src/utils/path-validation.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/utils/path-validation.js +80 -0
- package/v3/@claude-flow/cli/package.json +75 -0
- package/v3/@claude-flow/shared/README.md +323 -0
- package/v3/@claude-flow/shared/package.json +42 -0
- package/v3/README.md +493 -0
package/bin/cli.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* odd-flow CLI - Entry point
|
|
4
|
+
* Proxies to @claude-flow/cli bin for cross-platform compatibility.
|
|
5
|
+
*/
|
|
6
|
+
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
|
+
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
const cliPath = join(__dirname, '..', 'v3', '@claude-flow', 'cli', 'bin', 'cli.js');
|
|
11
|
+
await import(pathToFileURL(cliPath).href);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// NPX cache repair — no-op (removed in 3.1.0-alpha.53)
|
|
3
|
+
// Kept as empty module for backwards compatibility with older bin/cli.js imports.
|
|
4
|
+
export function repairNpxCache() { return 0; }
|
|
5
|
+
export function repairCacheIntegrity() { return 0; }
|
|
6
|
+
export function removeNpxCacheEntry() { return false; }
|
|
7
|
+
export function nukeNpxCache() { return false; }
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Safe NPX launcher — no-op wrapper (cache repair removed in 3.1.0-alpha.53)
|
|
3
|
+
// Proxies directly to the CLI entry point.
|
|
4
|
+
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const cliPath = join(__dirname, '..', 'v3', '@claude-flow', 'cli', 'bin', 'cli.js');
|
|
9
|
+
await import(pathToFileURL(cliPath).href);
|
package/package.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "odd-flow",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "AI agent orchestration for Claude Code — swarm coordination, vector memory, self-learning hooks, and MCP tools",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"odd-flow": "./bin/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"bin/**",
|
|
12
|
+
"v3/@claude-flow/cli/bin/**",
|
|
13
|
+
"v3/@claude-flow/cli/dist/**/*.js",
|
|
14
|
+
"v3/@claude-flow/cli/dist/**/*.d.ts",
|
|
15
|
+
"!v3/@claude-flow/cli/dist/**/*.map",
|
|
16
|
+
"v3/@claude-flow/cli/package.json",
|
|
17
|
+
"v3/@claude-flow/shared/dist/**/*.js",
|
|
18
|
+
"v3/@claude-flow/shared/dist/**/*.d.ts",
|
|
19
|
+
"!v3/@claude-flow/shared/dist/**/*.map",
|
|
20
|
+
"v3/@claude-flow/shared/package.json",
|
|
21
|
+
".claude-plugin/**",
|
|
22
|
+
".claude/**",
|
|
23
|
+
"!.claude/**/*.db",
|
|
24
|
+
"!.claude/**/*.map",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"dev": "tsx watch src/index.ts",
|
|
30
|
+
"build": "tsc",
|
|
31
|
+
"build:ts": "cd v3/@claude-flow/cli && npm run build || true",
|
|
32
|
+
"test": "vitest",
|
|
33
|
+
"test:ui": "vitest --ui",
|
|
34
|
+
"test:security": "vitest run v3/__tests__/security/",
|
|
35
|
+
"lint": "cd v3/@claude-flow/cli && npm run lint || true",
|
|
36
|
+
"security:audit": "npm audit --audit-level high",
|
|
37
|
+
"security:fix": "npm audit fix",
|
|
38
|
+
"security:test": "npm run test:security"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"semver": "^7.6.0",
|
|
42
|
+
"zod": "^3.22.4"
|
|
43
|
+
},
|
|
44
|
+
"optionalDependencies": {
|
|
45
|
+
"agentdb": "^3.0.0-alpha.9"
|
|
46
|
+
},
|
|
47
|
+
"overrides": {
|
|
48
|
+
"hono": ">=4.11.4"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^20.0.0",
|
|
52
|
+
"eslint": "^8.0.0",
|
|
53
|
+
"tsx": "^4.21.0",
|
|
54
|
+
"typescript": "^5.0.0",
|
|
55
|
+
"vitest": "^1.0.0"
|
|
56
|
+
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.0.0"
|
|
59
|
+
},
|
|
60
|
+
"keywords": [
|
|
61
|
+
"odd-flow",
|
|
62
|
+
"odd-studio",
|
|
63
|
+
"claude",
|
|
64
|
+
"claude-code",
|
|
65
|
+
"anthropic",
|
|
66
|
+
"ai-agents",
|
|
67
|
+
"multi-agent",
|
|
68
|
+
"swarm",
|
|
69
|
+
"mcp",
|
|
70
|
+
"model-context-protocol",
|
|
71
|
+
"orchestration",
|
|
72
|
+
"cli",
|
|
73
|
+
"developer-tools",
|
|
74
|
+
"vector-database",
|
|
75
|
+
"embeddings",
|
|
76
|
+
"self-learning"
|
|
77
|
+
],
|
|
78
|
+
"author": "odd-studio",
|
|
79
|
+
"license": "MIT",
|
|
80
|
+
"publishConfig": {
|
|
81
|
+
"access": "public",
|
|
82
|
+
"tag": "latest"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# odd-flow
|
|
2
|
+
|
|
3
|
+
Agent orchestration for Claude Code. Swarms, memory, hooks, and MCP tools — hardened and minimal.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/odd-flow)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## What is odd-flow?
|
|
9
|
+
|
|
10
|
+
odd-flow is a focused agent coordination package for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides:
|
|
11
|
+
|
|
12
|
+
- **Swarm orchestration** — spawn and coordinate multiple AI agents in hierarchical or mesh topologies
|
|
13
|
+
- **Persistent vector memory** — HNSW-indexed semantic search with sql.js backend (4-9ms queries)
|
|
14
|
+
- **Self-learning hooks** — pattern recognition and Q-learning routing that improves over time
|
|
15
|
+
- **MCP server** — 100+ tools exposed via Model Context Protocol (stdio transport)
|
|
16
|
+
- **Session management** — save, restore, and resume agent sessions
|
|
17
|
+
- **Hive mind consensus** — Byzantine fault-tolerant coordination across agents
|
|
18
|
+
- **Security scanning** — built-in AIDefence integration for prompt injection detection
|
|
19
|
+
- **Embeddings** — ONNX-powered 384-dim vector embeddings with hyperbolic geometry support
|
|
20
|
+
|
|
21
|
+
## How it differs from ruflo/claude-flow
|
|
22
|
+
|
|
23
|
+
odd-flow is extracted from the ruflo v3 codebase with a security-first approach:
|
|
24
|
+
|
|
25
|
+
| | ruflo v3 | odd-flow |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| **Scope** | Full enterprise platform (60+ packages, WASM kernels, deployment infra, plugins) | Focused CLI + MCP tools for agent coordination |
|
|
28
|
+
| **Security** | Broad surface area, auto-install, terminal execution | Dangerous code removed, path validation on all file ops, file permissions hardened (0o600), prototype pollution prevention |
|
|
29
|
+
| **Dependencies** | Heavy — Rust/WASM binaries, Docker, cloud providers | Minimal — only what the core orchestration needs |
|
|
30
|
+
| **Code removed** | n/a | `terminal_execute` (arbitrary command execution), `auto-install` (silent package installation), WASM agent tools, transfer/guidance tools, MCP bridge Docker infra |
|
|
31
|
+
| **Code hardened** | n/a | `exec()` → `execFileSync()` with arg arrays, input sanitisation on CLI flags, `writeFileSync` with `mode: 0o600`, `validatePath()` on all user-provided file paths, `filterDangerousKeys()` for prototype pollution |
|
|
32
|
+
|
|
33
|
+
## Quick start
|
|
34
|
+
|
|
35
|
+
### As an MCP server for Claude Code
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
claude mcp add odd-flow -- npx -y odd-flow
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This registers odd-flow as an MCP tool provider. Claude Code will then have access to all orchestration tools (swarm, memory, agents, hooks, etc.).
|
|
42
|
+
|
|
43
|
+
### As a CLI
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx odd-flow init
|
|
47
|
+
npx odd-flow swarm init --topology hierarchical
|
|
48
|
+
npx odd-flow agent spawn -t coder --name my-agent
|
|
49
|
+
npx odd-flow memory store --key "pattern" --value "auth uses JWT refresh tokens"
|
|
50
|
+
npx odd-flow memory search --query "authentication"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Global install
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm install -g odd-flow
|
|
57
|
+
odd-flow doctor --fix
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Core commands
|
|
61
|
+
|
|
62
|
+
| Command | Description |
|
|
63
|
+
|---------|-------------|
|
|
64
|
+
| `init` | Initialise a project with odd-flow config |
|
|
65
|
+
| `agent` | Spawn, list, terminate agents |
|
|
66
|
+
| `swarm` | Multi-agent swarm coordination |
|
|
67
|
+
| `memory` | Store, search, retrieve vector memory (HNSW) |
|
|
68
|
+
| `task` | Create and manage tasks |
|
|
69
|
+
| `session` | Save/restore session state |
|
|
70
|
+
| `hooks` | Self-learning hook system |
|
|
71
|
+
| `hive-mind` | Byzantine fault-tolerant consensus |
|
|
72
|
+
| `embeddings` | ONNX embedding generation and search |
|
|
73
|
+
| `security` | AIDefence scanning |
|
|
74
|
+
| `doctor` | Diagnose and fix configuration issues |
|
|
75
|
+
| `config` | View and modify settings |
|
|
76
|
+
| `daemon` | Background process management |
|
|
77
|
+
| `workflow` | Multi-step workflow orchestration |
|
|
78
|
+
| `neural` | Neural pattern learning |
|
|
79
|
+
| `performance` | Benchmarking and profiling |
|
|
80
|
+
| `analyze` | Diff analysis and risk assessment |
|
|
81
|
+
| `claims` | Work-stealing task distribution |
|
|
82
|
+
|
|
83
|
+
## MCP tools
|
|
84
|
+
|
|
85
|
+
When running as an MCP server, odd-flow exposes tools in these categories:
|
|
86
|
+
|
|
87
|
+
- **`agent_*`** — spawn, list, terminate, health-check agents
|
|
88
|
+
- **`swarm_*`** — init, status, shutdown swarms
|
|
89
|
+
- **`memory_*`** — store, search, retrieve, list, delete, stats
|
|
90
|
+
- **`task_*`** — create, update, complete, cancel, list tasks
|
|
91
|
+
- **`session_*`** — save, restore, list, delete sessions
|
|
92
|
+
- **`hooks_*`** — lifecycle hooks, intelligence, workers, routing
|
|
93
|
+
- **`hive-mind_*`** — init, join, broadcast, consensus
|
|
94
|
+
- **`workflow_*`** — create, execute, pause, resume workflows
|
|
95
|
+
- **`embeddings_*`** — generate, search, compare embeddings
|
|
96
|
+
- **`config_*`** — get, set, list, reset configuration
|
|
97
|
+
- **`claims_*`** — claim, release, steal, rebalance work items
|
|
98
|
+
- **`analyze_*`** — diff stats, risk assessment, reviewer suggestions
|
|
99
|
+
- **`progress_*`** — check, sync, watch, summary
|
|
100
|
+
- **`security_*`** — scan for prompt injection and manipulation
|
|
101
|
+
- **`system_*`** — health, status, metrics, info
|
|
102
|
+
|
|
103
|
+
## Memory system
|
|
104
|
+
|
|
105
|
+
odd-flow uses HNSW (Hierarchical Navigable Small World) indexing for fast semantic search over stored memories:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Store a memory with tags
|
|
109
|
+
odd-flow memory store --key "auth-pattern" --value "JWT with refresh token rotation" --namespace patterns --tags "auth,jwt"
|
|
110
|
+
|
|
111
|
+
# Semantic search (returns ranked results)
|
|
112
|
+
odd-flow memory search --query "how does authentication work" --namespace patterns --limit 5
|
|
113
|
+
|
|
114
|
+
# List all memories in a namespace
|
|
115
|
+
odd-flow memory list --namespace patterns
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The memory backend uses sql.js (SQLite compiled to WASM) with 384-dimensional embeddings. Query latency is typically 4-9ms.
|
|
119
|
+
|
|
120
|
+
## Swarm orchestration
|
|
121
|
+
|
|
122
|
+
Swarms coordinate multiple agents working on a shared task:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Initialise a hierarchical swarm (queen + workers)
|
|
126
|
+
odd-flow swarm init --topology hierarchical --max-agents 8 --strategy specialized
|
|
127
|
+
|
|
128
|
+
# Check swarm status
|
|
129
|
+
odd-flow swarm status
|
|
130
|
+
|
|
131
|
+
# Shutdown
|
|
132
|
+
odd-flow swarm shutdown
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Supported topologies:
|
|
136
|
+
- **hierarchical** — queen coordinator delegates to specialised workers
|
|
137
|
+
- **mesh** — peer-to-peer, every agent communicates directly
|
|
138
|
+
- **ring** — sequential message passing
|
|
139
|
+
- **star** — central hub with spokes
|
|
140
|
+
|
|
141
|
+
## Self-learning hooks
|
|
142
|
+
|
|
143
|
+
Hooks observe agent behaviour and learn patterns over time:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# View learned patterns
|
|
147
|
+
odd-flow hooks intelligence stats
|
|
148
|
+
|
|
149
|
+
# Search for patterns
|
|
150
|
+
odd-flow hooks intelligence pattern-search --query "error handling"
|
|
151
|
+
|
|
152
|
+
# View routing decisions
|
|
153
|
+
odd-flow hooks model-stats
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The hook system uses Q-learning to optimise model routing (which model handles which task type) based on observed outcomes.
|
|
157
|
+
|
|
158
|
+
## Configuration
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# View current config
|
|
162
|
+
odd-flow config list
|
|
163
|
+
|
|
164
|
+
# Set a value
|
|
165
|
+
odd-flow config set --key "swarm.maxAgents" --value 12
|
|
166
|
+
|
|
167
|
+
# Reset to defaults
|
|
168
|
+
odd-flow config reset
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Configuration is stored in `.odd-flow/config.json` in the project root with `0o600` file permissions.
|
|
172
|
+
|
|
173
|
+
## Security model
|
|
174
|
+
|
|
175
|
+
odd-flow was hardened from the ruflo v3 codebase with these measures:
|
|
176
|
+
|
|
177
|
+
- **Path containment** — all file operations validated against project root via `validatePath()`
|
|
178
|
+
- **No arbitrary execution** — `terminal_execute` tool removed entirely
|
|
179
|
+
- **No auto-install** — removed silent package installation capability
|
|
180
|
+
- **File permissions** — all state files written with `mode: 0o600` (owner read/write only)
|
|
181
|
+
- **Prototype pollution prevention** — `filterDangerousKeys()` strips `__proto__`, `constructor`, `prototype` from all inputs recursively
|
|
182
|
+
- **Input sanitisation** — CLI flag values sanitised before use in shell commands
|
|
183
|
+
- **execFileSync over exec** — array-based argument passing, no shell interpolation
|
|
184
|
+
|
|
185
|
+
## Requirements
|
|
186
|
+
|
|
187
|
+
- Node.js >= 18
|
|
188
|
+
- Claude Code (for MCP integration)
|
|
189
|
+
|
|
190
|
+
## License
|
|
191
|
+
|
|
192
|
+
MIT
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @claude-flow/cli - CLI Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Claude Flow V3 Command Line Interface
|
|
6
|
+
*
|
|
7
|
+
* Auto-detects MCP mode when stdin is piped and no args provided.
|
|
8
|
+
* This allows: echo '{"jsonrpc":"2.0",...}' | npx @claude-flow/cli
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { randomUUID } from 'crypto';
|
|
12
|
+
|
|
13
|
+
// Check if we should run in MCP server mode
|
|
14
|
+
// Conditions:
|
|
15
|
+
// 1. stdin is being piped AND no CLI arguments provided (auto-detect)
|
|
16
|
+
// 2. stdin is being piped AND args are "mcp start" (explicit, e.g. npx claude-flow@alpha mcp start)
|
|
17
|
+
const cliArgs = process.argv.slice(2);
|
|
18
|
+
const isExplicitMCP = cliArgs.length >= 1 && cliArgs[0] === 'mcp' && (cliArgs.length === 1 || cliArgs[1] === 'start');
|
|
19
|
+
const isMCPMode = !process.stdin.isTTY && (process.argv.length === 2 || isExplicitMCP);
|
|
20
|
+
|
|
21
|
+
if (isMCPMode) {
|
|
22
|
+
// Run MCP server mode
|
|
23
|
+
const { listMCPTools, callMCPTool, hasTool } = await import('../dist/src/mcp-client.js');
|
|
24
|
+
|
|
25
|
+
const VERSION = '1.0.0';
|
|
26
|
+
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
27
|
+
|
|
28
|
+
console.error(
|
|
29
|
+
`[${new Date().toISOString()}] INFO [odd-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
let buffer = '';
|
|
33
|
+
process.stdin.setEncoding('utf8');
|
|
34
|
+
process.stdin.on('data', async (chunk) => {
|
|
35
|
+
buffer += chunk;
|
|
36
|
+
let lines = buffer.split('\n');
|
|
37
|
+
buffer = lines.pop() || '';
|
|
38
|
+
|
|
39
|
+
for (const line of lines) {
|
|
40
|
+
if (line.trim()) {
|
|
41
|
+
try {
|
|
42
|
+
const message = JSON.parse(line);
|
|
43
|
+
const response = await handleMessage(message);
|
|
44
|
+
if (response) {
|
|
45
|
+
console.log(JSON.stringify(response));
|
|
46
|
+
}
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.log(JSON.stringify({
|
|
49
|
+
jsonrpc: '2.0',
|
|
50
|
+
id: null,
|
|
51
|
+
error: { code: -32700, message: 'Parse error' },
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
process.stdin.on('end', () => {
|
|
59
|
+
process.exit(0);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
async function handleMessage(message) {
|
|
63
|
+
if (!message.method) {
|
|
64
|
+
return {
|
|
65
|
+
jsonrpc: '2.0',
|
|
66
|
+
id: message.id,
|
|
67
|
+
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const params = message.params || {};
|
|
72
|
+
|
|
73
|
+
switch (message.method) {
|
|
74
|
+
case 'initialize':
|
|
75
|
+
return {
|
|
76
|
+
jsonrpc: '2.0',
|
|
77
|
+
id: message.id,
|
|
78
|
+
result: {
|
|
79
|
+
protocolVersion: '2024-11-05',
|
|
80
|
+
serverInfo: { name: 'odd-flow', version: VERSION },
|
|
81
|
+
capabilities: {
|
|
82
|
+
tools: { listChanged: true },
|
|
83
|
+
resources: { subscribe: true, listChanged: true },
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
case 'tools/list': {
|
|
89
|
+
const tools = listMCPTools();
|
|
90
|
+
return {
|
|
91
|
+
jsonrpc: '2.0',
|
|
92
|
+
id: message.id,
|
|
93
|
+
result: {
|
|
94
|
+
tools: tools.map(tool => ({
|
|
95
|
+
name: tool.name,
|
|
96
|
+
description: tool.description,
|
|
97
|
+
inputSchema: tool.inputSchema,
|
|
98
|
+
})),
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
case 'tools/call': {
|
|
104
|
+
const toolName = params.name;
|
|
105
|
+
const toolParams = params.arguments || {};
|
|
106
|
+
|
|
107
|
+
if (!hasTool(toolName)) {
|
|
108
|
+
return {
|
|
109
|
+
jsonrpc: '2.0',
|
|
110
|
+
id: message.id,
|
|
111
|
+
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
117
|
+
return {
|
|
118
|
+
jsonrpc: '2.0',
|
|
119
|
+
id: message.id,
|
|
120
|
+
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
121
|
+
};
|
|
122
|
+
} catch (error) {
|
|
123
|
+
return {
|
|
124
|
+
jsonrpc: '2.0',
|
|
125
|
+
id: message.id,
|
|
126
|
+
error: {
|
|
127
|
+
code: -32603,
|
|
128
|
+
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
case 'notifications/initialized':
|
|
135
|
+
return null;
|
|
136
|
+
|
|
137
|
+
case 'ping':
|
|
138
|
+
return { jsonrpc: '2.0', id: message.id, result: {} };
|
|
139
|
+
|
|
140
|
+
default:
|
|
141
|
+
return {
|
|
142
|
+
jsonrpc: '2.0',
|
|
143
|
+
id: message.id,
|
|
144
|
+
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
// Run normal CLI mode
|
|
150
|
+
const { CLI } = await import('../dist/src/index.js');
|
|
151
|
+
const cli = new CLI();
|
|
152
|
+
cli.run().catch((error) => {
|
|
153
|
+
console.error('Fatal error:', error.message);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @claude-flow/cli - MCP Server Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Direct stdio MCP server for Claude Code integration.
|
|
6
|
+
* This entry point handles stdin/stdout directly for MCP protocol
|
|
7
|
+
* without any CLI formatting output that would corrupt the protocol.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { randomUUID } from 'crypto';
|
|
11
|
+
import { listMCPTools, callMCPTool, hasTool } from '../dist/src/mcp-client.js';
|
|
12
|
+
|
|
13
|
+
const VERSION = '1.0.0';
|
|
14
|
+
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
15
|
+
|
|
16
|
+
// Log to stderr (doesn't corrupt stdout for MCP protocol)
|
|
17
|
+
console.error(
|
|
18
|
+
`[${new Date().toISOString()}] INFO [odd-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
19
|
+
);
|
|
20
|
+
console.error(JSON.stringify({
|
|
21
|
+
arch: process.arch,
|
|
22
|
+
mode: 'mcp-stdio',
|
|
23
|
+
nodeVersion: process.version,
|
|
24
|
+
pid: process.pid,
|
|
25
|
+
platform: process.platform,
|
|
26
|
+
protocol: 'stdio',
|
|
27
|
+
sessionId,
|
|
28
|
+
version: VERSION,
|
|
29
|
+
}));
|
|
30
|
+
|
|
31
|
+
// Handle stdin messages
|
|
32
|
+
let buffer = '';
|
|
33
|
+
|
|
34
|
+
process.stdin.setEncoding('utf8');
|
|
35
|
+
process.stdin.on('data', async (chunk) => {
|
|
36
|
+
buffer += chunk;
|
|
37
|
+
|
|
38
|
+
// Process complete JSON messages (newline-delimited)
|
|
39
|
+
let lines = buffer.split('\n');
|
|
40
|
+
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
41
|
+
|
|
42
|
+
for (const line of lines) {
|
|
43
|
+
if (line.trim()) {
|
|
44
|
+
try {
|
|
45
|
+
const message = JSON.parse(line);
|
|
46
|
+
const response = await handleMessage(message);
|
|
47
|
+
if (response) {
|
|
48
|
+
console.log(JSON.stringify(response));
|
|
49
|
+
}
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(
|
|
52
|
+
`[${new Date().toISOString()}] ERROR [odd-flow-mcp] Failed to parse:`,
|
|
53
|
+
error instanceof Error ? error.message : String(error)
|
|
54
|
+
);
|
|
55
|
+
// Send parse error response
|
|
56
|
+
console.log(JSON.stringify({
|
|
57
|
+
jsonrpc: '2.0',
|
|
58
|
+
id: null,
|
|
59
|
+
error: { code: -32700, message: 'Parse error' },
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
process.stdin.on('end', () => {
|
|
67
|
+
console.error(
|
|
68
|
+
`[${new Date().toISOString()}] INFO [odd-flow-mcp] (${sessionId}) stdin closed, shutting down...`
|
|
69
|
+
);
|
|
70
|
+
process.exit(0);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// Handle process termination
|
|
74
|
+
process.on('SIGINT', () => {
|
|
75
|
+
console.error(`[${new Date().toISOString()}] INFO [odd-flow-mcp] Received SIGINT`);
|
|
76
|
+
process.exit(0);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
process.on('SIGTERM', () => {
|
|
80
|
+
console.error(`[${new Date().toISOString()}] INFO [odd-flow-mcp] Received SIGTERM`);
|
|
81
|
+
process.exit(0);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Handle MCP message
|
|
86
|
+
*/
|
|
87
|
+
async function handleMessage(message) {
|
|
88
|
+
if (!message.method) {
|
|
89
|
+
return {
|
|
90
|
+
jsonrpc: '2.0',
|
|
91
|
+
id: message.id,
|
|
92
|
+
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const params = message.params || {};
|
|
97
|
+
|
|
98
|
+
try {
|
|
99
|
+
switch (message.method) {
|
|
100
|
+
case 'initialize':
|
|
101
|
+
return {
|
|
102
|
+
jsonrpc: '2.0',
|
|
103
|
+
id: message.id,
|
|
104
|
+
result: {
|
|
105
|
+
protocolVersion: '2024-11-05',
|
|
106
|
+
serverInfo: { name: 'odd-flow', version: VERSION },
|
|
107
|
+
capabilities: {
|
|
108
|
+
tools: { listChanged: true },
|
|
109
|
+
resources: { subscribe: true, listChanged: true },
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
case 'tools/list': {
|
|
115
|
+
const tools = listMCPTools();
|
|
116
|
+
return {
|
|
117
|
+
jsonrpc: '2.0',
|
|
118
|
+
id: message.id,
|
|
119
|
+
result: {
|
|
120
|
+
tools: tools.map(tool => ({
|
|
121
|
+
name: tool.name,
|
|
122
|
+
description: tool.description,
|
|
123
|
+
inputSchema: tool.inputSchema,
|
|
124
|
+
})),
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
case 'tools/call': {
|
|
130
|
+
const toolName = params.name;
|
|
131
|
+
const toolParams = params.arguments || {};
|
|
132
|
+
|
|
133
|
+
if (!hasTool(toolName)) {
|
|
134
|
+
return {
|
|
135
|
+
jsonrpc: '2.0',
|
|
136
|
+
id: message.id,
|
|
137
|
+
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
try {
|
|
142
|
+
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
143
|
+
return {
|
|
144
|
+
jsonrpc: '2.0',
|
|
145
|
+
id: message.id,
|
|
146
|
+
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
147
|
+
};
|
|
148
|
+
} catch (error) {
|
|
149
|
+
return {
|
|
150
|
+
jsonrpc: '2.0',
|
|
151
|
+
id: message.id,
|
|
152
|
+
error: {
|
|
153
|
+
code: -32603,
|
|
154
|
+
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
case 'notifications/initialized':
|
|
161
|
+
console.error(`[${new Date().toISOString()}] INFO [odd-flow-mcp] Client initialized`);
|
|
162
|
+
return null; // No response for notifications
|
|
163
|
+
|
|
164
|
+
case 'ping':
|
|
165
|
+
return {
|
|
166
|
+
jsonrpc: '2.0',
|
|
167
|
+
id: message.id,
|
|
168
|
+
result: {},
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
default:
|
|
172
|
+
return {
|
|
173
|
+
jsonrpc: '2.0',
|
|
174
|
+
id: message.id,
|
|
175
|
+
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
} catch (error) {
|
|
179
|
+
console.error(`[${new Date().toISOString()}] ERROR [odd-flow-mcp] ${message.method}:`, error);
|
|
180
|
+
return {
|
|
181
|
+
jsonrpc: '2.0',
|
|
182
|
+
id: message.id,
|
|
183
|
+
error: {
|
|
184
|
+
code: -32603,
|
|
185
|
+
message: error instanceof Error ? error.message : 'Internal error',
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|