agent-nuvira 3.3.13 → 3.3.15
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/README.md +67 -1
- package/dist/agents/agents/planner.d.ts.map +1 -1
- package/dist/agents/agents/planner.js +9 -0
- package/dist/agents/agents/planner.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +31 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +74 -126
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts +89 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +765 -33
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +12 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts +12 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +86 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/decisions.d.ts +28 -0
- package/dist/cli/decisions.d.ts.map +1 -0
- package/dist/cli/decisions.js +140 -0
- package/dist/cli/decisions.js.map +1 -0
- package/dist/cli/doctor.d.ts +6 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +46 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +19 -1
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/feedback.d.ts.map +1 -1
- package/dist/cli/feedback.js +5 -1
- package/dist/cli/feedback.js.map +1 -1
- package/dist/cli/hooks.d.ts +30 -0
- package/dist/cli/hooks.d.ts.map +1 -0
- package/dist/cli/hooks.js +224 -0
- package/dist/cli/hooks.js.map +1 -0
- package/dist/cli/knowledge.d.ts +9 -1
- package/dist/cli/knowledge.d.ts.map +1 -1
- package/dist/cli/knowledge.js +93 -2
- package/dist/cli/knowledge.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +47 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/model.d.ts +20 -0
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +294 -14
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/rate.d.ts +78 -0
- package/dist/cli/rate.d.ts.map +1 -0
- package/dist/cli/rate.js +294 -0
- package/dist/cli/rate.js.map +1 -0
- package/dist/config/process-env.d.ts.map +1 -1
- package/dist/config/process-env.js +10 -0
- package/dist/config/process-env.js.map +1 -1
- package/dist/enterprise/vault.d.ts.map +1 -1
- package/dist/enterprise/vault.js +5 -21
- package/dist/enterprise/vault.js.map +1 -1
- package/dist/gateway/hook-contract.d.ts +33 -0
- package/dist/gateway/hook-contract.d.ts.map +1 -1
- package/dist/gateway/hook-contract.js +97 -0
- package/dist/gateway/hook-contract.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +4 -0
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +37 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/native-tools.d.ts +16 -1
- package/dist/inference/native-tools.d.ts.map +1 -1
- package/dist/inference/native-tools.js +34 -10
- package/dist/inference/native-tools.js.map +1 -1
- package/dist/inference/route-resolver.d.ts +30 -0
- package/dist/inference/route-resolver.d.ts.map +1 -1
- package/dist/inference/route-resolver.js +158 -1
- package/dist/inference/route-resolver.js.map +1 -1
- package/dist/inference/tools.d.ts +16 -1
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +51 -18
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/acceptance-model.d.ts +247 -0
- package/dist/learning/acceptance-model.d.ts.map +1 -0
- package/dist/learning/acceptance-model.js +708 -0
- package/dist/learning/acceptance-model.js.map +1 -0
- package/dist/learning/auto-router.d.ts +68 -24
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +301 -96
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +12 -16
- package/dist/learning/autonomy-policy.d.ts.map +1 -1
- package/dist/learning/autonomy-policy.js +50 -48
- package/dist/learning/autonomy-policy.js.map +1 -1
- package/dist/learning/behavioural-labels.d.ts +86 -0
- package/dist/learning/behavioural-labels.d.ts.map +1 -0
- package/dist/learning/behavioural-labels.js +166 -0
- package/dist/learning/behavioural-labels.js.map +1 -0
- package/dist/learning/capability-evidence.d.ts +167 -0
- package/dist/learning/capability-evidence.d.ts.map +1 -0
- package/dist/learning/capability-evidence.js +210 -0
- package/dist/learning/capability-evidence.js.map +1 -0
- package/dist/learning/capability-readiness.d.ts +64 -0
- package/dist/learning/capability-readiness.d.ts.map +1 -0
- package/dist/learning/capability-readiness.js +74 -0
- package/dist/learning/capability-readiness.js.map +1 -0
- package/dist/learning/capability-types.d.ts +169 -0
- package/dist/learning/capability-types.d.ts.map +1 -0
- package/dist/learning/capability-types.js +20 -0
- package/dist/learning/capability-types.js.map +1 -0
- package/dist/learning/catalog-feed.d.ts +89 -0
- package/dist/learning/catalog-feed.d.ts.map +1 -0
- package/dist/learning/catalog-feed.js +211 -0
- package/dist/learning/catalog-feed.js.map +1 -0
- package/dist/learning/cli-intent-effects.d.ts +60 -0
- package/dist/learning/cli-intent-effects.d.ts.map +1 -0
- package/dist/learning/cli-intent-effects.js +153 -0
- package/dist/learning/cli-intent-effects.js.map +1 -0
- package/dist/learning/command-adaptation.d.ts +41 -0
- package/dist/learning/command-adaptation.d.ts.map +1 -0
- package/dist/learning/command-adaptation.js +122 -0
- package/dist/learning/command-adaptation.js.map +1 -0
- package/dist/learning/consent-picture.d.ts +42 -0
- package/dist/learning/consent-picture.d.ts.map +1 -0
- package/dist/learning/consent-picture.js +53 -0
- package/dist/learning/consent-picture.js.map +1 -0
- package/dist/learning/context-budget.d.ts +37 -6
- package/dist/learning/context-budget.d.ts.map +1 -1
- package/dist/learning/context-budget.js +38 -9
- package/dist/learning/context-budget.js.map +1 -1
- package/dist/learning/decision-log.d.ts +114 -0
- package/dist/learning/decision-log.d.ts.map +1 -0
- package/dist/learning/decision-log.js +296 -0
- package/dist/learning/decision-log.js.map +1 -0
- package/dist/learning/deliverable-class.d.ts.map +1 -1
- package/dist/learning/deliverable-class.js +19 -0
- package/dist/learning/deliverable-class.js.map +1 -1
- package/dist/learning/deliverable-corpus.d.ts +117 -0
- package/dist/learning/deliverable-corpus.d.ts.map +1 -0
- package/dist/learning/deliverable-corpus.js +176 -0
- package/dist/learning/deliverable-corpus.js.map +1 -0
- package/dist/learning/error-repair.d.ts +22 -1
- package/dist/learning/error-repair.d.ts.map +1 -1
- package/dist/learning/error-repair.js +37 -0
- package/dist/learning/error-repair.js.map +1 -1
- package/dist/learning/exhaustion-report.d.ts +136 -0
- package/dist/learning/exhaustion-report.d.ts.map +1 -0
- package/dist/learning/exhaustion-report.js +239 -0
- package/dist/learning/exhaustion-report.js.map +1 -0
- package/dist/learning/failure-bookkeeping.d.ts +16 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +51 -5
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/gate-friction.d.ts +39 -0
- package/dist/learning/gate-friction.d.ts.map +1 -0
- package/dist/learning/gate-friction.js +91 -0
- package/dist/learning/gate-friction.js.map +1 -0
- package/dist/learning/harness-narration.d.ts +34 -0
- package/dist/learning/harness-narration.d.ts.map +1 -0
- package/dist/learning/harness-narration.js +58 -0
- package/dist/learning/harness-narration.js.map +1 -0
- package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
- package/dist/learning/hub-skill-catalog.js +1 -2
- package/dist/learning/hub-skill-catalog.js.map +1 -1
- package/dist/learning/hybrid-router.d.ts +65 -0
- package/dist/learning/hybrid-router.d.ts.map +1 -1
- package/dist/learning/hybrid-router.js +186 -0
- package/dist/learning/hybrid-router.js.map +1 -1
- package/dist/learning/knowledge-base.d.ts +229 -3
- package/dist/learning/knowledge-base.d.ts.map +1 -1
- package/dist/learning/knowledge-base.js +603 -25
- package/dist/learning/knowledge-base.js.map +1 -1
- package/dist/learning/knowledge-eval.d.ts +171 -0
- package/dist/learning/knowledge-eval.d.ts.map +1 -0
- package/dist/learning/knowledge-eval.js +196 -0
- package/dist/learning/knowledge-eval.js.map +1 -0
- package/dist/learning/knowledge-turn.d.ts +92 -0
- package/dist/learning/knowledge-turn.d.ts.map +1 -0
- package/dist/learning/knowledge-turn.js +190 -0
- package/dist/learning/knowledge-turn.js.map +1 -0
- package/dist/learning/learned-commands.d.ts +64 -0
- package/dist/learning/learned-commands.d.ts.map +1 -0
- package/dist/learning/learned-commands.js +108 -0
- package/dist/learning/learned-commands.js.map +1 -0
- package/dist/learning/lexical-search.d.ts +50 -0
- package/dist/learning/lexical-search.d.ts.map +1 -0
- package/dist/learning/lexical-search.js +111 -0
- package/dist/learning/lexical-search.js.map +1 -0
- package/dist/learning/machine-facts.d.ts +71 -0
- package/dist/learning/machine-facts.d.ts.map +1 -0
- package/dist/learning/machine-facts.js +164 -0
- package/dist/learning/machine-facts.js.map +1 -0
- package/dist/learning/markdown-outline.d.ts +73 -0
- package/dist/learning/markdown-outline.d.ts.map +1 -0
- package/dist/learning/markdown-outline.js +136 -0
- package/dist/learning/markdown-outline.js.map +1 -0
- package/dist/learning/model-first-router.d.ts +33 -1
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +123 -9
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-identity.d.ts +80 -0
- package/dist/learning/model-identity.d.ts.map +1 -0
- package/dist/learning/model-identity.js +115 -0
- package/dist/learning/model-identity.js.map +1 -0
- package/dist/learning/model-registry.d.ts +141 -2
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +324 -38
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-scoring.d.ts.map +1 -1
- package/dist/learning/model-scoring.js +8 -1
- package/dist/learning/model-scoring.js.map +1 -1
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +41 -0
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/outcome-observation.d.ts +49 -0
- package/dist/learning/outcome-observation.d.ts.map +1 -0
- package/dist/learning/outcome-observation.js +95 -0
- package/dist/learning/outcome-observation.js.map +1 -0
- package/dist/learning/pair-entitlement.d.ts +184 -0
- package/dist/learning/pair-entitlement.d.ts.map +1 -0
- package/dist/learning/pair-entitlement.js +214 -0
- package/dist/learning/pair-entitlement.js.map +1 -0
- package/dist/learning/provider-fallback.d.ts +23 -1
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +24 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +65 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +123 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/requirement-probe.d.ts +55 -0
- package/dist/learning/requirement-probe.d.ts.map +1 -0
- package/dist/learning/requirement-probe.js +77 -0
- package/dist/learning/requirement-probe.js.map +1 -0
- package/dist/learning/resilient-call.d.ts +20 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +42 -4
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/response-usability.d.ts +85 -0
- package/dist/learning/response-usability.d.ts.map +1 -0
- package/dist/learning/response-usability.js +135 -0
- package/dist/learning/response-usability.js.map +1 -0
- package/dist/learning/router-bandit.d.ts +132 -0
- package/dist/learning/router-bandit.d.ts.map +1 -1
- package/dist/learning/router-bandit.js +253 -0
- package/dist/learning/router-bandit.js.map +1 -1
- package/dist/learning/routing-history.d.ts +41 -2
- package/dist/learning/routing-history.d.ts.map +1 -1
- package/dist/learning/routing-history.js.map +1 -1
- package/dist/learning/run-trace.d.ts +21 -0
- package/dist/learning/run-trace.d.ts.map +1 -1
- package/dist/learning/run-trace.js +38 -0
- package/dist/learning/run-trace.js.map +1 -1
- package/dist/learning/session-grant.d.ts +75 -0
- package/dist/learning/session-grant.d.ts.map +1 -0
- package/dist/learning/session-grant.js +112 -0
- package/dist/learning/session-grant.js.map +1 -0
- package/dist/learning/task-model-continuity.d.ts +73 -0
- package/dist/learning/task-model-continuity.d.ts.map +1 -0
- package/dist/learning/task-model-continuity.js +87 -0
- package/dist/learning/task-model-continuity.js.map +1 -0
- package/dist/learning/turn-feedback.d.ts +93 -0
- package/dist/learning/turn-feedback.d.ts.map +1 -0
- package/dist/learning/turn-feedback.js +127 -0
- package/dist/learning/turn-feedback.js.map +1 -0
- package/dist/learning/turn-report.d.ts +104 -2
- package/dist/learning/turn-report.d.ts.map +1 -1
- package/dist/learning/turn-report.js +161 -6
- package/dist/learning/turn-report.js.map +1 -1
- package/dist/learning/verdict-routing.d.ts +51 -0
- package/dist/learning/verdict-routing.d.ts.map +1 -0
- package/dist/learning/verdict-routing.js +122 -0
- package/dist/learning/verdict-routing.js.map +1 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +5 -0
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/manager.d.ts +10 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +20 -0
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/mcp-discovery.d.ts +34 -0
- package/dist/mcp/mcp-discovery.d.ts.map +1 -0
- package/dist/mcp/mcp-discovery.js +71 -0
- package/dist/mcp/mcp-discovery.js.map +1 -0
- package/dist/mcp/mcp-schema-cache.d.ts +17 -0
- package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
- package/dist/mcp/mcp-schema-cache.js +47 -3
- package/dist/mcp/mcp-schema-cache.js.map +1 -1
- package/dist/mcp/types.d.ts +28 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/parity/drivers.d.ts.map +1 -1
- package/dist/parity/drivers.js +3 -0
- package/dist/parity/drivers.js.map +1 -1
- package/dist/parity/observation.d.ts +12 -0
- package/dist/parity/observation.d.ts.map +1 -1
- package/dist/parity/observation.js +14 -0
- package/dist/parity/observation.js.map +1 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +4 -0
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/capability-registry.d.ts +150 -0
- package/dist/tools/capability-registry.d.ts.map +1 -0
- package/dist/tools/capability-registry.js +400 -0
- package/dist/tools/capability-registry.js.map +1 -0
- package/dist/tools/child-agent-runtime.d.ts.map +1 -1
- package/dist/tools/child-agent-runtime.js +19 -5
- package/dist/tools/child-agent-runtime.js.map +1 -1
- package/dist/tools/coding-tools.d.ts +17 -5
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +80 -11
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/command-memo.d.ts +116 -0
- package/dist/tools/command-memo.d.ts.map +1 -0
- package/dist/tools/command-memo.js +202 -0
- package/dist/tools/command-memo.js.map +1 -0
- package/dist/tools/git-tool.d.ts.map +1 -1
- package/dist/tools/git-tool.js +13 -3
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/tools/harness-directive.d.ts +42 -0
- package/dist/tools/harness-directive.d.ts.map +1 -0
- package/dist/tools/harness-directive.js +45 -0
- package/dist/tools/harness-directive.js.map +1 -0
- package/dist/tools/loop-skill-hint.d.ts +74 -174
- package/dist/tools/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +110 -536
- package/dist/tools/loop-skill-hint.js.map +1 -1
- package/dist/tools/mcp-client-tool.d.ts +2 -0
- package/dist/tools/mcp-client-tool.d.ts.map +1 -1
- package/dist/tools/mcp-client-tool.js +3 -0
- package/dist/tools/mcp-client-tool.js.map +1 -1
- package/dist/tools/modality/shared.d.ts +1 -4
- package/dist/tools/modality/shared.d.ts.map +1 -1
- package/dist/tools/modality/shared.js +7 -22
- package/dist/tools/modality/shared.js.map +1 -1
- package/dist/tools/plan-store.d.ts +20 -2
- package/dist/tools/plan-store.d.ts.map +1 -1
- package/dist/tools/plan-store.js +51 -7
- package/dist/tools/plan-store.js.map +1 -1
- package/dist/tools/registry.d.ts +76 -3
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +486 -26
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/remediation-ladder.d.ts.map +1 -1
- package/dist/tools/remediation-ladder.js +8 -0
- package/dist/tools/remediation-ladder.js.map +1 -1
- package/dist/tools/run-cli.d.ts.map +1 -1
- package/dist/tools/run-cli.js +29 -4
- package/dist/tools/run-cli.js.map +1 -1
- package/dist/tools/run-terminal.d.ts +11 -0
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +265 -10
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +321 -13
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +867 -66
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/utils/atomic-store.d.ts +53 -0
- package/dist/utils/atomic-store.d.ts.map +1 -0
- package/dist/utils/atomic-store.js +178 -0
- package/dist/utils/atomic-store.js.map +1 -0
- package/dist/utils/binary-probe.d.ts +25 -0
- package/dist/utils/binary-probe.d.ts.map +1 -0
- package/dist/utils/binary-probe.js +48 -0
- package/dist/utils/binary-probe.js.map +1 -0
- package/dist/utils/workspace-path.d.ts +50 -0
- package/dist/utils/workspace-path.d.ts.map +1 -0
- package/dist/utils/workspace-path.js +86 -0
- package/dist/utils/workspace-path.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +24 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +38 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/project-context.d.ts +27 -2
- package/dist/web-dashboard/project-context.d.ts.map +1 -1
- package/dist/web-dashboard/project-context.js +32 -2
- package/dist/web-dashboard/project-context.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +11 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +362 -11
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +170 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts +11 -2
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +24 -12
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
- package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
- package/dist/web-dashboard/workspace-resolution.js +105 -0
- package/dist/web-dashboard/workspace-resolution.js.map +1 -0
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
- package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
- package/src/web-dashboard/public/index.html +1 -1
- package/dist/agents/nvda-addon.d.ts +0 -14
- package/dist/agents/nvda-addon.js +0 -52
- package/dist/forwarded.d.ts +0 -2
- package/dist/forwarded.js +0 -2
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js +0 -210
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +0 -1
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability registry — normalize everything the agent can DO into one index.
|
|
3
|
+
*
|
|
4
|
+
* Phase 1 of the capability layer. It ADAPTS the sources that already exist:
|
|
5
|
+
*
|
|
6
|
+
* - the TOOL registry (name + description → `kind: 'tool'`),
|
|
7
|
+
* - the installed SKILL catalog (→ `kind: 'skill'`),
|
|
8
|
+
* - a small curated set of high-level ACTIONS the user named (install /
|
|
9
|
+
* uninstall / publish package / publish site / deploy / push / store a
|
|
10
|
+
* credential) that are expressed TODAY only as scattered prose,
|
|
11
|
+
* - the tools of any MCP server connected THIS process (→ `kind: 'mcp'`).
|
|
12
|
+
* Reach borrowed from outside: a foreign server already declares what each
|
|
13
|
+
* tool does (MCP `ToolAnnotations`) and what it needs (its JSON Schema), so
|
|
14
|
+
* those become discoverable capabilities with nothing hand-written here.
|
|
15
|
+
*
|
|
16
|
+
* It deliberately does NOT import `./registry.js` — callers pass the tool list
|
|
17
|
+
* in, so `tool_search` can use this without an import cycle. And it does NOT
|
|
18
|
+
* decide anything yet: discovery only. Phase 2 moves the gates onto `effectClass`.
|
|
19
|
+
*
|
|
20
|
+
* The effect-class map below is deliberately CONSERVATIVE: a tool whose effect is
|
|
21
|
+
* unknown defaults to `local-state` (an ask), never `read`. A read-only tool
|
|
22
|
+
* mislabelled is cosmetic; a mutating tool mislabelled read would be dangerous.
|
|
23
|
+
*/
|
|
24
|
+
import { machineFactsCapability } from '../learning/machine-facts.js';
|
|
25
|
+
/** The required property names an MCP tool's JSON Schema declares. */
|
|
26
|
+
function requiredInputs(inputSchema) {
|
|
27
|
+
const required = inputSchema?.required;
|
|
28
|
+
return Array.isArray(required) ? required.filter((r) => typeof r === 'string') : [];
|
|
29
|
+
}
|
|
30
|
+
/** Unknown tools: treat as a local-state change that NO grant may cover. */
|
|
31
|
+
const DEFAULT_EFFECT = { effect: 'local-state', reversible: true };
|
|
32
|
+
/**
|
|
33
|
+
* The declarations tools made at `registerTool`.
|
|
34
|
+
*
|
|
35
|
+
* WHY A MAP POPULATED AT REGISTRATION, not a field read off the tool: the
|
|
36
|
+
* hot-path lookups below (`effectClassOfTool` on every fan-out decision,
|
|
37
|
+
* `grantCategoryOfTool` at each gate) take only a NAME, and `capabilityFromTool`
|
|
38
|
+
* must also answer for a tool not passed in. So `registry.ts` — which imports
|
|
39
|
+
* this module, never the reverse, since the other direction would cycle through
|
|
40
|
+
* `tool_search` — records each tool's OWN declaration here.
|
|
41
|
+
*
|
|
42
|
+
* There is no hand-maintained name→effect table any more. A tool that declares
|
|
43
|
+
* nothing falls to `DEFAULT_EFFECT`: a local-state change an ask covers and NO
|
|
44
|
+
* grant may unlock.
|
|
45
|
+
*/
|
|
46
|
+
const DECLARED_BY_TOOL = new Map();
|
|
47
|
+
/**
|
|
48
|
+
* Record a tool's own capability declaration (called once per `registerTool`).
|
|
49
|
+
* A tool that declares nothing is left out on purpose — absence IS the
|
|
50
|
+
* conservative default, not an error.
|
|
51
|
+
*/
|
|
52
|
+
export function declareToolCapability(name, decl) {
|
|
53
|
+
if (!decl)
|
|
54
|
+
return;
|
|
55
|
+
DECLARED_BY_TOOL.set(name, decl);
|
|
56
|
+
}
|
|
57
|
+
/** Normalize a tool's declaration into the internal effect record. */
|
|
58
|
+
function normalizeDeclaration(decl) {
|
|
59
|
+
return {
|
|
60
|
+
effect: decl.effectClass,
|
|
61
|
+
reversible: decl.reversible ?? true,
|
|
62
|
+
...(decl.reversibleHow ? { how: decl.reversibleHow } : {}),
|
|
63
|
+
...(decl.grantCategory ? { grant: decl.grantCategory } : {}),
|
|
64
|
+
...(decl.requires ? { requires: decl.requires } : {}),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** The normalized declaration for a name, or the conservative default. */
|
|
68
|
+
function declaredEffect(name) {
|
|
69
|
+
const decl = DECLARED_BY_TOOL.get(name);
|
|
70
|
+
return decl ? normalizeDeclaration(decl) : DEFAULT_EFFECT;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The effect class of a registry tool by NAME only — the cheap path.
|
|
74
|
+
*
|
|
75
|
+
* WHY THIS EXISTS SEPARATELY. The tool loop asks this on every call in a step to
|
|
76
|
+
* decide whether siblings may run concurrently, so it must not build a full
|
|
77
|
+
* descriptor (description parsing, tags, requirement objects) per call. It is the
|
|
78
|
+
* same lookup `capabilityFromTool` performs, minus the parts the caller does not
|
|
79
|
+
* need — one map, one conservative default, no second opinion.
|
|
80
|
+
*/
|
|
81
|
+
export function effectClassOfTool(name) {
|
|
82
|
+
return declaredEffect(name).effect;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The session-grant category a tool DECLARES — Phase 2 of the capability layer.
|
|
86
|
+
*
|
|
87
|
+
* WHY THIS EXISTS. The gates used to hardcode the literal at each call site
|
|
88
|
+
* (`sessionGrantCovers(planStore, 'write')` for `write_file`/`edit_file`,
|
|
89
|
+
* `'external'` for `git`), restating a fact the descriptor already held. That is
|
|
90
|
+
* the same drift surface the whole capability layer exists to remove: a tool's
|
|
91
|
+
* declared `grantCategory` and the string its gate consults could disagree, and
|
|
92
|
+
* a new tool could be gated with no declaration at all. One lookup, one default.
|
|
93
|
+
*
|
|
94
|
+
* `null` means the tool declares NO grant (an unlisted tool, or one whose effect
|
|
95
|
+
* is destructive/read). That is the conservative answer: an undeclared action
|
|
96
|
+
* cannot be unlocked by a user's blanket grant.
|
|
97
|
+
*/
|
|
98
|
+
export function grantCategoryOfTool(name) {
|
|
99
|
+
return declaredEffect(name).grant ?? null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The grant category an EFFECT implies, for a call site whose category is a
|
|
103
|
+
* property of the effect rather than of a tool name — a shell command whose reach
|
|
104
|
+
* depends on the command, or a CLI intent resolved from the manifest.
|
|
105
|
+
*
|
|
106
|
+
* `read` and `destructive` return `null` on purpose: a read never needs a grant,
|
|
107
|
+
* and NO grant may ever cover a destructive action.
|
|
108
|
+
*/
|
|
109
|
+
export function grantCategoryForEffect(effect) {
|
|
110
|
+
switch (effect) {
|
|
111
|
+
case 'local-write':
|
|
112
|
+
return 'write';
|
|
113
|
+
case 'local-state':
|
|
114
|
+
return 'terminal';
|
|
115
|
+
case 'external':
|
|
116
|
+
return 'external';
|
|
117
|
+
default:
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** Short, human summary of a requirement set — rendered FROM the checked form. */
|
|
122
|
+
export function describeRequires(requires) {
|
|
123
|
+
const anyOf = (needs) => needs.map((n) => n.anyOf.join(' or ')).join(', ');
|
|
124
|
+
const parts = [];
|
|
125
|
+
if (requires.credentials?.length)
|
|
126
|
+
parts.push(`needs ${anyOf(requires.credentials)}`);
|
|
127
|
+
if (requires.binaries?.length)
|
|
128
|
+
parts.push(`runs ${anyOf(requires.binaries)}`);
|
|
129
|
+
if (requires.inputs?.length)
|
|
130
|
+
parts.push(`ask for ${requires.inputs.join(', ')}`);
|
|
131
|
+
return parts.join('; ');
|
|
132
|
+
}
|
|
133
|
+
/** Turn one registry tool into a capability. */
|
|
134
|
+
export function capabilityFromTool(tool) {
|
|
135
|
+
const info = tool.capability ? normalizeDeclaration(tool.capability) : declaredEffect(tool.name);
|
|
136
|
+
const firstSentence = String(tool.description ?? '').split(/(?<=\.)\s/)[0]?.trim() ?? '';
|
|
137
|
+
return {
|
|
138
|
+
id: `tool:${tool.name}`,
|
|
139
|
+
kind: 'tool',
|
|
140
|
+
ref: tool.name,
|
|
141
|
+
name: tool.name,
|
|
142
|
+
oneLiner: firstSentence || `The ${tool.name} tool.`,
|
|
143
|
+
effectClass: info.effect,
|
|
144
|
+
reversible: info.reversible,
|
|
145
|
+
...(info.how ? { reversibleHow: info.how } : {}),
|
|
146
|
+
...(info.grant ? { grantCategory: info.grant } : {}),
|
|
147
|
+
requires: info.requires ?? {},
|
|
148
|
+
tags: [tool.name.replace(/_/g, ' '), ...(tool.category ? [tool.category] : [])],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/** Turn a skill (hub catalog or compiled) into a capability. */
|
|
152
|
+
export function capabilityFromSkill(skill) {
|
|
153
|
+
const id = skill.id || skill.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
154
|
+
return {
|
|
155
|
+
id: `skill:${id}`,
|
|
156
|
+
kind: 'skill',
|
|
157
|
+
ref: id,
|
|
158
|
+
name: skill.name,
|
|
159
|
+
oneLiner: String(skill.description ?? '').split(/(?<=\.)\s/)[0]?.trim() || `The ${skill.name} skill.`,
|
|
160
|
+
// A skill is METHODOLOGY: loading it changes nothing until its steps run, and
|
|
161
|
+
// those steps carry their own effect classes. So the envelope is local-state,
|
|
162
|
+
// and NO grant category is claimed — loading a skill is not gated, so there is
|
|
163
|
+
// nothing a grant could cover (the steps it leads to declare their own).
|
|
164
|
+
effectClass: 'local-state',
|
|
165
|
+
reversible: true,
|
|
166
|
+
requires: {},
|
|
167
|
+
tags: [skill.name, ...(skill.tags ?? [])],
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Turn an EXTERNAL MCP tool into a capability.
|
|
172
|
+
*
|
|
173
|
+
* This is the "borrow capability from outside" path: the agent's reach grows by
|
|
174
|
+
* ingesting what a foreign server already declares, with nothing hand-written
|
|
175
|
+
* here. The effect class comes from the MCP spec's own `ToolAnnotations` —
|
|
176
|
+
* `readOnlyHint` and `destructiveHint` — NOT from matching words in a
|
|
177
|
+
* description. The required inputs come from the tool's JSON Schema.
|
|
178
|
+
*
|
|
179
|
+
* When a server declares NOTHING, the capability is `external` and not
|
|
180
|
+
* reversible: a foreign tool is off-machine by construction, so the honest
|
|
181
|
+
* reading of silence is "off-machine, effect unknown" — it asks, and only an
|
|
182
|
+
* explicit off-machine session grant can unlock it. Erring the other way would
|
|
183
|
+
* let an undeclared foreign tool run silently, which is the one outcome the whole
|
|
184
|
+
* layer exists to prevent.
|
|
185
|
+
*
|
|
186
|
+
* HONEST LIMIT: `readOnlyHint` is the spec's description of itself as "a hint,
|
|
187
|
+
* not a guarantee". These tests prove we READ the declaration, not that the
|
|
188
|
+
* declaration is true.
|
|
189
|
+
*/
|
|
190
|
+
export function capabilityFromMcpTool(t) {
|
|
191
|
+
const ann = t.annotations ?? {};
|
|
192
|
+
const inputs = requiredInputs(t.inputSchema);
|
|
193
|
+
let effectClass;
|
|
194
|
+
let reversible;
|
|
195
|
+
let grantCategory;
|
|
196
|
+
if (ann.readOnlyHint === true) {
|
|
197
|
+
// The server declares it changes nothing — nothing to gate.
|
|
198
|
+
effectClass = 'read';
|
|
199
|
+
reversible = true;
|
|
200
|
+
}
|
|
201
|
+
else if (ann.destructiveHint === true) {
|
|
202
|
+
// Destructive is never grantable, exactly like the DENY floor.
|
|
203
|
+
effectClass = 'destructive';
|
|
204
|
+
reversible = false;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
effectClass = 'external';
|
|
208
|
+
reversible = false;
|
|
209
|
+
grantCategory = 'external';
|
|
210
|
+
}
|
|
211
|
+
const name = t.annotations?.title || t.name;
|
|
212
|
+
return {
|
|
213
|
+
id: `mcp:${t.server}:${t.name}`,
|
|
214
|
+
kind: 'mcp',
|
|
215
|
+
ref: `${t.server}/${t.name}`,
|
|
216
|
+
name,
|
|
217
|
+
oneLiner: String(t.description ?? '').split(/(?<=\.)\s/)[0]?.trim() || `The ${t.name} tool on the ${t.server} MCP server.`,
|
|
218
|
+
effectClass,
|
|
219
|
+
reversible,
|
|
220
|
+
...(grantCategory ? { grantCategory } : {}),
|
|
221
|
+
// Reached through the dispatcher — `ref` is not itself a callable tool name,
|
|
222
|
+
// so a hit must say how to reach it instead of handing over a name it cannot
|
|
223
|
+
// call. These arguments mirror `mcp_tool`'s real schema.
|
|
224
|
+
invoke: { tool: 'mcp_tool', args: { action: 'call', server: t.server, tool: t.name } },
|
|
225
|
+
requires: inputs.length > 0 ? { inputs } : {},
|
|
226
|
+
tags: [t.name.replace(/_/g, ' '), t.server, 'mcp'],
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* The high-level ACTIONS the user named — the verbs that today exist only as
|
|
231
|
+
* scattered prose across tool descriptions and the consent picture. Each declares
|
|
232
|
+
* what it needs and what it touches, so the model can discover it and (Phase 2)
|
|
233
|
+
* the gate can read it instead of parsing the request.
|
|
234
|
+
*/
|
|
235
|
+
export function actionCapabilities() {
|
|
236
|
+
const A = (key, name, oneLiner, effectClass, reversible, requires, tags, how, platforms) => ({
|
|
237
|
+
id: `action:${key}`,
|
|
238
|
+
kind: 'action',
|
|
239
|
+
ref: key,
|
|
240
|
+
name,
|
|
241
|
+
oneLiner,
|
|
242
|
+
effectClass,
|
|
243
|
+
reversible,
|
|
244
|
+
...(how ? { reversibleHow: how } : {}),
|
|
245
|
+
...(effectClass === 'external' ? { grantCategory: 'external' } : effectClass === 'read' ? {} : { grantCategory: 'terminal' }),
|
|
246
|
+
requires,
|
|
247
|
+
tags,
|
|
248
|
+
...(platforms ? { platforms } : {}),
|
|
249
|
+
});
|
|
250
|
+
return [
|
|
251
|
+
A('install-package', 'Install a project dependency', 'Install the packages a project already declares (npm/pnpm/yarn/bun install) into the workspace.', 'local-state', true, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn', 'bun'] }] }, ['install', 'dependency', 'package', 'npm', 'node'], 'removing node_modules or a git checkout'),
|
|
252
|
+
A('add-dependency', 'Add a NEW dependency', 'Declare and install a package the manifest does not yet list — a new choice, so the user owns it.', 'external', true, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn', 'bun'] }], inputs: ['which package'] }, ['add', 'dependency', 'install', 'package', 'library'], 'uninstall it and revert the manifest'),
|
|
253
|
+
A('install-system-tool', 'Install a system tool', 'Install a binary or toolchain for the machine (winget/brew/apt/choco/scoop, or npm -g).', 'external', false, { binaries: [{ anyOf: ['winget', 'brew', 'apt', 'choco', 'scoop', 'npm'] }], inputs: ['which tool'] }, ['install', 'tool', 'toolchain', 'winget', 'brew', 'apt', 'global'], undefined,
|
|
254
|
+
// GENUINELY OS-determined: there is no portable install command. Every
|
|
255
|
+
// `binary` here is one the requirement list above also declares, so the
|
|
256
|
+
// pre-flight that says "winget is present" is the same fact this hint uses.
|
|
257
|
+
{
|
|
258
|
+
win32: { command: 'winget install <tool>', binary: 'winget', note: 'or `choco install <tool>` / `scoop install <tool>` if those are installed instead' },
|
|
259
|
+
darwin: { command: 'brew install <tool>', binary: 'brew' },
|
|
260
|
+
linux: { command: 'apt-get install -y <tool>', binary: 'apt', note: 'needs root — run it through sudo yourself, or the agent will report the privilege failure' },
|
|
261
|
+
}),
|
|
262
|
+
A('uninstall-package', 'Uninstall a package or tool', 'Remove an installed package or tool, locally or from the machine.', 'external', false, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn'] }, { anyOf: ['winget', 'brew', 'apt'] }], inputs: ['which package'] }, ['uninstall', 'remove', 'delete', 'package', 'tool']),
|
|
263
|
+
A('publish-package', 'Publish a package to a registry', 'Publish a release to npm/GitHub — off-machine and irreversible.', 'external', false, {
|
|
264
|
+
credentials: [{ anyOf: ['NPM_TOKEN', 'GITHUB_TOKEN'], note: 'an npm automation token, or a GitHub token for a GitHub release' }],
|
|
265
|
+
binaries: [{ anyOf: ['npm', 'gh'] }],
|
|
266
|
+
inputs: ['bump type'],
|
|
267
|
+
}, ['publish', 'release', 'npm', 'registry', 'package', 'ship']),
|
|
268
|
+
A('publish-website', 'Publish / deploy a website', 'Deploy a built site to a host (Cloudflare Pages, Netlify, Vercel, GitHub Pages) — off-machine and public.', 'external', false, {
|
|
269
|
+
credentials: [{ anyOf: ['CLOUDFLARE_API_TOKEN', 'NETLIFY_AUTH_TOKEN', 'VERCEL_TOKEN'], note: 'the token for whichever host you deploy to — may also live in the credential vault' }],
|
|
270
|
+
binaries: [{ anyOf: ['wrangler', 'netlify', 'vercel', 'gh'] }],
|
|
271
|
+
inputs: ['which host', 'the domain or project'],
|
|
272
|
+
}, ['publish', 'website', 'deploy', 'host', 'cloudflare', 'netlify', 'vercel', 'pages']),
|
|
273
|
+
A('deploy-app', 'Deploy an application', 'Deploy an app/server to a host or platform — off-machine and public.', 'external', false, {
|
|
274
|
+
credentials: [{ anyOf: ['VERCEL_TOKEN', 'FLY_API_TOKEN', 'GOOGLE_APPLICATION_CREDENTIALS', 'AWS_ACCESS_KEY_ID', 'AZURE_CLIENT_ID'], note: 'the token for whichever platform you deploy to — a logged-in CLI may already hold it' }],
|
|
275
|
+
binaries: [{ anyOf: ['vercel', 'flyctl', 'gcloud', 'aws', 'az'] }],
|
|
276
|
+
inputs: ['which platform'],
|
|
277
|
+
}, ['deploy', 'app', 'server', 'host', 'platform', 'ship']),
|
|
278
|
+
A('push-git', 'Push to a git remote', 'Send commits to a remote (GitHub et al.) — off-machine; the request naming it is the authorization.', 'external', true, {
|
|
279
|
+
credentials: [{ anyOf: ['GITHUB_TOKEN', 'GH_TOKEN'], note: 'or an SSH key / credential helper the remote already accepts' }],
|
|
280
|
+
binaries: [{ anyOf: ['git'] }],
|
|
281
|
+
}, ['push', 'git', 'github', 'remote', 'origin', 'commit'], 'force-push is denied; otherwise the remote keeps history you can revert'),
|
|
282
|
+
A('store-credential', 'Store a credential', 'Persist a token (GitHub/npm/host) so later releases work without an environment export.', 'local-state', true, { inputs: ['the token'] }, ['credential', 'token', 'secret', 'store', 'login', 'auth'], 'forget it with the credentials tool',
|
|
283
|
+
// Also genuinely OS-determined, and for a different reason: the OS decides
|
|
284
|
+
// WHERE a secret can safely live, not which package manager exists.
|
|
285
|
+
{
|
|
286
|
+
win32: { command: 'nuvira credentials set <name> --value <token>', note: 'Windows has no OS keychain the CLI can reach, so this lands in the vault file' },
|
|
287
|
+
darwin: { command: 'nuvira credentials set <name> --value <token>', note: 'stored in the macOS Keychain when one is available' },
|
|
288
|
+
linux: { command: 'nuvira credentials set <name> --value <token>', note: 'stored via secret-tool when available, otherwise the vault file' },
|
|
289
|
+
}),
|
|
290
|
+
];
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* The MCP tools the agent can reach — from servers connected this process, plus
|
|
294
|
+
* cached schemas from previous ones. Never connects, so a capability search
|
|
295
|
+
* cannot spawn a server as a side effect; a failure to read them never breaks
|
|
296
|
+
* discovery.
|
|
297
|
+
*/
|
|
298
|
+
async function readDiscoverableMcpTools() {
|
|
299
|
+
try {
|
|
300
|
+
const { readDiscoverableMcpTools: read } = await import('../mcp/mcp-discovery.js');
|
|
301
|
+
return (await read());
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
return [];
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* The capability index, best-effort. Skills come from the installed hub catalog;
|
|
309
|
+
* a catalog read failure simply omits them, it never breaks discovery. MCP tools
|
|
310
|
+
* come from servers already connected this process, and may be injected instead
|
|
311
|
+
* (which is what makes the ingestion testable without a live server).
|
|
312
|
+
*/
|
|
313
|
+
export async function capabilityIndex(tools, opts = {}) {
|
|
314
|
+
const index = [
|
|
315
|
+
...tools.map(capabilityFromTool),
|
|
316
|
+
...actionCapabilities(),
|
|
317
|
+
// The host itself is a discoverable capability: OS / arch / shell / which
|
|
318
|
+
// package managers are installed. Detected once per run (memoized), so this
|
|
319
|
+
// costs nothing after the first index build and cannot disagree with the
|
|
320
|
+
// facts the system prompt carries.
|
|
321
|
+
machineFactsCapability(),
|
|
322
|
+
];
|
|
323
|
+
if (opts.includeMcp !== false) {
|
|
324
|
+
const mcp = opts.mcpTools ?? (await readDiscoverableMcpTools());
|
|
325
|
+
for (const t of mcp) {
|
|
326
|
+
if (t && t.server && t.name)
|
|
327
|
+
index.push(capabilityFromMcpTool(t));
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (opts.includeSkills !== false) {
|
|
331
|
+
try {
|
|
332
|
+
const { readHubCatalog } = await import('../learning/hub-skill-catalog.js');
|
|
333
|
+
const skills = readHubCatalog();
|
|
334
|
+
for (const s of skills) {
|
|
335
|
+
if (s && s.name)
|
|
336
|
+
index.push(capabilityFromSkill({ id: s.id, name: s.name, description: s.description, tags: s.tags }));
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
// Best-effort — no skill catalog means tool + action capabilities only.
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return index;
|
|
344
|
+
}
|
|
345
|
+
/** Tokenize a query/text into lowercased significant tokens (length ≥ 3). */
|
|
346
|
+
function tokens(text) {
|
|
347
|
+
return String(text ?? '')
|
|
348
|
+
.toLowerCase()
|
|
349
|
+
.split(/[^a-z0-9]+/)
|
|
350
|
+
.filter((t) => t.length >= 3);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Rank capabilities against a free-text query. Lexical + weighted by field, with
|
|
354
|
+
* a substring fallback so "publish" matches "publishing" in a description. This
|
|
355
|
+
* is DISCOVERY — it surfaces candidates for the model to choose from; it never
|
|
356
|
+
* decides what runs.
|
|
357
|
+
*/
|
|
358
|
+
export function searchCapabilities(index, query, limit = 10) {
|
|
359
|
+
const q = tokens(query);
|
|
360
|
+
const qLower = String(query ?? '').toLowerCase().trim();
|
|
361
|
+
const hits = [];
|
|
362
|
+
for (const cap of index) {
|
|
363
|
+
const nameTokens = tokens(cap.name.replace(/_/g, ' '));
|
|
364
|
+
const tagTokens = cap.tags.flatMap(tokens);
|
|
365
|
+
const refTokens = tokens(cap.ref.replace(/[_:]/g, ' '));
|
|
366
|
+
const oneTokens = tokens(cap.oneLiner);
|
|
367
|
+
const matched = new Set();
|
|
368
|
+
let score = 0;
|
|
369
|
+
for (const t of q) {
|
|
370
|
+
if (nameTokens.includes(t)) {
|
|
371
|
+
score += 4;
|
|
372
|
+
matched.add(t);
|
|
373
|
+
}
|
|
374
|
+
if (refTokens.includes(t)) {
|
|
375
|
+
score += 3;
|
|
376
|
+
matched.add(t);
|
|
377
|
+
}
|
|
378
|
+
if (tagTokens.includes(t)) {
|
|
379
|
+
score += 2;
|
|
380
|
+
matched.add(t);
|
|
381
|
+
}
|
|
382
|
+
if (oneTokens.includes(t)) {
|
|
383
|
+
score += 1;
|
|
384
|
+
matched.add(t);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
// Substring fallback (a single query term inside a longer word).
|
|
388
|
+
if (score === 0 && qLower.length >= 3) {
|
|
389
|
+
const hay = `${cap.name} ${cap.oneLiner} ${cap.tags.join(' ')} ${cap.ref}`.toLowerCase();
|
|
390
|
+
if (hay.includes(qLower)) {
|
|
391
|
+
score += 1;
|
|
392
|
+
matched.add(qLower);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
if (score > 0)
|
|
396
|
+
hits.push({ capability: cap, score, matched: [...matched].sort() });
|
|
397
|
+
}
|
|
398
|
+
return hits.sort((a, b) => b.score - a.score || a.capability.id.localeCompare(b.capability.id)).slice(0, Math.max(1, limit));
|
|
399
|
+
}
|
|
400
|
+
//# sourceMappingURL=capability-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../../src/tools/capability-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-agent-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"child-agent-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,2BAA2B,CAAC;AAqC9G,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAkCxC,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9C,yEAAyE;IACzE,cAAc,CAAC,EAAE,CACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,KACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAgED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAa5G;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,qBAAqB,EAC7B,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAmNhC"}
|
|
@@ -30,6 +30,7 @@ import { resolveAdapterDefault } from '../learning/model-selection.js';
|
|
|
30
30
|
import { SubagentRefusalError } from './subagent-refusal.js';
|
|
31
31
|
import { fenceUntrustedToolOutput } from './untrusted-content.js';
|
|
32
32
|
import { getTool, toolJsonSchemas, TOOL_CONTRACT_JSON } from './registry.js';
|
|
33
|
+
import { harnessDirective } from './harness-directive.js';
|
|
33
34
|
// WS1 — the finding tool's bus event; forwarded to the parent as its own frame.
|
|
34
35
|
import { FINDING_EVENT } from './finding-tool.js';
|
|
35
36
|
import { sessionDebugLog } from '../observability/debug-log.js';
|
|
@@ -467,7 +468,7 @@ async function runToolLoop(config, allowed, provider, type, transport, loop) {
|
|
|
467
468
|
// a file that was never written. Imported lazily for the same reason
|
|
468
469
|
// `extractFallbackToolCalls` is: `tool-loop.ts` pulls in the registry and the
|
|
469
470
|
// event bus.
|
|
470
|
-
const { classifyToolRefusal, detectFailedBuildSuccessClaim } = await import('./tool-loop.js');
|
|
471
|
+
const { classifyToolRefusal, detectFailedBuildSuccessClaim, malformedToolCallRefusal } = await import('./tool-loop.js');
|
|
471
472
|
// A3 Part 2 — the build-honesty detector is the in-process loop's own (imported,
|
|
472
473
|
// never reimplemented), so a delegated run that watched a build FAIL and then
|
|
473
474
|
// reported success is flagged across the fork exactly as an in-process turn is.
|
|
@@ -564,10 +565,10 @@ async function runToolLoop(config, allowed, provider, type, transport, loop) {
|
|
|
564
565
|
});
|
|
565
566
|
loop.debug?.event('gate.verification', { mutations });
|
|
566
567
|
messages.push({ role: 'assistant', content: response.content });
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
568
|
+
// Delivered through the harness channel (marked `system` directive, not a
|
|
569
|
+
// user turn) so the subagent acts on it instead of answering it — the same
|
|
570
|
+
// parity rule the in-process loop uses. See tools/harness-directive.ts.
|
|
571
|
+
messages.push(harnessDirective(verificationNudgeFor(config.cwd ?? process.cwd(), mutatedPaths)));
|
|
571
572
|
continue;
|
|
572
573
|
}
|
|
573
574
|
return finish(response.content.trim(), false);
|
|
@@ -586,6 +587,19 @@ async function runToolLoop(config, allowed, provider, type, transport, loop) {
|
|
|
586
587
|
})),
|
|
587
588
|
});
|
|
588
589
|
for (const call of response.toolCalls) {
|
|
590
|
+
// A call whose ARGUMENTS never arrived is not a call the child made — the
|
|
591
|
+
// payload did not fit in one model output. Refuse it with the real cause and
|
|
592
|
+
// the sectioned-delivery alternative, exactly as the in-process loop does;
|
|
593
|
+
// executing it as `{}` is the defect measured in a live dashboard turn (73
|
|
594
|
+
// of 81 calls arrived empty and 59 identical retries were burned on one
|
|
595
|
+
// write that could never fit).
|
|
596
|
+
if (call.argumentsError) {
|
|
597
|
+
const refusal = malformedToolCallRefusal({ name: call.name, argumentsError: call.argumentsError }, { finishReason: response.finishReason });
|
|
598
|
+
loop.debug?.event('tool.refused', { tool: call.name, reason: 'arguments-missing' });
|
|
599
|
+
loop.send({ type: 'progress', phase: 'tool_result', tool: call.name, ok: false, llmCalls, toolCalls });
|
|
600
|
+
messages.push({ role: 'tool', content: refusal, toolCallId: call.id });
|
|
601
|
+
continue;
|
|
602
|
+
}
|
|
589
603
|
if (!allowed.includes(call.name)) {
|
|
590
604
|
loop.debug?.event('tool.refused', { tool: call.name });
|
|
591
605
|
messages.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-agent-runtime.js","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"child-agent-runtime.js","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"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"}
|