@claude-flow/cli 3.6.30 → 3.7.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/analysis/analyze-code-quality.md +178 -178
- package/.claude/agents/analysis/code-analyzer.md +209 -209
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +178 -178
- package/.claude/agents/architecture/arch-system-design.md +156 -156
- package/.claude/agents/architecture/system-design/arch-system-design.md +154 -154
- package/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/consensus/byzantine-coordinator.md +62 -62
- package/.claude/agents/consensus/crdt-synchronizer.md +996 -996
- package/.claude/agents/consensus/gossip-coordinator.md +62 -62
- package/.claude/agents/consensus/performance-benchmarker.md +850 -850
- package/.claude/agents/consensus/quorum-manager.md +822 -822
- package/.claude/agents/consensus/raft-manager.md +62 -62
- package/.claude/agents/consensus/security-manager.md +621 -621
- package/.claude/agents/core/coder.md +452 -452
- package/.claude/agents/core/planner.md +374 -374
- package/.claude/agents/core/researcher.md +368 -368
- package/.claude/agents/core/reviewer.md +519 -519
- package/.claude/agents/core/tester.md +511 -511
- package/.claude/agents/custom/test-long-runner.md +44 -44
- package/.claude/agents/data/data-ml-model.md +444 -444
- package/.claude/agents/data/ml/data-ml-model.md +192 -192
- package/.claude/agents/development/backend/dev-backend-api.md +141 -141
- package/.claude/agents/development/dev-backend-api.md +344 -344
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +163 -163
- package/.claude/agents/devops/ops-cicd-github.md +164 -164
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +173 -173
- package/.claude/agents/documentation/docs-api-openapi.md +354 -354
- package/.claude/agents/flow-nexus/app-store.md +87 -87
- package/.claude/agents/flow-nexus/authentication.md +68 -68
- package/.claude/agents/flow-nexus/challenges.md +80 -80
- package/.claude/agents/flow-nexus/neural-network.md +87 -87
- package/.claude/agents/flow-nexus/payments.md +82 -82
- package/.claude/agents/flow-nexus/sandbox.md +75 -75
- package/.claude/agents/flow-nexus/swarm.md +75 -75
- package/.claude/agents/flow-nexus/user-tools.md +95 -95
- package/.claude/agents/flow-nexus/workflow.md +83 -83
- package/.claude/agents/github/code-review-swarm.md +377 -377
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +575 -575
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +437 -437
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +604 -604
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +902 -902
- package/.claude/agents/goal/agent.md +815 -815
- package/.claude/agents/goal/goal-planner.md +72 -72
- package/.claude/agents/optimization/benchmark-suite.md +664 -664
- package/.claude/agents/optimization/load-balancer.md +430 -430
- package/.claude/agents/optimization/performance-monitor.md +671 -671
- package/.claude/agents/optimization/resource-allocator.md +673 -673
- package/.claude/agents/optimization/topology-optimizer.md +807 -807
- package/.claude/agents/payments/agentic-payments.md +126 -126
- package/.claude/agents/sona/sona-learning-optimizer.md +74 -74
- package/.claude/agents/sparc/architecture.md +698 -698
- package/.claude/agents/sparc/pseudocode.md +519 -519
- package/.claude/agents/sparc/refinement.md +801 -801
- package/.claude/agents/sparc/specification.md +477 -477
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +224 -224
- package/.claude/agents/specialized/spec-mobile-react-native.md +226 -226
- package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
- package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
- package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
- package/.claude/agents/sublinear/performance-optimizer.md +367 -367
- package/.claude/agents/sublinear/trading-predictor.md +245 -245
- package/.claude/agents/swarm/adaptive-coordinator.md +1126 -1126
- package/.claude/agents/swarm/hierarchical-coordinator.md +709 -709
- package/.claude/agents/swarm/mesh-coordinator.md +962 -962
- package/.claude/agents/templates/automation-smart-agent.md +204 -204
- package/.claude/agents/templates/base-template-generator.md +289 -289
- package/.claude/agents/templates/coordinator-swarm-init.md +89 -89
- package/.claude/agents/templates/github-pr-manager.md +176 -176
- package/.claude/agents/templates/implementer-sparc-coder.md +258 -258
- package/.claude/agents/templates/memory-coordinator.md +186 -186
- package/.claude/agents/templates/orchestrator-task.md +138 -138
- package/.claude/agents/templates/performance-analyzer.md +198 -198
- package/.claude/agents/templates/sparc-coordinator.md +513 -513
- package/.claude/agents/testing/production-validator.md +394 -394
- package/.claude/agents/testing/tdd-london-swarm.md +243 -243
- package/.claude/agents/v3/adr-architect.md +184 -184
- package/.claude/agents/v3/aidefence-guardian.md +282 -282
- package/.claude/agents/v3/claims-authorizer.md +208 -208
- package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -993
- package/.claude/agents/v3/ddd-domain-expert.md +220 -220
- package/.claude/agents/v3/injection-analyst.md +236 -236
- package/.claude/agents/v3/memory-specialist.md +995 -995
- package/.claude/agents/v3/performance-engineer.md +1233 -1233
- package/.claude/agents/v3/pii-detector.md +151 -151
- package/.claude/agents/v3/reasoningbank-learner.md +213 -213
- package/.claude/agents/v3/security-architect-aidefence.md +410 -410
- package/.claude/agents/v3/security-architect.md +867 -867
- package/.claude/agents/v3/security-auditor.md +771 -771
- package/.claude/agents/v3/sparc-orchestrator.md +182 -182
- package/.claude/agents/v3/swarm-memory-manager.md +157 -157
- package/.claude/agents/v3/v3-integration-architect.md +205 -205
- package/.claude/commands/agents/README.md +50 -50
- package/.claude/commands/agents/agent-capabilities.md +140 -140
- package/.claude/commands/agents/agent-coordination.md +28 -28
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/agents/agent-types.md +216 -216
- package/.claude/commands/agents/health.md +139 -139
- package/.claude/commands/agents/list.md +100 -100
- package/.claude/commands/agents/logs.md +130 -130
- package/.claude/commands/agents/metrics.md +122 -122
- package/.claude/commands/agents/pool.md +127 -127
- package/.claude/commands/agents/spawn.md +140 -140
- package/.claude/commands/agents/status.md +115 -115
- package/.claude/commands/agents/stop.md +102 -102
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
- package/.claude/commands/analysis/README.md +9 -9
- package/.claude/commands/analysis/bottleneck-detect.md +162 -162
- package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
- package/.claude/commands/analysis/performance-report.md +25 -25
- package/.claude/commands/analysis/token-efficiency.md +44 -44
- package/.claude/commands/analysis/token-usage.md +25 -25
- package/.claude/commands/automation/README.md +9 -9
- package/.claude/commands/automation/auto-agent.md +122 -122
- package/.claude/commands/automation/self-healing.md +105 -105
- package/.claude/commands/automation/session-memory.md +89 -89
- package/.claude/commands/automation/smart-agents.md +72 -72
- package/.claude/commands/automation/smart-spawn.md +25 -25
- package/.claude/commands/automation/workflow-select.md +25 -25
- package/.claude/commands/claude-flow-help.md +103 -103
- package/.claude/commands/claude-flow-memory.md +107 -107
- package/.claude/commands/claude-flow-swarm.md +205 -205
- package/.claude/commands/coordination/README.md +9 -9
- package/.claude/commands/coordination/agent-spawn.md +25 -25
- package/.claude/commands/coordination/init.md +44 -44
- package/.claude/commands/coordination/orchestrate.md +43 -43
- package/.claude/commands/coordination/spawn.md +45 -45
- package/.claude/commands/coordination/swarm-init.md +85 -85
- package/.claude/commands/coordination/task-orchestrate.md +25 -25
- package/.claude/commands/flow-nexus/app-store.md +123 -123
- package/.claude/commands/flow-nexus/challenges.md +119 -119
- package/.claude/commands/flow-nexus/login-registration.md +64 -64
- package/.claude/commands/flow-nexus/neural-network.md +133 -133
- package/.claude/commands/flow-nexus/payments.md +115 -115
- package/.claude/commands/flow-nexus/sandbox.md +82 -82
- package/.claude/commands/flow-nexus/swarm.md +86 -86
- package/.claude/commands/flow-nexus/user-tools.md +151 -151
- package/.claude/commands/flow-nexus/workflow.md +114 -114
- package/.claude/commands/github/README.md +11 -11
- package/.claude/commands/github/code-review-swarm.md +513 -513
- package/.claude/commands/github/code-review.md +25 -25
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/issue-triage.md +25 -25
- package/.claude/commands/github/multi-repo-swarm.md +518 -518
- package/.claude/commands/github/pr-enhance.md +26 -26
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/project-board-sync.md +470 -470
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/release-swarm.md +543 -543
- package/.claude/commands/github/repo-analyze.md +25 -25
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/swarm-issue.md +481 -481
- package/.claude/commands/github/swarm-pr.md +284 -284
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/github/workflow-automation.md +441 -441
- package/.claude/commands/hive-mind/README.md +17 -17
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
- package/.claude/commands/hive-mind/hive-mind.md +27 -27
- package/.claude/commands/hooks/README.md +11 -11
- package/.claude/commands/hooks/overview.md +57 -57
- package/.claude/commands/hooks/post-edit.md +117 -117
- package/.claude/commands/hooks/post-task.md +112 -112
- package/.claude/commands/hooks/pre-edit.md +113 -113
- package/.claude/commands/hooks/pre-task.md +111 -111
- package/.claude/commands/hooks/session-end.md +118 -118
- package/.claude/commands/hooks/setup.md +102 -102
- package/.claude/commands/memory/README.md +9 -9
- package/.claude/commands/memory/memory-persist.md +25 -25
- package/.claude/commands/memory/memory-search.md +25 -25
- package/.claude/commands/memory/memory-usage.md +25 -25
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/monitoring/README.md +9 -9
- package/.claude/commands/monitoring/agent-metrics.md +25 -25
- package/.claude/commands/monitoring/agents.md +44 -44
- package/.claude/commands/monitoring/real-time-view.md +25 -25
- package/.claude/commands/monitoring/status.md +46 -46
- package/.claude/commands/monitoring/swarm-monitor.md +25 -25
- package/.claude/commands/optimization/README.md +9 -9
- package/.claude/commands/optimization/auto-topology.md +61 -61
- package/.claude/commands/optimization/cache-manage.md +25 -25
- package/.claude/commands/optimization/parallel-execute.md +25 -25
- package/.claude/commands/optimization/parallel-execution.md +49 -49
- package/.claude/commands/optimization/topology-optimize.md +25 -25
- package/.claude/commands/pair/README.md +260 -260
- package/.claude/commands/pair/commands.md +545 -545
- package/.claude/commands/pair/config.md +509 -509
- package/.claude/commands/pair/examples.md +511 -511
- package/.claude/commands/pair/modes.md +347 -347
- package/.claude/commands/pair/session.md +406 -406
- package/.claude/commands/pair/start.md +208 -208
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/stream-chain/pipeline.md +120 -120
- package/.claude/commands/stream-chain/run.md +69 -69
- package/.claude/commands/swarm/README.md +15 -15
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/swarm-analysis.md +8 -8
- package/.claude/commands/swarm/swarm-background.md +8 -8
- package/.claude/commands/swarm/swarm-init.md +19 -19
- package/.claude/commands/swarm/swarm-modes.md +8 -8
- package/.claude/commands/swarm/swarm-monitor.md +8 -8
- package/.claude/commands/swarm/swarm-spawn.md +19 -19
- package/.claude/commands/swarm/swarm-status.md +8 -8
- package/.claude/commands/swarm/swarm-strategies.md +8 -8
- package/.claude/commands/swarm/swarm.md +87 -87
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/training/README.md +9 -9
- package/.claude/commands/training/model-update.md +25 -25
- package/.claude/commands/training/neural-patterns.md +107 -107
- package/.claude/commands/training/neural-train.md +75 -75
- package/.claude/commands/training/pattern-learn.md +25 -25
- package/.claude/commands/training/specialization.md +62 -62
- package/.claude/commands/truth/start.md +142 -142
- package/.claude/commands/verify/check.md +49 -49
- package/.claude/commands/verify/start.md +127 -127
- package/.claude/commands/workflows/README.md +9 -9
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/commands/workflows/workflow-create.md +25 -25
- package/.claude/commands/workflows/workflow-execute.md +25 -25
- package/.claude/commands/workflows/workflow-export.md +25 -25
- package/.claude/helpers/README.md +96 -96
- package/.claude/helpers/adr-compliance.sh +186 -186
- package/.claude/helpers/auto-commit.sh +178 -178
- package/.claude/helpers/auto-memory-hook.mjs +368 -368
- package/.claude/helpers/checkpoint-manager.sh +251 -251
- package/.claude/helpers/daemon-manager.sh +252 -252
- package/.claude/helpers/ddd-tracker.sh +144 -144
- package/.claude/helpers/github-safe.js +121 -121
- package/.claude/helpers/github-setup.sh +28 -28
- package/.claude/helpers/guidance-hook.sh +13 -13
- package/.claude/helpers/guidance-hooks.sh +102 -102
- package/.claude/helpers/health-monitor.sh +108 -108
- package/.claude/helpers/hook-handler.cjs +278 -278
- package/.claude/helpers/intelligence.cjs +1031 -1031
- package/.claude/helpers/learning-hooks.sh +329 -329
- package/.claude/helpers/learning-optimizer.sh +127 -127
- package/.claude/helpers/learning-service.mjs +1144 -1144
- package/.claude/helpers/memory.js +83 -83
- package/.claude/helpers/metrics-db.mjs +488 -488
- package/.claude/helpers/pattern-consolidator.sh +86 -86
- package/.claude/helpers/perf-worker.sh +160 -160
- package/.claude/helpers/post-commit +16 -16
- package/.claude/helpers/pre-commit +26 -26
- package/.claude/helpers/quick-start.sh +19 -19
- package/.claude/helpers/router.js +66 -66
- package/.claude/helpers/security-scanner.sh +127 -127
- package/.claude/helpers/session.js +135 -135
- package/.claude/helpers/setup-mcp.sh +18 -18
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
- package/.claude/helpers/statusline-hook.sh +21 -21
- package/.claude/helpers/statusline.cjs +575 -575
- package/.claude/helpers/statusline.js +321 -321
- package/.claude/helpers/swarm-comms.sh +353 -353
- package/.claude/helpers/swarm-hooks.sh +761 -761
- package/.claude/helpers/swarm-monitor.sh +210 -210
- package/.claude/helpers/sync-v3-metrics.sh +245 -245
- package/.claude/helpers/update-v3-progress.sh +165 -165
- package/.claude/helpers/v3-quick-status.sh +57 -57
- package/.claude/helpers/v3.sh +110 -110
- package/.claude/helpers/validate-v3-config.sh +215 -215
- package/.claude/helpers/worker-manager.sh +170 -170
- package/.claude/settings.json +182 -182
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
- package/.claude/skills/agentdb-learning/SKILL.md +545 -545
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
- package/.claude/skills/aidefence-scan.md +151 -151
- package/.claude/skills/aidefence.yaml +297 -297
- package/.claude/skills/browser/SKILL.md +204 -204
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -738
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -1157
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -610
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1290 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/pair-programming/SKILL.md +1202 -1202
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
- package/.claude/skills/secure-review.md +181 -181
- package/.claude/skills/skill-builder/SKILL.md +910 -910
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/stream-chain/SKILL.md +563 -563
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
- package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
- package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
- package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
- package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
- package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
- package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
- package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
- package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
- package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
- package/.claude/skills/verification-quality/SKILL.md +649 -649
- package/.claude/skills/worker-benchmarks/skill.md +135 -135
- package/.claude/skills/worker-integration/skill.md +154 -154
- package/README.md +393 -391
- package/bin/cli.js +220 -220
- package/bin/mcp-server.js +224 -224
- package/bin/preinstall.cjs +2 -2
- package/dist/src/commands/agent-wasm.js +2 -2
- package/dist/src/commands/agent-wasm.js.map +1 -1
- package/dist/src/commands/completions.js +409 -409
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +19 -3
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +105 -23
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.js +26 -26
- package/dist/src/commands/hive-mind.d.ts.map +1 -1
- package/dist/src/commands/hive-mind.js +122 -104
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +34 -21
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +68 -0
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +23 -23
- package/dist/src/commands/ruvector/benchmark.js +31 -31
- package/dist/src/commands/ruvector/import.js +14 -14
- package/dist/src/commands/ruvector/init.js +115 -115
- package/dist/src/commands/ruvector/migrate.js +99 -99
- package/dist/src/commands/ruvector/optimize.js +51 -51
- package/dist/src/commands/ruvector/setup.js +624 -624
- package/dist/src/commands/ruvector/status.js +38 -38
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +59 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.js +226 -226
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +511 -453
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.js +645 -645
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +11 -5
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.js +858 -858
- package/dist/src/init/types.d.ts +7 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts +3 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +108 -0
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +4 -2
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +19 -0
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +14 -1
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +28 -3
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +72 -3
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/types.d.ts +4 -33
- package/dist/src/mcp-tools/types.d.ts.map +1 -1
- package/dist/src/mcp-tools/types.js +4 -14
- package/dist/src/mcp-tools/types.js.map +1 -1
- package/dist/src/mcp-tools/validate-input.d.ts +5 -57
- package/dist/src/mcp-tools/validate-input.d.ts.map +1 -1
- package/dist/src/mcp-tools/validate-input.js +5 -233
- package/dist/src/mcp-tools/validate-input.js.map +1 -1
- package/dist/src/mcp-tools/wasm-agent-tools.js +1 -1
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +28 -3
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +69 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +319 -66
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +5 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +369 -363
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/neural-package-bridge.d.ts +48 -0
- package/dist/src/memory/neural-package-bridge.d.ts.map +1 -0
- package/dist/src/memory/neural-package-bridge.js +87 -0
- package/dist/src/memory/neural-package-bridge.js.map +1 -0
- package/dist/src/memory/rabitq-index.js +5 -5
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js +1 -0
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/output.d.ts +6 -130
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +6 -511
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts +9 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +11 -0
- package/dist/src/parser.js.map +1 -1
- package/dist/src/runtime/headless.js +28 -28
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -1
- package/dist/src/ruvector/agent-wasm.js +4 -1
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/index.d.ts +0 -2
- package/dist/src/ruvector/index.d.ts.map +1 -1
- package/dist/src/ruvector/index.js +8 -2
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/model-router.d.ts +22 -1
- package/dist/src/ruvector/model-router.d.ts.map +1 -1
- package/dist/src/ruvector/model-router.js +125 -5
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/services/headless-worker-executor.js +84 -84
- package/dist/src/transfer/deploy-seraphine.js +23 -23
- package/dist/src/types.d.ts +10 -195
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +10 -35
- package/dist/src/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/scripts/deploy-ipfs-node.sh +153 -153
- package/scripts/postinstall.cjs +153 -153
- package/scripts/publish-registry.ts +345 -345
- package/scripts/publish.sh +57 -57
- package/scripts/setup-ipfs-registry.md +366 -366
- package/dist/src/services/event-stream.d.ts.map +0 -1
- package/dist/src/services/event-stream.js.map +0 -1
- package/dist/src/services/loop-worker-runner.d.ts.map +0 -1
- package/dist/src/services/loop-worker-runner.js.map +0 -1
- package/dist/src/services/runtime-capabilities.d.ts.map +0 -1
- package/dist/src/services/runtime-capabilities.js.map +0 -1
package/bin/cli.js
CHANGED
|
@@ -1,220 +1,220 @@
|
|
|
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
|
-
// Suppress the SPECIFIC cosmetic "[AgentDB Patch] Controller index not found"
|
|
14
|
-
// warning from agentic-flow's runtime patch — these are emitted because the
|
|
15
|
-
// patch was written for agentdb v1.x and we use v3, where the controllers
|
|
16
|
-
// dist directory is laid out differently. The warning surfaces on every
|
|
17
|
-
// command and the audit (audit_1776483149979) flagged a too-broad suppression
|
|
18
|
-
// as a security risk because it could hide legitimate [AgentDB Patch] warnings.
|
|
19
|
-
//
|
|
20
|
-
// Tight match: must include both the prefix AND the specific "Controller
|
|
21
|
-
// index not found" text. Anything else (including future [AgentDB Patch]
|
|
22
|
-
// warnings about real issues) flows through unchanged. Also patch
|
|
23
|
-
// console.log because the underlying code uses it (the previous filter
|
|
24
|
-
// only caught console.warn and was therefore a no-op).
|
|
25
|
-
const _origWarn = console.warn;
|
|
26
|
-
const _origLog = console.log;
|
|
27
|
-
const _isCosmeticAgentdbPatchNoise = (msg) =>
|
|
28
|
-
msg.includes('[AgentDB Patch]') && msg.includes('Controller index not found');
|
|
29
|
-
console.warn = (...args) => {
|
|
30
|
-
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
31
|
-
_origWarn.apply(console, args);
|
|
32
|
-
};
|
|
33
|
-
console.log = (...args) => {
|
|
34
|
-
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
35
|
-
_origLog.apply(console, args);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
// Check if we should run in MCP server mode
|
|
39
|
-
// Conditions:
|
|
40
|
-
// 1. stdin is being piped AND no CLI arguments provided (auto-detect)
|
|
41
|
-
// 2. stdin is being piped AND args are "mcp start" (explicit, e.g. npx claude-flow@alpha mcp start)
|
|
42
|
-
const cliArgs = process.argv.slice(2);
|
|
43
|
-
const isExplicitMCP = cliArgs.length >= 1 && cliArgs[0] === 'mcp' && (cliArgs.length === 1 || cliArgs[1] === 'start');
|
|
44
|
-
const isMCPMode = !process.stdin.isTTY && (process.argv.length === 2 || isExplicitMCP);
|
|
45
|
-
|
|
46
|
-
if (isMCPMode) {
|
|
47
|
-
// Run MCP server mode
|
|
48
|
-
const { listMCPTools, callMCPTool, hasTool } = await import('../dist/src/mcp-client.js');
|
|
49
|
-
|
|
50
|
-
const VERSION = '3.0.0';
|
|
51
|
-
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
52
|
-
|
|
53
|
-
console.error(
|
|
54
|
-
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
// Audit-flagged DoS protection (audit_1776483149979): cap the
|
|
58
|
-
// newline-buffered stdin parser so a malicious client cannot pipe
|
|
59
|
-
// gigabytes of un-newlined data and exhaust memory before
|
|
60
|
-
// JSON.parse runs. 10MB is far above any legitimate MCP message
|
|
61
|
-
// (the protocol's largest realistic payloads — tool descriptions,
|
|
62
|
-
// batch search results — top out at ~1MB).
|
|
63
|
-
const MCP_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
|
|
64
|
-
let buffer = '';
|
|
65
|
-
process.stdin.setEncoding('utf8');
|
|
66
|
-
process.stdin.on('data', async (chunk) => {
|
|
67
|
-
buffer += chunk;
|
|
68
|
-
if (buffer.length > MCP_MAX_BUFFER_BYTES) {
|
|
69
|
-
// Drop the buffer + emit a protocol-level error so the client
|
|
70
|
-
// sees the rejection rather than a silent OOM.
|
|
71
|
-
console.log(JSON.stringify({
|
|
72
|
-
jsonrpc: '2.0',
|
|
73
|
-
id: null,
|
|
74
|
-
error: {
|
|
75
|
-
code: -32700,
|
|
76
|
-
message: `Buffered stdin exceeds ${MCP_MAX_BUFFER_BYTES} bytes without newline; resetting`,
|
|
77
|
-
},
|
|
78
|
-
}));
|
|
79
|
-
buffer = '';
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
let lines = buffer.split('\n');
|
|
83
|
-
buffer = lines.pop() || '';
|
|
84
|
-
|
|
85
|
-
for (const line of lines) {
|
|
86
|
-
if (line.trim()) {
|
|
87
|
-
let message;
|
|
88
|
-
try {
|
|
89
|
-
message = JSON.parse(line);
|
|
90
|
-
} catch {
|
|
91
|
-
console.log(JSON.stringify({
|
|
92
|
-
jsonrpc: '2.0',
|
|
93
|
-
id: null,
|
|
94
|
-
error: { code: -32700, message: 'Parse error' },
|
|
95
|
-
}));
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
try {
|
|
99
|
-
const response = await handleMessage(message);
|
|
100
|
-
if (response) {
|
|
101
|
-
console.log(JSON.stringify(response));
|
|
102
|
-
}
|
|
103
|
-
} catch (error) {
|
|
104
|
-
// #1606: Return proper internal error instead of parse error
|
|
105
|
-
console.log(JSON.stringify({
|
|
106
|
-
jsonrpc: '2.0',
|
|
107
|
-
id: message.id ?? null,
|
|
108
|
-
error: { code: -32603, message: error instanceof Error ? error.message : 'Internal error' },
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
process.stdin.on('end', () => {
|
|
116
|
-
process.exit(0);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
async function handleMessage(message) {
|
|
120
|
-
if (!message.method) {
|
|
121
|
-
return {
|
|
122
|
-
jsonrpc: '2.0',
|
|
123
|
-
id: message.id,
|
|
124
|
-
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const params = message.params || {};
|
|
129
|
-
|
|
130
|
-
switch (message.method) {
|
|
131
|
-
case 'initialize':
|
|
132
|
-
return {
|
|
133
|
-
jsonrpc: '2.0',
|
|
134
|
-
id: message.id,
|
|
135
|
-
result: {
|
|
136
|
-
protocolVersion: '2024-11-05',
|
|
137
|
-
serverInfo: { name: 'claude-flow', version: VERSION },
|
|
138
|
-
capabilities: {
|
|
139
|
-
tools: { listChanged: true },
|
|
140
|
-
resources: { subscribe: true, listChanged: true },
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
case 'tools/list': {
|
|
146
|
-
const tools = listMCPTools();
|
|
147
|
-
return {
|
|
148
|
-
jsonrpc: '2.0',
|
|
149
|
-
id: message.id,
|
|
150
|
-
result: {
|
|
151
|
-
tools: tools.map(tool => ({
|
|
152
|
-
name: tool.name,
|
|
153
|
-
description: tool.description,
|
|
154
|
-
inputSchema: tool.inputSchema,
|
|
155
|
-
})),
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
case 'tools/call': {
|
|
161
|
-
const toolName = params.name;
|
|
162
|
-
const toolParams = params.arguments || {};
|
|
163
|
-
|
|
164
|
-
if (!hasTool(toolName)) {
|
|
165
|
-
return {
|
|
166
|
-
jsonrpc: '2.0',
|
|
167
|
-
id: message.id,
|
|
168
|
-
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
try {
|
|
173
|
-
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
174
|
-
return {
|
|
175
|
-
jsonrpc: '2.0',
|
|
176
|
-
id: message.id,
|
|
177
|
-
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
178
|
-
};
|
|
179
|
-
} catch (error) {
|
|
180
|
-
return {
|
|
181
|
-
jsonrpc: '2.0',
|
|
182
|
-
id: message.id,
|
|
183
|
-
error: {
|
|
184
|
-
code: -32603,
|
|
185
|
-
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
186
|
-
},
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
case 'notifications/initialized':
|
|
192
|
-
return null;
|
|
193
|
-
|
|
194
|
-
case 'ping':
|
|
195
|
-
return { jsonrpc: '2.0', id: message.id, result: {} };
|
|
196
|
-
|
|
197
|
-
default:
|
|
198
|
-
return {
|
|
199
|
-
jsonrpc: '2.0',
|
|
200
|
-
id: message.id,
|
|
201
|
-
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
} else {
|
|
206
|
-
// Run normal CLI mode
|
|
207
|
-
const { CLI } = await import('../dist/src/index.js');
|
|
208
|
-
const cli = new CLI();
|
|
209
|
-
cli.run()
|
|
210
|
-
.then(() => {
|
|
211
|
-
// #1552: Exit cleanly after one-shot commands.
|
|
212
|
-
// Long-running commands (daemon foreground, mcp, status --watch) never resolve,
|
|
213
|
-
// so this only fires for normal CLI commands.
|
|
214
|
-
process.exit(0);
|
|
215
|
-
})
|
|
216
|
-
.catch((error) => {
|
|
217
|
-
console.error('Fatal error:', error.message);
|
|
218
|
-
process.exit(1);
|
|
219
|
-
});
|
|
220
|
-
}
|
|
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
|
+
// Suppress the SPECIFIC cosmetic "[AgentDB Patch] Controller index not found"
|
|
14
|
+
// warning from agentic-flow's runtime patch — these are emitted because the
|
|
15
|
+
// patch was written for agentdb v1.x and we use v3, where the controllers
|
|
16
|
+
// dist directory is laid out differently. The warning surfaces on every
|
|
17
|
+
// command and the audit (audit_1776483149979) flagged a too-broad suppression
|
|
18
|
+
// as a security risk because it could hide legitimate [AgentDB Patch] warnings.
|
|
19
|
+
//
|
|
20
|
+
// Tight match: must include both the prefix AND the specific "Controller
|
|
21
|
+
// index not found" text. Anything else (including future [AgentDB Patch]
|
|
22
|
+
// warnings about real issues) flows through unchanged. Also patch
|
|
23
|
+
// console.log because the underlying code uses it (the previous filter
|
|
24
|
+
// only caught console.warn and was therefore a no-op).
|
|
25
|
+
const _origWarn = console.warn;
|
|
26
|
+
const _origLog = console.log;
|
|
27
|
+
const _isCosmeticAgentdbPatchNoise = (msg) =>
|
|
28
|
+
msg.includes('[AgentDB Patch]') && msg.includes('Controller index not found');
|
|
29
|
+
console.warn = (...args) => {
|
|
30
|
+
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
31
|
+
_origWarn.apply(console, args);
|
|
32
|
+
};
|
|
33
|
+
console.log = (...args) => {
|
|
34
|
+
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
35
|
+
_origLog.apply(console, args);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// Check if we should run in MCP server mode
|
|
39
|
+
// Conditions:
|
|
40
|
+
// 1. stdin is being piped AND no CLI arguments provided (auto-detect)
|
|
41
|
+
// 2. stdin is being piped AND args are "mcp start" (explicit, e.g. npx claude-flow@alpha mcp start)
|
|
42
|
+
const cliArgs = process.argv.slice(2);
|
|
43
|
+
const isExplicitMCP = cliArgs.length >= 1 && cliArgs[0] === 'mcp' && (cliArgs.length === 1 || cliArgs[1] === 'start');
|
|
44
|
+
const isMCPMode = !process.stdin.isTTY && (process.argv.length === 2 || isExplicitMCP);
|
|
45
|
+
|
|
46
|
+
if (isMCPMode) {
|
|
47
|
+
// Run MCP server mode
|
|
48
|
+
const { listMCPTools, callMCPTool, hasTool } = await import('../dist/src/mcp-client.js');
|
|
49
|
+
|
|
50
|
+
const VERSION = '3.0.0';
|
|
51
|
+
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
52
|
+
|
|
53
|
+
console.error(
|
|
54
|
+
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
// Audit-flagged DoS protection (audit_1776483149979): cap the
|
|
58
|
+
// newline-buffered stdin parser so a malicious client cannot pipe
|
|
59
|
+
// gigabytes of un-newlined data and exhaust memory before
|
|
60
|
+
// JSON.parse runs. 10MB is far above any legitimate MCP message
|
|
61
|
+
// (the protocol's largest realistic payloads — tool descriptions,
|
|
62
|
+
// batch search results — top out at ~1MB).
|
|
63
|
+
const MCP_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
|
|
64
|
+
let buffer = '';
|
|
65
|
+
process.stdin.setEncoding('utf8');
|
|
66
|
+
process.stdin.on('data', async (chunk) => {
|
|
67
|
+
buffer += chunk;
|
|
68
|
+
if (buffer.length > MCP_MAX_BUFFER_BYTES) {
|
|
69
|
+
// Drop the buffer + emit a protocol-level error so the client
|
|
70
|
+
// sees the rejection rather than a silent OOM.
|
|
71
|
+
console.log(JSON.stringify({
|
|
72
|
+
jsonrpc: '2.0',
|
|
73
|
+
id: null,
|
|
74
|
+
error: {
|
|
75
|
+
code: -32700,
|
|
76
|
+
message: `Buffered stdin exceeds ${MCP_MAX_BUFFER_BYTES} bytes without newline; resetting`,
|
|
77
|
+
},
|
|
78
|
+
}));
|
|
79
|
+
buffer = '';
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
let lines = buffer.split('\n');
|
|
83
|
+
buffer = lines.pop() || '';
|
|
84
|
+
|
|
85
|
+
for (const line of lines) {
|
|
86
|
+
if (line.trim()) {
|
|
87
|
+
let message;
|
|
88
|
+
try {
|
|
89
|
+
message = JSON.parse(line);
|
|
90
|
+
} catch {
|
|
91
|
+
console.log(JSON.stringify({
|
|
92
|
+
jsonrpc: '2.0',
|
|
93
|
+
id: null,
|
|
94
|
+
error: { code: -32700, message: 'Parse error' },
|
|
95
|
+
}));
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const response = await handleMessage(message);
|
|
100
|
+
if (response) {
|
|
101
|
+
console.log(JSON.stringify(response));
|
|
102
|
+
}
|
|
103
|
+
} catch (error) {
|
|
104
|
+
// #1606: Return proper internal error instead of parse error
|
|
105
|
+
console.log(JSON.stringify({
|
|
106
|
+
jsonrpc: '2.0',
|
|
107
|
+
id: message.id ?? null,
|
|
108
|
+
error: { code: -32603, message: error instanceof Error ? error.message : 'Internal error' },
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
process.stdin.on('end', () => {
|
|
116
|
+
process.exit(0);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
async function handleMessage(message) {
|
|
120
|
+
if (!message.method) {
|
|
121
|
+
return {
|
|
122
|
+
jsonrpc: '2.0',
|
|
123
|
+
id: message.id,
|
|
124
|
+
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const params = message.params || {};
|
|
129
|
+
|
|
130
|
+
switch (message.method) {
|
|
131
|
+
case 'initialize':
|
|
132
|
+
return {
|
|
133
|
+
jsonrpc: '2.0',
|
|
134
|
+
id: message.id,
|
|
135
|
+
result: {
|
|
136
|
+
protocolVersion: '2024-11-05',
|
|
137
|
+
serverInfo: { name: 'claude-flow', version: VERSION },
|
|
138
|
+
capabilities: {
|
|
139
|
+
tools: { listChanged: true },
|
|
140
|
+
resources: { subscribe: true, listChanged: true },
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
case 'tools/list': {
|
|
146
|
+
const tools = listMCPTools();
|
|
147
|
+
return {
|
|
148
|
+
jsonrpc: '2.0',
|
|
149
|
+
id: message.id,
|
|
150
|
+
result: {
|
|
151
|
+
tools: tools.map(tool => ({
|
|
152
|
+
name: tool.name,
|
|
153
|
+
description: tool.description,
|
|
154
|
+
inputSchema: tool.inputSchema,
|
|
155
|
+
})),
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
case 'tools/call': {
|
|
161
|
+
const toolName = params.name;
|
|
162
|
+
const toolParams = params.arguments || {};
|
|
163
|
+
|
|
164
|
+
if (!hasTool(toolName)) {
|
|
165
|
+
return {
|
|
166
|
+
jsonrpc: '2.0',
|
|
167
|
+
id: message.id,
|
|
168
|
+
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
try {
|
|
173
|
+
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
174
|
+
return {
|
|
175
|
+
jsonrpc: '2.0',
|
|
176
|
+
id: message.id,
|
|
177
|
+
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
178
|
+
};
|
|
179
|
+
} catch (error) {
|
|
180
|
+
return {
|
|
181
|
+
jsonrpc: '2.0',
|
|
182
|
+
id: message.id,
|
|
183
|
+
error: {
|
|
184
|
+
code: -32603,
|
|
185
|
+
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
case 'notifications/initialized':
|
|
192
|
+
return null;
|
|
193
|
+
|
|
194
|
+
case 'ping':
|
|
195
|
+
return { jsonrpc: '2.0', id: message.id, result: {} };
|
|
196
|
+
|
|
197
|
+
default:
|
|
198
|
+
return {
|
|
199
|
+
jsonrpc: '2.0',
|
|
200
|
+
id: message.id,
|
|
201
|
+
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
} else {
|
|
206
|
+
// Run normal CLI mode
|
|
207
|
+
const { CLI } = await import('../dist/src/index.js');
|
|
208
|
+
const cli = new CLI();
|
|
209
|
+
cli.run()
|
|
210
|
+
.then(() => {
|
|
211
|
+
// #1552: Exit cleanly after one-shot commands.
|
|
212
|
+
// Long-running commands (daemon foreground, mcp, status --watch) never resolve,
|
|
213
|
+
// so this only fires for normal CLI commands.
|
|
214
|
+
process.exit(0);
|
|
215
|
+
})
|
|
216
|
+
.catch((error) => {
|
|
217
|
+
console.error('Fatal error:', error.message);
|
|
218
|
+
process.exit(1);
|
|
219
|
+
});
|
|
220
|
+
}
|