@namzu/sdk 45.1.0 → 48.0.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 +436 -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 +13 -2
- package/dist/authorization/gate.d.ts.map +1 -1
- package/dist/authorization/gate.js +37 -5
- 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 +27 -1
- package/dist/authorization/rules.js.map +1 -1
- package/dist/authorization/shell-lexer.d.ts +39 -0
- package/dist/authorization/shell-lexer.d.ts.map +1 -1
- package/dist/authorization/shell-lexer.js +113 -69
- 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 +60 -4
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts +13 -4
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +20 -3
- 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/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/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.map +1 -1
- package/dist/manager/agent/lifecycle.js +9 -0
- 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/learning-observation.d.ts +4 -4
- package/dist/manager/resident/learning.d.ts +36 -36
- 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/pricing/catalogue.generated.d.ts.map +1 -1
- package/dist/pricing/catalogue.generated.js +28 -4
- package/dist/pricing/catalogue.generated.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 +27 -14
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +49 -11
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +9 -6
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +13 -5
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +16 -5
- 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 +22 -0
- package/dist/registry/tool/callable.d.ts.map +1 -0
- package/dist/registry/tool/callable.js +28 -0
- package/dist/registry/tool/callable.js.map +1 -0
- 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 -720
- 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 +82 -13
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +227 -17
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +37 -5
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +103 -14
- 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 +65 -3
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +143 -22
- 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/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 +18 -0
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +20 -0
- package/dist/skills/registry.js.map +1 -1
- package/dist/store/evidence/index-page.d.ts +2 -2
- 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/computer-use-coordinates.d.ts +65 -0
- package/dist/tools/builtins/computer-use-coordinates.d.ts.map +1 -0
- package/dist/tools/builtins/computer-use-coordinates.js +123 -0
- package/dist/tools/builtins/computer-use-coordinates.js.map +1 -0
- package/dist/tools/builtins/computer-use-image.d.ts +77 -0
- package/dist/tools/builtins/computer-use-image.d.ts.map +1 -0
- package/dist/tools/builtins/computer-use-image.js +223 -0
- package/dist/tools/builtins/computer-use-image.js.map +1 -0
- package/dist/tools/builtins/computer-use.d.ts +519 -14
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +1196 -183
- 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/index.d.ts +2 -1
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +1 -1
- package/dist/tools/builtins/index.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/skill.d.ts +74 -0
- package/dist/tools/builtins/skill.d.ts.map +1 -1
- package/dist/tools/builtins/skill.js +214 -174
- package/dist/tools/builtins/skill.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 +12 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +24 -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/present.d.ts.map +1 -1
- package/dist/tools/schedules/present.js +2 -0
- package/dist/tools/schedules/present.js.map +1 -1
- package/dist/tools/schedules/schedule-tool.d.ts +6 -5
- package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
- package/dist/tools/schedules/schedule-tool.js +208 -37
- package/dist/tools/schedules/schedule-tool.js.map +1 -1
- package/dist/tools/schedules/types.d.ts +120 -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/supervisor.d.ts +5 -2
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/authorization/index.d.ts +70 -12
- package/dist/types/authorization/index.d.ts.map +1 -1
- package/dist/types/authorization/index.js +11 -0
- package/dist/types/authorization/index.js.map +1 -1
- package/dist/types/computer-use/index.d.ts +176 -0
- package/dist/types/computer-use/index.d.ts.map +1 -1
- package/dist/types/computer-use/index.js.map +1 -1
- package/dist/types/connector/mcp.d.ts +32 -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/tool/index.d.ts +171 -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 +3 -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 +46 -5
- package/src/authorization/program.ts +773 -0
- package/src/authorization/reexec-wrapper.ts +589 -0
- package/src/authorization/rules.ts +36 -1
- package/src/authorization/shell-lexer.ts +136 -63
- 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 +58 -3
- package/src/connector/mcp/client.ts +20 -4
- package/src/connector/mcp/discovery.ts +60 -0
- package/src/connector/mcp/index.ts +13 -0
- package/src/connector/mcp/mcp-toolset.ts +515 -0
- 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 +9 -0
- 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/pricing/catalogue.generated.ts +28 -4
- package/src/pricing/rates.source.json +27 -6
- 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 +152 -9
- package/src/public-tools.ts +43 -5
- package/src/public-types.ts +65 -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 +36 -0
- package/src/registry/tool/execute.ts +16 -839
- 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 +288 -22
- package/src/runtime/query/executor.ts +129 -16
- 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 +190 -24
- 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/skills/index.ts +1 -1
- package/src/skills/registry.ts +33 -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/computer-use-coordinates.ts +144 -0
- package/src/tools/builtins/computer-use-image.ts +278 -0
- package/src/tools/builtins/computer-use.ts +1495 -191
- package/src/tools/builtins/edit.ts +12 -2
- package/src/tools/builtins/index.ts +7 -1
- package/src/tools/builtins/json-string-hint.ts +16 -0
- package/src/tools/builtins/search-tools.ts +7 -20
- package/src/tools/builtins/skill.ts +304 -174
- 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 +38 -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/present.ts +2 -0
- package/src/tools/schedules/schedule-tool.ts +238 -39
- package/src/tools/schedules/types.ts +120 -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/supervisor.ts +5 -2
- package/src/types/authorization/index.ts +33 -0
- package/src/types/computer-use/index.ts +202 -0
- package/src/types/connector/mcp.ts +32 -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/tool/index.ts +173 -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,399 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { NAMZU } from '../../constants/telemetry/index.js';
|
|
4
|
+
import { ToolsetConflictError } from '../../toolsets/combine.js';
|
|
5
|
+
import { deferred } from '../../toolsets/wrappers.js';
|
|
6
|
+
import { toErrorMessage } from '../../utils/error.js';
|
|
7
|
+
import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js';
|
|
8
|
+
import { resolveLogger } from '../../utils/logger.js';
|
|
9
|
+
import { frameServerResult, mcpToolResultToToolResult, mcpToolToToolDefinition } from './adapter.js';
|
|
10
|
+
import { MCPToolDiscovery } from './discovery.js';
|
|
11
|
+
import { mcpPromptToToolDefinition } from './prompt-adapter.js';
|
|
12
|
+
import { MCPReconnectSupervisor, } from './reconnect.js';
|
|
13
|
+
/**
|
|
14
|
+
* `mcp__<server>__<rest>`, the one MCP naming convention (plan.md §4,
|
|
15
|
+
* "Names become `mcp__<server>__<tool>` everywhere"). Before this, the CLI's
|
|
16
|
+
* own path minted `mcp_<server>_<tool>` (single underscore, ambiguous the
|
|
17
|
+
* moment either name contains one) while the plugin path already used
|
|
18
|
+
* `mcp__`; this toolset is the one place both now go through.
|
|
19
|
+
*
|
|
20
|
+
* `mcpToolToToolDefinition`/`mcpPromptToToolDefinition` keep their OWN
|
|
21
|
+
* historical naming (`mcp_<server>_<tool>` / `mcp_prompt_<server>_<name>`)
|
|
22
|
+
* for direct adapter users — this module renames what they hand back rather
|
|
23
|
+
* than changing what they produce. The CLI and plugin lifecycle both use
|
|
24
|
+
* this toolset.
|
|
25
|
+
*/
|
|
26
|
+
const MCP_TOOLSET_NAME_MAX_LENGTH = 64;
|
|
27
|
+
/**
|
|
28
|
+
* Join `serverName` and `segments` under the `mcp__` convention, shortened
|
|
29
|
+
* deterministically when the result would not fit the wire's 64-character
|
|
30
|
+
* tool-name ceiling.
|
|
31
|
+
*
|
|
32
|
+
* Never refuses a tool silently: a name over the limit is truncated and
|
|
33
|
+
* given an 8-hex-character content hash suffix (`_<hash>`) instead of being
|
|
34
|
+
* dropped, so two overlong names that happen to share a 55-character prefix
|
|
35
|
+
* still end up distinct. The hash is over the FULL untruncated name, so
|
|
36
|
+
* renaming is a pure function of `(serverName, segments)` — the same inputs
|
|
37
|
+
* always shorten to the same output, which is what makes a later call
|
|
38
|
+
* (`callTool`, permission rules keyed by name) able to reconstruct it.
|
|
39
|
+
*/
|
|
40
|
+
export function mcpToolsetName(serverName, ...segments) {
|
|
41
|
+
const full = ['mcp', serverName, ...segments].join('__');
|
|
42
|
+
if (full.length <= MCP_TOOLSET_NAME_MAX_LENGTH)
|
|
43
|
+
return full;
|
|
44
|
+
const hash = createHash('sha256').update(full).digest('hex').slice(0, 8);
|
|
45
|
+
const suffix = `_${hash}`;
|
|
46
|
+
return `${full.slice(0, MCP_TOOLSET_NAME_MAX_LENGTH - suffix.length)}${suffix}`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetch and admit this server's resources, and refresh `state.admittedUris`
|
|
50
|
+
* from the result — the ONLY place that set is ever written, so it can only
|
|
51
|
+
* ever hold a post-policy URI. `list_resources`'s own `execute` below and
|
|
52
|
+
* `mcpToolset`'s `refreshResourceUris` (construction, `resources/list_changed`,
|
|
53
|
+
* reconnection) both call this rather than `client.listResources` directly,
|
|
54
|
+
* which is what used to let a denied resource stay listed and readable: the
|
|
55
|
+
* two callers fetched raw and set `admittedUris` from it with no policy gate
|
|
56
|
+
* at all, unlike `discovery.discoverFrom`/`discoverPromptsFrom`, which both
|
|
57
|
+
* already run everything through `applyNamePolicy`.
|
|
58
|
+
*/
|
|
59
|
+
async function refreshAdmittedResources(discovery, state, options) {
|
|
60
|
+
const resources = await discovery.discoverResourcesFrom(state.client, options);
|
|
61
|
+
state.admittedUris = new Set(resources.map((r) => r.uri));
|
|
62
|
+
return resources;
|
|
63
|
+
}
|
|
64
|
+
function buildResourceTools(discovery, state) {
|
|
65
|
+
const { client, serverName } = state;
|
|
66
|
+
const listResources = {
|
|
67
|
+
name: mcpToolsetName(serverName, 'list_resources'),
|
|
68
|
+
description: `[MCP:${serverName}] List the resources this server publishes. Call this before "${mcpToolsetName(serverName, 'read_resource')}" — only a URI this returns may be read.`,
|
|
69
|
+
inputSchema: z.object({}),
|
|
70
|
+
category: 'network',
|
|
71
|
+
permissions: ['network_access'],
|
|
72
|
+
isReadOnly: () => true,
|
|
73
|
+
isDestructive: () => false,
|
|
74
|
+
isConcurrencySafe: () => true,
|
|
75
|
+
async execute(_input, context) {
|
|
76
|
+
try {
|
|
77
|
+
const resources = await refreshAdmittedResources(discovery, state, {
|
|
78
|
+
signal: context.abortSignal,
|
|
79
|
+
});
|
|
80
|
+
const listing = resources.map((r) => ({
|
|
81
|
+
uri: r.uri,
|
|
82
|
+
name: r.name,
|
|
83
|
+
description: r.description,
|
|
84
|
+
mimeType: r.mimeType,
|
|
85
|
+
}));
|
|
86
|
+
return frameServerResult({ success: true, output: JSON.stringify(listing, null, 2) }, serverName, 'list_resources');
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
output: '',
|
|
92
|
+
error: `Could not list resources on "${serverName}": ${toErrorMessage(err)}`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
const readResource = {
|
|
98
|
+
name: mcpToolsetName(serverName, 'read_resource'),
|
|
99
|
+
description: `[MCP:${serverName}] Read one resource this server publishes. "uri" must be one "${mcpToolsetName(serverName, 'list_resources')}" listed.`,
|
|
100
|
+
inputSchema: z.object({
|
|
101
|
+
uri: z.string().describe('A resource URI this server listed via list_resources.'),
|
|
102
|
+
}),
|
|
103
|
+
category: 'network',
|
|
104
|
+
permissions: ['network_access'],
|
|
105
|
+
isReadOnly: () => true,
|
|
106
|
+
isDestructive: () => false,
|
|
107
|
+
isConcurrencySafe: () => true,
|
|
108
|
+
async execute(input, context) {
|
|
109
|
+
const { uri } = input;
|
|
110
|
+
// Admission, not merely a lookup: the server does not get to decide
|
|
111
|
+
// what this call may read by returning a resource it never listed.
|
|
112
|
+
// `state.admittedUris` is refreshed by `list_resources` above and by
|
|
113
|
+
// `resources/list_changed` (see `mcpToolset`), so a URI has to have
|
|
114
|
+
// been SEEN, not merely well-formed.
|
|
115
|
+
if (!state.admittedUris.has(uri)) {
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
output: '',
|
|
119
|
+
error: `"${uri}" is not a resource "${serverName}" has listed. Call "${mcpToolsetName(serverName, 'list_resources')}" first.`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
const contents = await client.readResource(uri, { signal: context.abortSignal });
|
|
124
|
+
const result = mcpToolResultToToolResult({ content: contents, isError: false });
|
|
125
|
+
return frameServerResult(result, serverName, 'read_resource');
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
return {
|
|
129
|
+
success: false,
|
|
130
|
+
output: '',
|
|
131
|
+
error: `Could not read resource "${uri}" from "${serverName}": ${toErrorMessage(err)}`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
return [listResources, readResource];
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A connected MCP server as a live {@link Toolset}: its tools, its prompts
|
|
140
|
+
* (through the existing adapters), and its resources as two deferred tools.
|
|
141
|
+
*
|
|
142
|
+
* The ONE path onto a `Toolset` from MCP — the CLI and a plugin both build
|
|
143
|
+
* their server toolsets this way (plan.md §4). `client` must already be
|
|
144
|
+
* connected; this function only discovers and wraps, it never dials.
|
|
145
|
+
*
|
|
146
|
+
* `options.allow`/`options.deny` govern all three surfaces a server can
|
|
147
|
+
* contribute by name — tools, prompts AND resources — through
|
|
148
|
+
* `MCPToolDiscovery`'s `discoverFrom`/`discoverPromptsFrom`/
|
|
149
|
+
* `discoverResourcesFrom`. A denied resource is never listed and never
|
|
150
|
+
* admitted into `read_resource`'s URI set, the same as a denied tool never
|
|
151
|
+
* reaching `tools()`.
|
|
152
|
+
*
|
|
153
|
+
* ## Resource tools are always deferred
|
|
154
|
+
*
|
|
155
|
+
* `mcp__<server>__list_resources` and `mcp__<server>__read_resource` are
|
|
156
|
+
* built with `deferred(...)` regardless of `options.availability` — a
|
|
157
|
+
* server's resource catalogue is usually not worth showing up front the way
|
|
158
|
+
* its tools are. `Toolset.availability` is a whole-toolset default, so this
|
|
159
|
+
* function returns two toolsets to mount together: the main tools and the
|
|
160
|
+
* deferred resource pair. It checks name collisions across both entries
|
|
161
|
+
* before returning and after a notification refresh.
|
|
162
|
+
*
|
|
163
|
+
* ## Change and reconnection
|
|
164
|
+
*
|
|
165
|
+
* `onChange` fires when a `tools/list_changed`, `prompts/list_changed` or
|
|
166
|
+
* `resources/list_changed` notification arrives — each gated on the server
|
|
167
|
+
* having advertised that capability's own `listChanged: true`, so a server
|
|
168
|
+
* that never declared it cannot make this toolset re-fetch by sending the
|
|
169
|
+
* notification anyway — and after every successful reconnection (the
|
|
170
|
+
* server may have restarted with a different tool set, which is not a
|
|
171
|
+
* notification at all, and may have negotiated different capabilities
|
|
172
|
+
* entirely — including resources, which is why whether the two resource
|
|
173
|
+
* tools are currently present is re-checked on every reconnect rather than
|
|
174
|
+
* decided once at construction). `close()` stops the reconnect supervisor
|
|
175
|
+
* this function owns and releases the `onNotification` subscription it
|
|
176
|
+
* registered; pass `reconnect: { enabled: false }` when the caller runs its
|
|
177
|
+
* own supervisor against the same client, to avoid two supervisors racing to
|
|
178
|
+
* reconnect it.
|
|
179
|
+
*/
|
|
180
|
+
export async function mcpToolset(client, options = {}) {
|
|
181
|
+
const initial = client.getState();
|
|
182
|
+
if (initial.status !== 'connected') {
|
|
183
|
+
throw new Error(`mcpToolset: the MCP client for "${initial.serverName}" must be connected before its toolset is built (status: "${initial.status}").`);
|
|
184
|
+
}
|
|
185
|
+
const serverName = initial.serverName;
|
|
186
|
+
const readOnlyHintTrusted = options.readOnlyHintTrusted ?? false;
|
|
187
|
+
const log = resolveLogger(options.logger).child({
|
|
188
|
+
[SCOPE_ATTRIBUTE]: 'connector/mcp/mcp-toolset',
|
|
189
|
+
});
|
|
190
|
+
const source = {
|
|
191
|
+
id: options.id ?? `mcp:${serverName}`,
|
|
192
|
+
kind: 'mcp_server',
|
|
193
|
+
name: serverName,
|
|
194
|
+
// The server's own account of how to use it (`instructions`, read off
|
|
195
|
+
// the last `initialize`/discover result) is remote-party text, same as
|
|
196
|
+
// a tool's description — carried here rather than dropped, since a
|
|
197
|
+
// host may choose to surface it (plan.md §4, CLI half).
|
|
198
|
+
...(initial.serverInstructions !== undefined
|
|
199
|
+
? { description: initial.serverInstructions }
|
|
200
|
+
: {}),
|
|
201
|
+
mcpServer: { name: serverName, readOnlyHintTrusted },
|
|
202
|
+
};
|
|
203
|
+
const heldToolNames = new Set();
|
|
204
|
+
const discovery = new MCPToolDiscovery([client], {
|
|
205
|
+
policies: { [serverName]: { allow: options.allow, deny: options.deny } },
|
|
206
|
+
onDrift: (event) => {
|
|
207
|
+
for (const name of event.drift.changed)
|
|
208
|
+
heldToolNames.add(name);
|
|
209
|
+
options.onDrift?.(event);
|
|
210
|
+
},
|
|
211
|
+
onRefused: options.onRefused,
|
|
212
|
+
logger: options.logger,
|
|
213
|
+
});
|
|
214
|
+
let toolDefs = [];
|
|
215
|
+
let promptDefs = [];
|
|
216
|
+
let mainTools = [];
|
|
217
|
+
let closed = false;
|
|
218
|
+
const listeners = new Set();
|
|
219
|
+
function rebuildMain() {
|
|
220
|
+
mainTools = [...toolDefs, ...promptDefs];
|
|
221
|
+
}
|
|
222
|
+
async function refreshTools() {
|
|
223
|
+
const discovered = await discovery.discoverFrom(client);
|
|
224
|
+
const previous = new Map(toolDefs.map((definition) => [definition.name, definition]));
|
|
225
|
+
toolDefs = discovered.map((d) => {
|
|
226
|
+
const name = mcpToolsetName(serverName, d.tool.name);
|
|
227
|
+
const admitted = previous.get(name);
|
|
228
|
+
if (admitted && heldToolNames.has(d.tool.name))
|
|
229
|
+
return admitted;
|
|
230
|
+
const base = mcpToolToToolDefinition(d.tool, client, serverName, readOnlyHintTrusted, options.maxRetries);
|
|
231
|
+
return { ...base, name };
|
|
232
|
+
});
|
|
233
|
+
for (const name of heldToolNames) {
|
|
234
|
+
if (!discovered.some((entry) => entry.tool.name === name))
|
|
235
|
+
heldToolNames.delete(name);
|
|
236
|
+
}
|
|
237
|
+
rebuildMain();
|
|
238
|
+
}
|
|
239
|
+
async function refreshPrompts() {
|
|
240
|
+
if (!client.getState().serverCapabilities?.prompts) {
|
|
241
|
+
promptDefs = [];
|
|
242
|
+
rebuildMain();
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const prompts = await discovery.discoverPromptsFrom(client);
|
|
246
|
+
promptDefs = prompts.map((p) => {
|
|
247
|
+
const base = mcpPromptToToolDefinition(p, client, serverName);
|
|
248
|
+
return { ...base, name: mcpToolsetName(serverName, 'prompt', p.name) };
|
|
249
|
+
});
|
|
250
|
+
rebuildMain();
|
|
251
|
+
}
|
|
252
|
+
const resourceState = {
|
|
253
|
+
client,
|
|
254
|
+
serverName,
|
|
255
|
+
admittedUris: new Set(),
|
|
256
|
+
};
|
|
257
|
+
async function refreshResourceUris() {
|
|
258
|
+
await refreshAdmittedResources(discovery, resourceState);
|
|
259
|
+
}
|
|
260
|
+
// The two resource tool DEFINITIONS are built once, unconditionally — they
|
|
261
|
+
// are inert until `resourceTools` (below) actually includes them. Building
|
|
262
|
+
// them up front, rather than only when the server first supports
|
|
263
|
+
// resources, is what lets a reconnect that negotiates the capability for
|
|
264
|
+
// the FIRST time (see `syncResourceCapability`) expose them without
|
|
265
|
+
// rebuilding the toolset this function returns.
|
|
266
|
+
const resourceToolDefs = buildResourceTools(discovery, resourceState);
|
|
267
|
+
let supportsResources = initial.serverCapabilities?.resources !== undefined;
|
|
268
|
+
let resourceTools = supportsResources ? resourceToolDefs : [];
|
|
269
|
+
/**
|
|
270
|
+
* Re-read whether the server currently supports resources and bring
|
|
271
|
+
* `resourceTools`/`admittedUris` into line with that — called at
|
|
272
|
+
* construction and after every reconnect, never relying on a value
|
|
273
|
+
* captured once. A server that stops advertising the capability loses its
|
|
274
|
+
* resource tools from the next `tools()` snapshot; one that gains it for
|
|
275
|
+
* the first time (a restart with a newer build, say) gets them added.
|
|
276
|
+
*/
|
|
277
|
+
async function syncResourceCapability() {
|
|
278
|
+
supportsResources = client.getState().serverCapabilities?.resources !== undefined;
|
|
279
|
+
resourceTools = supportsResources ? resourceToolDefs : [];
|
|
280
|
+
if (supportsResources) {
|
|
281
|
+
await refreshResourceUris();
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
resourceState.admittedUris = new Set();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
await Promise.all([
|
|
288
|
+
refreshTools(),
|
|
289
|
+
refreshPrompts(),
|
|
290
|
+
supportsResources ? refreshResourceUris() : Promise.resolve(),
|
|
291
|
+
]);
|
|
292
|
+
const assertUnique = () => {
|
|
293
|
+
const names = new Set();
|
|
294
|
+
for (const tool of [...mainTools, ...resourceTools]) {
|
|
295
|
+
if (names.has(tool.name))
|
|
296
|
+
throw new ToolsetConflictError(tool.name, source, source);
|
|
297
|
+
names.add(tool.name);
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
assertUnique();
|
|
301
|
+
const notify = () => {
|
|
302
|
+
assertUnique();
|
|
303
|
+
for (const listener of listeners)
|
|
304
|
+
listener();
|
|
305
|
+
};
|
|
306
|
+
const onChange = (listener) => {
|
|
307
|
+
listeners.add(listener);
|
|
308
|
+
return () => listeners.delete(listener);
|
|
309
|
+
};
|
|
310
|
+
// Read fresh on every notification rather than captured once: a
|
|
311
|
+
// reconnect can renegotiate different capabilities, and a stale copy
|
|
312
|
+
// would keep acting on what the PREVIOUS connection advertised.
|
|
313
|
+
const currentCapabilities = () => client.getState().serverCapabilities;
|
|
314
|
+
// A rejection here would otherwise be a genuine unhandled promise
|
|
315
|
+
// rejection: it happens inside a fire-and-forget notification callback,
|
|
316
|
+
// not inside anything a caller of `mcpToolset` is awaiting, so nothing
|
|
317
|
+
// upstream ever gets a chance to catch it. A transient failure on the
|
|
318
|
+
// re-fetch a notification triggers (a network blip, or the connection
|
|
319
|
+
// dropping around the same moment the server notified) is exactly the
|
|
320
|
+
// kind of thing that must be logged, not left to crash the process.
|
|
321
|
+
const onRefreshFailure = (which) => (err) => {
|
|
322
|
+
log.error('Failed to refresh MCP tools after a server notification', {
|
|
323
|
+
[NAMZU.SERVER_NAME]: serverName,
|
|
324
|
+
'namzu.connector.refresh': which,
|
|
325
|
+
'exception.message': toErrorMessage(err),
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
const unsubscribeNotifications = client.onNotification((method) => {
|
|
329
|
+
if (closed)
|
|
330
|
+
return;
|
|
331
|
+
if (method === 'notifications/tools/list_changed') {
|
|
332
|
+
if (!currentCapabilities()?.tools?.listChanged)
|
|
333
|
+
return;
|
|
334
|
+
void refreshTools().then(notify).catch(onRefreshFailure('tools'));
|
|
335
|
+
}
|
|
336
|
+
else if (method === 'notifications/prompts/list_changed') {
|
|
337
|
+
if (!currentCapabilities()?.prompts?.listChanged)
|
|
338
|
+
return;
|
|
339
|
+
void refreshPrompts().then(notify).catch(onRefreshFailure('prompts'));
|
|
340
|
+
}
|
|
341
|
+
else if (method === 'notifications/resources/list_changed') {
|
|
342
|
+
if (!currentCapabilities()?.resources?.listChanged)
|
|
343
|
+
return;
|
|
344
|
+
void refreshResourceUris().then(notify).catch(onRefreshFailure('resources'));
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
const readReconnectOptions = typeof options.reconnect === 'function'
|
|
348
|
+
? options.reconnect
|
|
349
|
+
: () => options.reconnect ?? {};
|
|
350
|
+
const supervisor = new MCPReconnectSupervisor(client, () => ({
|
|
351
|
+
...readReconnectOptions(),
|
|
352
|
+
onReconnected: async () => {
|
|
353
|
+
if (closed)
|
|
354
|
+
return;
|
|
355
|
+
// The server may have come back with a different tool set entirely
|
|
356
|
+
// — not a `list_changed` notification, which this reconnected
|
|
357
|
+
// client has not even finished re-subscribing to yet. Re-run every
|
|
358
|
+
// discovery unconditionally, the same as first construction, and
|
|
359
|
+
// re-derive `supportsResources` rather than reuse the value from
|
|
360
|
+
// the FIRST connection: a reconnect can renegotiate capabilities,
|
|
361
|
+
// and a stale copy would keep acting on what the previous
|
|
362
|
+
// connection advertised, the same reasoning `currentCapabilities`
|
|
363
|
+
// above already applies to the `list_changed` gates.
|
|
364
|
+
await Promise.all([refreshTools(), refreshPrompts(), syncResourceCapability()]);
|
|
365
|
+
if (closed)
|
|
366
|
+
return;
|
|
367
|
+
notify();
|
|
368
|
+
await readReconnectOptions().onReconnected?.();
|
|
369
|
+
},
|
|
370
|
+
}));
|
|
371
|
+
supervisor.start();
|
|
372
|
+
const close = async () => {
|
|
373
|
+
if (closed)
|
|
374
|
+
return;
|
|
375
|
+
closed = true;
|
|
376
|
+
unsubscribeNotifications();
|
|
377
|
+
supervisor.stop();
|
|
378
|
+
};
|
|
379
|
+
const mainToolset = {
|
|
380
|
+
source,
|
|
381
|
+
tools: () => mainTools,
|
|
382
|
+
availability: options.availability,
|
|
383
|
+
onChange,
|
|
384
|
+
close,
|
|
385
|
+
};
|
|
386
|
+
const resourceToolset = {
|
|
387
|
+
source,
|
|
388
|
+
// A `let`, not a snapshot: `syncResourceCapability` reassigns this on
|
|
389
|
+
// every reconnect, so a capability that appears or disappears between
|
|
390
|
+
// two calls is visible without rebuilding either returned toolset.
|
|
391
|
+
tools: () => resourceTools,
|
|
392
|
+
onChange,
|
|
393
|
+
close,
|
|
394
|
+
};
|
|
395
|
+
// Keep these as separate ToolManager entries. A Toolset has one availability
|
|
396
|
+
// for all its tools, so merging them would silently activate the resources.
|
|
397
|
+
return [mainToolset, deferred(resourceToolset)];
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=mcp-toolset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-toolset.js","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ export { createConnectorExecuteTool, createConnectorListTool, createConnectorToo
|
|
|
2
2
|
export type { ConnectorToolConfig } from './definitions.js';
|
|
3
3
|
export { connectorMethodToTool, connectorInstanceToTools, allConnectorTools, createConnectorRouterTool, } from './adapter.js';
|
|
4
4
|
export type { ConnectorRouterInput } from './adapter.js';
|
|
5
|
-
export {
|
|
6
|
-
export type { ConnectorToolStrategy,
|
|
5
|
+
export { connectorTools } from './router.js';
|
|
6
|
+
export type { ConnectorToolStrategy, ConnectorTools } from './router.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createConnectorExecuteTool, createConnectorListTool, createConnectorTools, } from './definitions.js';
|
|
2
2
|
export { connectorMethodToTool, connectorInstanceToTools, allConnectorTools, createConnectorRouterTool, } from './adapter.js';
|
|
3
|
-
export {
|
|
3
|
+
export { connectorTools } from './router.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connector/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import type { ConnectorManager } from '../../manager/connector/lifecycle.js';
|
|
2
|
-
import type { ToolDefinition
|
|
2
|
+
import type { ToolDefinition } from '../../types/tool/index.js';
|
|
3
3
|
import { type Logger } from '../../utils/logger.js';
|
|
4
4
|
export type ConnectorToolStrategy = 'per-method' | 'router';
|
|
5
|
-
export interface
|
|
6
|
-
manager: ConnectorManager;
|
|
5
|
+
export interface ConnectorTools {
|
|
7
6
|
strategy?: ConnectorToolStrategy;
|
|
8
7
|
log?: Logger;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Every tool a connector manager's connected instances currently offer.
|
|
11
|
+
*
|
|
12
|
+
* Plain and stateless — a caller wraps the result in `toolset(source, tools)`
|
|
13
|
+
* (`toolsets/toolset.ts`) itself, re-calling this whenever a reconnect or a
|
|
14
|
+
* drift notice (`onMCPToolDrift`-shaped) means the set may have changed. This
|
|
15
|
+
* replaces `ConnectorToolRouter`, whose `registerTools`/`unregisterTools`/
|
|
16
|
+
* `refreshTools` mutated a `ToolRegistryContract` directly (plan.md v3 §2)
|
|
17
|
+
* and had no production caller; a live toolset with its own `onChange` is
|
|
18
|
+
* where that live-refresh story belongs now, not a router bound to a
|
|
19
|
+
* specific registry instance.
|
|
20
|
+
*/
|
|
21
|
+
export declare function connectorTools(manager: ConnectorManager, config?: ConnectorTools): ToolDefinition[];
|
|
20
22
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAGlE,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,GAAE,cAAmB,GACzB,cAAc,EAAE,CAsBlB"}
|
|
@@ -2,60 +2,39 @@ import { toErrorMessage } from '../../utils/error.js';
|
|
|
2
2
|
import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js';
|
|
3
3
|
import { resolveLogger } from '../../utils/logger.js';
|
|
4
4
|
import { connectorInstanceToTools, createConnectorRouterTool } from './adapter.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Every tool a connector manager's connected instances currently offer.
|
|
7
|
+
*
|
|
8
|
+
* Plain and stateless — a caller wraps the result in `toolset(source, tools)`
|
|
9
|
+
* (`toolsets/toolset.ts`) itself, re-calling this whenever a reconnect or a
|
|
10
|
+
* drift notice (`onMCPToolDrift`-shaped) means the set may have changed. This
|
|
11
|
+
* replaces `ConnectorToolRouter`, whose `registerTools`/`unregisterTools`/
|
|
12
|
+
* `refreshTools` mutated a `ToolRegistryContract` directly (plan.md v3 §2)
|
|
13
|
+
* and had no production caller; a live toolset with its own `onChange` is
|
|
14
|
+
* where that live-refresh story belongs now, not a router bound to a
|
|
15
|
+
* specific registry instance.
|
|
16
|
+
*/
|
|
17
|
+
export function connectorTools(manager, config = {}) {
|
|
18
|
+
const strategy = config.strategy ?? 'per-method';
|
|
19
|
+
const log = resolveLogger(config.log).child({ [SCOPE_ATTRIBUTE]: 'connector/tools/router' });
|
|
20
|
+
if (strategy === 'router') {
|
|
21
|
+
const connected = manager.listConnectedInstances();
|
|
22
|
+
if (connected.length === 0)
|
|
23
|
+
return [];
|
|
24
|
+
return [createConnectorRouterTool(manager)];
|
|
13
25
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return [];
|
|
19
|
-
return [createConnectorRouterTool(this.manager)];
|
|
26
|
+
const tools = [];
|
|
27
|
+
for (const instance of manager.listConnectedInstances()) {
|
|
28
|
+
try {
|
|
29
|
+
tools.push(...connectorInstanceToTools(instance.id, manager));
|
|
20
30
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
this.log.error('Failed to create tools for a connector instance', {
|
|
28
|
-
'namzu.connector.instance_id': instance.id,
|
|
29
|
-
'exception.message': toErrorMessage(err),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
log.error('Failed to create tools for a connector instance', {
|
|
33
|
+
'namzu.connector.instance_id': instance.id,
|
|
34
|
+
'exception.message': toErrorMessage(err),
|
|
35
|
+
});
|
|
32
36
|
}
|
|
33
|
-
return tools;
|
|
34
|
-
}
|
|
35
|
-
registerTools(toolRegistry) {
|
|
36
|
-
const tools = this.getTools();
|
|
37
|
-
const names = [];
|
|
38
|
-
for (const tool of tools) {
|
|
39
|
-
toolRegistry.register(tool);
|
|
40
|
-
names.push(tool.name);
|
|
41
|
-
}
|
|
42
|
-
this.log.info('Registered connector tools', {
|
|
43
|
-
'namzu.connector.tool_count': names.length,
|
|
44
|
-
'namzu.tool.names': names,
|
|
45
|
-
});
|
|
46
|
-
return names;
|
|
47
|
-
}
|
|
48
|
-
unregisterTools(toolRegistry, toolNames) {
|
|
49
|
-
for (const name of toolNames) {
|
|
50
|
-
toolRegistry.unregister(name);
|
|
51
|
-
}
|
|
52
|
-
this.log.info('Unregistered connector tools', {
|
|
53
|
-
'namzu.connector.tool_count': toolNames.length,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
refreshTools(toolRegistry, previousNames) {
|
|
57
|
-
this.unregisterTools(toolRegistry, previousNames);
|
|
58
|
-
return this.registerTools(toolRegistry);
|
|
59
37
|
}
|
|
38
|
+
return tools;
|
|
60
39
|
}
|
|
61
40
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/connector/tools/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AASlF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC7B,OAAyB,EACzB,SAAyB,EAAE;IAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAA;IAChD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAE5F,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAA;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACrC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBAC5D,6BAA6B,EAAE,QAAQ,CAAC,EAAE;gBAC1C,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC;aACxC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC"}
|
package/dist/contracts/a2a.d.ts
CHANGED
|
@@ -726,13 +726,13 @@ export declare const A2ATaskListSchema: z.ZodObject<{
|
|
|
726
726
|
}, "strict", z.ZodTypeAny, {
|
|
727
727
|
limit: number;
|
|
728
728
|
state?: "pending" | "running" | "completed" | "failed" | "rejected" | "canceled" | "input-required" | undefined;
|
|
729
|
-
contextId?: string | undefined;
|
|
730
729
|
cursor?: string | undefined;
|
|
730
|
+
contextId?: string | undefined;
|
|
731
731
|
}, {
|
|
732
732
|
limit?: number | undefined;
|
|
733
733
|
state?: "pending" | "running" | "completed" | "failed" | "rejected" | "canceled" | "input-required" | undefined;
|
|
734
|
-
contextId?: string | undefined;
|
|
735
734
|
cursor?: string | undefined;
|
|
735
|
+
contextId?: string | undefined;
|
|
736
736
|
}>;
|
|
737
737
|
export declare const A2ATaskCancelSchema: z.ZodObject<{
|
|
738
738
|
id: z.ZodString;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentIdentity } from '../agents/runAgent.js';
|
|
2
|
-
import {
|
|
2
|
+
import type { Toolset } from '../toolsets/types.js';
|
|
3
3
|
import type { SupervisorAgentConfig } from '../types/agent/supervisor.js';
|
|
4
4
|
import type { LLMProvider } from '../types/provider/index.js';
|
|
5
5
|
import type { DirectoryManifest } from './types.js';
|
|
@@ -39,7 +39,7 @@ export interface DelegatePlan {
|
|
|
39
39
|
readonly manifest: DirectoryManifest;
|
|
40
40
|
/** The delegate's own instructions, tools and model, already assembled. */
|
|
41
41
|
readonly systemPrompt: string;
|
|
42
|
-
readonly
|
|
42
|
+
readonly toolsets: readonly Toolset[];
|
|
43
43
|
readonly model: string;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-supervisor.d.ts","sourceRoot":"","sources":["../../src/directory/derive-supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"derive-supervisor.d.ts","sourceRoot":"","sources":["../../src/directory/derive-supervisor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAElE,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,cAAc;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,qBAAqB,GAC1B,cAAc,CA4EhB"}
|