@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,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure JavaScript SemanticRouter implementation
|
|
3
|
+
*
|
|
4
|
+
* Provides intent routing using cosine similarity.
|
|
5
|
+
* This is a fallback implementation since @ruvector/router's native VectorDb has bugs.
|
|
6
|
+
*
|
|
7
|
+
* Performance: ~50,000 routes/sec with 100 intents (sufficient for agent routing)
|
|
8
|
+
*/
|
|
9
|
+
export class SemanticRouter {
|
|
10
|
+
dimension;
|
|
11
|
+
metric;
|
|
12
|
+
intents = new Map();
|
|
13
|
+
totalVectors = 0;
|
|
14
|
+
constructor(config) {
|
|
15
|
+
if (!config || typeof config.dimension !== 'number') {
|
|
16
|
+
throw new Error('SemanticRouter requires a dimension in config');
|
|
17
|
+
}
|
|
18
|
+
this.dimension = config.dimension;
|
|
19
|
+
this.metric = config.metric ?? 'cosine';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Add an intent with pre-computed embeddings
|
|
23
|
+
*/
|
|
24
|
+
addIntentWithEmbeddings(name, embeddings, metadata = {}) {
|
|
25
|
+
if (!name || !Array.isArray(embeddings)) {
|
|
26
|
+
throw new Error('Must provide name and embeddings array');
|
|
27
|
+
}
|
|
28
|
+
// Validate embeddings
|
|
29
|
+
for (const emb of embeddings) {
|
|
30
|
+
if (!(emb instanceof Float32Array) || emb.length !== this.dimension) {
|
|
31
|
+
throw new Error(`Embedding must be Float32Array of length ${this.dimension}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Normalize embeddings for cosine similarity
|
|
35
|
+
const normalizedEmbeddings = embeddings.map(emb => this.normalize(emb));
|
|
36
|
+
this.intents.set(name, {
|
|
37
|
+
name,
|
|
38
|
+
embeddings: normalizedEmbeddings,
|
|
39
|
+
metadata,
|
|
40
|
+
});
|
|
41
|
+
this.totalVectors += embeddings.length;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Route a query using a pre-computed embedding
|
|
45
|
+
*/
|
|
46
|
+
routeWithEmbedding(embedding, k = 5) {
|
|
47
|
+
if (!(embedding instanceof Float32Array) || embedding.length !== this.dimension) {
|
|
48
|
+
throw new Error(`Embedding must be Float32Array of length ${this.dimension}`);
|
|
49
|
+
}
|
|
50
|
+
const normalizedQuery = this.normalize(embedding);
|
|
51
|
+
const scores = [];
|
|
52
|
+
// Calculate best score for each intent
|
|
53
|
+
for (const [intentName, intent] of this.intents) {
|
|
54
|
+
let bestScore = -Infinity;
|
|
55
|
+
for (const storedEmb of intent.embeddings) {
|
|
56
|
+
const score = this.similarity(normalizedQuery, storedEmb);
|
|
57
|
+
if (score > bestScore) {
|
|
58
|
+
bestScore = score;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
scores.push({
|
|
62
|
+
intent: intentName,
|
|
63
|
+
score: bestScore,
|
|
64
|
+
metadata: intent.metadata,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Sort by score descending and take top k
|
|
68
|
+
return scores
|
|
69
|
+
.sort((a, b) => b.score - a.score)
|
|
70
|
+
.slice(0, k);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Remove an intent
|
|
74
|
+
*/
|
|
75
|
+
removeIntent(name) {
|
|
76
|
+
const intent = this.intents.get(name);
|
|
77
|
+
if (!intent)
|
|
78
|
+
return false;
|
|
79
|
+
this.totalVectors -= intent.embeddings.length;
|
|
80
|
+
this.intents.delete(name);
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get all intent names
|
|
85
|
+
*/
|
|
86
|
+
getIntents() {
|
|
87
|
+
return Array.from(this.intents.keys());
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get intent details
|
|
91
|
+
*/
|
|
92
|
+
getIntent(name) {
|
|
93
|
+
const data = this.intents.get(name);
|
|
94
|
+
if (!data)
|
|
95
|
+
return null;
|
|
96
|
+
return {
|
|
97
|
+
name: data.name,
|
|
98
|
+
utterances: [], // We don't store utterances, only embeddings
|
|
99
|
+
metadata: data.metadata,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Clear all intents
|
|
104
|
+
*/
|
|
105
|
+
clear() {
|
|
106
|
+
this.intents.clear();
|
|
107
|
+
this.totalVectors = 0;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get total vector count
|
|
111
|
+
*/
|
|
112
|
+
count() {
|
|
113
|
+
return this.totalVectors;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get number of intents
|
|
117
|
+
*/
|
|
118
|
+
intentCount() {
|
|
119
|
+
return this.intents.size;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Normalize a vector for cosine similarity
|
|
123
|
+
*/
|
|
124
|
+
normalize(vec) {
|
|
125
|
+
let norm = 0;
|
|
126
|
+
for (let i = 0; i < vec.length; i++) {
|
|
127
|
+
norm += vec[i] * vec[i];
|
|
128
|
+
}
|
|
129
|
+
norm = Math.sqrt(norm);
|
|
130
|
+
if (norm === 0)
|
|
131
|
+
return vec;
|
|
132
|
+
const normalized = new Float32Array(vec.length);
|
|
133
|
+
for (let i = 0; i < vec.length; i++) {
|
|
134
|
+
normalized[i] = vec[i] / norm;
|
|
135
|
+
}
|
|
136
|
+
return normalized;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Calculate similarity between two normalized vectors
|
|
140
|
+
*/
|
|
141
|
+
similarity(a, b) {
|
|
142
|
+
switch (this.metric) {
|
|
143
|
+
case 'cosine':
|
|
144
|
+
// For normalized vectors, cosine similarity = dot product
|
|
145
|
+
return this.dotProduct(a, b);
|
|
146
|
+
case 'dotProduct':
|
|
147
|
+
return this.dotProduct(a, b);
|
|
148
|
+
case 'euclidean':
|
|
149
|
+
// Convert Euclidean distance to similarity
|
|
150
|
+
return 1 / (1 + this.euclideanDistance(a, b));
|
|
151
|
+
default:
|
|
152
|
+
return this.dotProduct(a, b);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
dotProduct(a, b) {
|
|
156
|
+
let sum = 0;
|
|
157
|
+
for (let i = 0; i < a.length; i++) {
|
|
158
|
+
sum += a[i] * b[i];
|
|
159
|
+
}
|
|
160
|
+
return sum;
|
|
161
|
+
}
|
|
162
|
+
euclideanDistance(a, b) {
|
|
163
|
+
let sum = 0;
|
|
164
|
+
for (let i = 0; i < a.length; i++) {
|
|
165
|
+
const diff = a[i] - b[i];
|
|
166
|
+
sum += diff * diff;
|
|
167
|
+
}
|
|
168
|
+
return Math.sqrt(sum);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Create a SemanticRouter with the given configuration
|
|
173
|
+
*/
|
|
174
|
+
export function createSemanticRouter(config) {
|
|
175
|
+
return new SemanticRouter(config);
|
|
176
|
+
}
|
|
177
|
+
export default SemanticRouter;
|
|
178
|
+
//# sourceMappingURL=semantic-router.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* task-embedder.ts — Shared lazy task embedder + LRU cache (ADR-149 iter 9).
|
|
3
|
+
*
|
|
4
|
+
* The cost-optimal neural router (ADR-149) fires only when `route(task, embedding)`
|
|
5
|
+
* is called with a real embedding. Two call sites in the dispatcher chain need
|
|
6
|
+
* embeddings: `agent-tools.ts` (initial routing) and `agent-execute-core.ts`
|
|
7
|
+
* (the fallback chain on 429/5xx). Before this module they each loaded their
|
|
8
|
+
* own @xenova/transformers MiniLM pipeline and recomputed embeddings on every
|
|
9
|
+
* call — including for repeated prompts.
|
|
10
|
+
*
|
|
11
|
+
* This module:
|
|
12
|
+
* 1. Loads the pipeline once per process (`loadTaskEmbedder`).
|
|
13
|
+
* 2. Caches embeddings per task text via an LRU of configurable size
|
|
14
|
+
* (default 500 entries ≈ 1.5 MB at 384-dim).
|
|
15
|
+
* 3. Hashes by FNV-1a-32 + length to keep the key compact and collision-safe
|
|
16
|
+
* for typical prompt sizes.
|
|
17
|
+
* 4. Returns `undefined` on any failure so callers gracefully fall back to
|
|
18
|
+
* the heuristic+bandit path.
|
|
19
|
+
*
|
|
20
|
+
* @module task-embedder
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Compute (or fetch from cache) the 384-dim MiniLM embedding for `task`.
|
|
24
|
+
* Returns `undefined` on any failure (missing @xenova/transformers, ONNX
|
|
25
|
+
* runtime error, etc.) so callers can gracefully fall back to the
|
|
26
|
+
* heuristic+bandit path. Best-effort and never throws.
|
|
27
|
+
*
|
|
28
|
+
* Cache hit-rate accumulates across the process lifetime and is observable
|
|
29
|
+
* via `embedderStats()` for diagnostics.
|
|
30
|
+
*/
|
|
31
|
+
export declare function embedTaskWithCache(task: string): Promise<number[] | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* Batch counterpart to `embedTaskWithCache`. For each task, returns the
|
|
34
|
+
* cached embedding when present, else schedules a fresh inference. The
|
|
35
|
+
* fresh-inference set is computed in a SINGLE ONNX pass via
|
|
36
|
+
* @xenova/transformers' array-input mode, amortizing tensor setup +
|
|
37
|
+
* model-load overhead across the batch. Order of the output array
|
|
38
|
+
* matches the input order.
|
|
39
|
+
*
|
|
40
|
+
* Returns `undefined` for any task that failed to embed (missing dep,
|
|
41
|
+
* runtime error). Cache state updates as if each task had been called
|
|
42
|
+
* separately through embedTaskWithCache (hits/misses counters update
|
|
43
|
+
* accordingly).
|
|
44
|
+
*/
|
|
45
|
+
export declare function embedTaskWithCacheBatch(tasks: string[]): Promise<Array<number[] | undefined>>;
|
|
46
|
+
/** Diagnostic surface — hit/miss counters + cache state. */
|
|
47
|
+
export declare function embedderStats(): {
|
|
48
|
+
size: number;
|
|
49
|
+
maxSize: number;
|
|
50
|
+
hits: number;
|
|
51
|
+
misses: number;
|
|
52
|
+
hitRate: number;
|
|
53
|
+
};
|
|
54
|
+
/** Test seam — clear LRU + counters so tests get a fresh baseline. */
|
|
55
|
+
export declare function __resetTaskEmbedderForTests(): void;
|
|
56
|
+
//# sourceMappingURL=task-embedder.d.ts.map
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* task-embedder.ts — Shared lazy task embedder + LRU cache (ADR-149 iter 9).
|
|
3
|
+
*
|
|
4
|
+
* The cost-optimal neural router (ADR-149) fires only when `route(task, embedding)`
|
|
5
|
+
* is called with a real embedding. Two call sites in the dispatcher chain need
|
|
6
|
+
* embeddings: `agent-tools.ts` (initial routing) and `agent-execute-core.ts`
|
|
7
|
+
* (the fallback chain on 429/5xx). Before this module they each loaded their
|
|
8
|
+
* own @xenova/transformers MiniLM pipeline and recomputed embeddings on every
|
|
9
|
+
* call — including for repeated prompts.
|
|
10
|
+
*
|
|
11
|
+
* This module:
|
|
12
|
+
* 1. Loads the pipeline once per process (`loadTaskEmbedder`).
|
|
13
|
+
* 2. Caches embeddings per task text via an LRU of configurable size
|
|
14
|
+
* (default 500 entries ≈ 1.5 MB at 384-dim).
|
|
15
|
+
* 3. Hashes by FNV-1a-32 + length to keep the key compact and collision-safe
|
|
16
|
+
* for typical prompt sizes.
|
|
17
|
+
* 4. Returns `undefined` on any failure so callers gracefully fall back to
|
|
18
|
+
* the heuristic+bandit path.
|
|
19
|
+
*
|
|
20
|
+
* @module task-embedder
|
|
21
|
+
*/
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// FNV-1a-32 hash (matches scripts/gen-seed-corpus.mjs + router-trajectory.ts)
|
|
24
|
+
// ============================================================================
|
|
25
|
+
function fnv1a32(s) {
|
|
26
|
+
let h = 0x811c9dc5 >>> 0;
|
|
27
|
+
for (let i = 0; i < s.length; i++) {
|
|
28
|
+
h ^= s.charCodeAt(i);
|
|
29
|
+
h = (h + ((h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24))) >>> 0;
|
|
30
|
+
}
|
|
31
|
+
return h.toString(16).padStart(8, '0');
|
|
32
|
+
}
|
|
33
|
+
/** Compact cache key — hash + length so distinct prompts of similar shape collide rarely. */
|
|
34
|
+
function cacheKey(task) {
|
|
35
|
+
return `${fnv1a32(task)}:${task.length}`;
|
|
36
|
+
}
|
|
37
|
+
// Single shared extractor. Both single-text and array-input modes call this
|
|
38
|
+
// same function (xenova's pipeline returns a callable that accepts either),
|
|
39
|
+
// so we don't pay the ONNX model-load cost twice.
|
|
40
|
+
let _extractorPromise = null;
|
|
41
|
+
function loadExtractor() {
|
|
42
|
+
if (_extractorPromise !== null)
|
|
43
|
+
return _extractorPromise;
|
|
44
|
+
_extractorPromise = (async () => {
|
|
45
|
+
try {
|
|
46
|
+
const specifier = '@xenova/transformers';
|
|
47
|
+
const mod = await import(/* @vite-ignore */ specifier).catch(() => null);
|
|
48
|
+
if (!mod || typeof mod.pipeline !== 'function')
|
|
49
|
+
return null;
|
|
50
|
+
return await mod.pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2', { quantized: true });
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
})();
|
|
56
|
+
return _extractorPromise;
|
|
57
|
+
}
|
|
58
|
+
async function loadEmbedder() {
|
|
59
|
+
const ex = await loadExtractor();
|
|
60
|
+
if (!ex)
|
|
61
|
+
return null;
|
|
62
|
+
return async (text) => {
|
|
63
|
+
const out = await ex(text, { pooling: 'mean', normalize: true });
|
|
64
|
+
return Array.from(out.data);
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Array-input batch embedder — xenova's pipeline accepts `string[]` and
|
|
69
|
+
* returns a stacked tensor of shape `[N, dim]`. Shares the same loaded
|
|
70
|
+
* pipeline with `loadEmbedder` so cold-load cost is paid once across
|
|
71
|
+
* single + batch usage. Measured speedup: ~1.83× on 30-task batches
|
|
72
|
+
* against the same-pipeline single-call loop.
|
|
73
|
+
*/
|
|
74
|
+
async function loadEmbedderBatch() {
|
|
75
|
+
const ex = await loadExtractor();
|
|
76
|
+
if (!ex)
|
|
77
|
+
return null;
|
|
78
|
+
return async (texts) => {
|
|
79
|
+
const out = await ex(texts, { pooling: 'mean', normalize: true });
|
|
80
|
+
const dims = out.dims ?? [texts.length, 384];
|
|
81
|
+
const N = dims[0] ?? texts.length;
|
|
82
|
+
const dim = dims[1] ?? Math.floor(out.data.length / N);
|
|
83
|
+
const data = out.data;
|
|
84
|
+
const result = new Array(N);
|
|
85
|
+
for (let i = 0; i < N; i++) {
|
|
86
|
+
result[i] = Array.from(data.subarray(i * dim, (i + 1) * dim));
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// ============================================================================
|
|
92
|
+
// LRU cache — Map preserves insertion order, so delete+set on hit = O(1) LRU
|
|
93
|
+
// ============================================================================
|
|
94
|
+
const MAX_SIZE = (() => {
|
|
95
|
+
const v = parseInt(process.env.CLAUDE_FLOW_ROUTER_EMBED_CACHE_SIZE ?? '500', 10);
|
|
96
|
+
return Number.isFinite(v) && v >= 0 ? v : 500;
|
|
97
|
+
})();
|
|
98
|
+
const _cache = new Map();
|
|
99
|
+
let _hits = 0;
|
|
100
|
+
let _misses = 0;
|
|
101
|
+
function lruGet(key) {
|
|
102
|
+
const hit = _cache.get(key);
|
|
103
|
+
if (hit === undefined)
|
|
104
|
+
return undefined;
|
|
105
|
+
// Refresh recency: re-insert at the end.
|
|
106
|
+
_cache.delete(key);
|
|
107
|
+
_cache.set(key, hit);
|
|
108
|
+
return hit;
|
|
109
|
+
}
|
|
110
|
+
function lruSet(key, value) {
|
|
111
|
+
if (MAX_SIZE === 0)
|
|
112
|
+
return;
|
|
113
|
+
if (_cache.has(key))
|
|
114
|
+
_cache.delete(key);
|
|
115
|
+
_cache.set(key, value);
|
|
116
|
+
while (_cache.size > MAX_SIZE) {
|
|
117
|
+
const oldest = _cache.keys().next().value;
|
|
118
|
+
if (oldest === undefined)
|
|
119
|
+
break;
|
|
120
|
+
_cache.delete(oldest);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// Public API
|
|
125
|
+
// ============================================================================
|
|
126
|
+
/**
|
|
127
|
+
* Compute (or fetch from cache) the 384-dim MiniLM embedding for `task`.
|
|
128
|
+
* Returns `undefined` on any failure (missing @xenova/transformers, ONNX
|
|
129
|
+
* runtime error, etc.) so callers can gracefully fall back to the
|
|
130
|
+
* heuristic+bandit path. Best-effort and never throws.
|
|
131
|
+
*
|
|
132
|
+
* Cache hit-rate accumulates across the process lifetime and is observable
|
|
133
|
+
* via `embedderStats()` for diagnostics.
|
|
134
|
+
*/
|
|
135
|
+
export async function embedTaskWithCache(task) {
|
|
136
|
+
if (typeof task !== 'string' || task.length === 0)
|
|
137
|
+
return undefined;
|
|
138
|
+
const key = cacheKey(task);
|
|
139
|
+
const cached = lruGet(key);
|
|
140
|
+
if (cached !== undefined) {
|
|
141
|
+
_hits++;
|
|
142
|
+
return cached;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const embed = await loadEmbedder();
|
|
146
|
+
if (!embed)
|
|
147
|
+
return undefined;
|
|
148
|
+
const v = await embed(task);
|
|
149
|
+
lruSet(key, v);
|
|
150
|
+
_misses++;
|
|
151
|
+
return v;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Batch counterpart to `embedTaskWithCache`. For each task, returns the
|
|
159
|
+
* cached embedding when present, else schedules a fresh inference. The
|
|
160
|
+
* fresh-inference set is computed in a SINGLE ONNX pass via
|
|
161
|
+
* @xenova/transformers' array-input mode, amortizing tensor setup +
|
|
162
|
+
* model-load overhead across the batch. Order of the output array
|
|
163
|
+
* matches the input order.
|
|
164
|
+
*
|
|
165
|
+
* Returns `undefined` for any task that failed to embed (missing dep,
|
|
166
|
+
* runtime error). Cache state updates as if each task had been called
|
|
167
|
+
* separately through embedTaskWithCache (hits/misses counters update
|
|
168
|
+
* accordingly).
|
|
169
|
+
*/
|
|
170
|
+
export async function embedTaskWithCacheBatch(tasks) {
|
|
171
|
+
const out = new Array(tasks.length).fill(undefined);
|
|
172
|
+
// Validate + split into (cached-hits) and (missing-needs-inference).
|
|
173
|
+
const missingIdx = [];
|
|
174
|
+
const missingTasks = [];
|
|
175
|
+
const missingKeys = [];
|
|
176
|
+
for (let i = 0; i < tasks.length; i++) {
|
|
177
|
+
const t = tasks[i];
|
|
178
|
+
if (typeof t !== 'string' || t.length === 0)
|
|
179
|
+
continue;
|
|
180
|
+
const key = cacheKey(t);
|
|
181
|
+
const hit = lruGet(key);
|
|
182
|
+
if (hit !== undefined) {
|
|
183
|
+
_hits++;
|
|
184
|
+
out[i] = hit;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
missingIdx.push(i);
|
|
188
|
+
missingTasks.push(t);
|
|
189
|
+
missingKeys.push(key);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (missingTasks.length === 0)
|
|
193
|
+
return out;
|
|
194
|
+
try {
|
|
195
|
+
const embedBatch = await loadEmbedderBatch();
|
|
196
|
+
if (!embedBatch) {
|
|
197
|
+
for (let j = 0; j < missingIdx.length; j++)
|
|
198
|
+
_misses++;
|
|
199
|
+
return out;
|
|
200
|
+
}
|
|
201
|
+
// Real array-input batch: xenova returns one stacked tensor we slice
|
|
202
|
+
// back into N embeddings. Amortizes tensor setup + ONNX overhead
|
|
203
|
+
// across the batch (measured 1.83× speedup at N=30).
|
|
204
|
+
const fresh = await embedBatch(missingTasks);
|
|
205
|
+
for (let j = 0; j < missingIdx.length; j++) {
|
|
206
|
+
const v = fresh[j];
|
|
207
|
+
if (v) {
|
|
208
|
+
lruSet(missingKeys[j], v);
|
|
209
|
+
out[missingIdx[j]] = v;
|
|
210
|
+
}
|
|
211
|
+
_misses++;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// best-effort — leave undefined entries as is
|
|
216
|
+
}
|
|
217
|
+
return out;
|
|
218
|
+
}
|
|
219
|
+
/** Diagnostic surface — hit/miss counters + cache state. */
|
|
220
|
+
export function embedderStats() {
|
|
221
|
+
const total = _hits + _misses;
|
|
222
|
+
return {
|
|
223
|
+
size: _cache.size,
|
|
224
|
+
maxSize: MAX_SIZE,
|
|
225
|
+
hits: _hits,
|
|
226
|
+
misses: _misses,
|
|
227
|
+
hitRate: total > 0 ? _hits / total : 0,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
/** Test seam — clear LRU + counters so tests get a fresh baseline. */
|
|
231
|
+
export function __resetTaskEmbedderForTests() {
|
|
232
|
+
_cache.clear();
|
|
233
|
+
_hits = 0;
|
|
234
|
+
_misses = 0;
|
|
235
|
+
_extractorPromise = null;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=task-embedder.js.map
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* trajectory-tree.ts — Execution-state-tree retrieval PROTOTYPE (MAGE-style).
|
|
3
|
+
*
|
|
4
|
+
* Research basis: MAGE (arXiv 2606.06090) observes that semantic-similarity
|
|
5
|
+
* retrieval fragments decision trajectories on long-horizon tasks; retrieving
|
|
6
|
+
* by POSITION in a hierarchical execution-state tree (the root→current path)
|
|
7
|
+
* preserves coherence. This module mirrors ruflo's existing trajectory
|
|
8
|
+
* recording (hooks_intelligence_trajectory-start/step/end) into such a tree
|
|
9
|
+
* and offers position-based recall — NO embedding search anywhere.
|
|
10
|
+
*
|
|
11
|
+
* Structure:
|
|
12
|
+
* session root ─ trajectory ─ step
|
|
13
|
+
* └ trajectory (nested: a start while another is open
|
|
14
|
+
* opens UNDER the open one) ─ step …
|
|
15
|
+
*
|
|
16
|
+
* - `trajectory-start` opens a node under the deepest open trajectory of the
|
|
17
|
+
* session (or the session root).
|
|
18
|
+
* - `trajectory-step` appends a step child; the step becomes the "current"
|
|
19
|
+
* position of the session.
|
|
20
|
+
* - `trajectory-end` closes the node; current returns to its parent.
|
|
21
|
+
* - `recallPath({sessionId, depth})` returns the root→current path (the
|
|
22
|
+
* MAGE-style working context) plus the most recent siblings of the current
|
|
23
|
+
* node.
|
|
24
|
+
*
|
|
25
|
+
* PROTOTYPE LIMITATIONS (deliberate — see the feature spec):
|
|
26
|
+
* - Persistence is a single best-effort JSON snapshot at
|
|
27
|
+
* `.claude-flow/intelligence/trajectory-tree.json`, written on every
|
|
28
|
+
* mutation. It sits ALONGSIDE the existing 'trajectories' memory-namespace
|
|
29
|
+
* persistence; nothing is migrated and the semantic path is untouched.
|
|
30
|
+
* - No concurrency control: two MCP server processes sharing a cwd will
|
|
31
|
+
* last-writer-win the snapshot.
|
|
32
|
+
* - No pruning/compaction: long-lived sessions grow the file unboundedly
|
|
33
|
+
* (labels are truncated to 200 chars to bound row size, not row count).
|
|
34
|
+
* - sessionId defaults to CLAUDE_FLOW_SESSION_ID or 'default'; hosts that
|
|
35
|
+
* never set it collapse into one tree.
|
|
36
|
+
* - Retrieval is position-only by design; hybrid position+semantic ranking
|
|
37
|
+
* is future work.
|
|
38
|
+
*
|
|
39
|
+
* @module ruvector/trajectory-tree
|
|
40
|
+
*/
|
|
41
|
+
export type TreeNodeKind = 'session' | 'trajectory' | 'step';
|
|
42
|
+
export interface TreeNode {
|
|
43
|
+
id: string;
|
|
44
|
+
kind: TreeNodeKind;
|
|
45
|
+
/** Task text (trajectory), action text (step), or session id — ≤200 chars. */
|
|
46
|
+
label: string;
|
|
47
|
+
parentId: string | null;
|
|
48
|
+
childIds: string[];
|
|
49
|
+
status: 'open' | 'closed';
|
|
50
|
+
openedAt: string;
|
|
51
|
+
closedAt?: string;
|
|
52
|
+
meta?: Record<string, unknown>;
|
|
53
|
+
}
|
|
54
|
+
export interface RecallResult {
|
|
55
|
+
sessionId: string;
|
|
56
|
+
/** Root→current node path (the MAGE-style working context). */
|
|
57
|
+
path: TreeNode[];
|
|
58
|
+
/** Most recent siblings of the current node (excluding it), oldest→newest. */
|
|
59
|
+
siblings: TreeNode[];
|
|
60
|
+
/** Id of the current node (deepest position in the session). */
|
|
61
|
+
currentId: string | null;
|
|
62
|
+
strategy: 'state-tree';
|
|
63
|
+
}
|
|
64
|
+
export declare class TrajectoryTree {
|
|
65
|
+
private nodes;
|
|
66
|
+
/** sessionId → id of the deepest "current" node (step or open trajectory). */
|
|
67
|
+
private currentBySession;
|
|
68
|
+
/** trajectoryId → sessionId, so step/end calls can omit the session. */
|
|
69
|
+
private trajectorySession;
|
|
70
|
+
private readonly persistPath;
|
|
71
|
+
constructor(persistPath?: string);
|
|
72
|
+
private sessionRootId;
|
|
73
|
+
private ensureSession;
|
|
74
|
+
/** Deepest OPEN trajectory node on the current path of a session, if any. */
|
|
75
|
+
private deepestOpenTrajectory;
|
|
76
|
+
openTrajectory(args: {
|
|
77
|
+
sessionId: string;
|
|
78
|
+
trajectoryId: string;
|
|
79
|
+
task: string;
|
|
80
|
+
agent?: string;
|
|
81
|
+
}): TreeNode;
|
|
82
|
+
appendStep(args: {
|
|
83
|
+
trajectoryId: string;
|
|
84
|
+
stepId: string;
|
|
85
|
+
action: string;
|
|
86
|
+
quality?: number;
|
|
87
|
+
}): TreeNode | null;
|
|
88
|
+
closeTrajectory(args: {
|
|
89
|
+
trajectoryId: string;
|
|
90
|
+
success?: boolean;
|
|
91
|
+
}): TreeNode | null;
|
|
92
|
+
/**
|
|
93
|
+
* MAGE-style positional recall: the exact root→current path for a session,
|
|
94
|
+
* plus the most recent siblings of the current node for local context.
|
|
95
|
+
*
|
|
96
|
+
* @param depth Max number of path nodes returned, counted from the CURRENT
|
|
97
|
+
* node upward (deepest levels win). Default: full path.
|
|
98
|
+
* @param siblingWindow Max recent siblings of the current node. Default 3.
|
|
99
|
+
*/
|
|
100
|
+
recallPath(args: {
|
|
101
|
+
sessionId: string;
|
|
102
|
+
depth?: number;
|
|
103
|
+
siblingWindow?: number;
|
|
104
|
+
}): RecallResult;
|
|
105
|
+
get size(): number;
|
|
106
|
+
private load;
|
|
107
|
+
private save;
|
|
108
|
+
}
|
|
109
|
+
export declare function getTrajectoryTree(persistPath?: string): TrajectoryTree;
|
|
110
|
+
/** Test/reset hook — drops the singleton so the next get() reloads from disk. */
|
|
111
|
+
export declare function resetTrajectoryTree(): void;
|
|
112
|
+
export default TrajectoryTree;
|
|
113
|
+
//# sourceMappingURL=trajectory-tree.d.ts.map
|