claude-flow 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/MIGRATION_SUMMARY.md +221 -221
- package/.claude/agents/analysis/analyze-code-quality.md +57 -57
- package/.claude/agents/analysis/code-analyzer.md +188 -188
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +57 -57
- package/.claude/agents/architecture/system-design/arch-system-design.md +35 -35
- package/.claude/agents/base-template-generator.md +41 -41
- package/.claude/agents/consensus/byzantine-coordinator.md +42 -42
- package/.claude/agents/consensus/crdt-synchronizer.md +976 -976
- package/.claude/agents/consensus/gossip-coordinator.md +42 -42
- package/.claude/agents/consensus/performance-benchmarker.md +830 -830
- package/.claude/agents/consensus/quorum-manager.md +802 -802
- package/.claude/agents/consensus/raft-manager.md +42 -42
- package/.claude/agents/consensus/security-manager.md +601 -601
- package/.claude/agents/core/coder.md +254 -254
- package/.claude/agents/core/planner.md +151 -151
- package/.claude/agents/core/researcher.md +173 -173
- package/.claude/agents/core/reviewer.md +308 -308
- package/.claude/agents/core/tester.md +299 -299
- package/.claude/agents/custom/test-long-runner.md +43 -43
- package/.claude/agents/data/ml/data-ml-model.md +75 -75
- package/.claude/agents/database-specialist.md +9 -9
- package/.claude/agents/development/backend/dev-backend-api.md +28 -28
- package/.claude/agents/development/dev-backend-api.md +177 -177
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +51 -51
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +62 -62
- package/.claude/agents/dual-mode/codex-coordinator.md +201 -201
- package/.claude/agents/dual-mode/codex-worker.md +183 -183
- package/.claude/agents/dual-mode/dual-orchestrator.md +253 -253
- 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 +520 -520
- package/.claude/agents/github/github-modes.md +153 -153
- package/.claude/agents/github/issue-tracker.md +298 -298
- package/.claude/agents/github/multi-repo-swarm.md +524 -524
- package/.claude/agents/github/pr-manager.md +162 -162
- package/.claude/agents/github/project-board-sync.md +477 -477
- package/.claude/agents/github/release-manager.md +335 -335
- package/.claude/agents/github/release-swarm.md +550 -550
- package/.claude/agents/github/repo-architect.md +364 -364
- package/.claude/agents/github/swarm-issue.md +547 -547
- package/.claude/agents/github/swarm-pr.md +398 -398
- package/.claude/agents/github/sync-coordinator.md +422 -422
- package/.claude/agents/github/workflow-automation.md +604 -604
- package/.claude/agents/goal/agent.md +816 -816
- package/.claude/agents/goal/code-goal-planner.md +444 -444
- package/.claude/agents/goal/goal-planner.md +167 -167
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +128 -128
- package/.claude/agents/hive-mind/queen-coordinator.md +201 -201
- package/.claude/agents/hive-mind/scout-explorer.md +240 -240
- package/.claude/agents/hive-mind/swarm-memory-manager.md +191 -191
- package/.claude/agents/hive-mind/worker-specialist.md +215 -215
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/optimization/benchmark-suite.md +662 -662
- package/.claude/agents/optimization/load-balancer.md +428 -428
- package/.claude/agents/optimization/performance-monitor.md +669 -669
- package/.claude/agents/optimization/resource-allocator.md +671 -671
- package/.claude/agents/optimization/topology-optimizer.md +805 -805
- package/.claude/agents/payments/agentic-payments.md +126 -126
- package/.claude/agents/project-coordinator.md +8 -8
- package/.claude/agents/python-specialist.md +9 -9
- package/.claude/agents/reasoning/agent.md +816 -816
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.md +9 -9
- package/.claude/agents/sona/sona-learning-optimizer.md +65 -65
- package/.claude/agents/sparc/architecture.md +452 -452
- package/.claude/agents/sparc/pseudocode.md +298 -298
- package/.claude/agents/sparc/refinement.md +503 -503
- package/.claude/agents/sparc/specification.md +257 -257
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +87 -87
- 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 +363 -363
- package/.claude/agents/swarm/hierarchical-coordinator.md +299 -299
- package/.claude/agents/swarm/mesh-coordinator.md +362 -362
- package/.claude/agents/templates/automation-smart-agent.md +184 -184
- package/.claude/agents/templates/coordinator-swarm-init.md +82 -82
- package/.claude/agents/templates/github-pr-manager.md +154 -154
- package/.claude/agents/templates/implementer-sparc-coder.md +242 -242
- package/.claude/agents/templates/memory-coordinator.md +162 -162
- package/.claude/agents/templates/migration-plan.md +723 -723
- package/.claude/agents/templates/orchestrator-task.md +119 -119
- package/.claude/agents/templates/performance-analyzer.md +178 -178
- package/.claude/agents/templates/sparc-coordinator.md +162 -162
- package/.claude/agents/testing/production-validator.md +372 -372
- package/.claude/agents/testing/tdd-london-swarm.md +221 -221
- package/.claude/agents/testing/unit/tdd-london-swarm.md +221 -221
- package/.claude/agents/testing/validation/production-validator.md +372 -372
- package/.claude/agents/typescript-specialist.md +9 -9
- package/.claude/agents/v3/database-specialist.md +9 -9
- package/.claude/agents/v3/project-coordinator.md +8 -8
- package/.claude/agents/v3/python-specialist.md +9 -9
- package/.claude/agents/v3/test-architect.md +9 -9
- package/.claude/agents/v3/typescript-specialist.md +9 -9
- package/.claude/agents/v3/v3-integration-architect.md +311 -311
- package/.claude/agents/v3/v3-memory-specialist.md +280 -280
- package/.claude/agents/v3/v3-performance-engineer.md +362 -362
- package/.claude/agents/v3/v3-queen-coordinator.md +62 -62
- package/.claude/agents/v3/v3-security-architect.md +139 -139
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/README.md +10 -10
- package/.claude/commands/agents/agent-capabilities.md +21 -21
- 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 +26 -26
- 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 +27 -27
- 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 +73 -73
- package/.claude/commands/training/neural-train.md +25 -25
- 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/config/v3-dependency-optimization.json +265 -265
- package/.claude/config/v3-performance-targets.json +250 -250
- package/.claude/helpers/README.md +96 -96
- package/.claude/helpers/adr-compliance.sh +186 -186
- package/.claude/helpers/aggressive-microcompact.mjs +36 -36
- package/.claude/helpers/auto-commit.sh +178 -178
- package/.claude/helpers/auto-memory-hook.mjs +564 -564
- package/.claude/helpers/checkpoint-manager.sh +251 -251
- package/.claude/helpers/context-persistence-hook.mjs +1979 -1979
- package/.claude/helpers/daemon-manager.sh +252 -252
- package/.claude/helpers/ddd-tracker.sh +144 -144
- package/.claude/helpers/github-safe.js +106 -106
- 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 +263 -263
- package/.claude/helpers/intelligence.cjs +230 -230
- 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.cjs +84 -84
- package/.claude/helpers/metrics-db.mjs +488 -488
- package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
- package/.claude/helpers/pattern-consolidator.sh +86 -86
- package/.claude/helpers/perf-worker.sh +160 -160
- package/.claude/helpers/quick-start.sh +19 -19
- package/.claude/helpers/router.cjs +62 -62
- package/.claude/helpers/security-scanner.sh +127 -127
- package/.claude/helpers/session.cjs +125 -125
- package/.claude/helpers/setup-mcp.sh +18 -18
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
- package/.claude/helpers/statusline.cjs +819 -809
- 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/mcp.json +12 -12
- package/.claude/scheduled_tasks.lock +1 -1
- package/.claude/settings.json +283 -283
- package/.claude/settings.json.bak +526 -526
- 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/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 +1263 -1250
- package/.claude/skills/github-release-management/SKILL.md +1064 -1064
- package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
- package/.claude/skills/hive-mind-advanced/SKILL.md +709 -709
- 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 +560 -560
- 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 +647 -647
- package/.claude/skills/worker-benchmarks/SKILL.md +129 -129
- package/.claude/skills/worker-integration/SKILL.md +147 -147
- package/.claude/statusline-command.sh +176 -176
- package/.claude/statusline.mjs +109 -109
- package/.claude/statusline.sh +431 -431
- package/.claude-plugin/README.md +720 -720
- package/.claude-plugin/docs/INSTALLATION.md +261 -261
- package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -361
- package/.claude-plugin/docs/QUICKSTART.md +361 -361
- package/.claude-plugin/docs/STRUCTURE.md +128 -128
- package/.claude-plugin/hooks/hooks.json +74 -74
- package/.claude-plugin/marketplace.json +170 -170
- package/.claude-plugin/plugin.json +71 -71
- package/.claude-plugin/scripts/install.sh +234 -234
- package/.claude-plugin/scripts/uninstall.sh +36 -36
- package/.claude-plugin/scripts/verify.sh +108 -108
- package/LICENSE +21 -21
- package/README.md +393 -391
- package/bin/cli.js +11 -11
- package/bin/npx-repair.js +7 -7
- package/bin/npx-safe-launch.js +9 -9
- package/package.json +7 -1
- package/v3/@claude-flow/cli/README.md +393 -391
- package/v3/@claude-flow/cli/bin/cli.js +220 -220
- package/v3/@claude-flow/cli/bin/mcp-server.js +224 -224
- package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +2 -2
- package/v3/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/v3/@claude-flow/cli/dist/src/commands/daemon.js +19 -3
- package/v3/@claude-flow/cli/dist/src/commands/doctor.js +105 -23
- package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +26 -26
- package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +122 -104
- package/v3/@claude-flow/cli/dist/src/commands/hooks.js +34 -21
- package/v3/@claude-flow/cli/dist/src/commands/memory.js +68 -0
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +31 -31
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +115 -115
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +99 -99
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +38 -38
- package/v3/@claude-flow/cli/dist/src/index.d.ts +5 -1
- package/v3/@claude-flow/cli/dist/src/index.js +59 -18
- package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +226 -226
- package/v3/@claude-flow/cli/dist/src/init/executor.js +511 -453
- package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +645 -645
- package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +11 -5
- package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +858 -858
- package/v3/@claude-flow/cli/dist/src/init/types.d.ts +7 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +3 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +108 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +4 -2
- package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +19 -0
- package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +14 -1
- package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +28 -3
- package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +72 -3
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +4 -33
- package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +4 -14
- package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.d.ts +5 -57
- package/v3/@claude-flow/cli/dist/src/mcp-tools/validate-input.js +5 -233
- package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +1 -1
- package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +28 -3
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +69 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +319 -66
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +5 -0
- package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +369 -363
- package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.d.ts +48 -0
- package/v3/@claude-flow/cli/dist/src/memory/neural-package-bridge.js +87 -0
- package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +5 -5
- package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +1 -0
- package/v3/@claude-flow/cli/dist/src/output.d.ts +6 -130
- package/v3/@claude-flow/cli/dist/src/output.js +6 -511
- package/v3/@claude-flow/cli/dist/src/parser.d.ts +9 -0
- package/v3/@claude-flow/cli/dist/src/parser.js +11 -0
- package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +4 -1
- package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +0 -2
- package/v3/@claude-flow/cli/dist/src/ruvector/index.js +8 -2
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +22 -1
- package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +125 -5
- package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
- package/v3/@claude-flow/cli/dist/src/types.d.ts +10 -195
- package/v3/@claude-flow/cli/dist/src/types.js +10 -35
- package/v3/@claude-flow/cli/package.json +6 -4
- package/v3/@claude-flow/guidance/README.md +1195 -1195
- package/v3/@claude-flow/guidance/package.json +198 -198
- package/v3/@claude-flow/shared/README.md +323 -323
- package/v3/@claude-flow/shared/package.json +43 -43
- package/v3/README.md +493 -493
|
@@ -1,514 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* V3 CLI Output Formatter
|
|
3
|
-
*
|
|
2
|
+
* V3 CLI Output Formatter — re-export shim (ADR-100, alpha.5).
|
|
3
|
+
*
|
|
4
|
+
* Authoritative source: @claude-flow/cli-core/output. Was a byte-identical
|
|
5
|
+
* 640-line copy. The OutputFormatter class and `output` instance plus all
|
|
6
|
+
* helper exports flow through unchanged. Edit cli-core for behavior changes.
|
|
4
7
|
*/
|
|
5
|
-
|
|
6
|
-
// Color Support
|
|
7
|
-
// ============================================
|
|
8
|
-
const COLORS = {
|
|
9
|
-
// Standard colors
|
|
10
|
-
reset: '\x1b[0m',
|
|
11
|
-
bold: '\x1b[1m',
|
|
12
|
-
dim: '\x1b[2m',
|
|
13
|
-
italic: '\x1b[3m',
|
|
14
|
-
underline: '\x1b[4m',
|
|
15
|
-
// Foreground colors
|
|
16
|
-
black: '\x1b[30m',
|
|
17
|
-
red: '\x1b[31m',
|
|
18
|
-
green: '\x1b[32m',
|
|
19
|
-
yellow: '\x1b[33m',
|
|
20
|
-
blue: '\x1b[34m',
|
|
21
|
-
magenta: '\x1b[35m',
|
|
22
|
-
cyan: '\x1b[36m',
|
|
23
|
-
white: '\x1b[37m',
|
|
24
|
-
gray: '\x1b[90m',
|
|
25
|
-
// Bright foreground colors
|
|
26
|
-
brightRed: '\x1b[91m',
|
|
27
|
-
brightGreen: '\x1b[92m',
|
|
28
|
-
brightYellow: '\x1b[93m',
|
|
29
|
-
brightBlue: '\x1b[94m',
|
|
30
|
-
brightMagenta: '\x1b[95m',
|
|
31
|
-
brightCyan: '\x1b[96m',
|
|
32
|
-
brightWhite: '\x1b[97m',
|
|
33
|
-
// Background colors
|
|
34
|
-
bgBlack: '\x1b[40m',
|
|
35
|
-
bgRed: '\x1b[41m',
|
|
36
|
-
bgGreen: '\x1b[42m',
|
|
37
|
-
bgYellow: '\x1b[43m',
|
|
38
|
-
bgBlue: '\x1b[44m',
|
|
39
|
-
bgMagenta: '\x1b[45m',
|
|
40
|
-
bgCyan: '\x1b[46m',
|
|
41
|
-
bgWhite: '\x1b[47m'
|
|
42
|
-
};
|
|
43
|
-
export class OutputFormatter {
|
|
44
|
-
colorEnabled;
|
|
45
|
-
outputStream;
|
|
46
|
-
errorStream;
|
|
47
|
-
verbosity;
|
|
48
|
-
constructor(options = {}) {
|
|
49
|
-
this.colorEnabled = options.color ?? this.supportsColor();
|
|
50
|
-
this.outputStream = process.stdout;
|
|
51
|
-
this.errorStream = process.stderr;
|
|
52
|
-
this.verbosity = options.verbosity ?? 'normal';
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Set verbosity level
|
|
56
|
-
* - quiet: Only errors and direct results
|
|
57
|
-
* - normal: Errors, warnings, info, and results
|
|
58
|
-
* - verbose: All of normal + debug messages
|
|
59
|
-
* - debug: All output including trace
|
|
60
|
-
*/
|
|
61
|
-
setVerbosity(level) {
|
|
62
|
-
this.verbosity = level;
|
|
63
|
-
}
|
|
64
|
-
getVerbosity() {
|
|
65
|
-
return this.verbosity;
|
|
66
|
-
}
|
|
67
|
-
isQuiet() {
|
|
68
|
-
return this.verbosity === 'quiet';
|
|
69
|
-
}
|
|
70
|
-
isVerbose() {
|
|
71
|
-
return this.verbosity === 'verbose' || this.verbosity === 'debug';
|
|
72
|
-
}
|
|
73
|
-
isDebug() {
|
|
74
|
-
return this.verbosity === 'debug';
|
|
75
|
-
}
|
|
76
|
-
supportsColor() {
|
|
77
|
-
// Check for NO_COLOR environment variable
|
|
78
|
-
if (process.env.NO_COLOR !== undefined)
|
|
79
|
-
return false;
|
|
80
|
-
// Check for FORCE_COLOR environment variable
|
|
81
|
-
if (process.env.FORCE_COLOR !== undefined)
|
|
82
|
-
return true;
|
|
83
|
-
// Check if stdout is a TTY
|
|
84
|
-
return process.stdout.isTTY ?? false;
|
|
85
|
-
}
|
|
86
|
-
// ============================================
|
|
87
|
-
// Color Methods
|
|
88
|
-
// ============================================
|
|
89
|
-
color(text, ...colors) {
|
|
90
|
-
if (!this.colorEnabled)
|
|
91
|
-
return text;
|
|
92
|
-
const codes = colors.map(c => COLORS[c]).join('');
|
|
93
|
-
return `${codes}${text}${COLORS.reset}`;
|
|
94
|
-
}
|
|
95
|
-
bold(text) {
|
|
96
|
-
return this.color(text, 'bold');
|
|
97
|
-
}
|
|
98
|
-
dim(text) {
|
|
99
|
-
return this.color(text, 'dim');
|
|
100
|
-
}
|
|
101
|
-
success(text) {
|
|
102
|
-
return this.color(text, 'green');
|
|
103
|
-
}
|
|
104
|
-
error(text) {
|
|
105
|
-
return this.color(text, 'red');
|
|
106
|
-
}
|
|
107
|
-
warning(text) {
|
|
108
|
-
return this.color(text, 'yellow');
|
|
109
|
-
}
|
|
110
|
-
info(text) {
|
|
111
|
-
return this.color(text, 'blue');
|
|
112
|
-
}
|
|
113
|
-
highlight(text) {
|
|
114
|
-
return this.color(text, 'cyan', 'bold');
|
|
115
|
-
}
|
|
116
|
-
// ============================================
|
|
117
|
-
// Output Methods
|
|
118
|
-
// ============================================
|
|
119
|
-
write(text) {
|
|
120
|
-
this.outputStream.write(text);
|
|
121
|
-
}
|
|
122
|
-
writeln(text = '') {
|
|
123
|
-
this.outputStream.write(text + '\n');
|
|
124
|
-
}
|
|
125
|
-
writeError(text) {
|
|
126
|
-
this.errorStream.write(text);
|
|
127
|
-
}
|
|
128
|
-
writeErrorln(text = '') {
|
|
129
|
-
this.errorStream.write(text + '\n');
|
|
130
|
-
}
|
|
131
|
-
// ============================================
|
|
132
|
-
// Formatted Output Methods
|
|
133
|
-
// ============================================
|
|
134
|
-
printSuccess(message) {
|
|
135
|
-
// Success always shows (result output)
|
|
136
|
-
const icon = this.color('[OK]', 'green', 'bold');
|
|
137
|
-
this.writeln(`${icon} ${message}`);
|
|
138
|
-
}
|
|
139
|
-
printError(message, details) {
|
|
140
|
-
// Errors always show
|
|
141
|
-
const icon = this.color('[ERROR]', 'red', 'bold');
|
|
142
|
-
this.writeErrorln(`${icon} ${message}`);
|
|
143
|
-
if (details) {
|
|
144
|
-
this.writeErrorln(this.dim(` ${details}`));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
printWarning(message) {
|
|
148
|
-
// Warnings suppressed in quiet mode
|
|
149
|
-
if (this.verbosity === 'quiet')
|
|
150
|
-
return;
|
|
151
|
-
const icon = this.color('[WARN]', 'yellow', 'bold');
|
|
152
|
-
this.writeln(`${icon} ${message}`);
|
|
153
|
-
}
|
|
154
|
-
printInfo(message) {
|
|
155
|
-
// Info suppressed in quiet mode
|
|
156
|
-
if (this.verbosity === 'quiet')
|
|
157
|
-
return;
|
|
158
|
-
const icon = this.color('[INFO]', 'blue', 'bold');
|
|
159
|
-
this.writeln(`${icon} ${message}`);
|
|
160
|
-
}
|
|
161
|
-
printDebug(message) {
|
|
162
|
-
// Debug only shows in verbose/debug mode
|
|
163
|
-
if (this.verbosity !== 'verbose' && this.verbosity !== 'debug')
|
|
164
|
-
return;
|
|
165
|
-
const icon = this.color('[DEBUG]', 'gray');
|
|
166
|
-
this.writeln(`${icon} ${this.dim(message)}`);
|
|
167
|
-
}
|
|
168
|
-
printTrace(message) {
|
|
169
|
-
// Trace only shows in debug mode
|
|
170
|
-
if (this.verbosity !== 'debug')
|
|
171
|
-
return;
|
|
172
|
-
const icon = this.color('[TRACE]', 'gray', 'dim');
|
|
173
|
-
this.writeln(`${icon} ${this.dim(message)}`);
|
|
174
|
-
}
|
|
175
|
-
// ============================================
|
|
176
|
-
// Table Formatting
|
|
177
|
-
// ============================================
|
|
178
|
-
table(options) {
|
|
179
|
-
const { columns, data, border = true, header = true, padding = 1, maxWidth } = options;
|
|
180
|
-
// Calculate column widths
|
|
181
|
-
const widths = this.calculateColumnWidths(columns, data, maxWidth);
|
|
182
|
-
const lines = [];
|
|
183
|
-
const pad = ' '.repeat(padding);
|
|
184
|
-
// Border characters
|
|
185
|
-
const borderChars = border ? {
|
|
186
|
-
topLeft: '+', topRight: '+', bottomLeft: '+', bottomRight: '+',
|
|
187
|
-
horizontal: '-', vertical: '|',
|
|
188
|
-
leftT: '+', rightT: '+', topT: '+', bottomT: '+', cross: '+'
|
|
189
|
-
} : {
|
|
190
|
-
topLeft: '', topRight: '', bottomLeft: '', bottomRight: '',
|
|
191
|
-
horizontal: '', vertical: ' ',
|
|
192
|
-
leftT: '', rightT: '', topT: '', bottomT: '', cross: ''
|
|
193
|
-
};
|
|
194
|
-
// Top border
|
|
195
|
-
if (border) {
|
|
196
|
-
lines.push(this.createBorderLine(widths, borderChars, 'top', padding));
|
|
197
|
-
}
|
|
198
|
-
// Header row
|
|
199
|
-
if (header) {
|
|
200
|
-
const headerRow = columns.map((col, i) => {
|
|
201
|
-
const text = this.truncate(col.header, widths[i]);
|
|
202
|
-
return pad + this.alignText(this.bold(text), widths[i], col.align) + pad;
|
|
203
|
-
}).join(borderChars.vertical);
|
|
204
|
-
lines.push(`${borderChars.vertical}${headerRow}${borderChars.vertical}`);
|
|
205
|
-
// Header separator
|
|
206
|
-
if (border) {
|
|
207
|
-
lines.push(this.createBorderLine(widths, borderChars, 'middle', padding));
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
// Data rows
|
|
211
|
-
for (const row of data) {
|
|
212
|
-
const rowCells = columns.map((col, i) => {
|
|
213
|
-
let value = row[col.key];
|
|
214
|
-
// Apply formatter if provided
|
|
215
|
-
if (col.format) {
|
|
216
|
-
value = col.format(value);
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
value = String(value ?? '');
|
|
220
|
-
}
|
|
221
|
-
const text = this.truncate(String(value), widths[i]);
|
|
222
|
-
return pad + this.alignText(text, widths[i], col.align) + pad;
|
|
223
|
-
}).join(borderChars.vertical);
|
|
224
|
-
lines.push(`${borderChars.vertical}${rowCells}${borderChars.vertical}`);
|
|
225
|
-
}
|
|
226
|
-
// Bottom border
|
|
227
|
-
if (border) {
|
|
228
|
-
lines.push(this.createBorderLine(widths, borderChars, 'bottom', padding));
|
|
229
|
-
}
|
|
230
|
-
return lines.join('\n');
|
|
231
|
-
}
|
|
232
|
-
printTable(options) {
|
|
233
|
-
this.writeln(this.table(options));
|
|
234
|
-
}
|
|
235
|
-
calculateColumnWidths(columns, data, maxWidth) {
|
|
236
|
-
const widths = columns.map((col, i) => {
|
|
237
|
-
// Start with header width
|
|
238
|
-
let width = col.header.length;
|
|
239
|
-
// Check all data values
|
|
240
|
-
for (const row of data) {
|
|
241
|
-
let value = row[col.key];
|
|
242
|
-
if (col.format) {
|
|
243
|
-
value = col.format(value);
|
|
244
|
-
}
|
|
245
|
-
const len = this.stripAnsi(String(value ?? '')).length;
|
|
246
|
-
width = Math.max(width, len);
|
|
247
|
-
}
|
|
248
|
-
// Apply column-specific width limit
|
|
249
|
-
if (col.width) {
|
|
250
|
-
width = Math.min(width, col.width);
|
|
251
|
-
}
|
|
252
|
-
return width;
|
|
253
|
-
});
|
|
254
|
-
// Apply max width constraint
|
|
255
|
-
if (maxWidth) {
|
|
256
|
-
const totalWidth = widths.reduce((a, b) => a + b, 0) + (columns.length * 3) + 1;
|
|
257
|
-
if (totalWidth > maxWidth) {
|
|
258
|
-
const reduction = (totalWidth - maxWidth) / columns.length;
|
|
259
|
-
return widths.map(w => Math.max(3, Math.floor(w - reduction)));
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return widths;
|
|
263
|
-
}
|
|
264
|
-
createBorderLine(widths, chars, position, padding) {
|
|
265
|
-
const cellWidth = (w) => chars.horizontal.repeat(w + (padding * 2));
|
|
266
|
-
const cells = widths.map(cellWidth).join(position === 'top' ? chars.topT :
|
|
267
|
-
position === 'bottom' ? chars.bottomT :
|
|
268
|
-
chars.cross);
|
|
269
|
-
const left = position === 'top' ? chars.topLeft : position === 'bottom' ? chars.bottomLeft : chars.leftT;
|
|
270
|
-
const right = position === 'top' ? chars.topRight : position === 'bottom' ? chars.bottomRight : chars.rightT;
|
|
271
|
-
return `${left}${cells}${right}`;
|
|
272
|
-
}
|
|
273
|
-
alignText(text, width, align = 'left') {
|
|
274
|
-
const len = this.stripAnsi(text).length;
|
|
275
|
-
const padding = width - len;
|
|
276
|
-
if (padding <= 0)
|
|
277
|
-
return text;
|
|
278
|
-
switch (align) {
|
|
279
|
-
case 'right':
|
|
280
|
-
return ' '.repeat(padding) + text;
|
|
281
|
-
case 'center':
|
|
282
|
-
const left = Math.floor(padding / 2);
|
|
283
|
-
const right = padding - left;
|
|
284
|
-
return ' '.repeat(left) + text + ' '.repeat(right);
|
|
285
|
-
default:
|
|
286
|
-
return text + ' '.repeat(padding);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
truncate(text, maxLength) {
|
|
290
|
-
const stripped = this.stripAnsi(text);
|
|
291
|
-
if (stripped.length <= maxLength)
|
|
292
|
-
return text;
|
|
293
|
-
return stripped.slice(0, maxLength - 3) + '...';
|
|
294
|
-
}
|
|
295
|
-
stripAnsi(text) {
|
|
296
|
-
return text.replace(/\x1b\[[0-9;]*m/g, '');
|
|
297
|
-
}
|
|
298
|
-
// ============================================
|
|
299
|
-
// Progress Bar
|
|
300
|
-
// ============================================
|
|
301
|
-
createProgress(options) {
|
|
302
|
-
return new Progress(this, options);
|
|
303
|
-
}
|
|
304
|
-
progressBar(current, total, width = 40) {
|
|
305
|
-
const percent = Math.min(100, Math.max(0, (current / total) * 100));
|
|
306
|
-
const filled = Math.round((width * percent) / 100);
|
|
307
|
-
const empty = width - filled;
|
|
308
|
-
const bar = this.color('#'.repeat(filled), 'green') +
|
|
309
|
-
this.dim('-'.repeat(empty));
|
|
310
|
-
return `[${bar}] ${percent.toFixed(1)}%`;
|
|
311
|
-
}
|
|
312
|
-
// ============================================
|
|
313
|
-
// Spinner
|
|
314
|
-
// ============================================
|
|
315
|
-
createSpinner(options) {
|
|
316
|
-
return new Spinner(this, options);
|
|
317
|
-
}
|
|
318
|
-
// ============================================
|
|
319
|
-
// JSON Output
|
|
320
|
-
// ============================================
|
|
321
|
-
json(data, pretty = true) {
|
|
322
|
-
return pretty ? JSON.stringify(data, null, 2) : JSON.stringify(data);
|
|
323
|
-
}
|
|
324
|
-
printJson(data, pretty = true) {
|
|
325
|
-
this.writeln(this.json(data, pretty));
|
|
326
|
-
}
|
|
327
|
-
// ============================================
|
|
328
|
-
// List Output
|
|
329
|
-
// ============================================
|
|
330
|
-
list(items, bullet = '-') {
|
|
331
|
-
return items.map(item => ` ${bullet} ${item}`).join('\n');
|
|
332
|
-
}
|
|
333
|
-
printList(items, bullet = '-') {
|
|
334
|
-
this.writeln(this.list(items, bullet));
|
|
335
|
-
}
|
|
336
|
-
numberedList(items) {
|
|
337
|
-
return items.map((item, i) => ` ${i + 1}. ${item}`).join('\n');
|
|
338
|
-
}
|
|
339
|
-
printNumberedList(items) {
|
|
340
|
-
this.writeln(this.numberedList(items));
|
|
341
|
-
}
|
|
342
|
-
// ============================================
|
|
343
|
-
// Box Output
|
|
344
|
-
// ============================================
|
|
345
|
-
box(content, title) {
|
|
346
|
-
const lines = content.split('\n');
|
|
347
|
-
const maxLen = Math.max(...lines.map(l => this.stripAnsi(l).length), title?.length ?? 0);
|
|
348
|
-
const width = maxLen + 4;
|
|
349
|
-
const border = {
|
|
350
|
-
topLeft: '+', topRight: '+',
|
|
351
|
-
bottomLeft: '+', bottomRight: '+',
|
|
352
|
-
horizontal: '-', vertical: '|'
|
|
353
|
-
};
|
|
354
|
-
const result = [];
|
|
355
|
-
// Top border with optional title
|
|
356
|
-
if (title) {
|
|
357
|
-
const titleText = ` ${title} `;
|
|
358
|
-
const leftPad = Math.floor((width - titleText.length - 2) / 2);
|
|
359
|
-
const rightPad = width - titleText.length - leftPad - 2;
|
|
360
|
-
result.push(border.topLeft +
|
|
361
|
-
border.horizontal.repeat(leftPad) +
|
|
362
|
-
this.bold(titleText) +
|
|
363
|
-
border.horizontal.repeat(rightPad) +
|
|
364
|
-
border.topRight);
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
result.push(border.topLeft + border.horizontal.repeat(width - 2) + border.topRight);
|
|
368
|
-
}
|
|
369
|
-
// Content lines
|
|
370
|
-
for (const line of lines) {
|
|
371
|
-
const stripped = this.stripAnsi(line);
|
|
372
|
-
const padding = maxLen - stripped.length;
|
|
373
|
-
result.push(`${border.vertical} ${line}${' '.repeat(padding)} ${border.vertical}`);
|
|
374
|
-
}
|
|
375
|
-
// Bottom border
|
|
376
|
-
result.push(border.bottomLeft + border.horizontal.repeat(width - 2) + border.bottomRight);
|
|
377
|
-
return result.join('\n');
|
|
378
|
-
}
|
|
379
|
-
printBox(content, title) {
|
|
380
|
-
this.writeln(this.box(content, title));
|
|
381
|
-
}
|
|
382
|
-
setColorEnabled(enabled) {
|
|
383
|
-
this.colorEnabled = enabled;
|
|
384
|
-
}
|
|
385
|
-
isColorEnabled() {
|
|
386
|
-
return this.colorEnabled;
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
// ============================================
|
|
390
|
-
// Progress Class
|
|
391
|
-
// ============================================
|
|
392
|
-
export class Progress {
|
|
393
|
-
current;
|
|
394
|
-
total;
|
|
395
|
-
width;
|
|
396
|
-
startTime;
|
|
397
|
-
formatter;
|
|
398
|
-
showPercentage;
|
|
399
|
-
showETA;
|
|
400
|
-
lastRender = '';
|
|
401
|
-
constructor(formatter, options) {
|
|
402
|
-
this.formatter = formatter;
|
|
403
|
-
this.current = options.current ?? 0;
|
|
404
|
-
this.total = options.total;
|
|
405
|
-
this.width = options.width ?? 40;
|
|
406
|
-
this.showPercentage = options.showPercentage ?? true;
|
|
407
|
-
this.showETA = options.showETA ?? true;
|
|
408
|
-
this.startTime = Date.now();
|
|
409
|
-
}
|
|
410
|
-
update(current) {
|
|
411
|
-
this.current = current;
|
|
412
|
-
this.render();
|
|
413
|
-
}
|
|
414
|
-
increment(amount = 1) {
|
|
415
|
-
this.update(this.current + amount);
|
|
416
|
-
}
|
|
417
|
-
render() {
|
|
418
|
-
const bar = this.formatter.progressBar(this.current, this.total, this.width);
|
|
419
|
-
let output = bar;
|
|
420
|
-
if (this.showETA && this.current > 0) {
|
|
421
|
-
const elapsed = Date.now() - this.startTime;
|
|
422
|
-
const rate = this.current / elapsed;
|
|
423
|
-
const remaining = this.total - this.current;
|
|
424
|
-
const eta = remaining / rate;
|
|
425
|
-
if (isFinite(eta)) {
|
|
426
|
-
output += ` ETA: ${this.formatTime(eta)}`;
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
// Clear previous line and write new
|
|
430
|
-
if (this.lastRender) {
|
|
431
|
-
process.stdout.write('\r' + ' '.repeat(this.lastRender.length) + '\r');
|
|
432
|
-
}
|
|
433
|
-
process.stdout.write(output);
|
|
434
|
-
this.lastRender = output;
|
|
435
|
-
}
|
|
436
|
-
finish() {
|
|
437
|
-
this.current = this.total;
|
|
438
|
-
this.render();
|
|
439
|
-
process.stdout.write('\n');
|
|
440
|
-
}
|
|
441
|
-
formatTime(ms) {
|
|
442
|
-
const seconds = Math.floor(ms / 1000);
|
|
443
|
-
const minutes = Math.floor(seconds / 60);
|
|
444
|
-
const hours = Math.floor(minutes / 60);
|
|
445
|
-
if (hours > 0) {
|
|
446
|
-
return `${hours}h ${minutes % 60}m`;
|
|
447
|
-
}
|
|
448
|
-
else if (minutes > 0) {
|
|
449
|
-
return `${minutes}m ${seconds % 60}s`;
|
|
450
|
-
}
|
|
451
|
-
else {
|
|
452
|
-
return `${seconds}s`;
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
// ============================================
|
|
457
|
-
// Spinner Class
|
|
458
|
-
// ============================================
|
|
459
|
-
export class Spinner {
|
|
460
|
-
formatter;
|
|
461
|
-
text;
|
|
462
|
-
frames;
|
|
463
|
-
interval = null;
|
|
464
|
-
frameIndex = 0;
|
|
465
|
-
static SPINNERS = {
|
|
466
|
-
dots: ['...', '..:', '.::', ':::', '::.', ':..',],
|
|
467
|
-
line: ['-', '\\', '|', '/'],
|
|
468
|
-
arc: ['◜', '◠', '◝', '◞', '◡', '◟'],
|
|
469
|
-
circle: ['◐', '◓', '◑', '◒'],
|
|
470
|
-
arrows: ['←', '↖', '↑', '↗', '→', '↘', '↓', '↙']
|
|
471
|
-
};
|
|
472
|
-
constructor(formatter, options) {
|
|
473
|
-
this.formatter = formatter;
|
|
474
|
-
this.text = options.text;
|
|
475
|
-
this.frames = Spinner.SPINNERS[options.spinner ?? 'dots'];
|
|
476
|
-
}
|
|
477
|
-
start() {
|
|
478
|
-
if (this.interval)
|
|
479
|
-
return;
|
|
480
|
-
this.interval = setInterval(() => {
|
|
481
|
-
this.render();
|
|
482
|
-
this.frameIndex = (this.frameIndex + 1) % this.frames.length;
|
|
483
|
-
}, 100);
|
|
484
|
-
this.interval.unref();
|
|
485
|
-
this.render();
|
|
486
|
-
}
|
|
487
|
-
stop(message) {
|
|
488
|
-
if (this.interval) {
|
|
489
|
-
clearInterval(this.interval);
|
|
490
|
-
this.interval = null;
|
|
491
|
-
}
|
|
492
|
-
// Clear the line
|
|
493
|
-
process.stdout.write('\r' + ' '.repeat(this.text.length + 10) + '\r');
|
|
494
|
-
if (message) {
|
|
495
|
-
this.formatter.writeln(message);
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
succeed(message) {
|
|
499
|
-
this.stop(this.formatter.success(message ?? this.text));
|
|
500
|
-
}
|
|
501
|
-
fail(message) {
|
|
502
|
-
this.stop(this.formatter.error(message ?? this.text));
|
|
503
|
-
}
|
|
504
|
-
render() {
|
|
505
|
-
const frame = this.formatter.info(this.frames[this.frameIndex]);
|
|
506
|
-
process.stdout.write(`\r${frame} ${this.text}`);
|
|
507
|
-
}
|
|
508
|
-
setText(text) {
|
|
509
|
-
this.text = text;
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
// Export singleton instance
|
|
513
|
-
export const output = new OutputFormatter();
|
|
8
|
+
export * from '@claude-flow/cli-core/output';
|
|
514
9
|
//# sourceMappingURL=output.js.map
|
|
@@ -33,6 +33,15 @@ export declare class CommandParser {
|
|
|
33
33
|
* mis-routed because Pass 1 walked past `daemon` and greedy-matched `start`.
|
|
34
34
|
*/
|
|
35
35
|
registerLazyCommandName(name: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* #1791.2 — true when `name` is a lazy command that hasn't been promoted
|
|
38
|
+
* to a fully registered Command yet. The CLI uses this to eagerly load
|
|
39
|
+
* the module before parsing so its subcommand flags (e.g. `-d` for
|
|
40
|
+
* `hive-mind task --description`) are scoped into the alias map. Without
|
|
41
|
+
* this, lazy commands' short flags silently fall through to global
|
|
42
|
+
* resolution and the action handler sees an empty `flags.description`.
|
|
43
|
+
*/
|
|
44
|
+
isLazyOnly(name: string): boolean;
|
|
36
45
|
private isKnownCommandName;
|
|
37
46
|
getCommand(name: string): Command | undefined;
|
|
38
47
|
getAllCommands(): Command[];
|
|
@@ -93,6 +93,17 @@ export class CommandParser {
|
|
|
93
93
|
registerLazyCommandName(name) {
|
|
94
94
|
this.lazyCommandNames.add(name);
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* #1791.2 — true when `name` is a lazy command that hasn't been promoted
|
|
98
|
+
* to a fully registered Command yet. The CLI uses this to eagerly load
|
|
99
|
+
* the module before parsing so its subcommand flags (e.g. `-d` for
|
|
100
|
+
* `hive-mind task --description`) are scoped into the alias map. Without
|
|
101
|
+
* this, lazy commands' short flags silently fall through to global
|
|
102
|
+
* resolution and the action handler sees an empty `flags.description`.
|
|
103
|
+
*/
|
|
104
|
+
isLazyOnly(name) {
|
|
105
|
+
return this.lazyCommandNames.has(name) && !this.commands.has(name);
|
|
106
|
+
}
|
|
96
107
|
isKnownCommandName(name) {
|
|
97
108
|
return this.commands.has(name) || this.lazyCommandNames.has(name);
|
|
98
109
|
}
|
|
@@ -62,34 +62,34 @@ function parseArgs() {
|
|
|
62
62
|
* Show help message
|
|
63
63
|
*/
|
|
64
64
|
function showHelp() {
|
|
65
|
-
console.log(`
|
|
66
|
-
Headless Runtime for RuFlo V3
|
|
67
|
-
|
|
68
|
-
Usage:
|
|
69
|
-
headless --worker <type> Run a specific worker
|
|
70
|
-
headless --daemon Start background daemon
|
|
71
|
-
headless --benchmark Run performance benchmarks
|
|
72
|
-
headless --status Show system status
|
|
73
|
-
|
|
74
|
-
Workers: ${HEADLESS_WORKER_TYPES.join(', ')}
|
|
75
|
-
|
|
76
|
-
Options:
|
|
77
|
-
-w, --worker <type> Worker type to run
|
|
78
|
-
-d, --daemon Run as daemon
|
|
79
|
-
-b, --benchmark Run benchmarks
|
|
80
|
-
-s, --status Show status
|
|
81
|
-
-t, --timeout <ms> Execution timeout (default: 60000)
|
|
82
|
-
-v, --verbose Verbose output
|
|
83
|
-
-h, --help Show help
|
|
84
|
-
|
|
85
|
-
Environment:
|
|
86
|
-
CLAUDE_FLOW_HEADLESS=true Enable headless mode
|
|
87
|
-
CLAUDE_CODE_HEADLESS=true Enable Claude Code headless
|
|
88
|
-
|
|
89
|
-
Examples:
|
|
90
|
-
headless --worker audit --timeout 120000
|
|
91
|
-
headless --daemon
|
|
92
|
-
headless --benchmark
|
|
65
|
+
console.log(`
|
|
66
|
+
Headless Runtime for RuFlo V3
|
|
67
|
+
|
|
68
|
+
Usage:
|
|
69
|
+
headless --worker <type> Run a specific worker
|
|
70
|
+
headless --daemon Start background daemon
|
|
71
|
+
headless --benchmark Run performance benchmarks
|
|
72
|
+
headless --status Show system status
|
|
73
|
+
|
|
74
|
+
Workers: ${HEADLESS_WORKER_TYPES.join(', ')}
|
|
75
|
+
|
|
76
|
+
Options:
|
|
77
|
+
-w, --worker <type> Worker type to run
|
|
78
|
+
-d, --daemon Run as daemon
|
|
79
|
+
-b, --benchmark Run benchmarks
|
|
80
|
+
-s, --status Show status
|
|
81
|
+
-t, --timeout <ms> Execution timeout (default: 60000)
|
|
82
|
+
-v, --verbose Verbose output
|
|
83
|
+
-h, --help Show help
|
|
84
|
+
|
|
85
|
+
Environment:
|
|
86
|
+
CLAUDE_FLOW_HEADLESS=true Enable headless mode
|
|
87
|
+
CLAUDE_CODE_HEADLESS=true Enable Claude Code headless
|
|
88
|
+
|
|
89
|
+
Examples:
|
|
90
|
+
headless --worker audit --timeout 120000
|
|
91
|
+
headless --daemon
|
|
92
|
+
headless --benchmark
|
|
93
93
|
`);
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
@@ -59,8 +59,11 @@ function generateId() {
|
|
|
59
59
|
export async function createWasmAgent(config = {}) {
|
|
60
60
|
await initAgentWasm();
|
|
61
61
|
const mod = await import('@ruvector/rvagent-wasm');
|
|
62
|
+
// #1810 — was hardcoded `anthropic:claude-sonnet-4-20250514`. Updated to
|
|
63
|
+
// current Sonnet (4.6) so new gallery agents don't silently inherit a
|
|
64
|
+
// year-old model. Callers can still override via `config.model`.
|
|
62
65
|
const configJson = JSON.stringify({
|
|
63
|
-
model: config.model ?? 'anthropic:claude-sonnet-4-
|
|
66
|
+
model: config.model ?? 'anthropic:claude-sonnet-4-6',
|
|
64
67
|
instructions: config.instructions ?? 'You are a helpful coding assistant.',
|
|
65
68
|
max_turns: config.maxTurns ?? 50,
|
|
66
69
|
});
|
|
@@ -13,13 +13,11 @@
|
|
|
13
13
|
* @module @claude-flow/cli/ruvector
|
|
14
14
|
*/
|
|
15
15
|
export { QLearningRouter, createQLearningRouter, type QLearningRouterConfig, type RouteDecision } from './q-learning-router.js';
|
|
16
|
-
export { MoERouter, getMoERouter, resetMoERouter, createMoERouter, EXPERT_NAMES, NUM_EXPERTS, INPUT_DIM, HIDDEN_DIM, type ExpertType, type MoERouterConfig, type RoutingResult, type LoadBalanceStats, } from './moe-router.js';
|
|
17
16
|
export { ASTAnalyzer, createASTAnalyzer, type ASTAnalysis, type ASTNode, type ASTAnalyzerConfig } from './ast-analyzer.js';
|
|
18
17
|
export { DiffClassifier, createDiffClassifier, analyzeDiff, analyzeDiffSync, assessFileRisk, assessOverallRisk, classifyDiff, suggestReviewers, getGitDiffNumstat, getGitDiffNumstatAsync, clearDiffCache, clearAllDiffCaches, type DiffClassification, type DiffHunk, type DiffChange, type FileDiff, type DiffAnalysis, type DiffClassifierConfig, type DiffFile, type RiskLevel, type FileRisk, type OverallRisk, type DiffAnalysisResult, } from './diff-classifier.js';
|
|
19
18
|
export { CoverageRouter, createCoverageRouter, coverageRoute, coverageSuggest, coverageGaps, clearCoverageCache, getCoverageCacheStats, type CoverageRouterConfig, type FileCoverage, type CoverageReport, type CoverageRouteResult, type CoverageSuggestResult, type CoverageGapsResult, type CoverageRouteOptions, type CoverageSuggestOptions, type CoverageGapsOptions, } from './coverage-router.js';
|
|
20
19
|
export { coverageRouterTools, hooksCoverageRoute, hooksCoverageSuggest, hooksCoverageGaps } from './coverage-tools.js';
|
|
21
20
|
export { buildDependencyGraph, analyzeGraph, analyzeMinCutBoundaries, analyzeModuleCommunities, detectCircularDependencies, exportToDot, loadRuVector, fallbackMinCut, fallbackLouvain, clearGraphCaches, getGraphCacheStats, type GraphNode, type GraphEdge, type DependencyGraph, type MinCutBoundary, type ModuleCommunity, type CircularDependency, type GraphAnalysisResult, } from './graph-analyzer.js';
|
|
22
|
-
export { FlashAttention, getFlashAttention, resetFlashAttention, computeAttention, benchmarkFlashAttention, getFlashAttentionSpeedup, type FlashAttentionConfig, type AttentionResult, type BenchmarkResult, } from './flash-attention.js';
|
|
23
21
|
export { LoRAAdapter, getLoRAAdapter, resetLoRAAdapter, createLoRAAdapter, adaptEmbedding, trainLoRA, getLoRAStats, DEFAULT_RANK, DEFAULT_ALPHA, INPUT_DIM as LORA_INPUT_DIM, OUTPUT_DIM as LORA_OUTPUT_DIM, type LoRAConfig, type LoRAWeights, type AdaptationResult, type LoRAStats, } from './lora-adapter.js';
|
|
24
22
|
export { ModelRouter, getModelRouter, resetModelRouter, createModelRouter, routeToModel, routeToModelFull, analyzeTaskComplexity, getModelRouterStats, recordModelOutcome, MODEL_CAPABILITIES, COMPLEXITY_INDICATORS, type ClaudeModel, type ModelRouterConfig, type ModelRoutingResult, type ComplexityAnalysis, } from './model-router.js';
|
|
25
23
|
export { SemanticRouter, createSemanticRouter, type Intent, type RouteResult, type RouterConfig, } from './semantic-router.js';
|
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
* @module @claude-flow/cli/ruvector
|
|
14
14
|
*/
|
|
15
15
|
export { QLearningRouter, createQLearningRouter } from './q-learning-router.js';
|
|
16
|
-
|
|
16
|
+
// #1773 item 4 — moe-router migrated to @claude-flow/neural. Direct
|
|
17
|
+
// consumers (hooks-tools.ts) import from '@claude-flow/neural' explicitly;
|
|
18
|
+
// re-exporting through this barrel would force vitest to resolve the
|
|
19
|
+
// neural pkg's transitive @ruvector/sona dep eagerly. Keep imports direct.
|
|
17
20
|
export { ASTAnalyzer, createASTAnalyzer } from './ast-analyzer.js';
|
|
18
21
|
export { DiffClassifier, createDiffClassifier,
|
|
19
22
|
// MCP tool exports
|
|
@@ -29,7 +32,10 @@ export { coverageRouterTools, hooksCoverageRoute, hooksCoverageSuggest, hooksCov
|
|
|
29
32
|
export { buildDependencyGraph, analyzeGraph, analyzeMinCutBoundaries, analyzeModuleCommunities, detectCircularDependencies, exportToDot, loadRuVector, fallbackMinCut, fallbackLouvain,
|
|
30
33
|
// Cache utilities (NEW)
|
|
31
34
|
clearGraphCaches, getGraphCacheStats, } from './graph-analyzer.js';
|
|
32
|
-
|
|
35
|
+
// #1773 item 4 — flash-attention migrated to @claude-flow/neural. Direct
|
|
36
|
+
// consumers (hooks-tools.ts, neural-tools.ts) import from '@claude-flow/neural'
|
|
37
|
+
// explicitly; re-exporting through this barrel pulls the package's
|
|
38
|
+
// transitive @ruvector/sona dep into vitest's eager resolution.
|
|
33
39
|
export { LoRAAdapter, getLoRAAdapter, resetLoRAAdapter, createLoRAAdapter, adaptEmbedding, trainLoRA, getLoRAStats, DEFAULT_RANK, DEFAULT_ALPHA, INPUT_DIM as LORA_INPUT_DIM, OUTPUT_DIM as LORA_OUTPUT_DIM, } from './lora-adapter.js';
|
|
34
40
|
export { ModelRouter, getModelRouter, resetModelRouter, createModelRouter, routeToModel, routeToModelFull, analyzeTaskComplexity, getModelRouterStats, recordModelOutcome, MODEL_CAPABILITIES, COMPLEXITY_INDICATORS, } from './model-router.js';
|
|
35
41
|
export { SemanticRouter, createSemanticRouter, } from './semantic-router.js';
|