@namzu/sdk 46.0.0 → 48.1.0
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/CHANGELOG.md +351 -8
- package/README.md +7 -8
- package/dist/advisory/history.d.ts.map +1 -1
- package/dist/advisory/history.js +21 -1
- package/dist/advisory/history.js.map +1 -1
- package/dist/advisory/index.d.ts +1 -1
- package/dist/advisory/index.d.ts.map +1 -1
- package/dist/advisory/index.js +1 -1
- package/dist/advisory/index.js.map +1 -1
- package/dist/advisory/registry.d.ts +17 -0
- package/dist/advisory/registry.d.ts.map +1 -1
- package/dist/advisory/registry.js +26 -0
- package/dist/advisory/registry.js.map +1 -1
- package/dist/agents/PipelineAgent.d.ts +2 -46
- package/dist/agents/PipelineAgent.d.ts.map +1 -1
- package/dist/agents/PipelineAgent.js +2 -242
- package/dist/agents/PipelineAgent.js.map +1 -1
- package/dist/agents/QueryAgent.d.ts +21 -0
- package/dist/agents/QueryAgent.d.ts.map +1 -0
- package/dist/agents/QueryAgent.js +214 -0
- package/dist/agents/QueryAgent.js.map +1 -0
- package/dist/agents/ReactiveAgent.d.ts +4 -16
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +4 -183
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts +2 -20
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +2 -266
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +3 -43
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +3 -418
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/defineAgent.d.ts +2 -1
- package/dist/agents/defineAgent.d.ts.map +1 -1
- package/dist/agents/defineAgent.js +6 -1
- package/dist/agents/defineAgent.js.map +1 -1
- package/dist/agents/examples/PipelineAgent.d.ts +46 -0
- package/dist/agents/examples/PipelineAgent.d.ts.map +1 -0
- package/dist/agents/examples/PipelineAgent.js +242 -0
- package/dist/agents/examples/PipelineAgent.js.map +1 -0
- package/dist/agents/examples/RouterAgent.d.ts +22 -0
- package/dist/agents/examples/RouterAgent.d.ts.map +1 -0
- package/dist/agents/examples/RouterAgent.js +268 -0
- package/dist/agents/examples/RouterAgent.js.map +1 -0
- package/dist/agents/examples/SupervisorAgent.d.ts +45 -0
- package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -0
- package/dist/agents/examples/SupervisorAgent.js +406 -0
- package/dist/agents/examples/SupervisorAgent.js.map +1 -0
- package/dist/agents/explore.d.ts +6 -3
- package/dist/agents/explore.d.ts.map +1 -1
- package/dist/agents/explore.js +6 -3
- package/dist/agents/explore.js.map +1 -1
- package/dist/agents/forward-options.d.ts +11 -0
- package/dist/agents/forward-options.d.ts.map +1 -0
- package/dist/agents/forward-options.js +15 -0
- package/dist/agents/forward-options.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/runAgent.d.ts +19 -8
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +99 -29
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/authorization/command-line.d.ts +2 -0
- package/dist/authorization/command-line.d.ts.map +1 -1
- package/dist/authorization/command-line.js +2 -2
- package/dist/authorization/command-line.js.map +1 -1
- package/dist/authorization/gate.d.ts +8 -0
- package/dist/authorization/gate.d.ts.map +1 -1
- package/dist/authorization/gate.js +12 -1
- package/dist/authorization/gate.js.map +1 -1
- package/dist/authorization/program.d.ts +151 -0
- package/dist/authorization/program.d.ts.map +1 -0
- package/dist/authorization/program.js +713 -0
- package/dist/authorization/program.js.map +1 -0
- package/dist/authorization/reexec-wrapper.d.ts +106 -0
- package/dist/authorization/reexec-wrapper.d.ts.map +1 -0
- package/dist/authorization/reexec-wrapper.js +532 -0
- package/dist/authorization/reexec-wrapper.js.map +1 -0
- package/dist/authorization/rules.d.ts +9 -0
- package/dist/authorization/rules.d.ts.map +1 -1
- package/dist/authorization/rules.js +8 -1
- package/dist/authorization/rules.js.map +1 -1
- package/dist/authorization/shell-lexer.d.ts +19 -4
- package/dist/authorization/shell-lexer.d.ts.map +1 -1
- package/dist/authorization/shell-lexer.js +91 -65
- package/dist/authorization/shell-lexer.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +6 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/capabilities/index.d.ts +54 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +92 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/config/registry.d.ts +2 -1
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +3 -2
- package/dist/config/registry.js.map +1 -1
- package/dist/connector/index.d.ts +4 -4
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +3 -3
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts +16 -1
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +71 -4
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts +32 -4
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +383 -5
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/discovery.d.ts +24 -1
- package/dist/connector/mcp/discovery.d.ts.map +1 -1
- package/dist/connector/mcp/discovery.js +44 -0
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/era.d.ts.map +1 -1
- package/dist/connector/mcp/era.js +7 -0
- package/dist/connector/mcp/era.js.map +1 -1
- package/dist/connector/mcp/index.d.ts +2 -0
- package/dist/connector/mcp/index.d.ts.map +1 -1
- package/dist/connector/mcp/index.js +11 -0
- package/dist/connector/mcp/index.js.map +1 -1
- package/dist/connector/mcp/mcp-toolset.d.ts +133 -0
- package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -0
- package/dist/connector/mcp/mcp-toolset.js +399 -0
- package/dist/connector/mcp/mcp-toolset.js.map +1 -0
- package/dist/connector/mcp/streamable-http.d.ts +15 -0
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +281 -6
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/connector/tools/index.d.ts +2 -2
- package/dist/connector/tools/index.d.ts.map +1 -1
- package/dist/connector/tools/index.js +1 -1
- package/dist/connector/tools/index.js.map +1 -1
- package/dist/connector/tools/router.d.ts +15 -13
- package/dist/connector/tools/router.d.ts.map +1 -1
- package/dist/connector/tools/router.js +30 -51
- package/dist/connector/tools/router.js.map +1 -1
- package/dist/contracts/a2a.d.ts +2 -2
- package/dist/directory/derive-supervisor.d.ts +2 -2
- package/dist/directory/derive-supervisor.d.ts.map +1 -1
- package/dist/directory/derive-supervisor.js +6 -7
- package/dist/directory/derive-supervisor.js.map +1 -1
- package/dist/directory/derive.d.ts.map +1 -1
- package/dist/directory/derive.js +5 -5
- package/dist/directory/derive.js.map +1 -1
- package/dist/execution/code-runtime/types.d.ts +2 -2
- package/dist/execution/code-runtime/types.js +1 -1
- package/dist/invariants/index.d.ts +2 -1
- package/dist/invariants/index.d.ts.map +1 -1
- package/dist/invariants/index.js +3 -2
- package/dist/invariants/index.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +1 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +146 -18
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/connector/environment.d.ts +6 -0
- package/dist/manager/connector/environment.d.ts.map +1 -1
- package/dist/manager/connector/environment.js +11 -4
- package/dist/manager/connector/environment.js.map +1 -1
- package/dist/manager/connector/index.d.ts +2 -2
- package/dist/manager/connector/index.d.ts.map +1 -1
- package/dist/manager/connector/index.js +2 -2
- package/dist/manager/connector/index.js.map +1 -1
- package/dist/manager/connector/tenant.d.ts +6 -0
- package/dist/manager/connector/tenant.d.ts.map +1 -1
- package/dist/manager/connector/tenant.js +11 -4
- package/dist/manager/connector/tenant.js.map +1 -1
- package/dist/manager/index.d.ts +2 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js +2 -2
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/resident/initiative.d.ts +6 -6
- package/dist/manager/resident/learning-observation.d.ts +4 -4
- package/dist/manager/resident/learning.d.ts +36 -36
- package/dist/manager/resident/outbox.d.ts +4 -4
- package/dist/manager/session/attribution.d.ts +22 -0
- package/dist/manager/session/attribution.d.ts.map +1 -0
- package/dist/manager/session/attribution.js +64 -0
- package/dist/manager/session/attribution.js.map +1 -0
- package/dist/manager/session/turn-recorder.d.ts +14 -0
- package/dist/manager/session/turn-recorder.d.ts.map +1 -1
- package/dist/manager/session/turn-recorder.js +208 -55
- package/dist/manager/session/turn-recorder.js.map +1 -1
- package/dist/peers/address.d.ts +36 -0
- package/dist/peers/address.d.ts.map +1 -0
- package/dist/peers/address.js +52 -0
- package/dist/peers/address.js.map +1 -0
- package/dist/peers/client.d.ts +47 -0
- package/dist/peers/client.d.ts.map +1 -0
- package/dist/peers/client.js +132 -0
- package/dist/peers/client.js.map +1 -0
- package/dist/peers/dir.d.ts +88 -0
- package/dist/peers/dir.d.ts.map +1 -0
- package/dist/peers/dir.js +139 -0
- package/dist/peers/dir.js.map +1 -0
- package/dist/peers/endpoint.d.ts +144 -0
- package/dist/peers/endpoint.d.ts.map +1 -0
- package/dist/peers/endpoint.js +420 -0
- package/dist/peers/endpoint.js.map +1 -0
- package/dist/peers/envelope.d.ts +42 -0
- package/dist/peers/envelope.d.ts.map +1 -0
- package/dist/peers/envelope.js +110 -0
- package/dist/peers/envelope.js.map +1 -0
- package/dist/peers/index.d.ts +30 -0
- package/dist/peers/index.d.ts.map +1 -0
- package/dist/peers/index.js +22 -0
- package/dist/peers/index.js.map +1 -0
- package/dist/peers/protocol.d.ts +645 -0
- package/dist/peers/protocol.d.ts.map +1 -0
- package/dist/peers/protocol.js +151 -0
- package/dist/peers/protocol.js.map +1 -0
- package/dist/peers/record.d.ts +71 -0
- package/dist/peers/record.d.ts.map +1 -0
- package/dist/peers/record.js +45 -0
- package/dist/peers/record.js.map +1 -0
- package/dist/peers/registry.d.ts +54 -0
- package/dist/peers/registry.d.ts.map +1 -0
- package/dist/peers/registry.js +213 -0
- package/dist/peers/registry.js.map +1 -0
- package/dist/plugin/define.d.ts +24 -0
- package/dist/plugin/define.d.ts.map +1 -0
- package/dist/plugin/define.js +42 -0
- package/dist/plugin/define.js.map +1 -0
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1 -0
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +27 -3
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +242 -92
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/resolver.d.ts +2 -2
- package/dist/plugin/resolver.d.ts.map +1 -1
- package/dist/plugin/resolver.js.map +1 -1
- package/dist/plugin/shell-hook.d.ts.map +1 -1
- package/dist/plugin/shell-hook.js +17 -3
- package/dist/plugin/shell-hook.js.map +1 -1
- package/dist/probe/errors.d.ts +2 -1
- package/dist/probe/errors.d.ts.map +1 -1
- package/dist/probe/errors.js +3 -2
- package/dist/probe/errors.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +18 -7
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +11 -6
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/prompt/contributions.d.ts +4 -1
- package/dist/prompt/contributions.d.ts.map +1 -1
- package/dist/prompt/contributions.js +7 -2
- package/dist/prompt/contributions.js.map +1 -1
- package/dist/prompt/index.d.ts +1 -1
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +1 -1
- package/dist/prompt/index.js.map +1 -1
- package/dist/provider/collect-chat-completion.d.ts +6 -1
- package/dist/provider/collect-chat-completion.d.ts.map +1 -1
- package/dist/provider/collect-chat-completion.js +88 -10
- package/dist/provider/collect-chat-completion.js.map +1 -1
- package/dist/provider/mock.d.ts.map +1 -1
- package/dist/provider/mock.js +23 -6
- package/dist/provider/mock.js.map +1 -1
- package/dist/provider/registry.d.ts +2 -1
- package/dist/provider/registry.d.ts.map +1 -1
- package/dist/provider/registry.js +3 -2
- package/dist/provider/registry.js.map +1 -1
- package/dist/provider/tool-call-framing.d.ts +164 -0
- package/dist/provider/tool-call-framing.d.ts.map +1 -0
- package/dist/provider/tool-call-framing.js +163 -0
- package/dist/provider/tool-call-framing.js.map +1 -0
- package/dist/public-runtime.d.ts +24 -11
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +45 -9
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +6 -4
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +8 -3
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +13 -2
- package/dist/public-types.d.ts.map +1 -1
- package/dist/read-model/registry.d.ts +2 -1
- package/dist/read-model/registry.d.ts.map +1 -1
- package/dist/read-model/registry.js +3 -2
- package/dist/read-model/registry.js.map +1 -1
- package/dist/registry/ManagedRegistry.d.ts +30 -0
- package/dist/registry/ManagedRegistry.d.ts.map +1 -1
- package/dist/registry/ManagedRegistry.js +45 -6
- package/dist/registry/ManagedRegistry.js.map +1 -1
- package/dist/registry/collision.d.ts +57 -0
- package/dist/registry/collision.d.ts.map +1 -0
- package/dist/registry/collision.js +41 -0
- package/dist/registry/collision.js.map +1 -0
- package/dist/registry/command/index.d.ts +5 -3
- package/dist/registry/command/index.d.ts.map +1 -1
- package/dist/registry/command/index.js +6 -4
- package/dist/registry/command/index.js.map +1 -1
- package/dist/registry/index.d.ts +3 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +2 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/plugin/index.d.ts.map +1 -1
- package/dist/registry/plugin/index.js +14 -1
- package/dist/registry/plugin/index.js.map +1 -1
- package/dist/registry/tool/callable.d.ts +7 -7
- package/dist/registry/tool/callable.d.ts.map +1 -1
- package/dist/registry/tool/callable.js +6 -7
- package/dist/registry/tool/callable.js.map +1 -1
- package/dist/registry/tool/execute.d.ts +14 -77
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +15 -727
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/portable.d.ts +25 -0
- package/dist/registry/tool/portable.d.ts.map +1 -1
- package/dist/registry/tool/portable.js +50 -0
- package/dist/registry/tool/portable.js.map +1 -1
- package/dist/registry/tool/presentation.d.ts +6 -5
- package/dist/registry/tool/presentation.d.ts.map +1 -1
- package/dist/registry/tool/presentation.js +3 -3
- package/dist/registry/tool/presentation.js.map +1 -1
- package/dist/runtime/bidi/session.d.ts +5 -4
- package/dist/runtime/bidi/session.d.ts.map +1 -1
- package/dist/runtime/bidi/session.js +18 -1
- package/dist/runtime/bidi/session.js.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.d.ts +45 -2
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +189 -5
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +33 -3
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +86 -10
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/file-evidence-replay.d.ts +1 -1
- package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -1
- package/dist/runtime/query/file-evidence-replay.js +8 -7
- package/dist/runtime/query/file-evidence-replay.js.map +1 -1
- package/dist/runtime/query/fork/prepare.d.ts +4 -1
- package/dist/runtime/query/fork/prepare.d.ts.map +1 -1
- package/dist/runtime/query/fork/prepare.js +4 -0
- package/dist/runtime/query/fork/prepare.js.map +1 -1
- package/dist/runtime/query/guardrail-presets.d.ts +4 -3
- package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
- package/dist/runtime/query/guardrail-presets.js +4 -3
- package/dist/runtime/query/guardrail-presets.js.map +1 -1
- package/dist/runtime/query/index.d.ts +23 -10
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +149 -70
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +8 -1
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +55 -2
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +342 -116
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/iteration/tool-input.d.ts +79 -0
- package/dist/runtime/query/iteration/tool-input.d.ts.map +1 -0
- package/dist/runtime/query/iteration/tool-input.js +291 -0
- package/dist/runtime/query/iteration/tool-input.js.map +1 -0
- package/dist/runtime/query/observation-context.d.ts +2 -2
- package/dist/runtime/query/observation-context.d.ts.map +1 -1
- package/dist/runtime/query/observation-context.js.map +1 -1
- package/dist/runtime/query/prelude-lease.d.ts +18 -0
- package/dist/runtime/query/prelude-lease.d.ts.map +1 -0
- package/dist/runtime/query/prelude-lease.js +121 -0
- package/dist/runtime/query/prelude-lease.js.map +1 -0
- package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
- package/dist/runtime/query/prepare-turn.js +386 -187
- package/dist/runtime/query/prepare-turn.js.map +1 -1
- package/dist/runtime/query/prompt-cache.d.ts +2 -2
- package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
- package/dist/runtime/query/prompt.d.ts +2 -2
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +1 -1
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/resume-session.d.ts.map +1 -1
- package/dist/runtime/query/resume-session.js +37 -2
- package/dist/runtime/query/resume-session.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +22 -3
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +84 -6
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +3 -2
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/runtime/query/turn-state.d.ts.map +1 -1
- package/dist/runtime/query/turn-state.js +5 -0
- package/dist/runtime/query/turn-state.js.map +1 -1
- package/dist/runtime/system-events.d.ts +112 -0
- package/dist/runtime/system-events.d.ts.map +1 -0
- package/dist/runtime/system-events.js +183 -0
- package/dist/runtime/system-events.js.map +1 -0
- package/dist/scheduler/delegating.d.ts +2 -1
- package/dist/scheduler/delegating.d.ts.map +1 -1
- package/dist/scheduler/delegating.js +3 -2
- package/dist/scheduler/delegating.js.map +1 -1
- package/dist/scheduler/local.d.ts.map +1 -1
- package/dist/scheduler/local.js +2 -0
- package/dist/scheduler/local.js.map +1 -1
- package/dist/session/retention/archive.js +1 -1
- package/dist/session/retention/archive.js.map +1 -1
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/registry.d.ts +12 -0
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +19 -0
- package/dist/skills/registry.js.map +1 -1
- package/dist/store/evidence/index-page.d.ts +2 -2
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +2 -0
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session-log/conformance.d.ts +1 -1
- package/dist/store/session-log/conformance.d.ts.map +1 -1
- package/dist/store/session-log/conformance.js +49 -8
- package/dist/store/session-log/conformance.js.map +1 -1
- package/dist/store/session-log/core.d.ts +8 -3
- package/dist/store/session-log/core.d.ts.map +1 -1
- package/dist/store/session-log/core.js +2 -1
- package/dist/store/session-log/core.js.map +1 -1
- package/dist/store/session-log/fold.d.ts +12 -0
- package/dist/store/session-log/fold.d.ts.map +1 -1
- package/dist/store/session-log/fold.js +57 -7
- package/dist/store/session-log/fold.js.map +1 -1
- package/dist/store/session-log/index.d.ts +2 -2
- package/dist/store/session-log/index.d.ts.map +1 -1
- package/dist/store/session-log/index.js +1 -1
- package/dist/store/session-log/index.js.map +1 -1
- package/dist/test-support/toolset.d.ts +19 -0
- package/dist/test-support/toolset.d.ts.map +1 -0
- package/dist/test-support/toolset.js +20 -0
- package/dist/test-support/toolset.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts +29 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +19 -9
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/browser-url.d.ts +1 -1
- package/dist/tools/builtins/browser-url.js +1 -1
- package/dist/tools/builtins/browser.d.ts +6 -6
- package/dist/tools/builtins/browser.js +2 -2
- package/dist/tools/builtins/browser.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +19 -11
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +9 -1
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/json-string-hint.d.ts +15 -0
- package/dist/tools/builtins/json-string-hint.d.ts.map +1 -0
- package/dist/tools/builtins/json-string-hint.js +17 -0
- package/dist/tools/builtins/json-string-hint.js.map +1 -0
- package/dist/tools/builtins/search-tools.d.ts.map +1 -1
- package/dist/tools/builtins/search-tools.js +7 -15
- package/dist/tools/builtins/search-tools.js.map +1 -1
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +11 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/command-shell.d.ts +10 -0
- package/dist/tools/command-shell.d.ts.map +1 -1
- package/dist/tools/command-shell.js +45 -1
- package/dist/tools/command-shell.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts.map +1 -1
- package/dist/tools/coordinator/agent.js +5 -0
- package/dist/tools/coordinator/agent.js.map +1 -1
- package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
- package/dist/tools/coordinator/ask-user-question.js +26 -13
- package/dist/tools/coordinator/ask-user-question.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +5 -0
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/question-options.d.ts +78 -0
- package/dist/tools/coordinator/question-options.d.ts.map +1 -0
- package/dist/tools/coordinator/question-options.js +153 -0
- package/dist/tools/coordinator/question-options.js.map +1 -0
- package/dist/tools/defineTool.d.ts +10 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +17 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +4 -1
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.d.ts.map +1 -1
- package/dist/tools/memory/update.js +8 -5
- package/dist/tools/memory/update.js.map +1 -1
- package/dist/tools/render-nonce.d.ts +47 -0
- package/dist/tools/render-nonce.d.ts.map +1 -0
- package/dist/tools/render-nonce.js +63 -0
- package/dist/tools/render-nonce.js.map +1 -0
- package/dist/tools/roster.d.ts +46 -19
- package/dist/tools/roster.d.ts.map +1 -1
- package/dist/tools/roster.js +63 -33
- package/dist/tools/roster.js.map +1 -1
- package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
- package/dist/tools/schedules/schedule-tool.js +94 -14
- package/dist/tools/schedules/schedule-tool.js.map +1 -1
- package/dist/tools/schedules/types.d.ts +52 -6
- package/dist/tools/schedules/types.d.ts.map +1 -1
- package/dist/tools/trusted-read-only.d.ts +9 -5
- package/dist/tools/trusted-read-only.d.ts.map +1 -1
- package/dist/tools/trusted-read-only.js +14 -10
- package/dist/tools/trusted-read-only.js.map +1 -1
- package/dist/tools/untrusted-envelope.d.ts +67 -28
- package/dist/tools/untrusted-envelope.d.ts.map +1 -1
- package/dist/tools/untrusted-envelope.js +108 -59
- package/dist/tools/untrusted-envelope.js.map +1 -1
- package/dist/toolsets/combine.d.ts +44 -0
- package/dist/toolsets/combine.d.ts.map +1 -0
- package/dist/toolsets/combine.js +153 -0
- package/dist/toolsets/combine.js.map +1 -0
- package/dist/toolsets/manager.d.ts +201 -0
- package/dist/toolsets/manager.d.ts.map +1 -0
- package/dist/toolsets/manager.js +837 -0
- package/dist/toolsets/manager.js.map +1 -0
- package/dist/toolsets/source-glob.d.ts +15 -0
- package/dist/toolsets/source-glob.d.ts.map +1 -0
- package/dist/toolsets/source-glob.js +23 -0
- package/dist/toolsets/source-glob.js.map +1 -0
- package/dist/toolsets/toolset.d.ts +20 -0
- package/dist/toolsets/toolset.d.ts.map +1 -0
- package/dist/toolsets/toolset.js +28 -0
- package/dist/toolsets/toolset.js.map +1 -0
- package/dist/toolsets/types.d.ts +128 -0
- package/dist/toolsets/types.d.ts.map +1 -0
- package/dist/toolsets/types.js +33 -0
- package/dist/toolsets/types.js.map +1 -0
- package/dist/toolsets/wrappers.d.ts +59 -0
- package/dist/toolsets/wrappers.d.ts.map +1 -0
- package/dist/toolsets/wrappers.js +165 -0
- package/dist/toolsets/wrappers.js.map +1 -0
- package/dist/types/agent/base.d.ts +27 -16
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/index.d.ts +1 -0
- package/dist/types/agent/index.d.ts.map +1 -1
- package/dist/types/agent/index.js +1 -0
- package/dist/types/agent/index.js.map +1 -1
- package/dist/types/agent/pipeline.d.ts +2 -0
- package/dist/types/agent/pipeline.d.ts.map +1 -1
- package/dist/types/agent/query.d.ts +117 -0
- package/dist/types/agent/query.d.ts.map +1 -0
- package/dist/types/agent/query.js +2 -0
- package/dist/types/agent/query.js.map +1 -0
- package/dist/types/agent/reactive.d.ts +2 -129
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/router.d.ts +2 -0
- package/dist/types/agent/router.d.ts.map +1 -1
- package/dist/types/agent/scheduler.d.ts +6 -1
- package/dist/types/agent/scheduler.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +5 -2
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +19 -1
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/task.js.map +1 -1
- package/dist/types/authorization/index.d.ts +49 -12
- package/dist/types/authorization/index.d.ts.map +1 -1
- package/dist/types/authorization/index.js +6 -0
- package/dist/types/authorization/index.js.map +1 -1
- package/dist/types/connector/mcp.d.ts +45 -0
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/errors/index.d.ts +15 -0
- package/dist/types/errors/index.d.ts.map +1 -1
- package/dist/types/errors/index.js.map +1 -1
- package/dist/types/hitl/index.d.ts +57 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +130 -9
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +4 -1
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +22 -4
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +1 -0
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +5 -0
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/provider/config.d.ts +8 -3
- package/dist/types/provider/config.d.ts.map +1 -1
- package/dist/types/provider/stream.d.ts +39 -0
- package/dist/types/provider/stream.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +1 -1
- package/dist/types/session/events.d.ts +14 -3
- package/dist/types/session/events.d.ts.map +1 -1
- package/dist/types/session/events.js.map +1 -1
- package/dist/types/session/sub-session.d.ts +2 -0
- package/dist/types/session/sub-session.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +152 -91
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/toolset/index.d.ts +10 -40
- package/dist/types/toolset/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/advisory/history.ts +27 -2
- package/src/advisory/index.ts +1 -1
- package/src/advisory/registry.ts +33 -0
- package/src/agents/AGENTS.md +14 -7
- package/src/agents/PipelineAgent.ts +2 -303
- package/src/agents/QueryAgent.ts +269 -0
- package/src/agents/ReactiveAgent.ts +6 -216
- package/src/agents/RouterAgent.ts +2 -337
- package/src/agents/SupervisorAgent.ts +3 -476
- package/src/agents/defineAgent.ts +13 -2
- package/src/agents/examples/PipelineAgent.ts +302 -0
- package/src/agents/examples/RouterAgent.ts +338 -0
- package/src/agents/examples/SupervisorAgent.ts +472 -0
- package/src/agents/explore.ts +6 -3
- package/src/agents/forward-options.ts +37 -0
- package/src/agents/index.ts +2 -0
- package/src/agents/runAgent.ts +144 -37
- package/src/authorization/command-line.ts +2 -2
- package/src/authorization/gate.ts +21 -1
- package/src/authorization/program.ts +773 -0
- package/src/authorization/reexec-wrapper.ts +589 -0
- package/src/authorization/rules.ts +18 -1
- package/src/authorization/shell-lexer.ts +104 -59
- package/src/bridge/sse/mapper.ts +6 -0
- package/src/capabilities/index.ts +157 -0
- package/src/config/registry.ts +4 -1
- package/src/connector/index.ts +9 -2
- package/src/connector/mcp/adapter.ts +73 -3
- package/src/connector/mcp/client.ts +425 -6
- package/src/connector/mcp/discovery.ts +60 -0
- package/src/connector/mcp/era.ts +7 -0
- package/src/connector/mcp/index.ts +13 -0
- package/src/connector/mcp/mcp-toolset.ts +515 -0
- package/src/connector/mcp/streamable-http.ts +302 -5
- package/src/connector/tools/index.ts +2 -2
- package/src/connector/tools/router.ts +35 -58
- package/src/directory/derive-supervisor.ts +12 -8
- package/src/directory/derive.ts +8 -5
- package/src/execution/code-runtime/types.ts +2 -2
- package/src/invariants/index.ts +4 -1
- package/src/manager/agent/lifecycle.ts +167 -19
- package/src/manager/connector/environment.ts +17 -4
- package/src/manager/connector/index.ts +2 -2
- package/src/manager/connector/tenant.ts +17 -4
- package/src/manager/index.ts +2 -2
- package/src/manager/session/attribution.ts +79 -0
- package/src/manager/session/turn-recorder.ts +211 -55
- package/src/peers/address.ts +58 -0
- package/src/peers/client.ts +202 -0
- package/src/peers/dir.ts +176 -0
- package/src/peers/endpoint.ts +564 -0
- package/src/peers/envelope.ts +121 -0
- package/src/peers/index.ts +96 -0
- package/src/peers/protocol.ts +196 -0
- package/src/peers/record.ts +56 -0
- package/src/peers/registry.ts +241 -0
- package/src/plugin/define.ts +68 -0
- package/src/plugin/index.ts +2 -0
- package/src/plugin/lifecycle.ts +286 -106
- package/src/plugin/resolver.ts +6 -3
- package/src/plugin/shell-hook.ts +21 -5
- package/src/probe/errors.ts +4 -1
- package/src/prompt/coding-agent-doctrine.ts +22 -10
- package/src/prompt/contributions.ts +12 -2
- package/src/prompt/index.ts +1 -0
- package/src/provider/collect-chat-completion.ts +96 -11
- package/src/provider/mock.ts +24 -6
- package/src/provider/registry.ts +4 -1
- package/src/provider/tool-call-framing.ts +226 -0
- package/src/public-runtime.ts +136 -7
- package/src/public-tools.ts +24 -4
- package/src/public-types.ts +60 -6
- package/src/read-model/registry.ts +7 -2
- package/src/registry/ManagedRegistry.ts +57 -6
- package/src/registry/collision.ts +64 -0
- package/src/registry/command/index.ts +7 -3
- package/src/registry/index.ts +3 -9
- package/src/registry/plugin/index.ts +14 -1
- package/src/registry/tool/callable.ts +8 -9
- package/src/registry/tool/execute.ts +16 -846
- package/src/registry/tool/portable.ts +59 -0
- package/src/registry/tool/presentation.ts +6 -5
- package/src/runtime/bidi/session.ts +24 -5
- package/src/runtime/query/executor/tool-call-admission.ts +228 -6
- package/src/runtime/query/executor.ts +110 -12
- package/src/runtime/query/file-evidence-replay.ts +8 -7
- package/src/runtime/query/fork/prepare.ts +6 -1
- package/src/runtime/query/guardrail-presets.ts +4 -3
- package/src/runtime/query/index.ts +199 -101
- package/src/runtime/query/iteration/index.ts +13 -3
- package/src/runtime/query/iteration/phases/compaction.ts +1 -1
- package/src/runtime/query/iteration/phases/context.ts +2 -2
- package/src/runtime/query/iteration/phases/tool-review.ts +59 -2
- package/src/runtime/query/iteration/stream-turn.ts +390 -136
- package/src/runtime/query/iteration/tool-input.ts +284 -0
- package/src/runtime/query/observation-context.ts +2 -2
- package/src/runtime/query/prelude-lease.ts +132 -0
- package/src/runtime/query/prepare-turn.ts +477 -198
- package/src/runtime/query/prompt-cache.ts +2 -2
- package/src/runtime/query/prompt.ts +4 -4
- package/src/runtime/query/resume-session.ts +42 -3
- package/src/runtime/query/review-policy.ts +87 -9
- package/src/runtime/query/tooling.ts +3 -6
- package/src/runtime/query/turn-state.ts +4 -0
- package/src/runtime/system-events.ts +246 -0
- package/src/scheduler/delegating.ts +7 -2
- package/src/scheduler/local.ts +2 -0
- package/src/session/retention/archive.ts +1 -1
- package/src/skills/index.ts +1 -1
- package/src/skills/registry.ts +25 -0
- package/src/store/session/disk.ts +3 -0
- package/src/store/session-log/conformance.ts +51 -8
- package/src/store/session-log/core.ts +10 -4
- package/src/store/session-log/fold.ts +33 -7
- package/src/store/session-log/index.ts +2 -0
- package/src/test-support/toolset.ts +23 -0
- package/src/tools/builtins/bash.ts +27 -10
- package/src/tools/builtins/browser-url.ts +1 -1
- package/src/tools/builtins/browser.ts +2 -2
- package/src/tools/builtins/computer-use.ts +21 -11
- package/src/tools/builtins/edit.ts +12 -2
- package/src/tools/builtins/json-string-hint.ts +16 -0
- package/src/tools/builtins/search-tools.ts +7 -20
- package/src/tools/builtins/write-file.ts +12 -0
- package/src/tools/command-shell.ts +46 -1
- package/src/tools/coordinator/agent.ts +6 -0
- package/src/tools/coordinator/ask-user-question.ts +29 -15
- package/src/tools/coordinator/index.ts +6 -0
- package/src/tools/coordinator/question-options.ts +195 -0
- package/src/tools/defineTool.ts +28 -0
- package/src/tools/memory/search.ts +4 -1
- package/src/tools/memory/update.ts +8 -5
- package/src/tools/render-nonce.ts +69 -0
- package/src/tools/roster.ts +84 -33
- package/src/tools/schedules/schedule-tool.ts +107 -14
- package/src/tools/schedules/types.ts +52 -6
- package/src/tools/trusted-read-only.ts +19 -10
- package/src/tools/untrusted-envelope.ts +121 -57
- package/src/toolsets/combine.ts +181 -0
- package/src/toolsets/manager.ts +996 -0
- package/src/toolsets/source-glob.ts +22 -0
- package/src/toolsets/toolset.ts +31 -0
- package/src/toolsets/types.ts +154 -0
- package/src/toolsets/wrappers.ts +191 -0
- package/src/types/agent/base.ts +29 -16
- package/src/types/agent/index.ts +1 -0
- package/src/types/agent/pipeline.ts +2 -0
- package/src/types/agent/query.ts +129 -0
- package/src/types/agent/reactive.ts +5 -142
- package/src/types/agent/router.ts +2 -0
- package/src/types/agent/scheduler.ts +6 -1
- package/src/types/agent/supervisor.ts +5 -2
- package/src/types/agent/task.ts +21 -1
- package/src/types/authorization/index.ts +12 -0
- package/src/types/connector/mcp.ts +46 -0
- package/src/types/errors/index.ts +15 -0
- package/src/types/hitl/index.ts +57 -0
- package/src/types/message/index.ts +135 -7
- package/src/types/plugin/index.ts +44 -21
- package/src/types/provider/chat.ts +5 -0
- package/src/types/provider/config.ts +8 -3
- package/src/types/provider/stream.ts +39 -0
- package/src/types/sandbox/index.ts +1 -1
- package/src/types/session/events.ts +14 -3
- package/src/types/session/sub-session.ts +2 -0
- package/src/types/tool/index.ts +154 -105
- package/src/types/toolset/index.ts +10 -47
- package/dist/registry/toolset/catalog.d.ts +0 -42
- package/dist/registry/toolset/catalog.d.ts.map +0 -1
- package/dist/registry/toolset/catalog.js +0 -234
- package/dist/registry/toolset/catalog.js.map +0 -1
- package/src/registry/toolset/catalog.ts +0 -308
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/toolsets/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Match a hierarchical source id against a glob pattern.
|
|
3
|
+
*
|
|
4
|
+
* Source ids are strings like `mcp:github`, `plugin:acme`,
|
|
5
|
+
* `plugin:acme/mcp:db` (plan.md §1) — no filesystem semantics, so this is
|
|
6
|
+
* not a path glob: `*` matches any run of characters, including `/` and
|
|
7
|
+
* `:`, so `plugin:acme/*` matches `plugin:acme/mcp:db` in one step. There
|
|
8
|
+
* is no `**`, `?` or character class — the id space does not need them, and
|
|
9
|
+
* a smaller matcher is one with no surprising cases to test.
|
|
10
|
+
*
|
|
11
|
+
* A pattern with no `*` is an exact match, so callers never have to special
|
|
12
|
+
* case "no wildcard" themselves.
|
|
13
|
+
*/
|
|
14
|
+
export declare function matchesSourceIdGlob(id: string, pattern: string): boolean;
|
|
15
|
+
//# sourceMappingURL=source-glob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-glob.d.ts","sourceRoot":"","sources":["../../src/toolsets/source-glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIxE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Match a hierarchical source id against a glob pattern.
|
|
3
|
+
*
|
|
4
|
+
* Source ids are strings like `mcp:github`, `plugin:acme`,
|
|
5
|
+
* `plugin:acme/mcp:db` (plan.md §1) — no filesystem semantics, so this is
|
|
6
|
+
* not a path glob: `*` matches any run of characters, including `/` and
|
|
7
|
+
* `:`, so `plugin:acme/*` matches `plugin:acme/mcp:db` in one step. There
|
|
8
|
+
* is no `**`, `?` or character class — the id space does not need them, and
|
|
9
|
+
* a smaller matcher is one with no surprising cases to test.
|
|
10
|
+
*
|
|
11
|
+
* A pattern with no `*` is an exact match, so callers never have to special
|
|
12
|
+
* case "no wildcard" themselves.
|
|
13
|
+
*/
|
|
14
|
+
export function matchesSourceIdGlob(id, pattern) {
|
|
15
|
+
if (!pattern.includes('*'))
|
|
16
|
+
return id === pattern;
|
|
17
|
+
const escaped = pattern.split('*').map(escapeRegExpLiteral).join('.*');
|
|
18
|
+
return new RegExp(`^${escaped}$`).test(id);
|
|
19
|
+
}
|
|
20
|
+
function escapeRegExpLiteral(literal) {
|
|
21
|
+
return literal.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=source-glob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-glob.js","sourceRoot":"","sources":["../../src/toolsets/source-glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,OAAe;IAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,OAAO,CAAA;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtE,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../types/tool/index.js';
|
|
2
|
+
import type { ToolSource, Toolset } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The plain, static `Toolset`: a fixed list of tools from one source.
|
|
5
|
+
*
|
|
6
|
+
* A bare string source is shorthand for a `host_tool` source with that
|
|
7
|
+
* string as both `id` and `name` — the common case for a small, in-process
|
|
8
|
+
* bundle of tools ("builtin", "memory") that has no separate discovery
|
|
9
|
+
* metadata worth writing out. Anything that needs a real `kind`
|
|
10
|
+
* (`mcp_server`, `plugin`, …) passes a full {@link ToolSource}; string
|
|
11
|
+
* shorthand never guesses a kind from the text of the id.
|
|
12
|
+
*
|
|
13
|
+
* The tools array is snapshotted once, at construction, so a caller that
|
|
14
|
+
* mutates the array it passed in afterward cannot change what this toolset
|
|
15
|
+
* reports. There is no `onChange`: a plain toolset never changes on its
|
|
16
|
+
* own — wrap it with a live source (a future MCP toolset) or rebuild it
|
|
17
|
+
* with a new snapshot instead.
|
|
18
|
+
*/
|
|
19
|
+
export declare function toolset(source: ToolSource | string, tools: readonly ToolDefinition[]): Toolset;
|
|
20
|
+
//# sourceMappingURL=toolset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolset.d.ts","sourceRoot":"","sources":["../../src/toolsets/toolset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAO9F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plain, static `Toolset`: a fixed list of tools from one source.
|
|
3
|
+
*
|
|
4
|
+
* A bare string source is shorthand for a `host_tool` source with that
|
|
5
|
+
* string as both `id` and `name` — the common case for a small, in-process
|
|
6
|
+
* bundle of tools ("builtin", "memory") that has no separate discovery
|
|
7
|
+
* metadata worth writing out. Anything that needs a real `kind`
|
|
8
|
+
* (`mcp_server`, `plugin`, …) passes a full {@link ToolSource}; string
|
|
9
|
+
* shorthand never guesses a kind from the text of the id.
|
|
10
|
+
*
|
|
11
|
+
* The tools array is snapshotted once, at construction, so a caller that
|
|
12
|
+
* mutates the array it passed in afterward cannot change what this toolset
|
|
13
|
+
* reports. There is no `onChange`: a plain toolset never changes on its
|
|
14
|
+
* own — wrap it with a live source (a future MCP toolset) or rebuild it
|
|
15
|
+
* with a new snapshot instead.
|
|
16
|
+
*/
|
|
17
|
+
export function toolset(source, tools) {
|
|
18
|
+
const resolvedSource = typeof source === 'string' ? hostToolSource(source) : source;
|
|
19
|
+
const snapshot = tools.slice();
|
|
20
|
+
return {
|
|
21
|
+
source: resolvedSource,
|
|
22
|
+
tools: () => snapshot,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function hostToolSource(id) {
|
|
26
|
+
return { id, kind: 'host_tool', name: id };
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=toolset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolset.js","sourceRoot":"","sources":["../../src/toolsets/toolset.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,OAAO,CAAC,MAA2B,EAAE,KAAgC;IACpF,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9B,OAAO;QACN,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;KACrB,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AAC3C,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../types/tool/index.js';
|
|
2
|
+
import type { ToolSource, ToolSourceKind } from '../types/toolset/index.js';
|
|
3
|
+
export type { ToolSource, ToolSourceKind };
|
|
4
|
+
/**
|
|
5
|
+
* A toolset's own default for the tools it contributes.
|
|
6
|
+
*
|
|
7
|
+
* Deliberately narrower than {@link ToolAvailability} (`'active' |
|
|
8
|
+
* 'deferred' | 'suspended'`): `'suspended'` is derived from a host readiness
|
|
9
|
+
* check, not a static declaration. Absent means `'active'`.
|
|
10
|
+
*/
|
|
11
|
+
export type ToolsetAvailability = 'active' | 'deferred';
|
|
12
|
+
/**
|
|
13
|
+
* The unit every tool comes from.
|
|
14
|
+
*
|
|
15
|
+
* A `Toolset` is a value, not a registration: `toolset()`, every wrapper
|
|
16
|
+
* below, and `combineToolsets` all return one without touching any shared
|
|
17
|
+
* state. The runtime resolves it through a `ToolManager` when a turn starts.
|
|
18
|
+
*/
|
|
19
|
+
export interface Toolset {
|
|
20
|
+
/** Where these tools come from. Ownership and trust stay with this. */
|
|
21
|
+
readonly source: ToolSource;
|
|
22
|
+
/**
|
|
23
|
+
* The current snapshot, in a deterministic order.
|
|
24
|
+
*
|
|
25
|
+
* Called fresh whenever a caller wants the current tools — a wrapper
|
|
26
|
+
* re-derives its mapping/filtering on every call rather than caching,
|
|
27
|
+
* so a live inner toolset's change is visible the moment `tools()` is
|
|
28
|
+
* called again, with no separate invalidation step.
|
|
29
|
+
*/
|
|
30
|
+
tools(): readonly ToolDefinition[];
|
|
31
|
+
/**
|
|
32
|
+
* This toolset's default for tools it contributes. Absent means
|
|
33
|
+
* `'active'`. A wrapper composes this along with everything else: see
|
|
34
|
+
* {@link deferred}.
|
|
35
|
+
*/
|
|
36
|
+
readonly availability?: ToolsetAvailability;
|
|
37
|
+
/**
|
|
38
|
+
* Host-owned readiness, independent of whether the model has loaded a
|
|
39
|
+
* deferred schema. A false (or throwing) check keeps every tool in this
|
|
40
|
+
* source out of discovery, prompts and execution. Read fresh on each use.
|
|
41
|
+
*/
|
|
42
|
+
readonly isReady?: () => boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Subscribe to "the next `tools()` call may return something different"
|
|
45
|
+
* — an MCP server's `list_changed`, for instance. Returns the
|
|
46
|
+
* unsubscribe function. Absent means this toolset never changes on its
|
|
47
|
+
* own (a plain {@link toolset} never does).
|
|
48
|
+
*
|
|
49
|
+
* A wrapper or {@link combineToolsets} that wraps a live toolset forwards
|
|
50
|
+
* this by calling the inner `onChange` with the same listener, so a
|
|
51
|
+
* change three layers down reaches a listener on the outermost toolset,
|
|
52
|
+
* and unsubscribing at the outer layer unsubscribes at every inner one.
|
|
53
|
+
*/
|
|
54
|
+
onChange?(listener: () => void): () => void;
|
|
55
|
+
/** Release whatever this toolset holds open (a connection, a watcher). */
|
|
56
|
+
close?(): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
/** A broken readiness check must never expose the tools it guards. */
|
|
59
|
+
export declare function toolsetIsReady(ts: Toolset): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* A lean reference to the toolset that contributed a tool.
|
|
62
|
+
* `ToolManager.sourceOf(name)` derives it from the owning toolset; no source
|
|
63
|
+
* pointer is stored on the `ToolDefinition` itself.
|
|
64
|
+
*/
|
|
65
|
+
export interface ToolSourceRef {
|
|
66
|
+
readonly id: string;
|
|
67
|
+
readonly kind: ToolSourceKind;
|
|
68
|
+
/** Only set when `kind` is `'mcp_server'`: the connected server's configured name. */
|
|
69
|
+
readonly server?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Only set when `kind` is `'mcp_server'`. See `ToolProvenance.readOnlyHintTrusted`
|
|
72
|
+
* (`types/tool/index.ts`) — same meaning, carried on the source instead of
|
|
73
|
+
* duplicated onto every tool the source contributes.
|
|
74
|
+
*/
|
|
75
|
+
readonly readOnlyHintTrusted?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Project a `ToolSource` down to the lean reference returned by
|
|
79
|
+
* `ToolManager.sourceOf(name)`. Pure; reads nothing but its arguments.
|
|
80
|
+
*
|
|
81
|
+
* `readOnlyHintTrusted` defaults to `source.mcpServer?.readOnlyHintTrusted`
|
|
82
|
+
* — the operator's per-server trust decision, wired by whatever built this
|
|
83
|
+
* `ToolSource` (`mcpToolset`, plan.md §4). The `mcp` parameter overrides that
|
|
84
|
+
* default rather than being the only channel for it: a caller that already
|
|
85
|
+
* has the decision in hand some other way (a test, a wrapper) may still pass
|
|
86
|
+
* it explicitly, but `sourceOf` (`toolsets/manager.ts`) relies on the
|
|
87
|
+
* default so a trusted server's tools resolve as trusted with no extra
|
|
88
|
+
* wiring at the call site.
|
|
89
|
+
*/
|
|
90
|
+
export declare function toToolSourceRef(source: ToolSource, mcp?: {
|
|
91
|
+
readonly readOnlyHintTrusted: boolean;
|
|
92
|
+
}): ToolSourceRef;
|
|
93
|
+
/**
|
|
94
|
+
* A synchronous test over one tool, for {@link filtered} and
|
|
95
|
+
* {@link requireApproval}.
|
|
96
|
+
*
|
|
97
|
+
* `source` is the CONTRIBUTING TOOLSET's own source (`ts.source` projected
|
|
98
|
+
* through {@link toToolSourceRef}) — not a source declared by a tool
|
|
99
|
+
* definition (see {@link ToolFilterSelector}'s note on `sourceIdGlob`). A
|
|
100
|
+
* predicate that
|
|
101
|
+
* needs to tell a trusted MCP server's tool from an untrusted one's (the
|
|
102
|
+
* `isTrustedReadOnly` recipe in `tools/roster.ts`) reads this — which is
|
|
103
|
+
* correct for a plain, single-source toolset, and why that recipe must run
|
|
104
|
+
* on each contributing toolset before {@link combineToolsets} merges them:
|
|
105
|
+
* applied to an already-combined multi-source toolset, `source` is the
|
|
106
|
+
* COMBINED umbrella source, not any one contributor's, and a predicate that
|
|
107
|
+
* trusts it that far trusts every contributor equally.
|
|
108
|
+
*/
|
|
109
|
+
export type ToolPredicate = (tool: ToolDefinition, source: ToolSourceRef) => boolean;
|
|
110
|
+
/**
|
|
111
|
+
* What `filtered` (and `requireApproval`'s optional selector) may match on.
|
|
112
|
+
*
|
|
113
|
+
* `sourceIdGlob` matches the WHOLE toolset's own {@link ToolSource.id}
|
|
114
|
+
* (glob syntax: {@link matchesSourceIdGlob}) — not a per-tool source.
|
|
115
|
+
* A toolset is one source, so this keeps every tool the toolset contributes
|
|
116
|
+
* when the glob matches, and none when it does not.
|
|
117
|
+
*
|
|
118
|
+
* `metadata` is a deep-match against `ToolDefinition.metadata`: every key in
|
|
119
|
+
* the pattern must be present and equal (or, for a nested plain object,
|
|
120
|
+
* recursively matched) on the tool's own metadata. A tool with no metadata
|
|
121
|
+
* never matches a metadata selector.
|
|
122
|
+
*/
|
|
123
|
+
export type ToolFilterSelector = readonly string[] | {
|
|
124
|
+
readonly metadata: Readonly<Record<string, unknown>>;
|
|
125
|
+
} | {
|
|
126
|
+
readonly sourceIdGlob: string;
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/toolsets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAO3E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B;;;;;;;OAOG;IACH,KAAK,IAAI,SAAS,cAAc,EAAE,CAAA;IAClC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,0EAA0E;IAC1E,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAMnD;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CACtC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,UAAU,EAClB,GAAG,CAAC,EAAE;IAAE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,GAC7C,aAAa,CAQf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAC3B,SAAS,MAAM,EAAE,GACjB;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** A broken readiness check must never expose the tools it guards. */
|
|
2
|
+
export function toolsetIsReady(ts) {
|
|
3
|
+
try {
|
|
4
|
+
return ts.isReady?.() ?? true;
|
|
5
|
+
}
|
|
6
|
+
catch {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Project a `ToolSource` down to the lean reference returned by
|
|
12
|
+
* `ToolManager.sourceOf(name)`. Pure; reads nothing but its arguments.
|
|
13
|
+
*
|
|
14
|
+
* `readOnlyHintTrusted` defaults to `source.mcpServer?.readOnlyHintTrusted`
|
|
15
|
+
* — the operator's per-server trust decision, wired by whatever built this
|
|
16
|
+
* `ToolSource` (`mcpToolset`, plan.md §4). The `mcp` parameter overrides that
|
|
17
|
+
* default rather than being the only channel for it: a caller that already
|
|
18
|
+
* has the decision in hand some other way (a test, a wrapper) may still pass
|
|
19
|
+
* it explicitly, but `sourceOf` (`toolsets/manager.ts`) relies on the
|
|
20
|
+
* default so a trusted server's tools resolve as trusted with no extra
|
|
21
|
+
* wiring at the call site.
|
|
22
|
+
*/
|
|
23
|
+
export function toToolSourceRef(source, mcp) {
|
|
24
|
+
if (source.kind !== 'mcp_server')
|
|
25
|
+
return { id: source.id, kind: source.kind };
|
|
26
|
+
return {
|
|
27
|
+
id: source.id,
|
|
28
|
+
kind: source.kind,
|
|
29
|
+
server: source.mcpServer?.name ?? source.name,
|
|
30
|
+
readOnlyHintTrusted: mcp?.readOnlyHintTrusted ?? source.mcpServer?.readOnlyHintTrusted ?? false,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/toolsets/types.ts"],"names":[],"mappings":"AAkEA,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,EAAW;IACzC,IAAI,CAAC;QACJ,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAoBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAkB,EAClB,GAA+C;IAE/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7E,OAAO;QACN,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;QAC7C,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,IAAI,MAAM,CAAC,SAAS,EAAE,mBAAmB,IAAI,KAAK;KAC/F,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../types/tool/index.js';
|
|
2
|
+
import { type ToolFilterSelector, type ToolPredicate, type Toolset } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Apply `fn` to every tool this toolset contributes, recomputed on every
|
|
5
|
+
* `tools()` call (no caching) so a live inner toolset's change is visible
|
|
6
|
+
* immediately. Every other wrapper below is written in terms of this one.
|
|
7
|
+
*/
|
|
8
|
+
export declare function mapTools(ts: Toolset, fn: (tool: ToolDefinition) => ToolDefinition): Toolset;
|
|
9
|
+
/** Prepend `prefix` to every tool's name. `execute` and every other field are untouched. */
|
|
10
|
+
export declare function prefixed(ts: Toolset, prefix: string): Toolset;
|
|
11
|
+
/**
|
|
12
|
+
* Rename the tools named as keys in `names` to their mapped value. A tool
|
|
13
|
+
* whose name is not a key keeps its name. `execute` and every other field
|
|
14
|
+
* are untouched — only `name` changes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function renamed(ts: Toolset, names: Readonly<Record<string, string>>): Toolset;
|
|
17
|
+
/**
|
|
18
|
+
* Keep only the tools `selector` (or `predicate`) admits.
|
|
19
|
+
*
|
|
20
|
+
* See {@link ToolFilterSelector} for what a non-function selector can match
|
|
21
|
+
* on. A `sourceIdGlob` selector is all-or-nothing per toolset — it tests
|
|
22
|
+
* this toolset's own `source.id`, not a per-tool source. A function
|
|
23
|
+
* `predicate` is handed `ts.source` (projected through
|
|
24
|
+
* {@link toToolSourceRef}) as its second argument for the same reason —
|
|
25
|
+
* see {@link ToolPredicate}'s note on what that source means, and does not
|
|
26
|
+
* mean, once toolsets have been combined.
|
|
27
|
+
*/
|
|
28
|
+
export declare function filtered(ts: Toolset, selector: ToolFilterSelector | ToolPredicate): Toolset;
|
|
29
|
+
/**
|
|
30
|
+
* This toolset's tools default to `'deferred'` instead of `'active'` — the
|
|
31
|
+
* model has to ask for them by name (or a `search_tools`/reveal path) rather
|
|
32
|
+
* than seeing them offered up front.
|
|
33
|
+
*/
|
|
34
|
+
export declare function deferred(ts: Toolset): Toolset;
|
|
35
|
+
/**
|
|
36
|
+
* Keep tools unavailable until the host confirms their prerequisite is ready.
|
|
37
|
+
* This guard is independent of `deferred`: search cannot grant readiness.
|
|
38
|
+
* The callback must read current host state and return synchronously.
|
|
39
|
+
*/
|
|
40
|
+
export declare function readyWhen(ts: Toolset, isReady: () => boolean): Toolset;
|
|
41
|
+
/**
|
|
42
|
+
* Mark the tools `selector` admits (every tool, when omitted) as needing
|
|
43
|
+
* approval every time they are called.
|
|
44
|
+
*
|
|
45
|
+
* Sets `ToolDefinition.requiresApproval` to a predicate that always answers
|
|
46
|
+
* `true`, and nothing else — this wrapper does not enforce approval itself;
|
|
47
|
+
* that is `runtime/query/review-policy.ts`'s job, which reads the field this
|
|
48
|
+
* writes. `requiresApproval` is declared as `(input: TInput) => boolean`
|
|
49
|
+
* (method-shorthand, like `isReadOnly`), not a plain boolean, so every tool
|
|
50
|
+
* this wrapper marks gets the same always-true predicate rather than a
|
|
51
|
+
* second field shape to check for.
|
|
52
|
+
*/
|
|
53
|
+
export declare function requireApproval(ts: Toolset, selector?: ToolFilterSelector | ToolPredicate): Toolset;
|
|
54
|
+
/**
|
|
55
|
+
* Merge `metadata` onto every tool this toolset contributes, keeping
|
|
56
|
+
* whatever metadata a tool already carries (last write wins per key).
|
|
57
|
+
*/
|
|
58
|
+
export declare function withMetadata(ts: Toolset, metadata: Readonly<Record<string, unknown>>): Toolset;
|
|
59
|
+
//# sourceMappingURL=wrappers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/toolsets/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,OAAO,EAGZ,MAAM,YAAY,CAAA;AAwCnB;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,GAAG,OAAO,CAE3F;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAa7D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAKrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAM3F;AAyBD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,OAAO,CAItE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC9B,EAAE,EAAE,OAAO,EACX,QAAQ,CAAC,EAAE,kBAAkB,GAAG,aAAa,GAC3C,OAAO,CAgBT;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAK9F"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { matchesToolSelector } from '../tools/roster.js';
|
|
2
|
+
import { matchesSourceIdGlob } from './source-glob.js';
|
|
3
|
+
import { toToolSourceRef, } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Build a derived `Toolset` that keeps the inner toolset's `source`,
|
|
6
|
+
* `availability` (unless overridden) and live-update wiring (`onChange`,
|
|
7
|
+
* `close`), forwarded rather than re-implemented.
|
|
8
|
+
*
|
|
9
|
+
* Every wrapper in this file goes through this one function, so "keep the
|
|
10
|
+
* inner source", "forward `onChange` through every layer" and "clean up
|
|
11
|
+
* `close`" are each written exactly once.
|
|
12
|
+
*/
|
|
13
|
+
function deriveToolset(ts, overrides) {
|
|
14
|
+
const derived = {
|
|
15
|
+
source: ts.source,
|
|
16
|
+
tools: overrides.tools ?? (() => ts.tools()),
|
|
17
|
+
availability: overrides.availability ?? ts.availability,
|
|
18
|
+
isReady: overrides.isReady ?? ts.isReady,
|
|
19
|
+
};
|
|
20
|
+
if (ts.onChange) {
|
|
21
|
+
// A direct forward: calling the derived toolset's `onChange` subscribes
|
|
22
|
+
// the inner one with the same listener and hands back ITS unsubscribe,
|
|
23
|
+
// so a change three layers down reaches the outermost listener, and
|
|
24
|
+
// unsubscribing at any layer tears down exactly that subscription.
|
|
25
|
+
const innerOnChange = ts.onChange;
|
|
26
|
+
derived.onChange = (listener) => innerOnChange(listener);
|
|
27
|
+
}
|
|
28
|
+
if (ts.close) {
|
|
29
|
+
const innerClose = ts.close;
|
|
30
|
+
derived.close = () => innerClose();
|
|
31
|
+
}
|
|
32
|
+
return derived;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Apply `fn` to every tool this toolset contributes, recomputed on every
|
|
36
|
+
* `tools()` call (no caching) so a live inner toolset's change is visible
|
|
37
|
+
* immediately. Every other wrapper below is written in terms of this one.
|
|
38
|
+
*/
|
|
39
|
+
export function mapTools(ts, fn) {
|
|
40
|
+
return deriveToolset(ts, { tools: () => ts.tools().map(fn) });
|
|
41
|
+
}
|
|
42
|
+
/** Prepend `prefix` to every tool's name. `execute` and every other field are untouched. */
|
|
43
|
+
export function prefixed(ts, prefix) {
|
|
44
|
+
const cache = new WeakMap();
|
|
45
|
+
return deriveToolset(ts, {
|
|
46
|
+
tools: () => ts.tools().map((tool) => {
|
|
47
|
+
let renamed = cache.get(tool);
|
|
48
|
+
if (!renamed) {
|
|
49
|
+
renamed = { ...tool, name: `${prefix}${tool.name}` };
|
|
50
|
+
cache.set(tool, renamed);
|
|
51
|
+
}
|
|
52
|
+
return renamed;
|
|
53
|
+
}),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Rename the tools named as keys in `names` to their mapped value. A tool
|
|
58
|
+
* whose name is not a key keeps its name. `execute` and every other field
|
|
59
|
+
* are untouched — only `name` changes.
|
|
60
|
+
*/
|
|
61
|
+
export function renamed(ts, names) {
|
|
62
|
+
return mapTools(ts, (tool) => {
|
|
63
|
+
const next = names[tool.name];
|
|
64
|
+
return next === undefined ? tool : { ...tool, name: next };
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Keep only the tools `selector` (or `predicate`) admits.
|
|
69
|
+
*
|
|
70
|
+
* See {@link ToolFilterSelector} for what a non-function selector can match
|
|
71
|
+
* on. A `sourceIdGlob` selector is all-or-nothing per toolset — it tests
|
|
72
|
+
* this toolset's own `source.id`, not a per-tool source. A function
|
|
73
|
+
* `predicate` is handed `ts.source` (projected through
|
|
74
|
+
* {@link toToolSourceRef}) as its second argument for the same reason —
|
|
75
|
+
* see {@link ToolPredicate}'s note on what that source means, and does not
|
|
76
|
+
* mean, once toolsets have been combined.
|
|
77
|
+
*/
|
|
78
|
+
export function filtered(ts, selector) {
|
|
79
|
+
const predicate = toPredicate(ts, selector);
|
|
80
|
+
const source = toToolSourceRef(ts.source);
|
|
81
|
+
return deriveToolset(ts, {
|
|
82
|
+
tools: () => ts.tools().filter((tool) => predicate(tool, source)),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function toPredicate(ts, selector) {
|
|
86
|
+
if (typeof selector === 'function')
|
|
87
|
+
return selector;
|
|
88
|
+
if (Array.isArray(selector)) {
|
|
89
|
+
const names = new Set(selector);
|
|
90
|
+
return (tool) => names.has(tool.name);
|
|
91
|
+
}
|
|
92
|
+
// `Array.isArray`'s built-in guard narrows against a MUTABLE `any[]`, so
|
|
93
|
+
// TypeScript cannot use the negative case above to drop `readonly
|
|
94
|
+
// string[]` from the union — the cast is just naming what the runtime
|
|
95
|
+
// check already proved.
|
|
96
|
+
const objectSelector = selector;
|
|
97
|
+
if ('sourceIdGlob' in objectSelector) {
|
|
98
|
+
const keepEverything = matchesSourceIdGlob(ts.source.id, objectSelector.sourceIdGlob);
|
|
99
|
+
return () => keepEverything;
|
|
100
|
+
}
|
|
101
|
+
// The deep-match itself (nested plain objects recursed, arrays compared
|
|
102
|
+
// elementwise) is `matchesToolSelector`'s (`tools/roster.ts`) — the same
|
|
103
|
+
// rule a permission `by_source`/metadata rule matches by, so a metadata
|
|
104
|
+
// selector means the same thing wherever it is written.
|
|
105
|
+
const pattern = objectSelector.metadata;
|
|
106
|
+
return (tool) => matchesToolSelector(pattern, tool);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* This toolset's tools default to `'deferred'` instead of `'active'` — the
|
|
110
|
+
* model has to ask for them by name (or a `search_tools`/reveal path) rather
|
|
111
|
+
* than seeing them offered up front.
|
|
112
|
+
*/
|
|
113
|
+
export function deferred(ts) {
|
|
114
|
+
return deriveToolset(ts, { availability: 'deferred' });
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Keep tools unavailable until the host confirms their prerequisite is ready.
|
|
118
|
+
* This guard is independent of `deferred`: search cannot grant readiness.
|
|
119
|
+
* The callback must read current host state and return synchronously.
|
|
120
|
+
*/
|
|
121
|
+
export function readyWhen(ts, isReady) {
|
|
122
|
+
return deriveToolset(ts, {
|
|
123
|
+
isReady: () => (ts.isReady?.() ?? true) && isReady(),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Mark the tools `selector` admits (every tool, when omitted) as needing
|
|
128
|
+
* approval every time they are called.
|
|
129
|
+
*
|
|
130
|
+
* Sets `ToolDefinition.requiresApproval` to a predicate that always answers
|
|
131
|
+
* `true`, and nothing else — this wrapper does not enforce approval itself;
|
|
132
|
+
* that is `runtime/query/review-policy.ts`'s job, which reads the field this
|
|
133
|
+
* writes. `requiresApproval` is declared as `(input: TInput) => boolean`
|
|
134
|
+
* (method-shorthand, like `isReadOnly`), not a plain boolean, so every tool
|
|
135
|
+
* this wrapper marks gets the same always-true predicate rather than a
|
|
136
|
+
* second field shape to check for.
|
|
137
|
+
*/
|
|
138
|
+
export function requireApproval(ts, selector) {
|
|
139
|
+
const predicate = selector ? toPredicate(ts, selector) : () => true;
|
|
140
|
+
const source = toToolSourceRef(ts.source);
|
|
141
|
+
const mapped = new WeakMap();
|
|
142
|
+
return deriveToolset(ts, {
|
|
143
|
+
tools: () => ts.tools().map((tool) => {
|
|
144
|
+
if (!predicate(tool, source))
|
|
145
|
+
return tool;
|
|
146
|
+
let approved = mapped.get(tool);
|
|
147
|
+
if (!approved) {
|
|
148
|
+
approved = { ...tool, requiresApproval: () => true };
|
|
149
|
+
mapped.set(tool, approved);
|
|
150
|
+
}
|
|
151
|
+
return approved;
|
|
152
|
+
}),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Merge `metadata` onto every tool this toolset contributes, keeping
|
|
157
|
+
* whatever metadata a tool already carries (last write wins per key).
|
|
158
|
+
*/
|
|
159
|
+
export function withMetadata(ts, metadata) {
|
|
160
|
+
return mapTools(ts, (tool) => ({
|
|
161
|
+
...tool,
|
|
162
|
+
metadata: { ...tool.metadata, ...metadata },
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=wrappers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../src/toolsets/wrappers.ts"],"names":[],"mappings":"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"}
|