@claude-flow/cli 3.10.46 → 3.11.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/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/planner.md +374 -374
- 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/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/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/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/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/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 +339 -339
- 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 +484 -484
- package/.claude/commands/github/swarm-pr.md +287 -287
- package/.claude/commands/github/sync-coordinator.md +302 -302
- 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 +156 -156
- package/.claude/helpers/github-setup.sh +45 -45
- 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 +286 -286
- 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 +105 -105
- package/.claude/helpers/security-scanner.sh +127 -127
- package/.claude/helpers/session.js +157 -157
- 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 +604 -604
- package/.claude/helpers/statusline.js +352 -352
- 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/browser/SKILL.md +204 -204
- package/.claude/skills/dual-mode/README.md +71 -71
- package/.claude/skills/dual-mode/dual-collect.md +103 -103
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
- package/.claude/skills/dual-mode/dual-spawn.md +81 -81
- package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
- package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
- package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
- package/.claude/skills/github-code-review/SKILL.md +1125 -1125
- package/.claude/skills/github-multi-repo/SKILL.md +862 -862
- package/.claude/skills/github-project-management/SKILL.md +1262 -1262
- package/.claude/skills/github-release-management/SKILL.md +1064 -1064
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/pair-programming/SKILL.md +1202 -1202
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
- package/.claude/skills/skill-builder/SKILL.md +910 -910
- package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
- package/.claude/skills/stream-chain/SKILL.md +560 -560
- package/.claude/skills/swarm-advanced/SKILL.md +970 -970
- 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 +691 -691
- package/README.md +412 -412
- package/bin/cli.js +314 -314
- package/bin/mcp-server.js +224 -224
- package/bin/preinstall.cjs +2 -2
- package/dist/src/benchmarks/capability-tasks.d.ts +126 -0
- package/dist/src/benchmarks/capability-tasks.d.ts.map +1 -0
- package/dist/src/benchmarks/capability-tasks.js +147 -0
- package/dist/src/benchmarks/capability-tasks.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts +53 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.js +177 -0
- package/dist/src/benchmarks/gaia-agent-contrastive.js.map +1 -0
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts +51 -0
- package/dist/src/benchmarks/gaia-agent-gemini.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-agent-gemini.js +352 -0
- package/dist/src/benchmarks/gaia-agent-gemini.js.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.d.ts +105 -0
- package/dist/src/benchmarks/gaia-claude-p.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.js +269 -0
- package/dist/src/benchmarks/gaia-claude-p.js.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.js +168 -0
- package/dist/src/benchmarks/gaia-claude-p.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent-runner.py +556 -0
- package/dist/src/benchmarks/gaia-codeagent.d.ts +129 -0
- package/dist/src/benchmarks/gaia-codeagent.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.js +590 -0
- package/dist/src/benchmarks/gaia-codeagent.js.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts +33 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.js +241 -0
- package/dist/src/benchmarks/gaia-codeagent.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-critic.js +24 -24
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts +22 -0
- package/dist/src/benchmarks/gaia-dag-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag-pilot.js +158 -0
- package/dist/src/benchmarks/gaia-dag-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-dag.d.ts +110 -0
- package/dist/src/benchmarks/gaia-dag.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag.js +658 -0
- package/dist/src/benchmarks/gaia-dag.js.map +1 -0
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-dag.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-dag.smoke.js +290 -0
- package/dist/src/benchmarks/gaia-dag.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts +17 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.js +106 -0
- package/dist/src/benchmarks/gaia-ensemble-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble.d.ts +103 -0
- package/dist/src/benchmarks/gaia-ensemble.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-ensemble.js +462 -0
- package/dist/src/benchmarks/gaia-ensemble.js.map +1 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts +17 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.js +168 -0
- package/dist/src/benchmarks/gaia-gemini-pilot.js.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.d.ts +67 -0
- package/dist/src/benchmarks/gaia-mode-router.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.js +126 -0
- package/dist/src/benchmarks/gaia-mode-router.js.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts +15 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.js +131 -0
- package/dist/src/benchmarks/gaia-mode-router.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js +276 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts +45 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.js +222 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js +169 -0
- package/dist/src/benchmarks/gaia-tools/image_describe.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts +27 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.js +226 -0
- package/dist/src/benchmarks/gaia-tools/pdf_read.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts +31 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.js +94 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts +13 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js +98 -0
- package/dist/src/benchmarks/gaia-tools/python_exec.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts +52 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js +304 -0
- package/dist/src/benchmarks/gaia-tools/visit_webpage.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts +61 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.js +217 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts +26 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js +152 -0
- package/dist/src/benchmarks/gaia-tools/web_browse.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts +24 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js +311 -0
- package/dist/src/benchmarks/gaia-tools/web_search.smoke.js.map +1 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts +25 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.d.ts.map +1 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js +304 -0
- package/dist/src/benchmarks/gaia-visit-webpage.smoke.js.map +1 -0
- package/dist/src/commands/completions.js +409 -409
- package/dist/src/commands/daemon.js +44 -44
- package/dist/src/commands/embeddings.js +26 -26
- package/dist/src/commands/hive-mind.js +97 -97
- package/dist/src/commands/hooks.js +9 -9
- package/dist/src/commands/neural.d.ts.map +1 -1
- package/dist/src/commands/neural.js +2351 -1
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance-capability.d.ts +30 -0
- package/dist/src/commands/performance-capability.d.ts.map +1 -0
- package/dist/src/commands/performance-capability.js +349 -0
- package/dist/src/commands/performance-capability.js.map +1 -0
- 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/init/claudemd-generator.js +231 -231
- package/dist/src/init/executor.js +453 -453
- package/dist/src/init/helpers-generator.js +727 -727
- package/dist/src/init/statusline-generator.js +717 -717
- package/dist/src/mcp-tools/agent-execute-core.d.ts +23 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +136 -9
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +48 -4
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +15 -15
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +196 -0
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/memory/graph-edge-writer.js +18 -18
- package/dist/src/memory/memory-bridge.js +84 -84
- package/dist/src/memory/memory-initializer.js +393 -393
- package/dist/src/memory/rabitq-index.js +5 -5
- package/dist/src/runtime/headless.js +28 -28
- package/dist/src/ruvector/enhanced-model-router.d.ts +5 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.js +18 -1
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/model-prices.d.ts +50 -0
- package/dist/src/ruvector/model-prices.d.ts.map +1 -0
- package/dist/src/ruvector/model-prices.js +72 -0
- package/dist/src/ruvector/model-prices.js.map +1 -0
- package/dist/src/ruvector/model-router.d.ts +147 -8
- package/dist/src/ruvector/model-router.d.ts.map +1 -1
- package/dist/src/ruvector/model-router.js +418 -18
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/neural-router.d.ts +172 -39
- package/dist/src/ruvector/neural-router.d.ts.map +1 -1
- package/dist/src/ruvector/neural-router.js +780 -91
- package/dist/src/ruvector/neural-router.js.map +1 -1
- package/dist/src/ruvector/router-calibrator.d.ts +65 -0
- package/dist/src/ruvector/router-calibrator.d.ts.map +1 -0
- package/dist/src/ruvector/router-calibrator.js +120 -0
- package/dist/src/ruvector/router-calibrator.js.map +1 -0
- package/dist/src/ruvector/router-trajectory.d.ts +137 -45
- package/dist/src/ruvector/router-trajectory.d.ts.map +1 -1
- package/dist/src/ruvector/router-trajectory.js +226 -63
- package/dist/src/ruvector/router-trajectory.js.map +1 -1
- package/dist/src/ruvector/task-embedder.d.ts +56 -0
- package/dist/src/ruvector/task-embedder.d.ts.map +1 -0
- package/dist/src/ruvector/task-embedder.js +237 -0
- package/dist/src/ruvector/task-embedder.js.map +1 -0
- package/dist/src/services/headless-worker-executor.js +84 -84
- package/dist/src/transfer/deploy-seraphine.js +23 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +136 -134
- package/scripts/beir-bootstrap-significance.mjs +162 -162
- package/scripts/bench-rvagent.mjs +312 -312
- package/scripts/benchmark-codemods.mjs +127 -127
- package/scripts/benchmark-cross-repo.mjs +206 -206
- package/scripts/benchmark-pretrained-retrieval.mjs +305 -305
- package/scripts/benchmark-self-learning.mjs +241 -241
- package/scripts/benchmark-trajectory-mrr.mjs +191 -191
- package/scripts/deploy-ipfs-node.sh +153 -153
- package/scripts/grid-search-retrieval.mjs +216 -216
- package/scripts/postinstall.cjs +153 -153
- package/scripts/pretrain-from-github.mjs +358 -358
- package/scripts/publish-registry.ts +345 -345
- package/scripts/publish.sh +57 -57
- package/scripts/run-beir-bge.mjs +324 -324
- package/scripts/run-beir-hybrid.mjs +261 -261
- package/scripts/run-beir-lucene-bm25.mjs +154 -154
- package/scripts/run-beir-nfcorpus.mjs +231 -231
- package/scripts/run-beir-rrf-ablation.mjs +221 -221
- package/scripts/setup-ipfs-registry.md +366 -366
- package/dist/src/ruvector/flash-attention.d.ts +0 -195
- package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
- package/dist/src/ruvector/flash-attention.js +0 -643
- package/dist/src/ruvector/flash-attention.js.map +0 -1
- package/dist/src/ruvector/moe-router.d.ts +0 -206
- package/dist/src/ruvector/moe-router.d.ts.map +0 -1
- package/dist/src/ruvector/moe-router.js +0 -626
- package/dist/src/ruvector/moe-router.js.map +0 -1
- package/dist/src/services/event-stream.d.ts +0 -25
- package/dist/src/services/event-stream.js +0 -27
- package/dist/src/services/loop-worker-runner.d.ts +0 -16
- package/dist/src/services/loop-worker-runner.js +0 -34
- package/dist/src/services/runtime-capabilities.d.ts +0 -22
- package/dist/src/services/runtime-capabilities.js +0 -45
package/bin/mcp-server.js
CHANGED
|
@@ -1,224 +1,224 @@
|
|
|
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
|
-
|
|
12
|
-
// Suppress the SPECIFIC cosmetic "[AgentDB Patch] Controller index not found"
|
|
13
|
-
// noise. Tight match (both prefix AND "Controller index not found") so other
|
|
14
|
-
// [AgentDB Patch] warnings about real issues still flow through. Also patch
|
|
15
|
-
// console.log because the underlying call site uses it. See bin/cli.js for
|
|
16
|
-
// the same rationale.
|
|
17
|
-
const _origWarn = console.warn;
|
|
18
|
-
const _origLog = console.log;
|
|
19
|
-
const _isCosmeticAgentdbPatchNoise = (msg) =>
|
|
20
|
-
msg.includes('[AgentDB Patch]') && msg.includes('Controller index not found');
|
|
21
|
-
console.warn = (...args) => {
|
|
22
|
-
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
23
|
-
_origWarn.apply(console, args);
|
|
24
|
-
};
|
|
25
|
-
console.log = (...args) => {
|
|
26
|
-
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
27
|
-
_origLog.apply(console, args);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
import { listMCPTools, callMCPTool, hasTool } from '../dist/src/mcp-client.js';
|
|
31
|
-
|
|
32
|
-
const VERSION = '3.0.0';
|
|
33
|
-
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
34
|
-
|
|
35
|
-
// Log to stderr (doesn't corrupt stdout for MCP protocol)
|
|
36
|
-
console.error(
|
|
37
|
-
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
38
|
-
);
|
|
39
|
-
console.error(JSON.stringify({
|
|
40
|
-
arch: process.arch,
|
|
41
|
-
mode: 'mcp-stdio',
|
|
42
|
-
nodeVersion: process.version,
|
|
43
|
-
pid: process.pid,
|
|
44
|
-
platform: process.platform,
|
|
45
|
-
protocol: 'stdio',
|
|
46
|
-
sessionId,
|
|
47
|
-
version: VERSION,
|
|
48
|
-
}));
|
|
49
|
-
|
|
50
|
-
// Handle stdin messages
|
|
51
|
-
// Audit-flagged DoS protection (audit_1776483149979): cap stdin buffer
|
|
52
|
-
// to 10MB. See bin/cli.js for the same protection on the auto-detect path.
|
|
53
|
-
const MCP_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
|
|
54
|
-
let buffer = '';
|
|
55
|
-
|
|
56
|
-
process.stdin.setEncoding('utf8');
|
|
57
|
-
process.stdin.on('data', async (chunk) => {
|
|
58
|
-
buffer += chunk;
|
|
59
|
-
|
|
60
|
-
if (buffer.length > MCP_MAX_BUFFER_BYTES) {
|
|
61
|
-
console.log(JSON.stringify({
|
|
62
|
-
jsonrpc: '2.0',
|
|
63
|
-
id: null,
|
|
64
|
-
error: {
|
|
65
|
-
code: -32700,
|
|
66
|
-
message: `Buffered stdin exceeds ${MCP_MAX_BUFFER_BYTES} bytes without newline; resetting`,
|
|
67
|
-
},
|
|
68
|
-
}));
|
|
69
|
-
buffer = '';
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// Process complete JSON messages (newline-delimited)
|
|
74
|
-
let lines = buffer.split('\n');
|
|
75
|
-
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
76
|
-
|
|
77
|
-
for (const line of lines) {
|
|
78
|
-
if (line.trim()) {
|
|
79
|
-
try {
|
|
80
|
-
const message = JSON.parse(line);
|
|
81
|
-
const response = await handleMessage(message);
|
|
82
|
-
if (response) {
|
|
83
|
-
console.log(JSON.stringify(response));
|
|
84
|
-
}
|
|
85
|
-
} catch (error) {
|
|
86
|
-
console.error(
|
|
87
|
-
`[${new Date().toISOString()}] ERROR [claude-flow-mcp] Failed to parse:`,
|
|
88
|
-
error instanceof Error ? error.message : String(error)
|
|
89
|
-
);
|
|
90
|
-
// Send parse error response
|
|
91
|
-
console.log(JSON.stringify({
|
|
92
|
-
jsonrpc: '2.0',
|
|
93
|
-
id: null,
|
|
94
|
-
error: { code: -32700, message: 'Parse error' },
|
|
95
|
-
}));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
process.stdin.on('end', () => {
|
|
102
|
-
console.error(
|
|
103
|
-
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) stdin closed, shutting down...`
|
|
104
|
-
);
|
|
105
|
-
process.exit(0);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
// Handle process termination
|
|
109
|
-
process.on('SIGINT', () => {
|
|
110
|
-
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Received SIGINT`);
|
|
111
|
-
process.exit(0);
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
process.on('SIGTERM', () => {
|
|
115
|
-
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Received SIGTERM`);
|
|
116
|
-
process.exit(0);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Handle MCP message
|
|
121
|
-
*/
|
|
122
|
-
async function handleMessage(message) {
|
|
123
|
-
if (!message.method) {
|
|
124
|
-
return {
|
|
125
|
-
jsonrpc: '2.0',
|
|
126
|
-
id: message.id,
|
|
127
|
-
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const params = message.params || {};
|
|
132
|
-
|
|
133
|
-
try {
|
|
134
|
-
switch (message.method) {
|
|
135
|
-
case 'initialize':
|
|
136
|
-
return {
|
|
137
|
-
jsonrpc: '2.0',
|
|
138
|
-
id: message.id,
|
|
139
|
-
result: {
|
|
140
|
-
protocolVersion: '2024-11-05',
|
|
141
|
-
serverInfo: { name: 'ruflo', version: VERSION },
|
|
142
|
-
capabilities: {
|
|
143
|
-
tools: { listChanged: true },
|
|
144
|
-
resources: { subscribe: true, listChanged: true },
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
case 'tools/list': {
|
|
150
|
-
const tools = listMCPTools();
|
|
151
|
-
return {
|
|
152
|
-
jsonrpc: '2.0',
|
|
153
|
-
id: message.id,
|
|
154
|
-
result: {
|
|
155
|
-
tools: tools.map(tool => ({
|
|
156
|
-
name: tool.name,
|
|
157
|
-
description: tool.description,
|
|
158
|
-
inputSchema: tool.inputSchema,
|
|
159
|
-
})),
|
|
160
|
-
},
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
case 'tools/call': {
|
|
165
|
-
const toolName = params.name;
|
|
166
|
-
const toolParams = params.arguments || {};
|
|
167
|
-
|
|
168
|
-
if (!hasTool(toolName)) {
|
|
169
|
-
return {
|
|
170
|
-
jsonrpc: '2.0',
|
|
171
|
-
id: message.id,
|
|
172
|
-
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
try {
|
|
177
|
-
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
178
|
-
return {
|
|
179
|
-
jsonrpc: '2.0',
|
|
180
|
-
id: message.id,
|
|
181
|
-
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
182
|
-
};
|
|
183
|
-
} catch (error) {
|
|
184
|
-
return {
|
|
185
|
-
jsonrpc: '2.0',
|
|
186
|
-
id: message.id,
|
|
187
|
-
error: {
|
|
188
|
-
code: -32603,
|
|
189
|
-
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
190
|
-
},
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
case 'notifications/initialized':
|
|
196
|
-
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Client initialized`);
|
|
197
|
-
return null; // No response for notifications
|
|
198
|
-
|
|
199
|
-
case 'ping':
|
|
200
|
-
return {
|
|
201
|
-
jsonrpc: '2.0',
|
|
202
|
-
id: message.id,
|
|
203
|
-
result: {},
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
default:
|
|
207
|
-
return {
|
|
208
|
-
jsonrpc: '2.0',
|
|
209
|
-
id: message.id,
|
|
210
|
-
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
} catch (error) {
|
|
214
|
-
console.error(`[${new Date().toISOString()}] ERROR [claude-flow-mcp] ${message.method}:`, error);
|
|
215
|
-
return {
|
|
216
|
-
jsonrpc: '2.0',
|
|
217
|
-
id: message.id,
|
|
218
|
-
error: {
|
|
219
|
-
code: -32603,
|
|
220
|
-
message: error instanceof Error ? error.message : 'Internal error',
|
|
221
|
-
},
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
}
|
|
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
|
+
|
|
12
|
+
// Suppress the SPECIFIC cosmetic "[AgentDB Patch] Controller index not found"
|
|
13
|
+
// noise. Tight match (both prefix AND "Controller index not found") so other
|
|
14
|
+
// [AgentDB Patch] warnings about real issues still flow through. Also patch
|
|
15
|
+
// console.log because the underlying call site uses it. See bin/cli.js for
|
|
16
|
+
// the same rationale.
|
|
17
|
+
const _origWarn = console.warn;
|
|
18
|
+
const _origLog = console.log;
|
|
19
|
+
const _isCosmeticAgentdbPatchNoise = (msg) =>
|
|
20
|
+
msg.includes('[AgentDB Patch]') && msg.includes('Controller index not found');
|
|
21
|
+
console.warn = (...args) => {
|
|
22
|
+
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
23
|
+
_origWarn.apply(console, args);
|
|
24
|
+
};
|
|
25
|
+
console.log = (...args) => {
|
|
26
|
+
if (_isCosmeticAgentdbPatchNoise(String(args[0] ?? ''))) return;
|
|
27
|
+
_origLog.apply(console, args);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
import { listMCPTools, callMCPTool, hasTool } from '../dist/src/mcp-client.js';
|
|
31
|
+
|
|
32
|
+
const VERSION = '3.0.0';
|
|
33
|
+
const sessionId = `mcp-${Date.now()}-${randomUUID().slice(0, 8)}`;
|
|
34
|
+
|
|
35
|
+
// Log to stderr (doesn't corrupt stdout for MCP protocol)
|
|
36
|
+
console.error(
|
|
37
|
+
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) Starting in stdio mode`
|
|
38
|
+
);
|
|
39
|
+
console.error(JSON.stringify({
|
|
40
|
+
arch: process.arch,
|
|
41
|
+
mode: 'mcp-stdio',
|
|
42
|
+
nodeVersion: process.version,
|
|
43
|
+
pid: process.pid,
|
|
44
|
+
platform: process.platform,
|
|
45
|
+
protocol: 'stdio',
|
|
46
|
+
sessionId,
|
|
47
|
+
version: VERSION,
|
|
48
|
+
}));
|
|
49
|
+
|
|
50
|
+
// Handle stdin messages
|
|
51
|
+
// Audit-flagged DoS protection (audit_1776483149979): cap stdin buffer
|
|
52
|
+
// to 10MB. See bin/cli.js for the same protection on the auto-detect path.
|
|
53
|
+
const MCP_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
|
|
54
|
+
let buffer = '';
|
|
55
|
+
|
|
56
|
+
process.stdin.setEncoding('utf8');
|
|
57
|
+
process.stdin.on('data', async (chunk) => {
|
|
58
|
+
buffer += chunk;
|
|
59
|
+
|
|
60
|
+
if (buffer.length > MCP_MAX_BUFFER_BYTES) {
|
|
61
|
+
console.log(JSON.stringify({
|
|
62
|
+
jsonrpc: '2.0',
|
|
63
|
+
id: null,
|
|
64
|
+
error: {
|
|
65
|
+
code: -32700,
|
|
66
|
+
message: `Buffered stdin exceeds ${MCP_MAX_BUFFER_BYTES} bytes without newline; resetting`,
|
|
67
|
+
},
|
|
68
|
+
}));
|
|
69
|
+
buffer = '';
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Process complete JSON messages (newline-delimited)
|
|
74
|
+
let lines = buffer.split('\n');
|
|
75
|
+
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
76
|
+
|
|
77
|
+
for (const line of lines) {
|
|
78
|
+
if (line.trim()) {
|
|
79
|
+
try {
|
|
80
|
+
const message = JSON.parse(line);
|
|
81
|
+
const response = await handleMessage(message);
|
|
82
|
+
if (response) {
|
|
83
|
+
console.log(JSON.stringify(response));
|
|
84
|
+
}
|
|
85
|
+
} catch (error) {
|
|
86
|
+
console.error(
|
|
87
|
+
`[${new Date().toISOString()}] ERROR [claude-flow-mcp] Failed to parse:`,
|
|
88
|
+
error instanceof Error ? error.message : String(error)
|
|
89
|
+
);
|
|
90
|
+
// Send parse error response
|
|
91
|
+
console.log(JSON.stringify({
|
|
92
|
+
jsonrpc: '2.0',
|
|
93
|
+
id: null,
|
|
94
|
+
error: { code: -32700, message: 'Parse error' },
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
process.stdin.on('end', () => {
|
|
102
|
+
console.error(
|
|
103
|
+
`[${new Date().toISOString()}] INFO [claude-flow-mcp] (${sessionId}) stdin closed, shutting down...`
|
|
104
|
+
);
|
|
105
|
+
process.exit(0);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
// Handle process termination
|
|
109
|
+
process.on('SIGINT', () => {
|
|
110
|
+
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Received SIGINT`);
|
|
111
|
+
process.exit(0);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
process.on('SIGTERM', () => {
|
|
115
|
+
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Received SIGTERM`);
|
|
116
|
+
process.exit(0);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Handle MCP message
|
|
121
|
+
*/
|
|
122
|
+
async function handleMessage(message) {
|
|
123
|
+
if (!message.method) {
|
|
124
|
+
return {
|
|
125
|
+
jsonrpc: '2.0',
|
|
126
|
+
id: message.id,
|
|
127
|
+
error: { code: -32600, message: 'Invalid Request: missing method' },
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const params = message.params || {};
|
|
132
|
+
|
|
133
|
+
try {
|
|
134
|
+
switch (message.method) {
|
|
135
|
+
case 'initialize':
|
|
136
|
+
return {
|
|
137
|
+
jsonrpc: '2.0',
|
|
138
|
+
id: message.id,
|
|
139
|
+
result: {
|
|
140
|
+
protocolVersion: '2024-11-05',
|
|
141
|
+
serverInfo: { name: 'ruflo', version: VERSION },
|
|
142
|
+
capabilities: {
|
|
143
|
+
tools: { listChanged: true },
|
|
144
|
+
resources: { subscribe: true, listChanged: true },
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
case 'tools/list': {
|
|
150
|
+
const tools = listMCPTools();
|
|
151
|
+
return {
|
|
152
|
+
jsonrpc: '2.0',
|
|
153
|
+
id: message.id,
|
|
154
|
+
result: {
|
|
155
|
+
tools: tools.map(tool => ({
|
|
156
|
+
name: tool.name,
|
|
157
|
+
description: tool.description,
|
|
158
|
+
inputSchema: tool.inputSchema,
|
|
159
|
+
})),
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
case 'tools/call': {
|
|
165
|
+
const toolName = params.name;
|
|
166
|
+
const toolParams = params.arguments || {};
|
|
167
|
+
|
|
168
|
+
if (!hasTool(toolName)) {
|
|
169
|
+
return {
|
|
170
|
+
jsonrpc: '2.0',
|
|
171
|
+
id: message.id,
|
|
172
|
+
error: { code: -32601, message: `Tool not found: ${toolName}` },
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
try {
|
|
177
|
+
const result = await callMCPTool(toolName, toolParams, { sessionId });
|
|
178
|
+
return {
|
|
179
|
+
jsonrpc: '2.0',
|
|
180
|
+
id: message.id,
|
|
181
|
+
result: { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] },
|
|
182
|
+
};
|
|
183
|
+
} catch (error) {
|
|
184
|
+
return {
|
|
185
|
+
jsonrpc: '2.0',
|
|
186
|
+
id: message.id,
|
|
187
|
+
error: {
|
|
188
|
+
code: -32603,
|
|
189
|
+
message: error instanceof Error ? error.message : 'Tool execution failed',
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
case 'notifications/initialized':
|
|
196
|
+
console.error(`[${new Date().toISOString()}] INFO [claude-flow-mcp] Client initialized`);
|
|
197
|
+
return null; // No response for notifications
|
|
198
|
+
|
|
199
|
+
case 'ping':
|
|
200
|
+
return {
|
|
201
|
+
jsonrpc: '2.0',
|
|
202
|
+
id: message.id,
|
|
203
|
+
result: {},
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
default:
|
|
207
|
+
return {
|
|
208
|
+
jsonrpc: '2.0',
|
|
209
|
+
id: message.id,
|
|
210
|
+
error: { code: -32601, message: `Method not found: ${message.method}` },
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
} catch (error) {
|
|
214
|
+
console.error(`[${new Date().toISOString()}] ERROR [claude-flow-mcp] ${message.method}:`, error);
|
|
215
|
+
return {
|
|
216
|
+
jsonrpc: '2.0',
|
|
217
|
+
id: message.id,
|
|
218
|
+
error: {
|
|
219
|
+
code: -32603,
|
|
220
|
+
message: error instanceof Error ? error.message : 'Internal error',
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
package/bin/preinstall.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// Preinstall hook — no-op (cache repair removed in 3.1.0-alpha.53)
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Preinstall hook — no-op (cache repair removed in 3.1.0-alpha.53)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
export declare const BUILTIN_CAPABILITY_TASKS: {
|
|
2
|
+
readonly version: "1.3";
|
|
3
|
+
readonly description: "Text-only agent capability benchmark — verifiable multi-step reasoning tasks scoreable without tool use. Format inspired by GAIA / SWE-bench / GSM8K. The fixture mixes EASY (regression-floor) and HARD (model-gradient) questions so the pass rate has signal across Haiku → Sonnet → Opus. Real GAIA (web browsing, attachments, HF dataset) remains future work.";
|
|
4
|
+
readonly answerFormat: "Each question requires the model to reply with the answer wrapped in <answer>...</answer> tags. The harness extracts the tag contents and checks against `expected` per `matchMode`. Per-task `maxTokens` overrides the default cap.";
|
|
5
|
+
readonly tasks: readonly [{
|
|
6
|
+
readonly id: "math-prime";
|
|
7
|
+
readonly category: "easy:reasoning";
|
|
8
|
+
readonly prompt: "What is the smallest 3-digit prime number that does not contain the digit 7?";
|
|
9
|
+
readonly expected: "101";
|
|
10
|
+
readonly matchMode: "exact";
|
|
11
|
+
readonly maxTokens: 192;
|
|
12
|
+
}, {
|
|
13
|
+
readonly id: "logic-syllogism";
|
|
14
|
+
readonly category: "easy:reasoning";
|
|
15
|
+
readonly prompt: "All routers in tier 1 cost less than $0.001 per call. The Booster router is in tier 1. The Sonnet router costs $0.003 per call. Is the Sonnet router in tier 1? Answer with just \"yes\" or \"no\".";
|
|
16
|
+
readonly expected: "no";
|
|
17
|
+
readonly matchMode: "exact";
|
|
18
|
+
readonly maxTokens: 160;
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: "regex-match";
|
|
21
|
+
readonly category: "easy:code-reasoning";
|
|
22
|
+
readonly prompt: "Given the regex /^([a-z]+)-(\\d+)$/ and the input string 'pattern-1779526376', what is the value of capture group 2?";
|
|
23
|
+
readonly expected: "1779526376";
|
|
24
|
+
readonly matchMode: "exact";
|
|
25
|
+
readonly maxTokens: 192;
|
|
26
|
+
}, {
|
|
27
|
+
readonly id: "gsm8k-trip";
|
|
28
|
+
readonly category: "hard:gsm8k-style";
|
|
29
|
+
readonly prompt: "A delivery van starts a route with 240 packages. At stop A it drops off 1/4 of its current load and picks up 6 new packages. At stop B it drops off 1/3 of its current load and picks up 4 new packages. At stop C it drops off half of its current load. How many packages does the van have after stop C? Answer with the integer.";
|
|
30
|
+
readonly expected: "64";
|
|
31
|
+
readonly matchMode: "exact";
|
|
32
|
+
readonly maxTokens: 256;
|
|
33
|
+
}, {
|
|
34
|
+
readonly id: "gsm8k-discount";
|
|
35
|
+
readonly category: "hard:gsm8k-style";
|
|
36
|
+
readonly prompt: "A store sells 3 widgets and 2 sprockets for $23. It also sells 2 widgets and 4 sprockets for $26. What is the price of one widget? Answer with the integer dollar amount only.";
|
|
37
|
+
readonly expected: "5";
|
|
38
|
+
readonly matchMode: "exact";
|
|
39
|
+
readonly maxTokens: 256;
|
|
40
|
+
}, {
|
|
41
|
+
readonly id: "code-trace";
|
|
42
|
+
readonly category: "hard:code-trace";
|
|
43
|
+
readonly prompt: "Consider this JavaScript code:\n```\nconst counts = new Map();\nfor (const c of 'abracadabra') {\n counts.set(c, (counts.get(c) ?? 0) + 1);\n}\nlet maxK = '', maxV = 0;\nfor (const [k, v] of counts) {\n if (v > maxV || (v === maxV && k < maxK)) { maxK = k; maxV = v; }\n}\nconsole.log(`${maxK}:${maxV}`);\n```\nWhat does it print? Answer with just the printed string.";
|
|
44
|
+
readonly expected: "a:5";
|
|
45
|
+
readonly matchMode: "exact";
|
|
46
|
+
readonly maxTokens: 192;
|
|
47
|
+
}, {
|
|
48
|
+
readonly id: "hard-graph-shortest";
|
|
49
|
+
readonly category: "hard:graph-reasoning";
|
|
50
|
+
readonly prompt: "A directed graph has these weighted edges: A→B(3), A→C(7), B→C(2), B→D(5), C→D(1), C→E(4), D→E(2). What is the cost of the shortest path from A to E? Answer with the integer.";
|
|
51
|
+
readonly expected: "8";
|
|
52
|
+
readonly matchMode: "exact";
|
|
53
|
+
readonly maxTokens: 192;
|
|
54
|
+
}, {
|
|
55
|
+
readonly id: "hard-probability";
|
|
56
|
+
readonly category: "hard:probability";
|
|
57
|
+
readonly prompt: "A bag contains 5 red, 3 blue, and 2 green balls. Two balls are drawn without replacement. What is the probability that both balls are the same color? Express as a fraction in lowest terms in the form a/b (e.g. 3/10).";
|
|
58
|
+
readonly expected: "14/45";
|
|
59
|
+
readonly matchMode: "exact";
|
|
60
|
+
readonly maxTokens: 256;
|
|
61
|
+
}, {
|
|
62
|
+
readonly id: "expert-marble-inverse";
|
|
63
|
+
readonly category: "expert:inverse-arithmetic";
|
|
64
|
+
readonly prompt: "A bag of marbles is split as follows: 40% are given to Alice, then 25% of the REMAINING marbles are given to Bob, then half of the remaining marbles (after Alice and Bob) are given to Carol. Carol receives exactly 18 marbles. How many marbles were in the bag originally? Answer with the integer.";
|
|
65
|
+
readonly expected: "80";
|
|
66
|
+
readonly matchMode: "exact";
|
|
67
|
+
readonly maxTokens: 512;
|
|
68
|
+
}, {
|
|
69
|
+
readonly id: "expert-crt";
|
|
70
|
+
readonly category: "expert:number-theory";
|
|
71
|
+
readonly prompt: "Find the smallest positive integer n such that all three of these hold simultaneously: n mod 7 = 3, n mod 9 = 4, n mod 11 = 5. Answer with just the integer.";
|
|
72
|
+
readonly expected: "346";
|
|
73
|
+
readonly matchMode: "exact";
|
|
74
|
+
readonly maxTokens: 768;
|
|
75
|
+
}, {
|
|
76
|
+
readonly id: "expert-bayes";
|
|
77
|
+
readonly category: "expert:bayesian";
|
|
78
|
+
readonly prompt: "A medical test has 95% sensitivity (true positive rate) and 90% specificity (true negative rate). In the screened population, 1% of people have the disease. A patient tests positive. What is the probability the patient actually has the disease, rounded to the nearest whole percent? Answer with just the integer percentage (no '%' sign).";
|
|
79
|
+
readonly expected: "9";
|
|
80
|
+
readonly matchMode: "exact";
|
|
81
|
+
readonly maxTokens: 512;
|
|
82
|
+
}, {
|
|
83
|
+
readonly id: "expert-banana";
|
|
84
|
+
readonly category: "expert:combinatorics";
|
|
85
|
+
readonly prompt: "In how many distinct arrangements of the letters of the word BANANA do no two N's appear next to each other? Answer with the integer.";
|
|
86
|
+
readonly expected: "40";
|
|
87
|
+
readonly matchMode: "exact";
|
|
88
|
+
readonly maxTokens: 512;
|
|
89
|
+
}, {
|
|
90
|
+
readonly id: "expert-rectangle";
|
|
91
|
+
readonly category: "expert:diophantine";
|
|
92
|
+
readonly prompt: "A rectangle has positive integer side lengths. Its perimeter (in linear units) is numerically equal to its area (in square units). Two rectangles that are rotations of each other (e.g. 3x6 and 6x3) count as the same rectangle. What is the sum of the areas of all distinct such rectangles? Answer with the integer.";
|
|
93
|
+
readonly expected: "34";
|
|
94
|
+
readonly matchMode: "exact";
|
|
95
|
+
readonly maxTokens: 512;
|
|
96
|
+
}, {
|
|
97
|
+
readonly id: "expert-dice-reroll";
|
|
98
|
+
readonly category: "expert:expected-value";
|
|
99
|
+
readonly prompt: "You roll a fair 6-sided die. If the result is a 6, you reroll exactly once and take the new result. Otherwise, you keep the original result. What is the expected value of your final number? Express the answer as a fraction in lowest terms in the form a/b (no spaces, no surrounding text).";
|
|
100
|
+
readonly expected: "37/12";
|
|
101
|
+
readonly matchMode: "exact";
|
|
102
|
+
readonly maxTokens: 512;
|
|
103
|
+
}, {
|
|
104
|
+
readonly id: "sonnet-killer-knights";
|
|
105
|
+
readonly category: "sonnet-killer:logic-puzzle";
|
|
106
|
+
readonly prompt: "On an island, knights always tell the truth and knaves always lie. You meet four people named Alice, Bob, Carol, and Dan. They make the following statements: Alice says 'Bob and Carol are different types (one is a knight, the other is a knave).' Bob says 'Alice is a knave.' Carol says 'Dan is a knave.' Dan says 'Carol is a knave.' How many knaves are among the four people? Answer with just the integer.";
|
|
107
|
+
readonly expected: "2";
|
|
108
|
+
readonly matchMode: "exact";
|
|
109
|
+
readonly maxTokens: 768;
|
|
110
|
+
}, {
|
|
111
|
+
readonly id: "sonnet-killer-hofstadter";
|
|
112
|
+
readonly category: "sonnet-killer:recursive-sequence";
|
|
113
|
+
readonly prompt: "A sequence is defined on the positive integers by f(1) = 1 and, for every n > 1, f(n) = f(n - f(n-1)) + 1. Compute f(10). Answer with just the integer.";
|
|
114
|
+
readonly expected: "4";
|
|
115
|
+
readonly matchMode: "exact";
|
|
116
|
+
readonly maxTokens: 768;
|
|
117
|
+
}, {
|
|
118
|
+
readonly id: "sonnet-killer-modexp";
|
|
119
|
+
readonly category: "sonnet-killer:number-theory";
|
|
120
|
+
readonly prompt: "What are the last two digits of 7 raised to the 2026th power? Answer with exactly the two-digit number (e.g. '07' if it's seven, '49' if it's forty-nine).";
|
|
121
|
+
readonly expected: "49";
|
|
122
|
+
readonly matchMode: "exact";
|
|
123
|
+
readonly maxTokens: 512;
|
|
124
|
+
}];
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=capability-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-tasks.d.ts","sourceRoot":"","sources":["../../../src/benchmarks/capability-tasks.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8I3B,CAAC"}
|