@namzu/sdk 46.0.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 +325 -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 +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/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/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-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.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/supervisor.d.ts +5 -2
- package/dist/types/agent/supervisor.d.ts.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 +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 +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 +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/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/skills/index.ts +1 -1
- package/src/skills/registry.ts +25 -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.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/supervisor.ts +5 -2
- package/src/types/authorization/index.ts +12 -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 +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
|
@@ -1,142 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import type { InputGuardrailSpec, OutputGuardrailSpec } from '../guardrail/index.js'
|
|
7
|
-
import type { ResumeHandler } from '../hitl/index.js'
|
|
8
|
-
import type { AgentPersona } from '../persona/index.js'
|
|
9
|
-
import type { LLMProvider } from '../provider/index.js'
|
|
10
|
-
import type { SandboxProvider } from '../sandbox/index.js'
|
|
11
|
-
import type { BeforeStep, PrepareStepChain, StepResult, StopCondition } from '../session/index.js'
|
|
12
|
-
import type { Skill } from '../skills/index.js'
|
|
13
|
-
import type { StructuredOutputConfig } from '../structured-output/index.js'
|
|
14
|
-
import type { ToolRegistryContract } from '../tool/index.js'
|
|
15
|
-
import type { RepairToolCall } from '../tool/repair.js'
|
|
16
|
-
import type { BaseAgentConfig, BaseAgentResult } from './base.js'
|
|
17
|
-
import type { WorkingMemoryProvider } from './working-memory.js'
|
|
18
|
-
|
|
19
|
-
export interface ReactiveAgentConfig extends BaseAgentConfig {
|
|
20
|
-
systemPrompt?: string
|
|
21
|
-
/** Provider-hosted search for this turn; the selected driver must support it. */
|
|
22
|
-
webSearch?: { mode: 'live' | 'cached' }
|
|
23
|
-
|
|
24
|
-
persona?: AgentPersona
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Channel a host uses to hand guidance to this turn's current turn.
|
|
28
|
-
*
|
|
29
|
-
* Present here for the same reason it is on `SupervisorAgentConfig`, and
|
|
30
|
-
* the reason that file gives twice already: a capability the kernel
|
|
31
|
-
* honours in `drainQuery` and not on the surface hosts actually
|
|
32
|
-
* construct is a capability nobody can reach. This is the archetype most
|
|
33
|
-
* hosts run, and it was the one that could not be steered at all.
|
|
34
|
-
*/
|
|
35
|
-
steering?: SteeringChannel
|
|
36
|
-
|
|
37
|
-
skills?: Skill[]
|
|
38
|
-
|
|
39
|
-
basePrompt?: string
|
|
40
|
-
provider: LLMProvider
|
|
41
|
-
tools: ToolRegistryContract
|
|
42
|
-
|
|
43
|
-
advisory?: AdvisoryConfig
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Optional capability-aware deny/allow gate for child tool calls.
|
|
47
|
-
* Mirrors the same field on `SupervisorAgentConfig`; when omitted,
|
|
48
|
-
* `drainQuery` falls back to its `autoApproveHandler` default
|
|
49
|
-
* (every tool call auto-approves, no policy applied). Hosts that
|
|
50
|
-
* trust their sandbox should still pass at least
|
|
51
|
-
* `{ enabled: true, denyDangerousPatterns: true, ... }` so the
|
|
52
|
-
* canonical brick patterns hard-deny instead of executing
|
|
53
|
-
* silently.
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
authorizationGate?: AuthorizationGateConfig
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Optional ephemeral sandbox provider. When set, drainQuery creates
|
|
60
|
-
* a sandbox via `provider.create()` before the iteration loop and
|
|
61
|
-
* routes filesystem / shell tool calls through it; on turn end the
|
|
62
|
-
* SDK calls `sandbox.destroy()`. Hosts that want a per-task
|
|
63
|
-
* container shared across supervisor + every child specialist run
|
|
64
|
-
* pass the SAME provider instance to all of them — caching layered
|
|
65
|
-
* on top of the provider keeps the underlying container alive.
|
|
66
|
-
*/
|
|
67
|
-
sandboxProvider?: SandboxProvider
|
|
68
|
-
/** See {@link QueryParams.sandboxTeardownTimeoutMs}. */
|
|
69
|
-
sandboxTeardownTimeoutMs?: number
|
|
70
|
-
/** See {@link QueryParams.outsideRootAccess}. Default `'refuse'`. */
|
|
71
|
-
outsideRootAccess?: 'refuse' | 'review'
|
|
72
|
-
/** See {@link QueryParams.sandboxEscape}. Default `'refuse'`. */
|
|
73
|
-
sandboxEscape?: 'refuse' | 'review'
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Optional structured-compaction config. Omitted ⇒ byte-identical run path
|
|
77
|
-
* (no `WorkingStateManager`, compaction early-returns). Mirrors the field
|
|
78
|
-
* on `SupervisorAgentConfig` so a child specialist can share the
|
|
79
|
-
* supervisor's compaction settings.
|
|
80
|
-
*/
|
|
81
|
-
compactionConfig?: CompactionConfig
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Optional neutral working-memory seam — same contract as the field on
|
|
85
|
-
* `SupervisorAgentConfig`. Absent ⇒ no block injected. A child specialist
|
|
86
|
-
* sharing the supervisor's output dir passes the same provider.
|
|
87
|
-
*/
|
|
88
|
-
workingMemoryProvider?: WorkingMemoryProvider
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Loop-control and resilience seams, forwarded verbatim to `query()`.
|
|
92
|
-
*
|
|
93
|
-
* These existed on `QueryParams` and stopped there. `ReactiveAgent` is
|
|
94
|
-
* the entry point most consumers actually use — it is what
|
|
95
|
-
* `AgentManager` spawns and what the estate's own applications call —
|
|
96
|
-
* and it forwarded none of them. So a per-tool deadline, a provider
|
|
97
|
-
* retry policy, a guardrail, a stop condition: all of it was reachable
|
|
98
|
-
* only by dropping down to `query()` and rebuilding the turn wiring by
|
|
99
|
-
* hand. Features that a consumer cannot reach are features that do not
|
|
100
|
-
* exist for them.
|
|
101
|
-
*
|
|
102
|
-
* Every field is optional and absent means exactly what it meant
|
|
103
|
-
* before, so no existing agent changes behavior.
|
|
104
|
-
*/
|
|
105
|
-
resumeHandler?: ResumeHandler
|
|
106
|
-
retry?: QueryParams['retry']
|
|
107
|
-
toolTimeoutMs?: number
|
|
108
|
-
toolRetryBackoff?: QueryParams['toolRetryBackoff']
|
|
109
|
-
maxToolConcurrency?: number
|
|
110
|
-
maxToolOutputChars?: number
|
|
111
|
-
retainedToolPreviewChars?: QueryParams['retainedToolPreviewChars']
|
|
112
|
-
/**
|
|
113
|
-
* Cap on the RICH channel of a single tool result, in base64 characters.
|
|
114
|
-
* `0` or absent disables it. Separate from {@link maxToolOutputChars}:
|
|
115
|
-
* that one bounds characters the model reads, this one bounds the image
|
|
116
|
-
* payload beside them, which no text budget ever touched.
|
|
117
|
-
*/
|
|
118
|
-
maxToolContentBytes?: number
|
|
119
|
-
repairToolCall?: RepairToolCall
|
|
120
|
-
stopWhen?: StopCondition
|
|
121
|
-
onStepFinish?: (step: StepResult) => void
|
|
122
|
-
prepareStep?: PrepareStepChain
|
|
123
|
-
/**
|
|
124
|
-
* Refuse the next model call before it is made. See {@link BeforeStep}.
|
|
125
|
-
* A throw fails CLOSED, opposite to `prepareStep` beside it.
|
|
126
|
-
*/
|
|
127
|
-
beforeStep?: BeforeStep
|
|
128
|
-
|
|
129
|
-
structuredOutput?: StructuredOutputConfig
|
|
130
|
-
inputGuardrails?: readonly InputGuardrailSpec[]
|
|
131
|
-
outputGuardrails?: readonly OutputGuardrailSpec[]
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Span this turn should hang off, when it is a delegated one. Absent for
|
|
135
|
-
* a top-level turn, which correctly starts its own root trace.
|
|
136
|
-
*/
|
|
137
|
-
parentSpan?: import('@opentelemetry/api').Span
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export interface ReactiveAgentResult extends BaseAgentResult {
|
|
141
|
-
toolCallCount: number
|
|
142
|
-
}
|
|
1
|
+
/** @deprecated Use QueryAgentConfig and QueryAgentResult for the generic query shell. */
|
|
2
|
+
export type {
|
|
3
|
+
QueryAgentConfig as ReactiveAgentConfig,
|
|
4
|
+
QueryAgentResult as ReactiveAgentResult,
|
|
5
|
+
} from './query.js'
|
|
@@ -28,6 +28,7 @@ export interface RouteDefinition {
|
|
|
28
28
|
matchPatterns?: string[]
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
/** @deprecated Configuration for the router example; define application routing as needed. */
|
|
31
32
|
export interface RouterAgentConfig extends BaseAgentConfig {
|
|
32
33
|
routes: RouteDefinition[]
|
|
33
34
|
provider: LLMProvider
|
|
@@ -37,6 +38,7 @@ export interface RouterAgentConfig extends BaseAgentConfig {
|
|
|
37
38
|
maxRoutingRetries?: number
|
|
38
39
|
}
|
|
39
40
|
|
|
41
|
+
/** @deprecated Result of the router example. */
|
|
40
42
|
export interface RouterAgentResult extends BaseAgentResult {
|
|
41
43
|
selectedRoute: string
|
|
42
44
|
routingDecision: RoutingDecision
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CompactionConfig } from '../../config/runtime.js'
|
|
2
2
|
import type { SteeringChannel } from '../../runtime/query/steering.js'
|
|
3
|
+
import type { Toolset } from '../../toolsets/types.js'
|
|
3
4
|
import type { AdvisoryConfig } from '../advisory/index.js'
|
|
4
5
|
import type { AuthorizationGateConfig } from '../authorization/index.js'
|
|
5
6
|
import type { ResumeHandler } from '../hitl/index.js'
|
|
@@ -8,13 +9,13 @@ import type { TaskRouterConfig } from '../router/index.js'
|
|
|
8
9
|
import type { SandboxProvider } from '../sandbox/index.js'
|
|
9
10
|
import type { Skill } from '../skills/index.js'
|
|
10
11
|
import type { StructuredOutputConfig } from '../structured-output/index.js'
|
|
11
|
-
import type { ToolRegistryContract } from '../tool/index.js'
|
|
12
12
|
import type { BaseAgentConfig, BaseAgentResult } from './base.js'
|
|
13
13
|
import type { AgentFactoryOptions } from './factory.js'
|
|
14
14
|
import type { AgentManagerContract } from './manager.js'
|
|
15
15
|
import type { SiblingFailurePolicy, TaskScheduler } from './scheduler.js'
|
|
16
16
|
import type { WorkingMemoryProvider } from './working-memory.js'
|
|
17
17
|
|
|
18
|
+
/** @deprecated Configuration for the supervisor example; hosts own their orchestration. */
|
|
18
19
|
export interface SupervisorAgentConfig extends BaseAgentConfig {
|
|
19
20
|
provider: LLMProvider
|
|
20
21
|
|
|
@@ -59,7 +60,8 @@ export interface SupervisorAgentConfig extends BaseAgentConfig {
|
|
|
59
60
|
*/
|
|
60
61
|
onPlanApproved?: () => Promise<void> | void
|
|
61
62
|
agentManager?: AgentManagerContract
|
|
62
|
-
|
|
63
|
+
/** Every tool this turn may see comes from one of these — see `toolsets/types.ts`. */
|
|
64
|
+
toolsets?: readonly Toolset[]
|
|
63
65
|
|
|
64
66
|
systemPrompt: string
|
|
65
67
|
|
|
@@ -234,6 +236,7 @@ export interface AgentTaskResult {
|
|
|
234
236
|
taskIndex: number
|
|
235
237
|
}
|
|
236
238
|
|
|
239
|
+
/** @deprecated Result of the supervisor example. */
|
|
237
240
|
export interface SupervisorAgentResult extends BaseAgentResult {
|
|
238
241
|
taskResults: AgentTaskResult[]
|
|
239
242
|
completedTasks: number
|
|
@@ -27,6 +27,12 @@ export type AuthorizationRule =
|
|
|
27
27
|
| { type: 'allow_by_category'; categories: string[] }
|
|
28
28
|
| { type: 'allow_by_name'; toolNames: string[] }
|
|
29
29
|
| { type: 'deny_by_name'; toolNames: string[] }
|
|
30
|
+
| {
|
|
31
|
+
/** Match the owning toolset's host-assigned source id, never tool input or MCP metadata. */
|
|
32
|
+
type: 'by_source'
|
|
33
|
+
sources: string[]
|
|
34
|
+
decision: GateDecision
|
|
35
|
+
}
|
|
30
36
|
| {
|
|
31
37
|
/**
|
|
32
38
|
* Match a regular expression against the tool's NAME, the
|
|
@@ -169,6 +175,11 @@ const DenyByNameSchema = z.object({
|
|
|
169
175
|
type: z.literal('deny_by_name'),
|
|
170
176
|
toolNames: z.array(z.string()),
|
|
171
177
|
})
|
|
178
|
+
const BySourceSchema = z.object({
|
|
179
|
+
type: z.literal('by_source'),
|
|
180
|
+
sources: z.array(z.string().min(1)).min(1),
|
|
181
|
+
decision: z.enum(['allow', 'deny', 'review']),
|
|
182
|
+
})
|
|
172
183
|
const CustomPatternSchema = z.object({
|
|
173
184
|
type: z.literal('custom_pattern'),
|
|
174
185
|
pattern: z.string().max(MAX_CUSTOM_PATTERN_LENGTH),
|
|
@@ -212,6 +223,7 @@ export const AuthorizationRuleSchema = z.discriminatedUnion('type', [
|
|
|
212
223
|
AllowByCategorySchema,
|
|
213
224
|
AllowByNameSchema,
|
|
214
225
|
DenyByNameSchema,
|
|
226
|
+
BySourceSchema,
|
|
215
227
|
CustomPatternSchema,
|
|
216
228
|
ArgumentPatternSchema,
|
|
217
229
|
AllowByTierSchema,
|
|
@@ -276,6 +276,14 @@ export interface MCPToolDefinition {
|
|
|
276
276
|
*/
|
|
277
277
|
outputSchema?: MCPValueJsonSchema
|
|
278
278
|
annotations?: MCPToolAnnotations
|
|
279
|
+
/**
|
|
280
|
+
* Server-defined data on the tool's own listing entry, carried opaquely:
|
|
281
|
+
* this client acts on none of it. `mcpToolToToolDefinition` lands it in
|
|
282
|
+
* `ToolDefinition.metadata` alongside the annotations that have no other
|
|
283
|
+
* typed home, so a host reading either does not have to reach past this
|
|
284
|
+
* client's own parsed shape back to the raw listing.
|
|
285
|
+
*/
|
|
286
|
+
_meta?: Record<string, unknown>
|
|
279
287
|
}
|
|
280
288
|
|
|
281
289
|
/**
|
|
@@ -409,6 +417,24 @@ export interface MCPInitializeResult {
|
|
|
409
417
|
protocolVersion: string
|
|
410
418
|
capabilities: MCPServerCapabilities
|
|
411
419
|
serverInfo: { name: string; version?: string }
|
|
420
|
+
/**
|
|
421
|
+
* The server's own account of how to use it, read off the `initialize`
|
|
422
|
+
* response verbatim. Only a legacy handshake carries one — the modern
|
|
423
|
+
* era has no `initialize` round trip, so a modern connection's result
|
|
424
|
+
* never populates this field (see `completeModernConnection` in
|
|
425
|
+
* `client.ts`, which synthesises the rest of this shape from a discover
|
|
426
|
+
* result that has no `instructions` concept at all).
|
|
427
|
+
*
|
|
428
|
+
* This is observability data, not steering: nothing in the SDK folds it
|
|
429
|
+
* into an agent's instruction set automatically. It is server-authored,
|
|
430
|
+
* remote-party text, and namzu already keeps that class of text out of
|
|
431
|
+
* instruction/system position (see `connector/mcp/prompt-adapter.ts`
|
|
432
|
+
* and `frameServerResult` in `connector/mcp/adapter.ts`, which frame
|
|
433
|
+
* server-supplied prompts and tool results as untrusted data rather
|
|
434
|
+
* than instructions). A host may display or log this field; it should
|
|
435
|
+
* not read it into a prompt without the same untrusted framing.
|
|
436
|
+
*/
|
|
437
|
+
instructions?: string
|
|
412
438
|
}
|
|
413
439
|
|
|
414
440
|
export type MCPConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error'
|
|
@@ -461,6 +487,12 @@ export interface MCPClientState {
|
|
|
461
487
|
status: MCPConnectionStatus
|
|
462
488
|
serverInfo?: { name: string; version?: string }
|
|
463
489
|
serverCapabilities?: MCPServerCapabilities
|
|
490
|
+
/**
|
|
491
|
+
* The server's `initialize` instructions, captured verbatim. See
|
|
492
|
+
* {@link MCPInitializeResult.instructions} — legacy handshakes only,
|
|
493
|
+
* observability only, never auto-folded into an agent's instructions.
|
|
494
|
+
*/
|
|
495
|
+
serverInstructions?: string
|
|
464
496
|
connectedAt?: number
|
|
465
497
|
error?: string
|
|
466
498
|
}
|
|
@@ -20,6 +20,21 @@ import { ProviderError, classifyProviderError } from '../provider/errors.js'
|
|
|
20
20
|
export type NamzuErrorCode =
|
|
21
21
|
/** The turn was set up wrong — missing model, contradictory options. Retrying cannot help. */
|
|
22
22
|
| 'invalid_config'
|
|
23
|
+
/**
|
|
24
|
+
* A caller's cached prior messages disagree with this session's log. A
|
|
25
|
+
* message carrying an id disagrees when the log recorded it under that id
|
|
26
|
+
* with different content (`'edited'`) or never recorded that id at all
|
|
27
|
+
* (`'foreign'`); `details.messageId` names it. A message with no id
|
|
28
|
+
* disagrees when the caller's whole no-id cache does not align as a
|
|
29
|
+
* contiguous run ending the log's own fold — the shape a host's cache
|
|
30
|
+
* always has when it is exactly the fold plus new messages appended after
|
|
31
|
+
* it — yet some of it still matches the fold by value out of place
|
|
32
|
+
* (`'unaligned'`; no `messageId`, since none of it carries one). Retrying
|
|
33
|
+
* with the same messages cannot help; the host must pass only its new
|
|
34
|
+
* messages, or re-read history from the session instead of reusing a
|
|
35
|
+
* cached copy.
|
|
36
|
+
*/
|
|
37
|
+
| 'stale_cached_history'
|
|
23
38
|
/** The upstream model call failed. `details.providerCode` narrows it. */
|
|
24
39
|
| 'provider_error'
|
|
25
40
|
/** A tool could not be executed or resolved. */
|
package/src/types/hitl/index.ts
CHANGED
|
@@ -135,6 +135,19 @@ export interface ToolCallSummary {
|
|
|
135
135
|
* approve it on their own. A `deny` rule still refuses it outright.
|
|
136
136
|
*/
|
|
137
137
|
escalation?: ToolCallEscalation
|
|
138
|
+
/**
|
|
139
|
+
* The tool itself declared that this exact call always needs a person's
|
|
140
|
+
* approval (`ToolDefinition.requiresApproval`), regardless of the host's
|
|
141
|
+
* rules or the turn's mode.
|
|
142
|
+
*
|
|
143
|
+
* Computed once, when the batch is prepared for review, the same way
|
|
144
|
+
* {@link isDestructive} is — so it survives a gate `allow` rule (the
|
|
145
|
+
* decision is forced back to `review` before the rule can settle
|
|
146
|
+
* anything) and is asked about, or refused unattended, in every mode,
|
|
147
|
+
* like {@link escalation}. No grant, skill grant or `accept-edits`
|
|
148
|
+
* exemption covers it, and a `deny` rule still wins.
|
|
149
|
+
*/
|
|
150
|
+
requiresApproval?: true
|
|
138
151
|
/**
|
|
139
152
|
* Present when a skill loaded earlier in this turn pre-approved this call
|
|
140
153
|
* through its `allowed-tools`, and nothing stronger stands in the way.
|
|
@@ -165,6 +178,30 @@ export interface ToolCallEscalation {
|
|
|
165
178
|
* `confirmedEscalations`.
|
|
166
179
|
*/
|
|
167
180
|
sandboxEscape?: true
|
|
181
|
+
/**
|
|
182
|
+
* Why a command's own program name — where `programPositions` (the SDK's
|
|
183
|
+
* shared resolver for where a command line actually execs a program;
|
|
184
|
+
* `packages/sdk/src/authorization/program.ts`) says one is actually
|
|
185
|
+
* exec'd, after unwrapping any `sudo`/`env`/`nice`/`timeout`/…
|
|
186
|
+
* re-exec chain, and independently for each `find -exec` clause — is not
|
|
187
|
+
* knowable ahead of running it: the word itself is decided at runtime
|
|
188
|
+
* (`$(echo rm) -rf x`, `env $(echo git) push`, `"$HOME"/bin/tool`), an
|
|
189
|
+
* option on a wrapper this does not recognise stood in the way, the
|
|
190
|
+
* position is inherently unreadable (`eval`/`source`/`.`, an `xargs`
|
|
191
|
+
* program that is a shell or a `{}` placeholder), or an earlier command
|
|
192
|
+
* set `PATH`, `LD_PRELOAD`, `LD_LIBRARY_PATH`, `BASH_ENV`, `ENV` or `IFS`
|
|
193
|
+
* so even a literal name here cannot be trusted to resolve to what its
|
|
194
|
+
* text says.
|
|
195
|
+
*
|
|
196
|
+
* No rule can be trusted to have matched a program whose name never
|
|
197
|
+
* appears as such anywhere in the call's own text: `git push.*` does not
|
|
198
|
+
* see `$(echo git) push`, and neither `env $(echo git) push` nor
|
|
199
|
+
* `timeout 5 $(echo git) push` puts the program right after the wrapper's
|
|
200
|
+
* own name. Present only for a tool that declares `commandArgument`.
|
|
201
|
+
* Argument-level expansion alone does not set this — only a position
|
|
202
|
+
* where a program name is actually decided.
|
|
203
|
+
*/
|
|
204
|
+
unknownProgram?: string
|
|
168
205
|
}
|
|
169
206
|
|
|
170
207
|
export interface ToolModification {
|
|
@@ -175,8 +212,28 @@ export interface ToolModification {
|
|
|
175
212
|
|
|
176
213
|
export interface UserQuestionOption {
|
|
177
214
|
id: string
|
|
215
|
+
/**
|
|
216
|
+
* The label as shown and as the answer quotes it. `ask_user_question`
|
|
217
|
+
* takes out of it a recommendation marker the model wrote out of habit:
|
|
218
|
+
* "(Recommended)" on any option, and "(Önerilen)", "(Empfohlen)", … on
|
|
219
|
+
* a recommended option, when every option whose label ends in a
|
|
220
|
+
* parenthesised group is recommended, did not end in "(Recommended)", and
|
|
221
|
+
* ends in that same one. A group that differs between options, or is left
|
|
222
|
+
* before "(Recommended)" ("Cloud (AWS) (Recommended)" → "Cloud (AWS)"),
|
|
223
|
+
* is kept. The recommendation is `recommended`, so a host never has to
|
|
224
|
+
* parse a label to find it. Apart from surrounding spaces and
|
|
225
|
+
* "(Recommended)", an option that is not recommended keeps its label as
|
|
226
|
+
* written.
|
|
227
|
+
*/
|
|
178
228
|
label: string
|
|
179
229
|
description?: string
|
|
230
|
+
/**
|
|
231
|
+
* The model recommends this option: it set `recommended: true` on it, or
|
|
232
|
+
* left the flag out and ended the label in "(Recommended)". A host marks
|
|
233
|
+
* it (a badge, an emphasis) rather than relying on the label to say so.
|
|
234
|
+
* Absent, not `false`, on every other option.
|
|
235
|
+
*/
|
|
236
|
+
recommended?: boolean
|
|
180
237
|
}
|
|
181
238
|
|
|
182
239
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GoalId } from '../ids/index.js'
|
|
1
|
+
import type { GoalId, MessageId } from '../ids/index.js'
|
|
2
2
|
|
|
3
3
|
export type MessageRole = 'system' | 'user' | 'assistant' | 'tool'
|
|
4
4
|
|
|
@@ -105,7 +105,7 @@ export interface Citation {
|
|
|
105
105
|
* An attachment whose bytes are held by a store, not by the message.
|
|
106
106
|
*
|
|
107
107
|
* Structural rather than an import from `store/attachment`, so this types
|
|
108
|
-
* module keeps depending on nothing — the same reasoning `
|
|
108
|
+
* module keeps depending on nothing — the same reasoning `ToolsView`
|
|
109
109
|
* gives. `store/attachment` owns the resolution and its refusals; this is
|
|
110
110
|
* the shape a message may carry.
|
|
111
111
|
*
|
|
@@ -144,18 +144,106 @@ export interface ToolCall {
|
|
|
144
144
|
* JSON payload, while provider/runtime recovery state lives here.
|
|
145
145
|
*/
|
|
146
146
|
metadata?: {
|
|
147
|
+
/**
|
|
148
|
+
* The streamed arguments could not be read, and `function.arguments`
|
|
149
|
+
* was normalized to `"{}"`. Set for every unreadable call, cut off or
|
|
150
|
+
* malformed alike: the name predates that distinction, and
|
|
151
|
+
* {@link inputError} is what says which it was.
|
|
152
|
+
*/
|
|
147
153
|
inputTruncated?: boolean
|
|
148
154
|
/**
|
|
149
|
-
* The
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
155
|
+
* The argument buffer as it arrived, when it could not be read.
|
|
156
|
+
* `function.arguments` is normalized to `"{}"` in that case so tool
|
|
157
|
+
* args stay clean, which leaves this as the only record of what the
|
|
158
|
+
* model was actually saying — and a `repairToolCall` hook has nothing
|
|
159
|
+
* to repair without it.
|
|
154
160
|
*/
|
|
155
161
|
partialArguments?: string
|
|
162
|
+
/**
|
|
163
|
+
* Why the arguments could not be read. Present with
|
|
164
|
+
* {@link inputTruncated} on every call the runtime marked; absent on a
|
|
165
|
+
* call marked by an older runtime, which recorded only the flag.
|
|
166
|
+
*/
|
|
167
|
+
inputError?: ToolInputError
|
|
156
168
|
}
|
|
157
169
|
}
|
|
158
170
|
|
|
171
|
+
/**
|
|
172
|
+
* Why a streamed tool call's arguments could not be read. See
|
|
173
|
+
* {@link ToolInputError}.
|
|
174
|
+
*/
|
|
175
|
+
export type ToolInputErrorReason = 'truncated' | 'malformed'
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* A tool call whose streamed arguments did not parse as JSON, and why.
|
|
179
|
+
*
|
|
180
|
+
* An output limit, a content filter or a dropped stream stops a response
|
|
181
|
+
* wherever it is, so only the call the response was streaming at that moment
|
|
182
|
+
* can have been cut off: the last one, with nothing the model streamed after
|
|
183
|
+
* it. For that call the finish reason decides, never the text:
|
|
184
|
+
*
|
|
185
|
+
* - `truncated` — the response stopped before the model closed the
|
|
186
|
+
* arguments. It reached its output limit (`finishReason: 'length'`), a
|
|
187
|
+
* content filter stopped it (`'content_filter'`), or the stream ended
|
|
188
|
+
* without reporting a finish reason at all.
|
|
189
|
+
* - `malformed` — the response finished normally (`'stop'` or
|
|
190
|
+
* `'tool_calls'`) and the arguments still were not valid JSON.
|
|
191
|
+
*
|
|
192
|
+
* Every other unreadable call is `malformed`, whatever the finish reason:
|
|
193
|
+
* the model moved on to more text, reasoning or another call, so it had
|
|
194
|
+
* finished writing this one.
|
|
195
|
+
*/
|
|
196
|
+
export interface ToolInputError {
|
|
197
|
+
readonly reason: ToolInputErrorReason
|
|
198
|
+
/** How the response ended, as the provider reported it. Absent when the stream reported nothing. */
|
|
199
|
+
readonly finishReason?: 'stop' | 'tool_calls' | 'length' | 'content_filter'
|
|
200
|
+
/**
|
|
201
|
+
* `'context_window'` when a `'length'` finish was the model's context
|
|
202
|
+
* window rather than its output token limit (`StreamChunk.finishDetail`).
|
|
203
|
+
*/
|
|
204
|
+
readonly finishDetail?: 'context_window'
|
|
205
|
+
/** The JSON parser's own message. */
|
|
206
|
+
readonly parseError: string
|
|
207
|
+
/**
|
|
208
|
+
* Zero-based character offset in the arguments where parsing failed: the
|
|
209
|
+
* first character that cannot continue valid JSON, or their length when
|
|
210
|
+
* the text simply ended. Found by scanning the arguments, so it is there
|
|
211
|
+
* when {@link parseError} names no position, as for a bare `True` or
|
|
212
|
+
* `None`.
|
|
213
|
+
*/
|
|
214
|
+
readonly offset?: number
|
|
215
|
+
/** How many characters of arguments arrived. */
|
|
216
|
+
readonly length: number
|
|
217
|
+
/**
|
|
218
|
+
* How many characters the response streamed before this call began: its
|
|
219
|
+
* text, its visible reasoning and the arguments of earlier tool calls.
|
|
220
|
+
* Text a driver adds of its own is not counted. For a `truncated` call,
|
|
221
|
+
* which nothing followed, this plus {@link length} is everything the
|
|
222
|
+
* response streamed as text. It is not everything the response spent:
|
|
223
|
+
* reasoning a provider does not stream (encrypted, summarised, or only
|
|
224
|
+
* counted) uses the output limit too, and {@link outputTokens} and
|
|
225
|
+
* {@link reasoningTokens} are what show it.
|
|
226
|
+
*/
|
|
227
|
+
readonly precedingLength: number
|
|
228
|
+
/**
|
|
229
|
+
* The output tokens the whole response used, reasoning included, as the
|
|
230
|
+
* provider reported them when it ended. Present on a `truncated` call when
|
|
231
|
+
* the provider reported any.
|
|
232
|
+
*
|
|
233
|
+
* After an output limit it says whether the visible text accounts for the
|
|
234
|
+
* limit: when most of the output went to reasoning, or to anything else
|
|
235
|
+
* the stream did not carry, the call is not what filled the response, and
|
|
236
|
+
* the model is told so rather than told to shrink the call.
|
|
237
|
+
*/
|
|
238
|
+
readonly outputTokens?: number
|
|
239
|
+
/**
|
|
240
|
+
* Of {@link outputTokens}, the tokens the provider says went to reasoning.
|
|
241
|
+
* Present only when the provider reports that split; absent means unknown,
|
|
242
|
+
* not zero.
|
|
243
|
+
*/
|
|
244
|
+
readonly reasoningTokens?: number
|
|
245
|
+
}
|
|
246
|
+
|
|
159
247
|
export interface BaseMessage {
|
|
160
248
|
/**
|
|
161
249
|
* Widened from `string | null` so `ToolMessage` can carry content
|
|
@@ -167,6 +255,22 @@ export interface BaseMessage {
|
|
|
167
255
|
content: string | null | readonly ToolResultBlock[]
|
|
168
256
|
timestamp?: number
|
|
169
257
|
cacheHint?: CacheHint
|
|
258
|
+
/**
|
|
259
|
+
* The id of the durable `message` record this message was written as, or
|
|
260
|
+
* a `message_replaced` record's `targetMessageId` when a guardrail,
|
|
261
|
+
* review or structured-output override replaced its content in place.
|
|
262
|
+
* Absent means the kernel has not recorded this exact message: a host
|
|
263
|
+
* just constructed it, or it is a compaction's own summary (a bulk
|
|
264
|
+
* spilled or inline array, which carries no per-message id — see
|
|
265
|
+
* `docs/sdk/session-log.md`).
|
|
266
|
+
*
|
|
267
|
+
* Set by the kernel alone, never by a caller: `query()` stamps every
|
|
268
|
+
* message it folds from the session log or records fresh, on `Turn.messages`,
|
|
269
|
+
* on the messages `onConversationMessages` reports, and on a checkpoint's
|
|
270
|
+
* restored messages. A caller that mints its own id here gets `conflict`
|
|
271
|
+
* on the next turn — this log never recorded it under that name.
|
|
272
|
+
*/
|
|
273
|
+
readonly id?: MessageId
|
|
170
274
|
/**
|
|
171
275
|
* Exempt this message from compaction and from tool-result clearing.
|
|
172
276
|
*
|
|
@@ -248,6 +352,8 @@ export const RUNTIME_CONTEXT_MESSAGE_KINDS = [
|
|
|
248
352
|
'auto-continuation',
|
|
249
353
|
'job-exit',
|
|
250
354
|
'limit-finalization',
|
|
355
|
+
'peer-message',
|
|
356
|
+
'peer-notice',
|
|
251
357
|
'repeat-call',
|
|
252
358
|
'steering',
|
|
253
359
|
'step-context',
|
|
@@ -445,6 +551,13 @@ export type ToolResultBlock =
|
|
|
445
551
|
*/
|
|
446
552
|
export type ToolResultContent = string | readonly ToolResultBlock[]
|
|
447
553
|
|
|
554
|
+
/** A schema reveal bound to the source that contributed that exact tool. */
|
|
555
|
+
export interface ToolRevealReceipt {
|
|
556
|
+
readonly name: string
|
|
557
|
+
readonly sourceId: string
|
|
558
|
+
readonly sourceKind: import('../toolset/index.js').ToolSourceKind
|
|
559
|
+
}
|
|
560
|
+
|
|
448
561
|
export interface ToolMessage extends BaseMessage {
|
|
449
562
|
role: 'tool'
|
|
450
563
|
content: ToolResultContent
|
|
@@ -460,6 +573,19 @@ export interface ToolMessage extends BaseMessage {
|
|
|
460
573
|
* fired and namzu relied on prose formatting to convey failure.
|
|
461
574
|
*/
|
|
462
575
|
isError?: boolean
|
|
576
|
+
/**
|
|
577
|
+
* Source-bound receipts for deferred schemas loaded by a successful
|
|
578
|
+
* {@link ToolResult.reveals} (`types/tool/index.ts`). The executor writes
|
|
579
|
+
* these onto the message it built from that result.
|
|
580
|
+
*
|
|
581
|
+
* This is what `ToolManager.availability` (`toolsets/manager.ts`) scans
|
|
582
|
+
* the post-compaction history for, instead of a mutable activation map:
|
|
583
|
+
* a deferred tool is active once a matching receipt appears after the
|
|
584
|
+
* last compaction summary and the host still reports it ready. Persisted
|
|
585
|
+
* like any other message field — a session log or checkpoint already
|
|
586
|
+
* carries this too, with nothing extra to serialize.
|
|
587
|
+
*/
|
|
588
|
+
revealedTools?: readonly ToolRevealReceipt[]
|
|
463
589
|
}
|
|
464
590
|
|
|
465
591
|
export type Message = SystemMessage | UserMessage | AssistantMessage | ToolMessage
|
|
@@ -539,12 +665,14 @@ export function createToolMessage(
|
|
|
539
665
|
content: ToolResultContent,
|
|
540
666
|
toolCallId: string,
|
|
541
667
|
isError?: boolean,
|
|
668
|
+
revealedTools?: readonly ToolRevealReceipt[],
|
|
542
669
|
): ToolMessage {
|
|
543
670
|
return {
|
|
544
671
|
role: 'tool',
|
|
545
672
|
content,
|
|
546
673
|
toolCallId,
|
|
547
674
|
...(isError !== undefined ? { isError } : {}),
|
|
675
|
+
...(revealedTools && revealedTools.length > 0 ? { revealedTools } : {}),
|
|
548
676
|
timestamp: Date.now(),
|
|
549
677
|
}
|
|
550
678
|
}
|