@claude-flow/cli 3.32.3 → 3.32.4
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/helpers/helpers.manifest.json +2 -2
- package/catalog-manifest.json +2 -2
- package/dist/src/agenticow/speculative-exploration.d.ts +148 -0
- package/dist/src/agenticow/speculative-exploration.js +218 -0
- package/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/dist/src/appliance/gguf-engine.js +425 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/dist/src/appliance/ruvllm-bridge.js +292 -0
- package/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/dist/src/appliance/rvfa-builder.js +329 -0
- package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/dist/src/appliance/rvfa-distribution.js +370 -0
- package/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/dist/src/appliance/rvfa-format.js +393 -0
- package/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/dist/src/appliance/rvfa-runner.js +237 -0
- package/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/dist/src/appliance/rvfa-signing.js +347 -0
- package/dist/src/auth/client.d.ts +89 -0
- package/dist/src/auth/client.js +242 -0
- package/dist/src/auth/constants.d.ts +7 -0
- package/dist/src/auth/constants.js +7 -0
- package/dist/src/auth/scopes.d.ts +14 -0
- package/dist/src/auth/scopes.js +21 -0
- package/dist/src/auth/security-bridge.d.ts +36 -0
- package/dist/src/auth/security-bridge.js +42 -0
- package/dist/src/auth/session.d.ts +20 -0
- package/dist/src/auth/session.js +32 -0
- package/dist/src/auth/state.d.ts +19 -0
- package/dist/src/auth/state.js +53 -0
- package/dist/src/auth/types.d.ts +27 -0
- package/dist/src/auth/types.js +11 -0
- package/dist/src/autopilot-state.d.ts +77 -0
- package/dist/src/autopilot-state.js +271 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +18 -0
- package/dist/src/benchmarks/gaia-agent-planning.smoke.js +253 -0
- package/dist/src/benchmarks/gaia-agent.d.ts +198 -0
- package/dist/src/benchmarks/gaia-agent.js +651 -0
- package/dist/src/benchmarks/gaia-causal-memory.d.ts +133 -0
- package/dist/src/benchmarks/gaia-causal-memory.js +281 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +22 -0
- package/dist/src/benchmarks/gaia-causal-memory.smoke.js +300 -0
- package/dist/src/benchmarks/gaia-convergence.d.ts +138 -0
- package/dist/src/benchmarks/gaia-convergence.js +260 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.d.ts +19 -0
- package/dist/src/benchmarks/gaia-convergence.smoke.js +246 -0
- package/dist/src/benchmarks/gaia-critic.d.ts +123 -0
- package/dist/src/benchmarks/gaia-critic.js +312 -0
- package/dist/src/benchmarks/gaia-critic.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-critic.smoke.js +327 -0
- package/dist/src/benchmarks/gaia-decomposer.d.ts +125 -0
- package/dist/src/benchmarks/gaia-decomposer.js +350 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +21 -0
- package/dist/src/benchmarks/gaia-decomposer.smoke.js +228 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.d.ts +27 -0
- package/dist/src/benchmarks/gaia-e2e-smoke.js +136 -0
- package/dist/src/benchmarks/gaia-extract.smoke.d.ts +45 -0
- package/dist/src/benchmarks/gaia-extract.smoke.js +242 -0
- package/dist/src/benchmarks/gaia-hardness/features.d.ts +46 -0
- package/dist/src/benchmarks/gaia-hardness/features.js +170 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.d.ts +105 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.js +260 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +235 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +51 -0
- package/dist/src/benchmarks/gaia-hardness/train-data-loader.js +179 -0
- package/dist/src/benchmarks/gaia-judge.d.ts +88 -0
- package/dist/src/benchmarks/gaia-judge.js +437 -0
- package/dist/src/benchmarks/gaia-loader.d.ts +87 -0
- package/dist/src/benchmarks/gaia-loader.js +326 -0
- package/dist/src/benchmarks/gaia-tools/file_read.d.ts +35 -0
- package/dist/src/benchmarks/gaia-tools/file_read.js +403 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +126 -0
- package/dist/src/benchmarks/gaia-tools/grounded_query.js +225 -0
- package/dist/src/benchmarks/gaia-tools/index.d.ts +32 -0
- package/dist/src/benchmarks/gaia-tools/index.js +36 -0
- package/dist/src/benchmarks/gaia-tools/types.d.ts +62 -0
- package/dist/src/benchmarks/gaia-tools/types.js +12 -0
- package/dist/src/benchmarks/gaia-tools/web_search.d.ts +30 -0
- package/dist/src/benchmarks/gaia-tools/web_search.js +210 -0
- package/dist/src/benchmarks/gaia-voting.d.ts +88 -0
- package/dist/src/benchmarks/gaia-voting.js +297 -0
- package/dist/src/benchmarks/gaia-voting.smoke.d.ts +20 -0
- package/dist/src/benchmarks/gaia-voting.smoke.js +332 -0
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.js +404 -0
- package/dist/src/business-pods/bbs-budget-tracker.d.ts +139 -0
- package/dist/src/business-pods/bbs-budget-tracker.js +358 -0
- package/dist/src/business-pods/domain-affinity-policy.d.ts +47 -0
- package/dist/src/business-pods/domain-affinity-policy.js +65 -0
- package/dist/src/business-pods/pod-schema.d.ts +96 -0
- package/dist/src/business-pods/pod-schema.js +225 -0
- package/dist/src/commands/advisor.d.ts +15 -0
- package/dist/src/commands/advisor.js +94 -0
- package/dist/src/commands/agent-wasm.d.ts +14 -0
- package/dist/src/commands/agent-wasm.js +333 -0
- package/dist/src/commands/agent.d.ts +8 -0
- package/dist/src/commands/agent.js +927 -0
- package/dist/src/commands/analyze.d.ts +19 -0
- package/dist/src/commands/analyze.js +2047 -0
- package/dist/src/commands/announcements.d.ts +17 -0
- package/dist/src/commands/announcements.js +0 -0
- package/dist/src/commands/appliance-advanced.d.ts +9 -0
- package/dist/src/commands/appliance-advanced.js +215 -0
- package/dist/src/commands/appliance.d.ts +8 -0
- package/dist/src/commands/appliance.js +404 -0
- package/dist/src/commands/auth.d.ts +15 -0
- package/dist/src/commands/auth.js +244 -0
- package/dist/src/commands/autopilot.d.ts +15 -0
- package/dist/src/commands/autopilot.js +407 -0
- package/dist/src/commands/benchmark.d.ts +10 -0
- package/dist/src/commands/benchmark.js +460 -0
- package/dist/src/commands/claims.d.ts +10 -0
- package/dist/src/commands/claims.js +620 -0
- package/dist/src/commands/cleanup.d.ts +13 -0
- package/dist/src/commands/cleanup.js +250 -0
- package/dist/src/commands/completions.d.ts +10 -0
- package/dist/src/commands/completions.js +539 -0
- package/dist/src/commands/config.d.ts +8 -0
- package/dist/src/commands/config.js +428 -0
- package/dist/src/commands/daemon.d.ts +59 -0
- package/dist/src/commands/daemon.js +1733 -0
- package/dist/src/commands/deployment.d.ts +10 -0
- package/dist/src/commands/deployment.js +672 -0
- package/dist/src/commands/doctor.d.ts +10 -0
- package/dist/src/commands/doctor.js +1902 -0
- package/dist/src/commands/eject.d.ts +33 -0
- package/dist/src/commands/eject.js +195 -0
- package/dist/src/commands/embeddings.d.ts +18 -0
- package/dist/src/commands/embeddings.js +1623 -0
- package/dist/src/commands/funnel.d.ts +18 -0
- package/dist/src/commands/funnel.js +302 -0
- package/dist/src/commands/gaia-bench.d.ts +40 -0
- package/dist/src/commands/gaia-bench.js +597 -0
- package/dist/src/commands/guidance.d.ts +8 -0
- package/dist/src/commands/guidance.js +556 -0
- package/dist/src/commands/hive-mind.d.ts +11 -0
- package/dist/src/commands/hive-mind.js +1319 -0
- package/dist/src/commands/hooks.d.ts +8 -0
- package/dist/src/commands/hooks.js +4606 -0
- package/dist/src/commands/index.d.ts +118 -0
- package/dist/src/commands/index.js +366 -0
- package/dist/src/commands/init.d.ts +13 -0
- package/dist/src/commands/init.js +1297 -0
- package/dist/src/commands/issues.d.ts +21 -0
- package/dist/src/commands/issues.js +567 -0
- package/dist/src/commands/mcp.d.ts +11 -0
- package/dist/src/commands/mcp.js +732 -0
- package/dist/src/commands/memory-backup.d.ts +11 -0
- package/dist/src/commands/memory-backup.js +46 -0
- package/dist/src/commands/memory-distill.d.ts +27 -0
- package/dist/src/commands/memory-distill.js +374 -0
- package/dist/src/commands/memory.d.ts +8 -0
- package/dist/src/commands/memory.js +1596 -0
- package/dist/src/commands/metaharness.d.ts +39 -0
- package/dist/src/commands/metaharness.js +215 -0
- package/dist/src/commands/migrate.d.ts +8 -0
- package/dist/src/commands/migrate.js +742 -0
- package/dist/src/commands/neural.d.ts +10 -0
- package/dist/src/commands/neural.js +4331 -0
- package/dist/src/commands/performance.d.ts +10 -0
- package/dist/src/commands/performance.js +583 -0
- package/dist/src/commands/plugins.d.ts +11 -0
- package/dist/src/commands/plugins.js +826 -0
- package/dist/src/commands/process.d.ts +10 -0
- package/dist/src/commands/process.js +694 -0
- package/dist/src/commands/progress.d.ts +11 -0
- package/dist/src/commands/progress.js +259 -0
- package/dist/src/commands/providers.d.ts +10 -0
- package/dist/src/commands/providers.js +502 -0
- package/dist/src/commands/proxy-lifecycle.d.ts +12 -0
- package/dist/src/commands/proxy-lifecycle.js +232 -0
- package/dist/src/commands/proxy.d.ts +21 -0
- package/dist/src/commands/proxy.js +398 -0
- package/dist/src/commands/route.d.ts +16 -0
- package/dist/src/commands/route.js +822 -0
- package/dist/src/commands/ruvector/backup.d.ts +11 -0
- package/dist/src/commands/ruvector/backup.js +747 -0
- package/dist/src/commands/ruvector/benchmark.d.ts +11 -0
- package/dist/src/commands/ruvector/benchmark.js +490 -0
- package/dist/src/commands/ruvector/import.d.ts +18 -0
- package/dist/src/commands/ruvector/import.js +373 -0
- package/dist/src/commands/ruvector/index.d.ts +29 -0
- package/dist/src/commands/ruvector/index.js +129 -0
- package/dist/src/commands/ruvector/init.d.ts +11 -0
- package/dist/src/commands/ruvector/init.js +467 -0
- package/dist/src/commands/ruvector/migrate.d.ts +11 -0
- package/dist/src/commands/ruvector/migrate.js +498 -0
- package/dist/src/commands/ruvector/optimize.d.ts +11 -0
- package/dist/src/commands/ruvector/optimize.js +505 -0
- package/dist/src/commands/ruvector/pg-utils.d.ts +14 -0
- package/dist/src/commands/ruvector/pg-utils.js +41 -0
- package/dist/src/commands/ruvector/setup.d.ts +18 -0
- package/dist/src/commands/ruvector/setup.js +765 -0
- package/dist/src/commands/ruvector/status.d.ts +11 -0
- package/dist/src/commands/ruvector/status.js +479 -0
- package/dist/src/commands/security.d.ts +10 -0
- package/dist/src/commands/security.js +1012 -0
- package/dist/src/commands/session.d.ts +8 -0
- package/dist/src/commands/session.js +757 -0
- package/dist/src/commands/settings.d.ts +19 -0
- package/dist/src/commands/settings.js +180 -0
- package/dist/src/commands/spinner.d.ts +16 -0
- package/dist/src/commands/spinner.js +329 -0
- package/dist/src/commands/start.d.ts +8 -0
- package/dist/src/commands/start.js +418 -0
- package/dist/src/commands/status.d.ts +8 -0
- package/dist/src/commands/status.js +608 -0
- package/dist/src/commands/swarm.d.ts +8 -0
- package/dist/src/commands/swarm.js +891 -0
- package/dist/src/commands/task.d.ts +8 -0
- package/dist/src/commands/task.js +675 -0
- package/dist/src/commands/transfer-store.d.ts +13 -0
- package/dist/src/commands/transfer-store.js +428 -0
- package/dist/src/commands/update.d.ts +8 -0
- package/dist/src/commands/update.js +276 -0
- package/dist/src/commands/verify.d.ts +19 -0
- package/dist/src/commands/verify.js +261 -0
- package/dist/src/commands/version.d.ts +42 -0
- package/dist/src/commands/version.js +106 -0
- package/dist/src/commands/workflow.d.ts +8 -0
- package/dist/src/commands/workflow.js +617 -0
- package/dist/src/config/harness-feedback-applier.d.ts +50 -0
- package/dist/src/config/harness-feedback-applier.js +122 -0
- package/dist/src/config/proven-config-refresh.d.ts +39 -0
- package/dist/src/config/proven-config-refresh.js +154 -0
- package/dist/src/config/proven-config-rvfa.d.ts +23 -0
- package/dist/src/config/proven-config-rvfa.js +73 -0
- package/dist/src/config/proven-config.d.ts +86 -0
- package/dist/src/config/proven-config.js +176 -0
- package/dist/src/config-adapter.d.ts +15 -0
- package/dist/src/config-adapter.js +186 -0
- package/dist/src/encryption/vault.d.ts +94 -0
- package/dist/src/encryption/vault.js +172 -0
- package/dist/src/fs-secure.d.ts +86 -0
- package/dist/src/fs-secure.js +133 -0
- package/dist/src/funnel/advisor-tip.d.ts +58 -0
- package/dist/src/funnel/advisor-tip.js +92 -0
- package/dist/src/funnel/attribution.d.ts +37 -0
- package/dist/src/funnel/attribution.js +101 -0
- package/dist/src/funnel/consent.d.ts +22 -0
- package/dist/src/funnel/consent.js +58 -0
- package/dist/src/funnel/credit-errors.d.ts +31 -0
- package/dist/src/funnel/credit-errors.js +88 -0
- package/dist/src/funnel/credit-notifier.d.ts +44 -0
- package/dist/src/funnel/credit-notifier.js +74 -0
- package/dist/src/funnel/disclosure.d.ts +47 -0
- package/dist/src/funnel/disclosure.js +109 -0
- package/dist/src/funnel/enrollment.d.ts +36 -0
- package/dist/src/funnel/enrollment.js +64 -0
- package/dist/src/funnel/environment.d.ts +17 -0
- package/dist/src/funnel/environment.js +39 -0
- package/dist/src/funnel/event-transport.d.ts +51 -0
- package/dist/src/funnel/event-transport.js +199 -0
- package/dist/src/funnel/events.d.ts +42 -0
- package/dist/src/funnel/events.js +150 -0
- package/dist/src/funnel/index.d.ts +21 -0
- package/dist/src/funnel/index.js +21 -0
- package/dist/src/funnel/insights.d.ts +50 -0
- package/dist/src/funnel/insights.js +120 -0
- package/dist/src/funnel/local-signals.d.ts +20 -0
- package/dist/src/funnel/local-signals.js +77 -0
- package/dist/src/funnel/message-transport.d.ts +51 -0
- package/dist/src/funnel/message-transport.js +149 -0
- package/dist/src/funnel/messages.d.ts +55 -0
- package/dist/src/funnel/messages.js +160 -0
- package/dist/src/funnel/payout.d.ts +40 -0
- package/dist/src/funnel/payout.js +60 -0
- package/dist/src/funnel/power-saver-notifier.d.ts +44 -0
- package/dist/src/funnel/power-saver-notifier.js +92 -0
- package/dist/src/funnel/precedence.d.ts +16 -0
- package/dist/src/funnel/precedence.js +85 -0
- package/dist/src/funnel/promo.d.ts +41 -0
- package/dist/src/funnel/promo.js +144 -0
- package/dist/src/funnel/rate-limit-notifier.d.ts +55 -0
- package/dist/src/funnel/rate-limit-notifier.js +102 -0
- package/dist/src/funnel/rotation.d.ts +19 -0
- package/dist/src/funnel/rotation.js +70 -0
- package/dist/src/funnel/state.d.ts +13 -0
- package/dist/src/funnel/state.js +52 -0
- package/dist/src/funnel/toggle-cooldown.d.ts +17 -0
- package/dist/src/funnel/toggle-cooldown.js +32 -0
- package/dist/src/funnel/types.d.ts +98 -0
- package/dist/src/funnel/types.js +26 -0
- package/dist/src/index.d.ts +81 -0
- package/dist/src/index.js +609 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/dist/src/infrastructure/in-memory-repositories.js +264 -0
- package/dist/src/init/claudemd-generator.d.ts +16 -0
- package/dist/src/init/claudemd-generator.js +368 -0
- package/dist/src/init/executor.d.ts +41 -0
- package/dist/src/init/executor.js +2142 -0
- package/dist/src/init/helper-refresh.d.ts +79 -0
- package/dist/src/init/helper-refresh.js +347 -0
- package/dist/src/init/helper-signing.d.ts +37 -0
- package/dist/src/init/helper-signing.js +67 -0
- package/dist/src/init/helpers-generator.d.ts +87 -0
- package/dist/src/init/helpers-generator.js +1456 -0
- package/dist/src/init/index.d.ts +13 -0
- package/dist/src/init/index.js +15 -0
- package/dist/src/init/mcp-generator.d.ts +26 -0
- package/dist/src/init/mcp-generator.js +126 -0
- package/dist/src/init/memory-package-resolver.d.ts +53 -0
- package/dist/src/init/memory-package-resolver.js +118 -0
- package/dist/src/init/settings-generator.d.ts +14 -0
- package/dist/src/init/settings-generator.js +462 -0
- package/dist/src/init/statusline-generator.d.ts +28 -0
- package/dist/src/init/statusline-generator.js +177 -0
- package/dist/src/init/types.d.ts +331 -0
- package/dist/src/init/types.js +276 -0
- package/dist/src/log-filters.d.ts +46 -0
- package/dist/src/log-filters.js +107 -0
- package/dist/src/mcp-client.d.ts +92 -0
- package/dist/src/mcp-client.js +397 -0
- package/dist/src/mcp-server.d.ts +163 -0
- package/dist/src/mcp-server.js +751 -0
- package/dist/src/mcp-tools/agent-execute-core.d.ts +115 -0
- package/dist/src/mcp-tools/agent-execute-core.js +587 -0
- package/dist/src/mcp-tools/agent-tools.d.ts +9 -0
- package/dist/src/mcp-tools/agent-tools.js +837 -0
- package/dist/src/mcp-tools/agentbbs-tools.d.ts +28 -0
- package/dist/src/mcp-tools/agentbbs-tools.js +394 -0
- package/dist/src/mcp-tools/agentdb-tools.d.ts +35 -0
- package/dist/src/mcp-tools/agentdb-tools.js +1473 -0
- package/dist/src/mcp-tools/agenticow-loader.d.ts +59 -0
- package/dist/src/mcp-tools/agenticow-loader.js +105 -0
- package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts +24 -0
- package/dist/src/mcp-tools/agenticow-speculate-tools.js +209 -0
- package/dist/src/mcp-tools/agenticow-tools.d.ts +36 -0
- package/dist/src/mcp-tools/agenticow-tools.js +360 -0
- package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/dist/src/mcp-tools/analyze-tools.js +346 -0
- package/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/dist/src/mcp-tools/auto-install.js +131 -0
- package/dist/src/mcp-tools/autopilot-tools.d.ts +12 -0
- package/dist/src/mcp-tools/autopilot-tools.js +231 -0
- package/dist/src/mcp-tools/browser-intent-tools.d.ts +162 -0
- package/dist/src/mcp-tools/browser-intent-tools.js +548 -0
- package/dist/src/mcp-tools/browser-session-tools.d.ts +27 -0
- package/dist/src/mcp-tools/browser-session-tools.js +398 -0
- package/dist/src/mcp-tools/browser-tools.d.ts +21 -0
- package/dist/src/mcp-tools/browser-tools.js +760 -0
- package/dist/src/mcp-tools/business-pod-tools.d.ts +20 -0
- package/dist/src/mcp-tools/business-pod-tools.js +169 -0
- package/dist/src/mcp-tools/claims-tools.d.ts +12 -0
- package/dist/src/mcp-tools/claims-tools.js +863 -0
- package/dist/src/mcp-tools/config-tools.d.ts +8 -0
- package/dist/src/mcp-tools/config-tools.js +411 -0
- package/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
- package/dist/src/mcp-tools/coordination-tools.js +729 -0
- package/dist/src/mcp-tools/daa-tools.d.ts +13 -0
- package/dist/src/mcp-tools/daa-tools.js +534 -0
- package/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
- package/dist/src/mcp-tools/embeddings-tools.js +904 -0
- package/dist/src/mcp-tools/github-tools.d.ts +9 -0
- package/dist/src/mcp-tools/github-tools.js +659 -0
- package/dist/src/mcp-tools/guidance-tools.d.ts +15 -0
- package/dist/src/mcp-tools/guidance-tools.js +639 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/dist/src/mcp-tools/hive-mind-tools.js +953 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts +65 -0
- package/dist/src/mcp-tools/hooks-tools.js +4836 -0
- package/dist/src/mcp-tools/http-fetch-tools.d.ts +55 -0
- package/dist/src/mcp-tools/http-fetch-tools.js +329 -0
- package/dist/src/mcp-tools/index.d.ts +34 -0
- package/dist/src/mcp-tools/index.js +40 -0
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
- package/dist/src/mcp-tools/managed-agent-tools.js +357 -0
- package/dist/src/mcp-tools/memory-tools.d.ts +14 -0
- package/dist/src/mcp-tools/memory-tools.js +1330 -0
- package/dist/src/mcp-tools/metaharness-tools.d.ts +51 -0
- package/dist/src/mcp-tools/metaharness-tools.js +684 -0
- package/dist/src/mcp-tools/neural-tools.d.ts +54 -0
- package/dist/src/mcp-tools/neural-tools.js +1168 -0
- package/dist/src/mcp-tools/performance-tools.d.ts +16 -0
- package/dist/src/mcp-tools/performance-tools.js +675 -0
- package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/dist/src/mcp-tools/progress-tools.js +348 -0
- package/dist/src/mcp-tools/request-tracker.d.ts +17 -0
- package/dist/src/mcp-tools/request-tracker.js +27 -0
- package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
- package/dist/src/mcp-tools/ruvllm-tools.js +355 -0
- package/dist/src/mcp-tools/security-tools.d.ts +18 -0
- package/dist/src/mcp-tools/security-tools.js +556 -0
- package/dist/src/mcp-tools/session-tools.d.ts +8 -0
- package/dist/src/mcp-tools/session-tools.js +517 -0
- package/dist/src/mcp-tools/swarm-tools.d.ts +37 -0
- package/dist/src/mcp-tools/swarm-tools.js +390 -0
- package/dist/src/mcp-tools/system-tools.d.ts +13 -0
- package/dist/src/mcp-tools/system-tools.js +688 -0
- package/dist/src/mcp-tools/task-tools.d.ts +8 -0
- package/dist/src/mcp-tools/task-tools.js +487 -0
- package/dist/src/mcp-tools/terminal-tools.d.ts +8 -0
- package/dist/src/mcp-tools/terminal-tools.js +306 -0
- package/dist/src/mcp-tools/testgen-tools.d.ts +26 -0
- package/dist/src/mcp-tools/testgen-tools.js +168 -0
- package/dist/src/mcp-tools/tool-loop-guardrail.d.ts +31 -0
- package/dist/src/mcp-tools/tool-loop-guardrail.js +71 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/dist/src/mcp-tools/transfer-tools.js +447 -0
- package/dist/src/mcp-tools/types.d.ts +8 -0
- package/dist/src/mcp-tools/types.js +8 -0
- package/dist/src/mcp-tools/validate-input.d.ts +9 -0
- package/dist/src/mcp-tools/validate-input.js +9 -0
- package/dist/src/mcp-tools/wasm-agent-tools.d.ts +13 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js +840 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/dist/src/mcp-tools/workflow-tools.js +884 -0
- package/dist/src/memory/bge-embedder.d.ts +25 -0
- package/dist/src/memory/bge-embedder.js +121 -0
- package/dist/src/memory/cross-encoder-rerank.d.ts +33 -0
- package/dist/src/memory/cross-encoder-rerank.js +123 -0
- package/dist/src/memory/embedding-policy.d.ts +21 -0
- package/dist/src/memory/embedding-policy.js +30 -0
- package/dist/src/memory/embedding-quantization.d.ts +62 -0
- package/dist/src/memory/embedding-quantization.js +156 -0
- package/dist/src/memory/ewc-consolidation.d.ts +305 -0
- package/dist/src/memory/ewc-consolidation.js +611 -0
- package/dist/src/memory/graph-edge-writer.d.ts +95 -0
- package/dist/src/memory/graph-edge-writer.js +217 -0
- package/dist/src/memory/hybrid-retrieval.d.ts +77 -0
- package/dist/src/memory/hybrid-retrieval.js +192 -0
- package/dist/src/memory/intelligence.d.ts +405 -0
- package/dist/src/memory/intelligence.js +1316 -0
- package/dist/src/memory/lucene-bm25.d.ts +19 -0
- package/dist/src/memory/lucene-bm25.js +308 -0
- package/dist/src/memory/memory-bridge.d.ts +537 -0
- package/dist/src/memory/memory-bridge.js +2460 -0
- package/dist/src/memory/memory-initializer.d.ts +556 -0
- package/dist/src/memory/memory-initializer.js +3021 -0
- package/dist/src/memory/neural-package-bridge.d.ts +48 -0
- package/dist/src/memory/neural-package-bridge.js +87 -0
- package/dist/src/memory/rabitq-index.d.ts +60 -0
- package/dist/src/memory/rabitq-index.js +242 -0
- package/dist/src/memory/sona-optimizer.d.ts +267 -0
- package/dist/src/memory/sona-optimizer.js +779 -0
- package/dist/src/memory/structured-distill.d.ts +48 -0
- package/dist/src/memory/structured-distill.js +125 -0
- package/dist/src/output.d.ts +9 -0
- package/dist/src/output.js +9 -0
- package/dist/src/parser.d.ts +89 -0
- package/dist/src/parser.js +516 -0
- package/dist/src/plugins/manager.d.ts +133 -0
- package/dist/src/plugins/manager.js +415 -0
- package/dist/src/plugins/store/discovery.d.ts +99 -0
- package/dist/src/plugins/store/discovery.js +1224 -0
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.js +141 -0
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.js +230 -0
- package/dist/src/plugins/store/types.d.ts +279 -0
- package/dist/src/plugins/store/types.js +7 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/dist/src/plugins/tests/standalone-test.js +188 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/dist/src/production/circuit-breaker.d.ts +101 -0
- package/dist/src/production/circuit-breaker.js +241 -0
- package/dist/src/production/error-handler.d.ts +92 -0
- package/dist/src/production/error-handler.js +299 -0
- package/dist/src/production/index.d.ts +23 -0
- package/dist/src/production/index.js +18 -0
- package/dist/src/production/monitoring.d.ts +161 -0
- package/dist/src/production/monitoring.js +356 -0
- package/dist/src/production/rate-limiter.d.ts +80 -0
- package/dist/src/production/rate-limiter.js +201 -0
- package/dist/src/production/retry.d.ts +48 -0
- package/dist/src/production/retry.js +179 -0
- package/dist/src/prompt.d.ts +44 -0
- package/dist/src/prompt.js +501 -0
- package/dist/src/proxy/install.d.ts +29 -0
- package/dist/src/proxy/install.js +135 -0
- package/dist/src/proxy/lifecycle.d.ts +61 -0
- package/dist/src/proxy/lifecycle.js +249 -0
- package/dist/src/proxy/paths.d.ts +34 -0
- package/dist/src/proxy/paths.js +70 -0
- package/dist/src/proxy/release.d.ts +47 -0
- package/dist/src/proxy/release.js +138 -0
- package/dist/src/proxy/token-bridge.d.ts +5 -0
- package/dist/src/proxy/token-bridge.js +61 -0
- package/dist/src/proxy/verify.d.ts +44 -0
- package/dist/src/proxy/verify.js +68 -0
- package/dist/src/runtime/headless.d.ts +60 -0
- package/dist/src/runtime/headless.js +284 -0
- package/dist/src/runtime/parent-death-watchdog.d.ts +42 -0
- package/dist/src/runtime/parent-death-watchdog.js +70 -0
- package/dist/src/ruvector/agent-wasm.d.ts +228 -0
- package/dist/src/ruvector/agent-wasm.js +463 -0
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.js +277 -0
- package/dist/src/ruvector/codemods/engine.d.ts +45 -0
- package/dist/src/ruvector/codemods/engine.js +291 -0
- package/dist/src/ruvector/codemods/scope-analysis.d.ts +29 -0
- package/dist/src/ruvector/codemods/scope-analysis.js +162 -0
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.js +531 -0
- package/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/dist/src/ruvector/coverage-tools.js +157 -0
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.js +699 -0
- package/dist/src/ruvector/diskann-backend.d.ts +78 -0
- package/dist/src/ruvector/diskann-backend.js +310 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts +172 -0
- package/dist/src/ruvector/enhanced-model-router.js +577 -0
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.js +929 -0
- package/dist/src/ruvector/graph-backend.d.ts +79 -0
- package/dist/src/ruvector/graph-backend.js +220 -0
- package/dist/src/ruvector/index.d.ts +38 -0
- package/dist/src/ruvector/index.js +86 -0
- package/dist/src/ruvector/lora-adapter.d.ts +292 -0
- package/dist/src/ruvector/lora-adapter.js +710 -0
- package/dist/src/ruvector/model-prices.d.ts +50 -0
- package/dist/src/ruvector/model-prices.js +72 -0
- package/dist/src/ruvector/model-router.d.ts +408 -0
- package/dist/src/ruvector/model-router.js +1162 -0
- package/dist/src/ruvector/neural-router.d.ts +182 -0
- package/dist/src/ruvector/neural-router.js +825 -0
- package/dist/src/ruvector/output-verifier.d.ts +83 -0
- package/dist/src/ruvector/output-verifier.js +277 -0
- package/dist/src/ruvector/q-learning-router.d.ts +227 -0
- package/dist/src/ruvector/q-learning-router.js +721 -0
- package/dist/src/ruvector/router-calibrator.d.ts +65 -0
- package/dist/src/ruvector/router-calibrator.js +120 -0
- package/dist/src/ruvector/router-parallel-recorder.d.ts +127 -0
- package/dist/src/ruvector/router-parallel-recorder.js +183 -0
- package/dist/src/ruvector/router-trajectory.d.ts +194 -0
- package/dist/src/ruvector/router-trajectory.js +281 -0
- package/dist/src/ruvector/run-transcript-recorder.d.ts +154 -0
- package/dist/src/ruvector/run-transcript-recorder.js +209 -0
- package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/dist/src/ruvector/ruvllm-wasm.js +379 -0
- package/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/dist/src/ruvector/semantic-router.js +178 -0
- package/dist/src/ruvector/task-embedder.d.ts +56 -0
- package/dist/src/ruvector/task-embedder.js +237 -0
- package/dist/src/ruvector/trajectory-tree.d.ts +113 -0
- package/dist/src/ruvector/trajectory-tree.js +237 -0
- package/dist/src/ruvector/vector-db.d.ts +73 -0
- package/dist/src/ruvector/vector-db.js +301 -0
- package/dist/src/ruvector/wasm-embedder.d.ts +13 -0
- package/dist/src/ruvector/wasm-embedder.js +143 -0
- package/dist/src/security/builtin-aidefence.d.ts +34 -0
- package/dist/src/security/builtin-aidefence.js +86 -0
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.js +95 -0
- package/dist/src/services/ai-job-dedup.d.ts +61 -0
- package/dist/src/services/ai-job-dedup.js +136 -0
- package/dist/src/services/checkpoint-gate.d.ts +140 -0
- package/dist/src/services/checkpoint-gate.js +223 -0
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.js +818 -0
- package/dist/src/services/config-file-manager.d.ts +37 -0
- package/dist/src/services/config-file-manager.js +224 -0
- package/dist/src/services/container-worker-pool.d.ts +204 -0
- package/dist/src/services/container-worker-pool.js +589 -0
- package/dist/src/services/daemon-autostart.d.ts +17 -0
- package/dist/src/services/daemon-autostart.js +102 -0
- package/dist/src/services/distill-oracle.d.ts +190 -0
- package/dist/src/services/distill-oracle.js +349 -0
- package/dist/src/services/distill-tuning.d.ts +111 -0
- package/dist/src/services/distill-tuning.js +510 -0
- package/dist/src/services/evolve-proof.d.ts +253 -0
- package/dist/src/services/evolve-proof.js +343 -0
- package/dist/src/services/fable-harness.d.ts +208 -0
- package/dist/src/services/fable-harness.js +388 -0
- package/dist/src/services/git-workspace-identity.d.ts +42 -0
- package/dist/src/services/git-workspace-identity.js +99 -0
- package/dist/src/services/global-ai-budget.d.ts +135 -0
- package/dist/src/services/global-ai-budget.js +415 -0
- package/dist/src/services/harness-benchmark.d.ts +68 -0
- package/dist/src/services/harness-benchmark.js +94 -0
- package/dist/src/services/harness-canary.d.ts +60 -0
- package/dist/src/services/harness-canary.js +69 -0
- package/dist/src/services/harness-corpus-harvester.d.ts +51 -0
- package/dist/src/services/harness-corpus-harvester.js +74 -0
- package/dist/src/services/harness-flywheel-generations.d.ts +115 -0
- package/dist/src/services/harness-flywheel-generations.js +360 -0
- package/dist/src/services/harness-flywheel-runtime.d.ts +25 -0
- package/dist/src/services/harness-flywheel-runtime.js +92 -0
- package/dist/src/services/harness-flywheel.d.ts +48 -0
- package/dist/src/services/harness-flywheel.js +207 -0
- package/dist/src/services/harness-frozen-eval.d.ts +22 -0
- package/dist/src/services/harness-frozen-eval.js +66 -0
- package/dist/src/services/harness-hosts.d.ts +40 -0
- package/dist/src/services/harness-hosts.js +88 -0
- package/dist/src/services/harness-improvement-ledger.d.ts +63 -0
- package/dist/src/services/harness-improvement-ledger.js +101 -0
- package/dist/src/services/harness-loop.d.ts +53 -0
- package/dist/src/services/harness-loop.js +85 -0
- package/dist/src/services/harness-qualification.d.ts +66 -0
- package/dist/src/services/harness-qualification.js +143 -0
- package/dist/src/services/harness-replay.d.ts +37 -0
- package/dist/src/services/harness-replay.js +92 -0
- package/dist/src/services/harness-verify.d.ts +33 -0
- package/dist/src/services/harness-verify.js +26 -0
- package/dist/src/services/harness-worker.d.ts +23 -0
- package/dist/src/services/harness-worker.js +66 -0
- package/dist/src/services/headless-worker-executor.d.ts +358 -0
- package/dist/src/services/headless-worker-executor.js +1269 -0
- package/dist/src/services/index.d.ts +13 -0
- package/dist/src/services/index.js +11 -0
- package/dist/src/services/memory-backup.d.ts +53 -0
- package/dist/src/services/memory-backup.js +198 -0
- package/dist/src/services/memory-distillation.d.ts +41 -0
- package/dist/src/services/memory-distillation.js +277 -0
- package/dist/src/services/native-training.d.ts +68 -0
- package/dist/src/services/native-training.js +141 -0
- package/dist/src/services/registry-api.d.ts +58 -0
- package/dist/src/services/registry-api.js +146 -0
- package/dist/src/services/repo-supervisor.d.ts +70 -0
- package/dist/src/services/repo-supervisor.js +228 -0
- package/dist/src/services/ruvector-training.d.ts +222 -0
- package/dist/src/services/ruvector-training.js +693 -0
- package/dist/src/services/swarm-memory-branches.d.ts +135 -0
- package/dist/src/services/swarm-memory-branches.js +213 -0
- package/dist/src/services/weight-eft.d.ts +305 -0
- package/dist/src/services/weight-eft.js +296 -0
- package/dist/src/services/worker-daemon.d.ts +439 -0
- package/dist/src/services/worker-daemon.js +1865 -0
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.js +513 -0
- package/dist/src/services/workspace-lease.d.ts +55 -0
- package/dist/src/services/workspace-lease.js +191 -0
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.js +200 -0
- package/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/dist/src/transfer/anonymization/index.js +175 -0
- package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/dist/src/transfer/deploy-seraphine.js +205 -0
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.js +113 -0
- package/dist/src/transfer/index.d.ts +12 -0
- package/dist/src/transfer/index.js +31 -0
- package/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/dist/src/transfer/ipfs/client.js +307 -0
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.js +413 -0
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.js +373 -0
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.js +183 -0
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.js +272 -0
- package/dist/src/transfer/storage/index.d.ts +6 -0
- package/dist/src/transfer/storage/index.js +6 -0
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.js +382 -0
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.js +334 -0
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.js +153 -0
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.js +294 -0
- package/dist/src/transfer/store/registry.d.ts +58 -0
- package/dist/src/transfer/store/registry.js +285 -0
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.js +232 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/dist/src/transfer/store/types.d.ts +193 -0
- package/dist/src/transfer/store/types.js +6 -0
- package/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/dist/src/transfer/test-seraphine.js +105 -0
- package/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/dist/src/transfer/tests/test-store.js +214 -0
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.js +6 -0
- package/dist/src/types.d.ts +13 -0
- package/dist/src/types.js +13 -0
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.js +191 -0
- package/dist/src/update/executor.d.ts +33 -0
- package/dist/src/update/executor.js +217 -0
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.js +64 -0
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.js +96 -0
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.js +123 -0
- package/package.json +1 -1
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings.json Generator
|
|
3
|
+
* Creates .claude/settings.json with V3-optimized hook configurations
|
|
4
|
+
*/
|
|
5
|
+
import { detectPlatform } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Generate the complete settings.json content
|
|
8
|
+
*/
|
|
9
|
+
export function generateSettings(options) {
|
|
10
|
+
const settings = {};
|
|
11
|
+
// Add hooks if enabled. CRITICAL (#1744 #3): only emit the hooks block when
|
|
12
|
+
// the helpers directory will also be bundled. The hook commands point at
|
|
13
|
+
// .claude/helpers/hook-handler.cjs; if that file isn't created (as in
|
|
14
|
+
// --minimal where components.helpers=false), every hook fires and silently
|
|
15
|
+
// fails to find its handler. Either bundle the helpers OR drop the hooks —
|
|
16
|
+
// the option this fix takes is the latter (minimal stays minimal).
|
|
17
|
+
if (options.components.settings && options.components.helpers) {
|
|
18
|
+
settings.hooks = generateHooksConfig(options.hooks);
|
|
19
|
+
}
|
|
20
|
+
// Add statusLine configuration if enabled
|
|
21
|
+
if (options.statusline.enabled) {
|
|
22
|
+
settings.statusLine = generateStatusLineConfig(options);
|
|
23
|
+
}
|
|
24
|
+
// Add permissions
|
|
25
|
+
settings.permissions = {
|
|
26
|
+
allow: [
|
|
27
|
+
'Bash(npx @claude-flow*)',
|
|
28
|
+
'Bash(npx claude-flow*)',
|
|
29
|
+
'Bash(node .claude/*)',
|
|
30
|
+
'mcp__claude-flow__*',
|
|
31
|
+
],
|
|
32
|
+
deny: [
|
|
33
|
+
'Read(./.env)',
|
|
34
|
+
'Read(./.env.*)',
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
// #1670 — RuFlo attribution (Co-Authored-By trailer + PR footer) is now
|
|
38
|
+
// OPT-IN. Default behavior no longer injects a third-party Co-Authored-By
|
|
39
|
+
// line into the user's commits — that pattern silently inflated GitHub
|
|
40
|
+
// contributor graphs and was hard to undo without rewriting history. Pass
|
|
41
|
+
// `--attribution` (or `attribution: true` in InitOptions) to enable.
|
|
42
|
+
//
|
|
43
|
+
// #2078 — when the user DOES opt in, write a no-reply bot email so GitHub
|
|
44
|
+
// treats this as a tool, not a personal contribution. Personal emails get
|
|
45
|
+
// added to user repos' contributor graphs even when the trailer is opt-in.
|
|
46
|
+
// `ruflo-bot@users.noreply.github.com` is GitHub's no-reply convention and
|
|
47
|
+
// is excluded from contributor graphs / mapped to a tool identity.
|
|
48
|
+
if (options.attribution === true) {
|
|
49
|
+
settings.attribution = {
|
|
50
|
+
commit: 'Co-Authored-By: ruflo-bot <ruflo-bot@users.noreply.github.com>',
|
|
51
|
+
pr: '🤖 Generated with [RuFlo](https://github.com/ruvnet/ruflo)',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// Note: Claude Code expects 'model' to be a string, not an object
|
|
55
|
+
// Additional ruflo-specific model preferences live in claudeFlow.modelPreferences below
|
|
56
|
+
settings.model = 'claude-sonnet-5';
|
|
57
|
+
// Add Agent Teams configuration (experimental feature)
|
|
58
|
+
settings.env = {
|
|
59
|
+
// Enable Claude Code Agent Teams for multi-agent coordination
|
|
60
|
+
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: '1',
|
|
61
|
+
// Claude Flow specific environment
|
|
62
|
+
CLAUDE_FLOW_V3_ENABLED: 'true',
|
|
63
|
+
CLAUDE_FLOW_HOOKS_ENABLED: 'true',
|
|
64
|
+
};
|
|
65
|
+
// Detect platform for platform-aware configuration
|
|
66
|
+
const platform = detectPlatform();
|
|
67
|
+
// Add V3-specific settings
|
|
68
|
+
settings.claudeFlow = {
|
|
69
|
+
version: '3.0.0',
|
|
70
|
+
enabled: true,
|
|
71
|
+
platform: {
|
|
72
|
+
os: platform.os,
|
|
73
|
+
arch: platform.arch,
|
|
74
|
+
shell: platform.shell,
|
|
75
|
+
},
|
|
76
|
+
modelPreferences: {
|
|
77
|
+
default: 'claude-sonnet-5',
|
|
78
|
+
routing: 'claude-haiku-4-5-20251001',
|
|
79
|
+
},
|
|
80
|
+
agentTeams: {
|
|
81
|
+
enabled: true,
|
|
82
|
+
teammateMode: 'auto', // 'auto' | 'in-process' | 'tmux'
|
|
83
|
+
taskListEnabled: true,
|
|
84
|
+
mailboxEnabled: true,
|
|
85
|
+
coordination: {
|
|
86
|
+
autoAssignOnIdle: true, // Auto-assign pending tasks when teammate is idle
|
|
87
|
+
trainPatternsOnComplete: true, // Train neural patterns when tasks complete
|
|
88
|
+
notifyLeadOnComplete: true, // Notify team lead when tasks complete
|
|
89
|
+
sharedMemoryNamespace: 'agent-teams', // Memory namespace for team coordination
|
|
90
|
+
},
|
|
91
|
+
hooks: {
|
|
92
|
+
teammateIdle: {
|
|
93
|
+
enabled: true,
|
|
94
|
+
autoAssign: true,
|
|
95
|
+
checkTaskList: true,
|
|
96
|
+
},
|
|
97
|
+
taskCompleted: {
|
|
98
|
+
enabled: true,
|
|
99
|
+
trainPatterns: true,
|
|
100
|
+
notifyLead: true,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
swarm: {
|
|
105
|
+
topology: options.runtime.topology,
|
|
106
|
+
maxAgents: options.runtime.maxAgents,
|
|
107
|
+
},
|
|
108
|
+
memory: {
|
|
109
|
+
backend: options.runtime.memoryBackend,
|
|
110
|
+
enableHNSW: options.runtime.enableHNSW,
|
|
111
|
+
learningBridge: { enabled: options.runtime.enableLearningBridge ?? true },
|
|
112
|
+
memoryGraph: { enabled: options.runtime.enableMemoryGraph ?? true },
|
|
113
|
+
agentScopes: { enabled: options.runtime.enableAgentScopes ?? true },
|
|
114
|
+
},
|
|
115
|
+
neural: {
|
|
116
|
+
enabled: options.runtime.enableNeural,
|
|
117
|
+
},
|
|
118
|
+
daemon: {
|
|
119
|
+
autoStart: false, // Opt-in only — prevents unintended token consumption (#1427, #1330)
|
|
120
|
+
workers: [
|
|
121
|
+
'map', // Codebase mapping
|
|
122
|
+
'audit', // Security auditing (critical priority)
|
|
123
|
+
'optimize', // Performance optimization (high priority)
|
|
124
|
+
],
|
|
125
|
+
schedules: {
|
|
126
|
+
audit: { interval: '4h', priority: 'critical' },
|
|
127
|
+
optimize: { interval: '2h', priority: 'high' },
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
learning: {
|
|
131
|
+
enabled: true,
|
|
132
|
+
autoTrain: true,
|
|
133
|
+
patterns: ['coordination', 'optimization', 'prediction'],
|
|
134
|
+
retention: {
|
|
135
|
+
shortTerm: '24h',
|
|
136
|
+
longTerm: '30d',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
adr: {
|
|
140
|
+
autoGenerate: true,
|
|
141
|
+
directory: '/docs/adr',
|
|
142
|
+
template: 'madr',
|
|
143
|
+
},
|
|
144
|
+
ddd: {
|
|
145
|
+
trackDomains: true,
|
|
146
|
+
validateBoundedContexts: true,
|
|
147
|
+
directory: '/docs/ddd',
|
|
148
|
+
},
|
|
149
|
+
security: {
|
|
150
|
+
autoScan: true,
|
|
151
|
+
scanOnEdit: true,
|
|
152
|
+
cveCheck: true,
|
|
153
|
+
threatModel: true,
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
return settings;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Detect if we're on Windows for platform-aware hook commands.
|
|
160
|
+
*/
|
|
161
|
+
const IS_WINDOWS = process.platform === 'win32';
|
|
162
|
+
/**
|
|
163
|
+
* Build a hook command that resolves to the right helpers dir on every
|
|
164
|
+
* install layout. `ruflo init` can land helpers either project-locally
|
|
165
|
+
* (`<project>/.claude/helpers/…`, when run from a project root) or globally
|
|
166
|
+
* (`$HOME/.claude/helpers/…`, when settings.json gets merged into the
|
|
167
|
+
* user-level Claude Code config). The earlier `${CLAUDE_PROJECT_DIR:-.}`
|
|
168
|
+
* form assumed project-local — so any global-install user hit
|
|
169
|
+
* `MODULE_NOT_FOUND` on every Bash/Edit/Session hook (#1943).
|
|
170
|
+
*
|
|
171
|
+
* The fix is a tiny POSIX `sh` probe: try `$CLAUDE_PROJECT_DIR/.claude/...`
|
|
172
|
+
* first, fall back to `$HOME/.claude/...` if it's missing. Both modes work,
|
|
173
|
+
* the global install never crashes, and project-local overrides still take
|
|
174
|
+
* precedence when present. On Windows, the same probe via `cmd /c` (the %~%
|
|
175
|
+
* fallback uses `IF EXIST`).
|
|
176
|
+
*/
|
|
177
|
+
function hookCmd(script, subcommand) {
|
|
178
|
+
if (IS_WINDOWS) {
|
|
179
|
+
// cmd.exe equivalent of the sh probe below. `IF EXIST` checks the
|
|
180
|
+
// project-local path; falls back to %USERPROFILE% if missing.
|
|
181
|
+
return `cmd /c "IF EXIST \"%CLAUDE_PROJECT_DIR%\\${script.replace(/\//g, '\\')}\" (node \"%CLAUDE_PROJECT_DIR%\\${script.replace(/\//g, '\\')}\" ${subcommand}) ELSE (node \"%USERPROFILE%\\${script.replace(/\//g, '\\')}\" ${subcommand})"`;
|
|
182
|
+
}
|
|
183
|
+
// POSIX sh: prefer project-local helpers, fall back to $HOME/.claude/.
|
|
184
|
+
// The fallback handles `ruflo init`'s global-install path where helpers
|
|
185
|
+
// live at `$HOME/.claude/helpers/` but Claude Code still sets
|
|
186
|
+
// `CLAUDE_PROJECT_DIR` to the *project* root (which has no helpers).
|
|
187
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
188
|
+
const projVar = '${CLAUDE_PROJECT_DIR:-.}';
|
|
189
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
190
|
+
const homeVar = '${HOME}';
|
|
191
|
+
return `sh -c 'D="${projVar}"; [ -f "$D/${script}" ] || D="${homeVar}"; exec node "$D/${script}" ${subcommand}'`;
|
|
192
|
+
}
|
|
193
|
+
/** Shorthand for CJS hook-handler commands */
|
|
194
|
+
function hookHandlerCmd(subcommand) {
|
|
195
|
+
return hookCmd('.claude/helpers/hook-handler.cjs', subcommand);
|
|
196
|
+
}
|
|
197
|
+
/** Shorthand for ESM auto-memory-hook commands */
|
|
198
|
+
function autoMemoryCmd(subcommand) {
|
|
199
|
+
return hookCmd('.claude/helpers/auto-memory-hook.mjs', subcommand);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Generate statusLine configuration for Claude Code
|
|
203
|
+
* Uses local helper script for cross-platform compatibility (no npx cold-start)
|
|
204
|
+
*/
|
|
205
|
+
function generateStatusLineConfig(_options) {
|
|
206
|
+
// Claude Code pipes JSON session data to the script via stdin.
|
|
207
|
+
// Valid fields: type, command, padding (optional).
|
|
208
|
+
// The script runs after each assistant message (debounced 300ms).
|
|
209
|
+
//
|
|
210
|
+
// ruflo#1948 + #1973: the previous `sh -c 'D="${CLAUDE_PROJECT_DIR:-.}"; …'`
|
|
211
|
+
// form requires a POSIX shell on PATH. On native Windows (no
|
|
212
|
+
// Git-Bash / WSL), `sh` either isn't found or its quoting gets
|
|
213
|
+
// mangled, producing weird artifacts like files named `0)` or
|
|
214
|
+
// `toastr.error('ESD...` from misparsed tokens leaking back into
|
|
215
|
+
// the file system. NEVER use `cmd /c` for statusline — Claude Code
|
|
216
|
+
// manages stdin directly for statusline commands and `cmd /c`
|
|
217
|
+
// blocks the stdin forwarding.
|
|
218
|
+
//
|
|
219
|
+
// Solution: emit a platform-appropriate command at init time.
|
|
220
|
+
// POSIX: `sh -c 'D="…"; … exec node "$D/<script>"'` (existing)
|
|
221
|
+
// Windows: a Node.js one-liner that resolves the path internally
|
|
222
|
+
// using `process.env.CLAUDE_PROJECT_DIR` with a HOME
|
|
223
|
+
// fallback — no shell-quoting hazards because the
|
|
224
|
+
// resolution happens inside node, not in the shell.
|
|
225
|
+
const script = '.claude/helpers/statusline.cjs';
|
|
226
|
+
if (process.platform === 'win32') {
|
|
227
|
+
// The Node CLI's `-e` flag avoids all shell-quoting pitfalls.
|
|
228
|
+
// We write the path resolution in JS:
|
|
229
|
+
// const fs = require('fs'); const p = require('path');
|
|
230
|
+
// const d = process.env.CLAUDE_PROJECT_DIR || '.';
|
|
231
|
+
// const f = p.join(d, '.claude/helpers/statusline.cjs');
|
|
232
|
+
// const home = process.env.USERPROFILE || process.env.HOME || '.';
|
|
233
|
+
// const h = p.join(home, '.claude/helpers/statusline.cjs');
|
|
234
|
+
// require(fs.existsSync(f) ? f : h);
|
|
235
|
+
// …compressed onto one line. Double-quotes around the -e arg are
|
|
236
|
+
// safe on cmd.exe; the inner JS uses single-quotes for strings.
|
|
237
|
+
const js = "const fs=require('fs'),p=require('path');" +
|
|
238
|
+
`const d=process.env.CLAUDE_PROJECT_DIR||'.';` +
|
|
239
|
+
`const f=p.join(d,'${script}');` +
|
|
240
|
+
`const h=p.join(process.env.USERPROFILE||process.env.HOME||'.', '${script}');` +
|
|
241
|
+
'require(fs.existsSync(f)?f:h);';
|
|
242
|
+
return {
|
|
243
|
+
type: 'command',
|
|
244
|
+
command: `node -e "${js}"`,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
// Same project-local / $HOME fallback as `hookCmd()` (see #1943).
|
|
248
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
249
|
+
const projVar = '${CLAUDE_PROJECT_DIR:-.}';
|
|
250
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
251
|
+
const homeVar = '${HOME}';
|
|
252
|
+
return {
|
|
253
|
+
type: 'command',
|
|
254
|
+
command: `sh -c 'D="${projVar}"; [ -f "$D/${script}" ] || D="${homeVar}"; exec node "$D/${script}"'`,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Generate hooks configuration
|
|
259
|
+
* Uses local hook-handler.cjs for cross-platform compatibility.
|
|
260
|
+
* All hooks invoke scripts directly via `node <script> <subcommand>`,
|
|
261
|
+
* working identically on Windows, macOS, and Linux.
|
|
262
|
+
*/
|
|
263
|
+
function generateHooksConfig(config) {
|
|
264
|
+
const hooks = {};
|
|
265
|
+
// Node.js scripts handle errors internally via try/catch.
|
|
266
|
+
// No shell-level error suppression needed (2>/dev/null || true breaks Windows).
|
|
267
|
+
// PreToolUse — validate commands and edits before execution
|
|
268
|
+
if (config.preToolUse) {
|
|
269
|
+
hooks.PreToolUse = [
|
|
270
|
+
{
|
|
271
|
+
matcher: 'Bash',
|
|
272
|
+
hooks: [
|
|
273
|
+
{
|
|
274
|
+
type: 'command',
|
|
275
|
+
command: hookHandlerCmd('pre-bash'),
|
|
276
|
+
timeout: config.timeout,
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
matcher: 'Write|Edit|MultiEdit',
|
|
282
|
+
hooks: [
|
|
283
|
+
{
|
|
284
|
+
type: 'command',
|
|
285
|
+
command: hookHandlerCmd('pre-edit'),
|
|
286
|
+
timeout: config.timeout,
|
|
287
|
+
},
|
|
288
|
+
],
|
|
289
|
+
},
|
|
290
|
+
];
|
|
291
|
+
}
|
|
292
|
+
// PostToolUse — record edits and commands for session metrics / learning
|
|
293
|
+
if (config.postToolUse) {
|
|
294
|
+
hooks.PostToolUse = [
|
|
295
|
+
{
|
|
296
|
+
matcher: 'Write|Edit|MultiEdit',
|
|
297
|
+
hooks: [
|
|
298
|
+
{
|
|
299
|
+
type: 'command',
|
|
300
|
+
command: hookHandlerCmd('post-edit'),
|
|
301
|
+
timeout: 10000,
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
matcher: 'Bash',
|
|
307
|
+
hooks: [
|
|
308
|
+
{
|
|
309
|
+
type: 'command',
|
|
310
|
+
command: hookHandlerCmd('post-bash'),
|
|
311
|
+
timeout: config.timeout,
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
];
|
|
316
|
+
}
|
|
317
|
+
// UserPromptSubmit — intelligent task routing
|
|
318
|
+
if (config.userPromptSubmit) {
|
|
319
|
+
hooks.UserPromptSubmit = [
|
|
320
|
+
{
|
|
321
|
+
hooks: [
|
|
322
|
+
{
|
|
323
|
+
type: 'command',
|
|
324
|
+
command: hookHandlerCmd('route'),
|
|
325
|
+
timeout: 10000,
|
|
326
|
+
},
|
|
327
|
+
],
|
|
328
|
+
},
|
|
329
|
+
];
|
|
330
|
+
}
|
|
331
|
+
// SessionStart — restore session state + import auto memory
|
|
332
|
+
if (config.sessionStart) {
|
|
333
|
+
hooks.SessionStart = [
|
|
334
|
+
{
|
|
335
|
+
hooks: [
|
|
336
|
+
{
|
|
337
|
+
type: 'command',
|
|
338
|
+
command: hookHandlerCmd('session-restore'),
|
|
339
|
+
timeout: 15000,
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
type: 'command',
|
|
343
|
+
command: autoMemoryCmd('import'),
|
|
344
|
+
timeout: 8000,
|
|
345
|
+
},
|
|
346
|
+
],
|
|
347
|
+
},
|
|
348
|
+
];
|
|
349
|
+
}
|
|
350
|
+
// SessionEnd — persist session state
|
|
351
|
+
if (config.sessionStart) {
|
|
352
|
+
hooks.SessionEnd = [
|
|
353
|
+
{
|
|
354
|
+
hooks: [
|
|
355
|
+
{
|
|
356
|
+
type: 'command',
|
|
357
|
+
command: hookHandlerCmd('session-end'),
|
|
358
|
+
timeout: 10000,
|
|
359
|
+
},
|
|
360
|
+
],
|
|
361
|
+
},
|
|
362
|
+
];
|
|
363
|
+
}
|
|
364
|
+
// Stop — sync auto memory on exit
|
|
365
|
+
if (config.stop) {
|
|
366
|
+
hooks.Stop = [
|
|
367
|
+
{
|
|
368
|
+
hooks: [
|
|
369
|
+
{
|
|
370
|
+
type: 'command',
|
|
371
|
+
command: autoMemoryCmd('sync'),
|
|
372
|
+
timeout: 10000,
|
|
373
|
+
},
|
|
374
|
+
],
|
|
375
|
+
},
|
|
376
|
+
];
|
|
377
|
+
}
|
|
378
|
+
// PreCompact — preserve context before compaction
|
|
379
|
+
if (config.preCompact) {
|
|
380
|
+
hooks.PreCompact = [
|
|
381
|
+
{
|
|
382
|
+
matcher: 'manual',
|
|
383
|
+
hooks: [
|
|
384
|
+
{
|
|
385
|
+
type: 'command',
|
|
386
|
+
command: hookHandlerCmd('compact-manual'),
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
type: 'command',
|
|
390
|
+
command: hookHandlerCmd('session-end'),
|
|
391
|
+
timeout: 5000,
|
|
392
|
+
},
|
|
393
|
+
],
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
matcher: 'auto',
|
|
397
|
+
hooks: [
|
|
398
|
+
{
|
|
399
|
+
type: 'command',
|
|
400
|
+
command: hookHandlerCmd('compact-auto'),
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
type: 'command',
|
|
404
|
+
command: hookHandlerCmd('session-end'),
|
|
405
|
+
timeout: 6000,
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
},
|
|
409
|
+
];
|
|
410
|
+
}
|
|
411
|
+
// SubagentStart — status update when a sub-agent is spawned
|
|
412
|
+
hooks.SubagentStart = [
|
|
413
|
+
{
|
|
414
|
+
hooks: [
|
|
415
|
+
{
|
|
416
|
+
type: 'command',
|
|
417
|
+
command: hookHandlerCmd('status'),
|
|
418
|
+
timeout: 3000,
|
|
419
|
+
},
|
|
420
|
+
],
|
|
421
|
+
},
|
|
422
|
+
];
|
|
423
|
+
// SubagentStop — track agent completion for metrics
|
|
424
|
+
// NOTE: The valid event is "SubagentStop" (not "SubagentEnd")
|
|
425
|
+
hooks.SubagentStop = [
|
|
426
|
+
{
|
|
427
|
+
hooks: [
|
|
428
|
+
{
|
|
429
|
+
type: 'command',
|
|
430
|
+
command: hookHandlerCmd('post-task'),
|
|
431
|
+
timeout: 5000,
|
|
432
|
+
},
|
|
433
|
+
],
|
|
434
|
+
},
|
|
435
|
+
];
|
|
436
|
+
// Notification — capture Claude Code notifications for logging
|
|
437
|
+
if (config.notification) {
|
|
438
|
+
hooks.Notification = [
|
|
439
|
+
{
|
|
440
|
+
hooks: [
|
|
441
|
+
{
|
|
442
|
+
type: 'command',
|
|
443
|
+
command: hookHandlerCmd('notify'),
|
|
444
|
+
timeout: 3000,
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
},
|
|
448
|
+
];
|
|
449
|
+
}
|
|
450
|
+
// NOTE: TeammateIdle, TaskCompleted, and PostCompact are NOT accepted by
|
|
451
|
+
// Claude Code's settings.json validator (rejected as "Invalid key in record").
|
|
452
|
+
// Agent Teams coordination lives in claudeFlow.agentTeams.hooks instead.
|
|
453
|
+
return hooks;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Generate settings.json as formatted string
|
|
457
|
+
*/
|
|
458
|
+
export function generateSettingsJson(options) {
|
|
459
|
+
const settings = generateSettings(options);
|
|
460
|
+
return JSON.stringify(settings, null, 2);
|
|
461
|
+
}
|
|
462
|
+
//# sourceMappingURL=settings-generator.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Statusline Configuration Generator (Optimized)
|
|
3
|
+
* Creates fast, reliable statusline for V3 progress display
|
|
4
|
+
*
|
|
5
|
+
* Performance:
|
|
6
|
+
* - Single combined git execSync call (not 8+ separate ones)
|
|
7
|
+
* - process.memoryUsage() instead of ps aux
|
|
8
|
+
* - No recursive test file content reading
|
|
9
|
+
* - Shared settings cache
|
|
10
|
+
* - Strict 2s timeouts on all shell calls
|
|
11
|
+
*/
|
|
12
|
+
import type { InitOptions } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Generate optimized statusline script
|
|
15
|
+
* Output format:
|
|
16
|
+
* ▊ RuFlo V3.6 ● user │ ⎇ branch │ Opus 4.7
|
|
17
|
+
* ─────────────────────────────────────────────────────
|
|
18
|
+
* 🏗️ DDD Domains [●●○○○] 2/5 ⚡ HNSW 150x
|
|
19
|
+
* 🤖 Swarm ◉ [ 5/15] 👥 2 🪝 10/17 🟢 CVE 3/3 💾 4MB 🧠 63%
|
|
20
|
+
* 🔧 Architecture ADRs ●71% │ DDD ● 13% │ Security ●CLEAN
|
|
21
|
+
* 📊 AgentDB Vectors ●3104⚡ │ Size 216KB │ Tests ●6 (~24 cases) │ MCP ●1/1
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateStatuslineScript(options: InitOptions): string;
|
|
24
|
+
/**
|
|
25
|
+
* Generate statusline hook for shell integration
|
|
26
|
+
*/
|
|
27
|
+
export declare function generateStatuslineHook(options: InitOptions): string;
|
|
28
|
+
//# sourceMappingURL=statusline-generator.d.ts.map
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Statusline Configuration Generator (Optimized)
|
|
3
|
+
* Creates fast, reliable statusline for V3 progress display
|
|
4
|
+
*
|
|
5
|
+
* Performance:
|
|
6
|
+
* - Single combined git execSync call (not 8+ separate ones)
|
|
7
|
+
* - process.memoryUsage() instead of ps aux
|
|
8
|
+
* - No recursive test file content reading
|
|
9
|
+
* - Shared settings cache
|
|
10
|
+
* - Strict 2s timeouts on all shell calls
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { fileURLToPath } from 'url';
|
|
15
|
+
import { createRequire } from 'module';
|
|
16
|
+
const __dirname_sg = path.dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the running CLI's own version — same createRequire/walk-up
|
|
19
|
+
* approach as helper-refresh.ts's getInstalledCliVersion(), duplicated
|
|
20
|
+
* here rather than imported. helper-refresh.ts pulls in the `semver`
|
|
21
|
+
* package at module scope (for autoRefreshHelpersIfStale()'s version
|
|
22
|
+
* comparison, unrelated to this) — ES module imports load a module's
|
|
23
|
+
* ENTIRE top-level regardless of which export is used, so importing just
|
|
24
|
+
* getInstalledCliVersion from there still requires `semver` to be resolvable.
|
|
25
|
+
* Confirmed live: the CI smoke job that loads this generator via a minimal
|
|
26
|
+
* "smoke deps" install (no full `npm install`) failed with
|
|
27
|
+
* ERR_MODULE_NOT_FOUND('semver') the moment this file gained that import,
|
|
28
|
+
* even though this function itself never touches semver. Keeping this
|
|
29
|
+
* generator's own dependency footprint to bare Node builtins avoids
|
|
30
|
+
* dragging every future helper-refresh.ts dependency into every context
|
|
31
|
+
* that merely wants to render a statusline script.
|
|
32
|
+
*/
|
|
33
|
+
function getInstalledCliVersionLocal() {
|
|
34
|
+
try {
|
|
35
|
+
const esmRequire = createRequire(import.meta.url);
|
|
36
|
+
const pkg = JSON.parse(fs.readFileSync(esmRequire.resolve('@claude-flow/cli/package.json'), 'utf-8'));
|
|
37
|
+
return String(pkg.version || '0.0.0');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
let dir = __dirname_sg;
|
|
41
|
+
for (let i = 0; i < 6; i++) {
|
|
42
|
+
try {
|
|
43
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
|
|
44
|
+
if (pkg && pkg.name === '@claude-flow/cli')
|
|
45
|
+
return String(pkg.version || '0.0.0');
|
|
46
|
+
}
|
|
47
|
+
catch { /* no package.json here, or unreadable — keep climbing */ }
|
|
48
|
+
const parent = path.dirname(dir);
|
|
49
|
+
if (parent === dir)
|
|
50
|
+
break;
|
|
51
|
+
dir = parent;
|
|
52
|
+
}
|
|
53
|
+
return '0.0.0';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Generate optimized statusline script
|
|
58
|
+
* Output format:
|
|
59
|
+
* ▊ RuFlo V3.6 ● user │ ⎇ branch │ Opus 4.7
|
|
60
|
+
* ─────────────────────────────────────────────────────
|
|
61
|
+
* 🏗️ DDD Domains [●●○○○] 2/5 ⚡ HNSW 150x
|
|
62
|
+
* 🤖 Swarm ◉ [ 5/15] 👥 2 🪝 10/17 🟢 CVE 3/3 💾 4MB 🧠 63%
|
|
63
|
+
* 🔧 Architecture ADRs ●71% │ DDD ● 13% │ Security ●CLEAN
|
|
64
|
+
* 📊 AgentDB Vectors ●3104⚡ │ Size 216KB │ Tests ●6 (~24 cases) │ MCP ●1/1
|
|
65
|
+
*/
|
|
66
|
+
export function generateStatuslineScript(options) {
|
|
67
|
+
const maxAgents = options.runtime.maxAgents;
|
|
68
|
+
// Resolved reliably HERE (inside the actual running CLI process, via
|
|
69
|
+
// getInstalledCliVersion()'s createRequire/findPackageRoot resolution) —
|
|
70
|
+
// never wrong at generation time. Baked in as getPkgVersion()'s fallback
|
|
71
|
+
// so a pure-npx render (no persistent local install: no marketplace
|
|
72
|
+
// checkout, no project node_modules, nothing under a global prefix — npx
|
|
73
|
+
// only ever installs into its own ephemeral, unpredictably-hashed
|
|
74
|
+
// ~/.npm/_npx/<hash>/ directory, which none of getPkgVersion()'s
|
|
75
|
+
// candidate paths can find) shows the real version instead of the
|
|
76
|
+
// previous hardcoded "3.6" placeholder. getPkgVersion()'s own runtime
|
|
77
|
+
// candidate scan still wins over this baked-in value when it finds
|
|
78
|
+
// something newer (e.g. a later `npm update` in the same project).
|
|
79
|
+
const bakedVersion = getInstalledCliVersionLocal();
|
|
80
|
+
// #2679 fix: read the committed .claude/helpers/statusline.cjs as the
|
|
81
|
+
// single source of truth instead of maintaining a 1000-line template
|
|
82
|
+
// string inline. Prior to this fix, the inline template drifted from
|
|
83
|
+
// the deployed helper (v3.29.0 UX improvements — whole-row-clickable
|
|
84
|
+
// OSC 8, (domain) suffix, ellipsis, bright-white command, 300s cache
|
|
85
|
+
// TTL, windowsHide on subprocess spawns — all shipped in the helper
|
|
86
|
+
// but the generator kept its older shape). Now: read the helper +
|
|
87
|
+
// substitute two known values (maxAgents, bakedVersion).
|
|
88
|
+
//
|
|
89
|
+
// Walk-up finds the CLI package root (whether we're at src/init/ in
|
|
90
|
+
// tests or dist/src/init/ in installed use). Same shape as
|
|
91
|
+
// getInstalledCliVersionLocal() above — reuse the pattern for the
|
|
92
|
+
// same reason it exists there.
|
|
93
|
+
let helperContent = null;
|
|
94
|
+
try {
|
|
95
|
+
const esmRequire = createRequire(import.meta.url);
|
|
96
|
+
const pkgJsonPath = esmRequire.resolve('@claude-flow/cli/package.json');
|
|
97
|
+
const helperPath = path.join(path.dirname(pkgJsonPath), '.claude', 'helpers', 'statusline.cjs');
|
|
98
|
+
helperContent = fs.readFileSync(helperPath, 'utf-8');
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
let dir = __dirname_sg;
|
|
102
|
+
for (let i = 0; i < 6; i++) {
|
|
103
|
+
try {
|
|
104
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
|
|
105
|
+
if (pkg && pkg.name === '@claude-flow/cli') {
|
|
106
|
+
const candidate = path.join(dir, '.claude', 'helpers', 'statusline.cjs');
|
|
107
|
+
if (fs.existsSync(candidate)) {
|
|
108
|
+
helperContent = fs.readFileSync(candidate, 'utf-8');
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch { /* keep climbing */ }
|
|
114
|
+
const parent = path.dirname(dir);
|
|
115
|
+
if (parent === dir)
|
|
116
|
+
break;
|
|
117
|
+
dir = parent;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (helperContent === null) {
|
|
121
|
+
throw new Error('statusline-generator: could not locate .claude/helpers/statusline.cjs '
|
|
122
|
+
+ 'relative to @claude-flow/cli. This is a packaging bug — the helper '
|
|
123
|
+
+ 'must ship with the CLI (see package.json files entry for .claude).');
|
|
124
|
+
}
|
|
125
|
+
// Two known interpolation points — both single-line, both idempotent
|
|
126
|
+
// string replacements. If a future edit to the helper renames either
|
|
127
|
+
// token, this replace() is a no-op and the fallback default (15,
|
|
128
|
+
// whatever the helper hard-codes) ships. Add a paired test in
|
|
129
|
+
// statusline-cost-display.test.ts before changing either token.
|
|
130
|
+
helperContent = helperContent.replace(/maxAgents: \d+,/, `maxAgents: ${maxAgents},`);
|
|
131
|
+
// Only overwrite the helper's baked version if OURS resolves higher.
|
|
132
|
+
// Otherwise the substitution could DOWNGRADE (test environments where
|
|
133
|
+
// esmRequire.resolve happens to hit an older node_modules install would
|
|
134
|
+
// clobber a fresh committed helper). Naive lexicographic compare — works
|
|
135
|
+
// for canonical semver strings with same-width digit parts, which is
|
|
136
|
+
// reliable at this stage of the version space.
|
|
137
|
+
const helperVerMatch = helperContent.match(/let ver = "([^"]+)";/);
|
|
138
|
+
const helperVer = helperVerMatch ? helperVerMatch[1] : '';
|
|
139
|
+
if (!helperVer || bakedVersion > helperVer) {
|
|
140
|
+
helperContent = helperContent.replace(/let ver = "[^"]+";/, `let ver = ${JSON.stringify(bakedVersion)};`);
|
|
141
|
+
}
|
|
142
|
+
return helperContent;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Generate statusline hook for shell integration
|
|
146
|
+
*/
|
|
147
|
+
export function generateStatuslineHook(options) {
|
|
148
|
+
if (!options.statusline.enabled) {
|
|
149
|
+
return '#!/bin/bash\n# Statusline disabled\n';
|
|
150
|
+
}
|
|
151
|
+
return `#!/bin/bash
|
|
152
|
+
# RuFlo V3 Statusline Hook
|
|
153
|
+
# Source this in your .bashrc/.zshrc for terminal statusline
|
|
154
|
+
|
|
155
|
+
# Function to get statusline
|
|
156
|
+
claude_flow_statusline() {
|
|
157
|
+
local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.cjs"
|
|
158
|
+
if [ -f "$statusline_script" ]; then
|
|
159
|
+
node "$statusline_script" 2>/dev/null || echo ""
|
|
160
|
+
fi
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
# Bash: Add to PS1
|
|
164
|
+
# export PS1='$(claude_flow_statusline) \\n\\$ '
|
|
165
|
+
|
|
166
|
+
# Zsh: Add to RPROMPT
|
|
167
|
+
# export RPROMPT='$(claude_flow_statusline)'
|
|
168
|
+
|
|
169
|
+
# Claude Code: Add to .claude/settings.json
|
|
170
|
+
# "statusLine": {
|
|
171
|
+
# "type": "command",
|
|
172
|
+
# "command": "node .claude/helpers/statusline.cjs 2>/dev/null"
|
|
173
|
+
# "when": "test -f .claude/helpers/statusline.cjs"
|
|
174
|
+
# }
|
|
175
|
+
`;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=statusline-generator.js.map
|