@claude-flow/cli 3.32.3 → 3.32.5
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 +20 -0
- package/dist/src/commands/proxy-lifecycle.js +277 -0
- package/dist/src/commands/proxy.d.ts +21 -0
- package/dist/src/commands/proxy.js +403 -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,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Console filter installed at the top of every entry point. Three jobs:
|
|
4
|
+
*
|
|
5
|
+
* 1. Suppress the cosmetic "[AgentDB Patch] Controller index not found"
|
|
6
|
+
* warning emitted by agentic-flow's runtime patch (it expects agentdb
|
|
7
|
+
* v1.x layout but we use v3). Tight match: requires BOTH the prefix
|
|
8
|
+
* AND the specific message. Other [AgentDB Patch] messages flow through.
|
|
9
|
+
* Audit log audit_1776483149979 flagged the previous broad filter as
|
|
10
|
+
* too aggressive — this one is tight enough to be safe.
|
|
11
|
+
*
|
|
12
|
+
* 2. (#2253, #2256) Redirect noisy stdout writes from upstream embedder
|
|
13
|
+
* libraries (ruvector ONNX loader, ruvector-onnx-embeddings-wasm
|
|
14
|
+
* parallel embedder) to stderr. The libraries use `console.log` for
|
|
15
|
+
* progress messages like "Loading model:" and " Downloading: ...",
|
|
16
|
+
* which corrupts MCP JSON-RPC stdio (#2253) and is generally noise on
|
|
17
|
+
* stdout.
|
|
18
|
+
*
|
|
19
|
+
* 3. Suppress agentdb's mock-embedder-fallback warning cluster emitted by
|
|
20
|
+
* `agentdb/dist/controllers/EmbeddingService.js` lines 48–56 when
|
|
21
|
+
* transformers.js initialisation fails (commonly: macOS arm64 without
|
|
22
|
+
* `brew install vips` — sharp can't load `libvips-cpp.42.dylib`). The
|
|
23
|
+
* warnings advertise that agentdb is "falling back to mock embeddings"
|
|
24
|
+
* — but `memory-bridge.ts::rescueAgentdbEmbedder` monkey-patches
|
|
25
|
+
* agentdb's embedder to delegate to our working ruvector ONNX pipeline
|
|
26
|
+
* in that exact case, so the user is NOT actually on mock embeddings.
|
|
27
|
+
* Letting the warning through is misleading and gets reported as a
|
|
28
|
+
* bug (user-reported 2026-06-02, no GH issue). Suppression is safe
|
|
29
|
+
* because the rescue handles the underlying condition; if the rescue
|
|
30
|
+
* itself fails, the user still sees `[WARN] No results found` from
|
|
31
|
+
* the calling command which surfaces the real symptom.
|
|
32
|
+
*
|
|
33
|
+
* This file MUST be imported as the first side-effect import in any entry
|
|
34
|
+
* point so the patch is in place before agentic-flow / ruvector / agentdb
|
|
35
|
+
* (and anything that transitively imports them) loads. ES module imports
|
|
36
|
+
* are evaluated before the file's own top-level code, so putting this in
|
|
37
|
+
* src/index.ts directly would race with transitive eager imports.
|
|
38
|
+
*/
|
|
39
|
+
const isCosmeticAgentdbPatchNoise = (msg) => {
|
|
40
|
+
const s = String(msg ?? '');
|
|
41
|
+
return s.includes('[AgentDB Patch]') && s.includes('Controller index not found');
|
|
42
|
+
};
|
|
43
|
+
// #2253 / #2256: prefixes from third-party embedder libs that come out on
|
|
44
|
+
// stdout via console.log and corrupt MCP JSON-RPC. We redirect to stderr.
|
|
45
|
+
// Match is anchored to known prefixes only — anything else (e.g. legitimate
|
|
46
|
+
// user-facing CLI output) is unaffected.
|
|
47
|
+
const STDERR_REDIRECT_PREFIXES = [
|
|
48
|
+
'Loading model: ', // ruvector + ruvector-onnx-embeddings-wasm loader.js
|
|
49
|
+
' Downloading: ', // ruvector + ruvector-onnx-embeddings-wasm loader.js
|
|
50
|
+
' Cache hit: ', // ruvector + ruvector-onnx-embeddings-wasm loader.js
|
|
51
|
+
'Model cache cleared', // ruvector + ruvector-onnx-embeddings-wasm loader.js
|
|
52
|
+
'🚀 Initializing ', // ruvector-onnx-embeddings-wasm parallel-embedder.mjs
|
|
53
|
+
'✅ ', // ruvector-onnx-embeddings-wasm parallel-embedder.mjs (workers ready)
|
|
54
|
+
' Disk cache hit: ', // ruvector-onnx-embeddings-wasm parallel-embedder.mjs
|
|
55
|
+
];
|
|
56
|
+
// (3) Suppress the agentdb mock-embedder-fallback cluster. Each entry below
|
|
57
|
+
// matches the EXACT prefix `console.warn` argument from
|
|
58
|
+
// agentdb/dist/controllers/EmbeddingService.js:48–56. Keep this list
|
|
59
|
+
// pinned to upstream lines, not broadened heuristically — broader filters
|
|
60
|
+
// risk hiding real signals (audit_1776483149979 lesson).
|
|
61
|
+
const AGENTDB_MOCK_FALLBACK_DROP_PREFIXES = [
|
|
62
|
+
'Transformers.js initialization failed:', // line 48 — multi-line because the error has multi-line .message
|
|
63
|
+
' Falling back to mock embeddings for testing', // line 49
|
|
64
|
+
' This is normal if:', // line 50
|
|
65
|
+
' - Running offline/without internet access', // line 51
|
|
66
|
+
' - Model not yet downloaded', // line 52
|
|
67
|
+
' - Network connectivity issues', // line 53
|
|
68
|
+
' To use real embeddings:', // line 54
|
|
69
|
+
' - Ensure internet connectivity for first', // line 55
|
|
70
|
+
' - Or pre-download: npx agentdb', // line 56
|
|
71
|
+
];
|
|
72
|
+
const shouldRedirectToStderr = (msg) => {
|
|
73
|
+
const s = String(msg ?? '');
|
|
74
|
+
for (const prefix of STDERR_REDIRECT_PREFIXES) {
|
|
75
|
+
if (s.startsWith(prefix))
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
};
|
|
80
|
+
const isAgentdbMockFallbackNoise = (msg) => {
|
|
81
|
+
const s = String(msg ?? '');
|
|
82
|
+
for (const prefix of AGENTDB_MOCK_FALLBACK_DROP_PREFIXES) {
|
|
83
|
+
if (s.startsWith(prefix))
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
};
|
|
88
|
+
const origWarn = console.warn.bind(console);
|
|
89
|
+
const origLog = console.log.bind(console);
|
|
90
|
+
const origError = console.error.bind(console);
|
|
91
|
+
console.warn = (...args) => {
|
|
92
|
+
if (isCosmeticAgentdbPatchNoise(args[0]))
|
|
93
|
+
return;
|
|
94
|
+
if (isAgentdbMockFallbackNoise(args[0]))
|
|
95
|
+
return;
|
|
96
|
+
origWarn(...args);
|
|
97
|
+
};
|
|
98
|
+
console.log = (...args) => {
|
|
99
|
+
if (isCosmeticAgentdbPatchNoise(args[0]))
|
|
100
|
+
return;
|
|
101
|
+
if (shouldRedirectToStderr(args[0])) {
|
|
102
|
+
origError(...args);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
origLog(...args);
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=log-filters.js.map
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 CLI MCP Client
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper for calling MCP tools from CLI commands.
|
|
5
|
+
* Implements ADR-005: MCP-First API Design - CLI as thin wrapper around MCP tools
|
|
6
|
+
*
|
|
7
|
+
* This provides a simple interface for CLI commands to call MCP tools without
|
|
8
|
+
* containing hardcoded business logic. All business logic lives in MCP tool handlers.
|
|
9
|
+
*/
|
|
10
|
+
import type { MCPTool } from './mcp-tools/types.js';
|
|
11
|
+
/**
|
|
12
|
+
* MCP Client Error
|
|
13
|
+
*/
|
|
14
|
+
export declare class MCPClientError extends Error {
|
|
15
|
+
toolName: string;
|
|
16
|
+
cause?: Error | undefined;
|
|
17
|
+
constructor(message: string, toolName: string, cause?: Error | undefined);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Call an MCP tool by name with input parameters
|
|
21
|
+
*
|
|
22
|
+
* @param toolName - Name of the MCP tool (e.g., 'agent_spawn', 'swarm_init')
|
|
23
|
+
* @param input - Input parameters for the tool
|
|
24
|
+
* @param context - Optional tool context
|
|
25
|
+
* @returns Promise resolving to tool result
|
|
26
|
+
* @throws {MCPClientError} If tool not found or execution fails
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Spawn an agent
|
|
31
|
+
* const result = await callMCPTool('agent_spawn', {
|
|
32
|
+
* agentType: 'coder',
|
|
33
|
+
* priority: 'normal'
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Initialize swarm
|
|
37
|
+
* const swarm = await callMCPTool('swarm_init', {
|
|
38
|
+
* topology: 'hierarchical-mesh',
|
|
39
|
+
* maxAgents: 15
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function callMCPTool<T = unknown>(toolName: string, input?: Record<string, unknown>, context?: Record<string, unknown>): Promise<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Get tool metadata by name
|
|
46
|
+
*
|
|
47
|
+
* @param toolName - Name of the MCP tool
|
|
48
|
+
* @returns Tool metadata or undefined if not found
|
|
49
|
+
*/
|
|
50
|
+
export declare function getToolMetadata(toolName: string): Omit<MCPTool, 'handler'> | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* List all available MCP tools
|
|
53
|
+
*
|
|
54
|
+
* @param category - Optional category filter
|
|
55
|
+
* @returns Array of tool metadata
|
|
56
|
+
*/
|
|
57
|
+
export declare function listMCPTools(category?: string): Array<Omit<MCPTool, 'handler'>>;
|
|
58
|
+
/**
|
|
59
|
+
* Check if an MCP tool exists
|
|
60
|
+
*
|
|
61
|
+
* @param toolName - Name of the MCP tool
|
|
62
|
+
* @returns True if tool exists
|
|
63
|
+
*/
|
|
64
|
+
export declare function hasTool(toolName: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get all tool categories
|
|
67
|
+
*
|
|
68
|
+
* @returns Array of unique categories
|
|
69
|
+
*/
|
|
70
|
+
export declare function getToolCategories(): string[];
|
|
71
|
+
/**
|
|
72
|
+
* Validate tool input against schema
|
|
73
|
+
*
|
|
74
|
+
* @param toolName - Name of the MCP tool
|
|
75
|
+
* @param input - Input to validate
|
|
76
|
+
* @returns Validation result with errors if any
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateToolInput(toolName: string, input: Record<string, unknown>): {
|
|
79
|
+
valid: boolean;
|
|
80
|
+
errors?: string[];
|
|
81
|
+
};
|
|
82
|
+
declare const _default: {
|
|
83
|
+
callMCPTool: typeof callMCPTool;
|
|
84
|
+
getToolMetadata: typeof getToolMetadata;
|
|
85
|
+
listMCPTools: typeof listMCPTools;
|
|
86
|
+
hasTool: typeof hasTool;
|
|
87
|
+
getToolCategories: typeof getToolCategories;
|
|
88
|
+
validateToolInput: typeof validateToolInput;
|
|
89
|
+
MCPClientError: typeof MCPClientError;
|
|
90
|
+
};
|
|
91
|
+
export default _default;
|
|
92
|
+
//# sourceMappingURL=mcp-client.d.ts.map
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 CLI MCP Client
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper for calling MCP tools from CLI commands.
|
|
5
|
+
* Implements ADR-005: MCP-First API Design - CLI as thin wrapper around MCP tools
|
|
6
|
+
*
|
|
7
|
+
* This provides a simple interface for CLI commands to call MCP tools without
|
|
8
|
+
* containing hardcoded business logic. All business logic lives in MCP tool handlers.
|
|
9
|
+
*/
|
|
10
|
+
// Import MCP tool handlers from local package
|
|
11
|
+
import { agentTools } from './mcp-tools/agent-tools.js';
|
|
12
|
+
import { swarmTools } from './mcp-tools/swarm-tools.js';
|
|
13
|
+
import { memoryTools } from './mcp-tools/memory-tools.js';
|
|
14
|
+
import { configTools } from './mcp-tools/config-tools.js';
|
|
15
|
+
import { hooksTools } from './mcp-tools/hooks-tools.js';
|
|
16
|
+
import { taskTools } from './mcp-tools/task-tools.js';
|
|
17
|
+
import { sessionTools } from './mcp-tools/session-tools.js';
|
|
18
|
+
import { hiveMindTools } from './mcp-tools/hive-mind-tools.js';
|
|
19
|
+
import { workflowTools } from './mcp-tools/workflow-tools.js';
|
|
20
|
+
import { analyzeTools } from './mcp-tools/analyze-tools.js';
|
|
21
|
+
import { progressTools } from './mcp-tools/progress-tools.js';
|
|
22
|
+
import { embeddingsTools } from './mcp-tools/embeddings-tools.js';
|
|
23
|
+
import { claimsTools } from './mcp-tools/claims-tools.js';
|
|
24
|
+
import { securityTools } from './mcp-tools/security-tools.js';
|
|
25
|
+
import { transferTools } from './mcp-tools/transfer-tools.js';
|
|
26
|
+
// V2 Compatibility tools
|
|
27
|
+
import { systemTools } from './mcp-tools/system-tools.js';
|
|
28
|
+
import { terminalTools } from './mcp-tools/terminal-tools.js';
|
|
29
|
+
import { neuralTools } from './mcp-tools/neural-tools.js';
|
|
30
|
+
import { performanceTools } from './mcp-tools/performance-tools.js';
|
|
31
|
+
import { githubTools } from './mcp-tools/github-tools.js';
|
|
32
|
+
import { daaTools } from './mcp-tools/daa-tools.js';
|
|
33
|
+
import { coordinationTools } from './mcp-tools/coordination-tools.js';
|
|
34
|
+
import { browserTools } from './mcp-tools/browser-tools.js';
|
|
35
|
+
import { browserSessionTools } from './mcp-tools/browser-session-tools.js';
|
|
36
|
+
// ADR-175 — page-agent natural-language intent layer (browser_act). Always
|
|
37
|
+
// registered; degrades to {degraded:true} at call time when page-agent or an
|
|
38
|
+
// OpenAI-compatible LLM provider isn't available.
|
|
39
|
+
import { browserIntentTools } from './mcp-tools/browser-intent-tools.js';
|
|
40
|
+
import { execFileSync } from 'node:child_process';
|
|
41
|
+
// Phase 6: AgentDB v3 controller tools
|
|
42
|
+
import { agentdbTools } from './mcp-tools/agentdb-tools.js';
|
|
43
|
+
// RuVector WASM tools
|
|
44
|
+
import { ruvllmWasmTools } from './mcp-tools/ruvllm-tools.js';
|
|
45
|
+
import { wasmAgentTools } from './mcp-tools/wasm-agent-tools.js';
|
|
46
|
+
// ADR-115: Anthropic Claude Managed Agents — a cloud agent runtime alongside
|
|
47
|
+
// the local WASM-sandboxed `wasm_agent_*` (rvagent) tools. Lives in the
|
|
48
|
+
// `ruflo-agent` plugin.
|
|
49
|
+
import { managedAgentTools } from './mcp-tools/managed-agent-tools.js';
|
|
50
|
+
import { guidanceTools } from './mcp-tools/guidance-tools.js';
|
|
51
|
+
import { autopilotTools } from './mcp-tools/autopilot-tools.js';
|
|
52
|
+
// ADR-150 — MetaHarness MCP tools (score / genome / mcp-scan / threat-model / oia-audit)
|
|
53
|
+
import { metaharnessTools } from './mcp-tools/metaharness-tools.js';
|
|
54
|
+
// agenticow@~0.2.3 — Copy-On-Write memory branching tools (162-byte branches);
|
|
55
|
+
// optional runtime dep, every handler returns `{degraded: true}` when missing.
|
|
56
|
+
import { agenticowTools } from './mcp-tools/agenticow-tools.js';
|
|
57
|
+
// agenticow step 4 — speculative branch-and-promote (A/B memory exploration).
|
|
58
|
+
// Optional runtime dep, degrades to `{degraded: true}` when agenticow is missing.
|
|
59
|
+
import { agenticowSpeculateTools } from './mcp-tools/agenticow-speculate-tools.js';
|
|
60
|
+
// ADR-164 — AgentBBS federated business-domain BBS rooms (Phase 1).
|
|
61
|
+
// Optional runtime dep, every handler returns `{degraded: true}` when missing.
|
|
62
|
+
import { agentbbsTools } from './mcp-tools/agentbbs-tools.js';
|
|
63
|
+
// ADR-164 Phase 2 — Business-pod template validation (pure local, no optional deps).
|
|
64
|
+
import { businessPodTools } from './mcp-tools/business-pod-tools.js';
|
|
65
|
+
// ADR-164 Phase 4 §5.1.8 — http_fetch MCP tool (secure-by-default HTTP probe
|
|
66
|
+
// for ops-pod synthetic-endpoint benches). Default-rejects private addresses
|
|
67
|
+
// + auth headers; opt-in via CLAUDE_FLOW_HTTP_FETCH_ALLOW_PRIVATE / _AUTH=1.
|
|
68
|
+
import { httpFetchTools } from './mcp-tools/http-fetch-tools.js';
|
|
69
|
+
// #1916: coverage-aware routing tools — defined in ruvector/coverage-tools.ts
|
|
70
|
+
// but were never registered, so the `ruflo hooks coverage-*` CLI subcommands
|
|
71
|
+
// failed with `Tool not found: hooks_coverage-route`.
|
|
72
|
+
import { coverageRouterTools } from './ruvector/coverage-tools.js';
|
|
73
|
+
// #1605: Only register browser tools if agent-browser is available
|
|
74
|
+
let _browserAvailable = null;
|
|
75
|
+
function getBrowserTools() {
|
|
76
|
+
if (_browserAvailable === null) {
|
|
77
|
+
try {
|
|
78
|
+
execFileSync('agent-browser', ['--version'], { stdio: 'ignore', timeout: 3000 });
|
|
79
|
+
_browserAvailable = true;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
_browserAvailable = false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return _browserAvailable ? browserTools : [];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Lifecycle MCP tools for ruflo-browser session-as-skill architecture
|
|
89
|
+
* (ADR-0001 ruflo-browser §7). Always registered: their handlers shell out
|
|
90
|
+
* to ruvector + agent-browser + claude-flow memory and degrade gracefully
|
|
91
|
+
* when those CLIs are missing.
|
|
92
|
+
*/
|
|
93
|
+
function getBrowserSessionTools() {
|
|
94
|
+
return browserSessionTools;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* ADR-175 `browser_act` — always registered like browserSessionTools; the
|
|
98
|
+
* handler itself resolves page-agent + LLM-provider availability at call
|
|
99
|
+
* time and returns `{degraded: true}` rather than throwing.
|
|
100
|
+
*/
|
|
101
|
+
function getBrowserIntentTools() {
|
|
102
|
+
return browserIntentTools;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* MCP Tool Registry
|
|
106
|
+
* Maps tool names to their handler functions
|
|
107
|
+
*/
|
|
108
|
+
const TOOL_REGISTRY = new Map();
|
|
109
|
+
// Register all tools
|
|
110
|
+
function registerTools(tools) {
|
|
111
|
+
tools.forEach(tool => {
|
|
112
|
+
TOOL_REGISTRY.set(tool.name, tool);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// Initialize registry with all available tools
|
|
116
|
+
registerTools([
|
|
117
|
+
...agentTools,
|
|
118
|
+
...swarmTools,
|
|
119
|
+
...memoryTools,
|
|
120
|
+
...configTools,
|
|
121
|
+
...hooksTools,
|
|
122
|
+
...taskTools,
|
|
123
|
+
...sessionTools,
|
|
124
|
+
...hiveMindTools,
|
|
125
|
+
...workflowTools,
|
|
126
|
+
...analyzeTools,
|
|
127
|
+
...progressTools,
|
|
128
|
+
...embeddingsTools,
|
|
129
|
+
...claimsTools,
|
|
130
|
+
...securityTools,
|
|
131
|
+
...transferTools,
|
|
132
|
+
// V2 Compatibility tools
|
|
133
|
+
...systemTools,
|
|
134
|
+
...terminalTools,
|
|
135
|
+
...neuralTools,
|
|
136
|
+
...performanceTools,
|
|
137
|
+
...githubTools,
|
|
138
|
+
...daaTools,
|
|
139
|
+
...coordinationTools,
|
|
140
|
+
...getBrowserTools(),
|
|
141
|
+
...getBrowserSessionTools(),
|
|
142
|
+
...getBrowserIntentTools(),
|
|
143
|
+
// Phase 6: AgentDB v3 controller tools
|
|
144
|
+
...agentdbTools,
|
|
145
|
+
// RuVector WASM tools
|
|
146
|
+
...ruvllmWasmTools,
|
|
147
|
+
...wasmAgentTools,
|
|
148
|
+
// ADR-115: Anthropic Claude Managed Agents (cloud agent runtime)
|
|
149
|
+
...managedAgentTools,
|
|
150
|
+
// Guidance & discovery tools
|
|
151
|
+
...guidanceTools,
|
|
152
|
+
// Autopilot persistent completion tools
|
|
153
|
+
...autopilotTools,
|
|
154
|
+
// #1916: coverage-aware routing (hooks_coverage-route / -suggest / -gaps)
|
|
155
|
+
...coverageRouterTools,
|
|
156
|
+
// ADR-150 — MetaHarness static-analysis tools (5)
|
|
157
|
+
...metaharnessTools,
|
|
158
|
+
// agenticow@~0.2.4 — COW memory branching (9 tools: branch/checkpoint/rollback/promote + ingest/query/diff/lineage/status, graceful-degraded when missing)
|
|
159
|
+
...agenticowTools,
|
|
160
|
+
// agenticow step 4 — speculative branch-and-promote (1 tool, graceful-degraded when missing)
|
|
161
|
+
...agenticowSpeculateTools,
|
|
162
|
+
// ADR-164 — AgentBBS federated business-domain BBS rooms (4 tools, Phase 1, graceful-degraded)
|
|
163
|
+
...agentbbsTools,
|
|
164
|
+
// ADR-164 Phase 2 + Phase 3 — business_pod_validate + business_pod_route_backend
|
|
165
|
+
// (2 tools, no optional dep — schema validator + §3.4 domain-affinity router)
|
|
166
|
+
...businessPodTools,
|
|
167
|
+
// ADR-164 Phase 4 §5.1.8 — http_fetch (1 tool, secure-by-default HTTP probe)
|
|
168
|
+
...httpFetchTools,
|
|
169
|
+
]);
|
|
170
|
+
/**
|
|
171
|
+
* MCP Client Error
|
|
172
|
+
*/
|
|
173
|
+
export class MCPClientError extends Error {
|
|
174
|
+
toolName;
|
|
175
|
+
cause;
|
|
176
|
+
constructor(message, toolName, cause) {
|
|
177
|
+
super(message);
|
|
178
|
+
this.toolName = toolName;
|
|
179
|
+
this.cause = cause;
|
|
180
|
+
this.name = 'MCPClientError';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Call an MCP tool by name with input parameters
|
|
185
|
+
*
|
|
186
|
+
* @param toolName - Name of the MCP tool (e.g., 'agent_spawn', 'swarm_init')
|
|
187
|
+
* @param input - Input parameters for the tool
|
|
188
|
+
* @param context - Optional tool context
|
|
189
|
+
* @returns Promise resolving to tool result
|
|
190
|
+
* @throws {MCPClientError} If tool not found or execution fails
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* // Spawn an agent
|
|
195
|
+
* const result = await callMCPTool('agent_spawn', {
|
|
196
|
+
* agentType: 'coder',
|
|
197
|
+
* priority: 'normal'
|
|
198
|
+
* });
|
|
199
|
+
*
|
|
200
|
+
* // Initialize swarm
|
|
201
|
+
* const swarm = await callMCPTool('swarm_init', {
|
|
202
|
+
* topology: 'hierarchical-mesh',
|
|
203
|
+
* maxAgents: 15
|
|
204
|
+
* });
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
export async function callMCPTool(toolName, input = {}, context) {
|
|
208
|
+
// Look up tool in registry
|
|
209
|
+
const tool = TOOL_REGISTRY.get(toolName);
|
|
210
|
+
if (!tool) {
|
|
211
|
+
throw new MCPClientError(`MCP tool not found: ${toolName}`, toolName);
|
|
212
|
+
}
|
|
213
|
+
try {
|
|
214
|
+
// Call the tool handler
|
|
215
|
+
const result = await tool.handler(input, context);
|
|
216
|
+
// ADR-146 P2: scan every tool result for indirect-injection before it
|
|
217
|
+
// returns to the caller. The screen is opt-in via env (default off in
|
|
218
|
+
// 3.10.34 — flip to default in v4) so existing pipelines keep their
|
|
219
|
+
// exact behaviour while the call site is exercised by tests and
|
|
220
|
+
// adopters. Telemetry from the screen lands in the shared
|
|
221
|
+
// GuardrailEvent sink (P5).
|
|
222
|
+
return applyContentBoundaryGuardrail(toolName, result);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
// Wrap and re-throw with context
|
|
226
|
+
throw new MCPClientError(`Failed to execute MCP tool '${toolName}': ${error instanceof Error ? error.message : String(error)}`, toolName, error instanceof Error ? error : undefined);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* ADR-146 P2 — content-boundary screen on the MCP tool dispatch path.
|
|
231
|
+
*
|
|
232
|
+
* Default behaviour (3.10.34, legacy mode): returns the result unchanged.
|
|
233
|
+
* With `CLAUDE_FLOW_STRICT_GUARDRAIL=true`, scans every string field of the
|
|
234
|
+
* result; `reject` substitutes the field with a typed marker so the caller
|
|
235
|
+
* can surface the rejection. The class itself (`ToolOutputGuardrail`)
|
|
236
|
+
* shipped in ADR-131 P1; this call site is what closes #2149.
|
|
237
|
+
*
|
|
238
|
+
* Implementation note: we resolve the guardrail lazily so the cold-import
|
|
239
|
+
* cost of `@claude-flow/security` does not hit every CLI invocation. Once
|
|
240
|
+
* P5 wires structured telemetry, this also publishes a `GuardrailEvent`.
|
|
241
|
+
*/
|
|
242
|
+
let _guardrailInstance = null;
|
|
243
|
+
function applyContentBoundaryGuardrail(toolName, result) {
|
|
244
|
+
if (process.env.CLAUDE_FLOW_STRICT_GUARDRAIL !== 'true')
|
|
245
|
+
return result;
|
|
246
|
+
if (typeof result !== 'object' || result === null)
|
|
247
|
+
return result;
|
|
248
|
+
// Lazy-resolve the guardrail singleton to avoid hot-path import cost.
|
|
249
|
+
if (_guardrailInstance === null) {
|
|
250
|
+
try {
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
252
|
+
const sec = require('@claude-flow/security');
|
|
253
|
+
if (sec?.createToolOutputGuardrail) {
|
|
254
|
+
_guardrailInstance = sec.createToolOutputGuardrail();
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
return result; // module shape unexpected — fail open
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
return result; // security package not installed in this consumer — fail open
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
const guardrail = _guardrailInstance;
|
|
265
|
+
if (!guardrail)
|
|
266
|
+
return result;
|
|
267
|
+
// Walk the result object one level deep. We do not deeply traverse because
|
|
268
|
+
// most tool results are flat record shapes; deep recursion would change the
|
|
269
|
+
// p99 latency contract. Hot strings tend to live at the top level.
|
|
270
|
+
const out = {};
|
|
271
|
+
let mutated = false;
|
|
272
|
+
for (const [k, v] of Object.entries(result)) {
|
|
273
|
+
if (typeof v === 'string' && v.length > 0) {
|
|
274
|
+
const decision = guardrail.scanAndEnforce(v);
|
|
275
|
+
if (decision.action === 'reject') {
|
|
276
|
+
out[k] = `<rejected-by-guardrail tool=${JSON.stringify(toolName)} category=${decision.result.category}>`;
|
|
277
|
+
mutated = true;
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (decision.action === 'redact') {
|
|
281
|
+
out[k] = decision.content;
|
|
282
|
+
mutated = true;
|
|
283
|
+
continue;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
out[k] = v;
|
|
287
|
+
}
|
|
288
|
+
return mutated ? out : result;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Get tool metadata by name
|
|
292
|
+
*
|
|
293
|
+
* @param toolName - Name of the MCP tool
|
|
294
|
+
* @returns Tool metadata or undefined if not found
|
|
295
|
+
*/
|
|
296
|
+
export function getToolMetadata(toolName) {
|
|
297
|
+
const tool = TOOL_REGISTRY.get(toolName);
|
|
298
|
+
if (!tool) {
|
|
299
|
+
return undefined;
|
|
300
|
+
}
|
|
301
|
+
// Return everything except the handler function
|
|
302
|
+
return {
|
|
303
|
+
name: tool.name,
|
|
304
|
+
description: tool.description,
|
|
305
|
+
inputSchema: tool.inputSchema,
|
|
306
|
+
category: tool.category,
|
|
307
|
+
tags: tool.tags,
|
|
308
|
+
version: tool.version,
|
|
309
|
+
cacheable: tool.cacheable,
|
|
310
|
+
cacheTTL: tool.cacheTTL,
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* List all available MCP tools
|
|
315
|
+
*
|
|
316
|
+
* @param category - Optional category filter
|
|
317
|
+
* @returns Array of tool metadata
|
|
318
|
+
*/
|
|
319
|
+
export function listMCPTools(category) {
|
|
320
|
+
const tools = Array.from(TOOL_REGISTRY.values());
|
|
321
|
+
const filtered = category
|
|
322
|
+
? tools.filter(t => t.category === category)
|
|
323
|
+
: tools;
|
|
324
|
+
return filtered.map(tool => ({
|
|
325
|
+
name: tool.name,
|
|
326
|
+
description: tool.description,
|
|
327
|
+
inputSchema: tool.inputSchema,
|
|
328
|
+
category: tool.category,
|
|
329
|
+
tags: tool.tags,
|
|
330
|
+
version: tool.version,
|
|
331
|
+
cacheable: tool.cacheable,
|
|
332
|
+
cacheTTL: tool.cacheTTL,
|
|
333
|
+
}));
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Check if an MCP tool exists
|
|
337
|
+
*
|
|
338
|
+
* @param toolName - Name of the MCP tool
|
|
339
|
+
* @returns True if tool exists
|
|
340
|
+
*/
|
|
341
|
+
export function hasTool(toolName) {
|
|
342
|
+
return TOOL_REGISTRY.has(toolName);
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Get all tool categories
|
|
346
|
+
*
|
|
347
|
+
* @returns Array of unique categories
|
|
348
|
+
*/
|
|
349
|
+
export function getToolCategories() {
|
|
350
|
+
const categories = new Set();
|
|
351
|
+
TOOL_REGISTRY.forEach(tool => {
|
|
352
|
+
if (tool.category) {
|
|
353
|
+
categories.add(tool.category);
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
return Array.from(categories).sort();
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Validate tool input against schema
|
|
360
|
+
*
|
|
361
|
+
* @param toolName - Name of the MCP tool
|
|
362
|
+
* @param input - Input to validate
|
|
363
|
+
* @returns Validation result with errors if any
|
|
364
|
+
*/
|
|
365
|
+
export function validateToolInput(toolName, input) {
|
|
366
|
+
const tool = TOOL_REGISTRY.get(toolName);
|
|
367
|
+
if (!tool) {
|
|
368
|
+
return {
|
|
369
|
+
valid: false,
|
|
370
|
+
errors: [`Tool '${toolName}' not found`],
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
// Basic validation - check required fields
|
|
374
|
+
const schema = tool.inputSchema;
|
|
375
|
+
const errors = [];
|
|
376
|
+
if (schema.required && Array.isArray(schema.required)) {
|
|
377
|
+
for (const requiredField of schema.required) {
|
|
378
|
+
if (!(requiredField in input)) {
|
|
379
|
+
errors.push(`Missing required field: ${requiredField}`);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return {
|
|
384
|
+
valid: errors.length === 0,
|
|
385
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
export default {
|
|
389
|
+
callMCPTool,
|
|
390
|
+
getToolMetadata,
|
|
391
|
+
listMCPTools,
|
|
392
|
+
hasTool,
|
|
393
|
+
getToolCategories,
|
|
394
|
+
validateToolInput,
|
|
395
|
+
MCPClientError,
|
|
396
|
+
};
|
|
397
|
+
//# sourceMappingURL=mcp-client.js.map
|