@namzu/sdk 27.0.0 → 28.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 +1714 -0
- package/README.md +45 -42
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +14 -12
- package/dist/advisory/executor.js.map +1 -1
- package/dist/advisory/registry.d.ts +2 -2
- package/dist/advisory/registry.d.ts.map +1 -1
- package/dist/advisory/registry.js +2 -2
- package/dist/advisory/registry.js.map +1 -1
- package/dist/agents/AbstractAgent.d.ts +44 -2
- package/dist/agents/AbstractAgent.d.ts.map +1 -1
- package/dist/agents/AbstractAgent.js +62 -13
- package/dist/agents/AbstractAgent.js.map +1 -1
- package/dist/agents/PipelineAgent.d.ts +29 -1
- package/dist/agents/PipelineAgent.d.ts.map +1 -1
- package/dist/agents/PipelineAgent.js +33 -4
- package/dist/agents/PipelineAgent.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts +2 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +15 -5
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts +2 -1
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +21 -13
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +3 -2
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +29 -14
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/handle.d.ts +85 -0
- package/dist/agents/handle.d.ts.map +1 -0
- package/dist/agents/handle.js +79 -0
- package/dist/agents/handle.js.map +1 -0
- package/dist/agents/runAgent.d.ts +10 -5
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +3 -2
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/{verification → authorization}/gate.d.ts +4 -4
- package/dist/authorization/gate.d.ts.map +1 -0
- package/dist/{verification → authorization}/gate.js +31 -24
- package/dist/authorization/gate.js.map +1 -0
- package/dist/authorization/index.d.ts +6 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +14 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/authorization/permission-presets.d.ts +119 -0
- package/dist/authorization/permission-presets.d.ts.map +1 -0
- package/dist/authorization/permission-presets.js +137 -0
- package/dist/authorization/permission-presets.js.map +1 -0
- package/dist/{verification → authorization}/presets.d.ts +3 -3
- package/dist/authorization/presets.d.ts.map +1 -0
- package/dist/{verification → authorization}/presets.js +12 -0
- package/dist/authorization/presets.js.map +1 -0
- package/dist/authorization/rules.d.ts +4 -0
- package/dist/authorization/rules.d.ts.map +1 -0
- package/dist/{verification → authorization}/rules.js +14 -1
- package/dist/authorization/rules.js.map +1 -0
- package/dist/bridge/a2a/client.d.ts +107 -0
- package/dist/bridge/a2a/client.d.ts.map +1 -0
- package/dist/bridge/a2a/client.js +275 -0
- package/dist/bridge/a2a/client.js.map +1 -0
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +16 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/acp/filesystem.d.ts +33 -0
- package/dist/bridge/acp/filesystem.d.ts.map +1 -0
- package/dist/bridge/acp/filesystem.js +30 -0
- package/dist/bridge/acp/filesystem.js.map +1 -0
- package/dist/bridge/acp/index.d.ts +8 -0
- package/dist/bridge/acp/index.d.ts.map +1 -0
- package/dist/bridge/acp/index.js +5 -0
- package/dist/bridge/acp/index.js.map +1 -0
- package/dist/bridge/acp/permission.d.ts +51 -0
- package/dist/bridge/acp/permission.d.ts.map +1 -0
- package/dist/bridge/acp/permission.js +37 -0
- package/dist/bridge/acp/permission.js.map +1 -0
- package/dist/bridge/acp/server.d.ts +163 -0
- package/dist/bridge/acp/server.d.ts.map +1 -0
- package/dist/bridge/acp/server.js +312 -0
- package/dist/bridge/acp/server.js.map +1 -0
- package/dist/bridge/acp/update.d.ts +13 -0
- package/dist/bridge/acp/update.d.ts.map +1 -0
- package/dist/bridge/acp/update.js +94 -0
- package/dist/bridge/acp/update.js.map +1 -0
- package/dist/bridge/mcp/connector/adapter.d.ts +2 -0
- package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
- package/dist/bridge/mcp/connector/adapter.js +7 -3
- package/dist/bridge/mcp/connector/adapter.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +27 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/bus/breaker.d.ts.map +1 -1
- package/dist/bus/breaker.js +15 -10
- package/dist/bus/breaker.js.map +1 -1
- package/dist/bus/index.d.ts.map +1 -1
- package/dist/bus/index.js +10 -8
- package/dist/bus/index.js.map +1 -1
- package/dist/bus/lock.d.ts.map +1 -1
- package/dist/bus/lock.js +36 -19
- package/dist/bus/lock.js.map +1 -1
- package/dist/bus/ownership.d.ts.map +1 -1
- package/dist/bus/ownership.js +17 -9
- package/dist/bus/ownership.js.map +1 -1
- package/dist/compaction/context-window.d.ts +18 -2
- package/dist/compaction/context-window.d.ts.map +1 -1
- package/dist/compaction/context-window.js +15 -1
- package/dist/compaction/context-window.js.map +1 -1
- package/dist/compaction/index.d.ts +3 -0
- package/dist/compaction/index.d.ts.map +1 -1
- package/dist/compaction/index.js +4 -0
- package/dist/compaction/index.js.map +1 -1
- package/dist/compaction/manual.d.ts +58 -0
- package/dist/compaction/manual.d.ts.map +1 -0
- package/dist/compaction/manual.js +104 -0
- package/dist/compaction/manual.js.map +1 -0
- package/dist/compaction/plan.d.ts +92 -0
- package/dist/compaction/plan.d.ts.map +1 -0
- package/dist/compaction/plan.js +149 -0
- package/dist/compaction/plan.js.map +1 -0
- package/dist/compaction/summary.d.ts +23 -0
- package/dist/compaction/summary.d.ts.map +1 -0
- package/dist/compaction/summary.js +27 -0
- package/dist/compaction/summary.js.map +1 -0
- package/dist/compaction/verifier.js +2 -2
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/registry.d.ts +104 -0
- package/dist/config/registry.d.ts.map +1 -0
- package/dist/config/registry.js +105 -0
- package/dist/config/registry.js.map +1 -0
- package/dist/config/runtime.d.ts +99 -28
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js +27 -0
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/BaseConnector.d.ts +1 -1
- package/dist/connector/BaseConnector.d.ts.map +1 -1
- package/dist/connector/BaseConnector.js +8 -3
- package/dist/connector/BaseConnector.js.map +1 -1
- package/dist/connector/builtins/http.d.ts +1 -1
- package/dist/connector/builtins/http.d.ts.map +1 -1
- package/dist/connector/builtins/http.js +11 -2
- package/dist/connector/builtins/http.js.map +1 -1
- package/dist/connector/builtins/webhook.d.ts +1 -1
- package/dist/connector/builtins/webhook.d.ts.map +1 -1
- package/dist/connector/builtins/webhook.js +5 -2
- package/dist/connector/builtins/webhook.js.map +1 -1
- package/dist/connector/index.d.ts +4 -15
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +12 -12
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts +30 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +43 -1
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +31 -20
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/discovery.d.ts.map +1 -1
- package/dist/connector/mcp/discovery.js +31 -20
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/http-sse.d.ts +2 -1
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +9 -6
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/index.d.ts +2 -3
- package/dist/connector/mcp/index.d.ts.map +1 -1
- package/dist/connector/mcp/index.js +5 -4
- package/dist/connector/mcp/index.js.map +1 -1
- package/dist/connector/mcp/reconnect.d.ts +123 -0
- package/dist/connector/mcp/reconnect.d.ts.map +1 -0
- package/dist/connector/mcp/reconnect.js +121 -0
- package/dist/connector/mcp/reconnect.js.map +1 -0
- package/dist/connector/mcp/server/index.d.ts +28 -0
- package/dist/connector/mcp/server/index.d.ts.map +1 -0
- package/dist/connector/mcp/server/index.js +27 -0
- package/dist/connector/mcp/server/index.js.map +1 -0
- package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
- package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
- package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
- package/dist/connector/mcp/server/server-stdio.js.map +1 -0
- package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
- package/dist/connector/mcp/server/server.d.ts.map +1 -0
- package/dist/connector/mcp/{server.js → server/server.js} +14 -9
- package/dist/connector/mcp/server/server.js.map +1 -0
- package/dist/connector/mcp/stdio.d.ts +2 -1
- package/dist/connector/mcp/stdio.d.ts.map +1 -1
- package/dist/connector/mcp/stdio.js +15 -7
- package/dist/connector/mcp/stdio.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +2 -1
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +5 -4
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
- package/dist/connector/tools/adapter.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
- package/dist/connector/tools/adapter.js.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
- package/dist/connector/tools/definitions.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
- package/dist/connector/tools/definitions.js.map +1 -0
- package/dist/connector/tools/index.d.ts.map +1 -0
- package/dist/connector/tools/index.js.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
- package/dist/connector/tools/router.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
- package/dist/connector/tools/router.js.map +1 -0
- package/dist/connector/web/guarded-fetch.d.ts +60 -0
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
- package/dist/connector/web/guarded-fetch.js +233 -0
- package/dist/connector/web/guarded-fetch.js.map +1 -0
- package/dist/connector/web/index.d.ts +5 -0
- package/dist/connector/web/index.d.ts.map +1 -0
- package/dist/connector/web/index.js +7 -0
- package/dist/connector/web/index.js.map +1 -0
- package/dist/connector/web/types.d.ts +87 -0
- package/dist/connector/web/types.d.ts.map +1 -0
- package/dist/connector/web/types.js +25 -0
- package/dist/connector/web/types.js.map +1 -0
- package/dist/constants/acp/index.d.ts +97 -0
- package/dist/constants/acp/index.d.ts.map +1 -0
- package/dist/constants/acp/index.js +96 -0
- package/dist/constants/acp/index.js.map +1 -0
- package/dist/constants/authorization/index.d.ts.map +1 -0
- package/dist/constants/authorization/index.js.map +1 -0
- package/dist/constants/credential-env-keys.d.ts +36 -0
- package/dist/constants/credential-env-keys.d.ts.map +1 -0
- package/dist/constants/credential-env-keys.js +62 -0
- package/dist/constants/credential-env-keys.js.map +1 -0
- package/dist/constants/index.d.ts +3 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +3 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/secret-patterns.d.ts +78 -0
- package/dist/constants/secret-patterns.d.ts.map +1 -0
- package/dist/constants/secret-patterns.js +99 -0
- package/dist/constants/secret-patterns.js.map +1 -0
- package/dist/constants/telemetry/index.d.ts +42 -0
- package/dist/constants/telemetry/index.d.ts.map +1 -1
- package/dist/constants/telemetry/index.js +87 -0
- package/dist/constants/telemetry/index.js.map +1 -1
- package/dist/contracts/a2a.d.ts +54 -54
- package/dist/contracts/api.d.ts +12 -1
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/schemas.d.ts +12 -12
- package/dist/deprecated-aliases.d.ts +80 -0
- package/dist/deprecated-aliases.d.ts.map +1 -0
- package/dist/deprecated-aliases.js +60 -0
- package/dist/deprecated-aliases.js.map +1 -0
- package/dist/eval/judge.js +2 -2
- package/dist/eval/judge.js.map +1 -1
- package/dist/execution/base.d.ts +1 -1
- package/dist/execution/base.d.ts.map +1 -1
- package/dist/execution/base.js +18 -7
- package/dist/execution/base.js.map +1 -1
- package/dist/execution/code-runtime/types.d.ts +114 -0
- package/dist/execution/code-runtime/types.d.ts.map +1 -0
- package/dist/execution/code-runtime/types.js +40 -0
- package/dist/execution/code-runtime/types.js.map +1 -0
- package/dist/execution/code-runtime/worker.d.ts +6 -0
- package/dist/execution/code-runtime/worker.d.ts.map +1 -0
- package/dist/execution/code-runtime/worker.js +248 -0
- package/dist/execution/code-runtime/worker.js.map +1 -0
- package/dist/{connector/execution → execution}/factory.d.ts +3 -3
- package/dist/execution/factory.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/factory.js +1 -1
- package/dist/execution/factory.js.map +1 -0
- package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
- package/dist/execution/hybrid.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/hybrid.js +10 -4
- package/dist/execution/hybrid.js.map +1 -0
- package/dist/execution/index.d.ts +23 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +21 -0
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/local.d.ts +2 -0
- package/dist/execution/local.d.ts.map +1 -1
- package/dist/execution/local.js +2 -2
- package/dist/execution/local.js.map +1 -1
- package/dist/{connector/execution → execution}/remote.d.ts +4 -2
- package/dist/execution/remote.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/remote.js +12 -5
- package/dist/execution/remote.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/invariants/index.d.ts +111 -0
- package/dist/invariants/index.d.ts.map +1 -0
- package/dist/invariants/index.js +138 -0
- package/dist/invariants/index.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts +29 -7
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +140 -50
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/connector/environment.d.ts +2 -0
- package/dist/manager/connector/environment.d.ts.map +1 -1
- package/dist/manager/connector/environment.js +20 -9
- package/dist/manager/connector/environment.js.map +1 -1
- package/dist/manager/connector/lifecycle.d.ts +10 -0
- package/dist/manager/connector/lifecycle.d.ts.map +1 -1
- package/dist/manager/connector/lifecycle.js +21 -11
- package/dist/manager/connector/lifecycle.js.map +1 -1
- package/dist/manager/connector/tenant.d.ts +9 -0
- package/dist/manager/connector/tenant.d.ts.map +1 -1
- package/dist/manager/connector/tenant.js +24 -10
- package/dist/manager/connector/tenant.js.map +1 -1
- package/dist/manager/index.d.ts +6 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js +7 -1
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/project/lifecycle.d.ts +1 -1
- package/dist/manager/project/lifecycle.js +1 -1
- package/dist/manager/run/emergency.d.ts.map +1 -1
- package/dist/manager/run/emergency.js +9 -7
- package/dist/manager/run/emergency.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +46 -4
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +102 -7
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/topic/lifecycle.d.ts +123 -0
- package/dist/manager/topic/lifecycle.d.ts.map +1 -0
- package/dist/manager/{thread → topic}/lifecycle.js +79 -61
- package/dist/manager/topic/lifecycle.js.map +1 -0
- package/dist/manager/topic/objective.d.ts +77 -0
- package/dist/manager/topic/objective.d.ts.map +1 -0
- package/dist/manager/topic/objective.js +133 -0
- package/dist/manager/topic/objective.js.map +1 -0
- package/dist/model-router/task-router.d.ts.map +1 -0
- package/dist/model-router/task-router.js.map +1 -0
- package/dist/persona/assembler.d.ts +1 -1
- package/dist/persona/assembler.d.ts.map +1 -1
- package/dist/persona/assembler.js +14 -2
- package/dist/persona/assembler.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +24 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +112 -20
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/loader.d.ts +17 -2
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +46 -26
- package/dist/plugin/loader.js.map +1 -1
- package/dist/probe/index.d.ts +1 -0
- package/dist/probe/index.d.ts.map +1 -1
- package/dist/probe/registry.d.ts +34 -1
- package/dist/probe/registry.d.ts.map +1 -1
- package/dist/probe/registry.js +5 -4
- package/dist/probe/registry.js.map +1 -1
- package/dist/process/kill-tree.d.ts +40 -0
- package/dist/process/kill-tree.d.ts.map +1 -0
- package/dist/process/kill-tree.js +54 -0
- package/dist/process/kill-tree.js.map +1 -0
- package/dist/prompt/contributions.d.ts +138 -0
- package/dist/prompt/contributions.d.ts.map +1 -0
- package/dist/prompt/contributions.js +78 -0
- package/dist/prompt/contributions.js.map +1 -0
- package/dist/prompt/index.d.ts +3 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +6 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/provider/attribution.d.ts +45 -0
- package/dist/provider/attribution.d.ts.map +1 -0
- package/dist/provider/attribution.js +23 -0
- package/dist/provider/attribution.js.map +1 -0
- package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
- package/dist/provider/collect-chat-completion.d.ts.map +1 -0
- package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
- package/dist/provider/collect-chat-completion.js.map +1 -0
- package/dist/provider/conformance.d.ts +93 -0
- package/dist/provider/conformance.d.ts.map +1 -0
- package/dist/provider/conformance.js +124 -0
- package/dist/provider/conformance.js.map +1 -0
- package/dist/provider/errors.d.ts +29 -0
- package/dist/provider/errors.d.ts.map +1 -1
- package/dist/provider/errors.js +27 -10
- package/dist/provider/errors.js.map +1 -1
- package/dist/provider/fallback.d.ts +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +27 -9
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts +47 -0
- package/dist/provider/idle-timeout.d.ts.map +1 -0
- package/dist/provider/idle-timeout.js +61 -0
- package/dist/provider/idle-timeout.js.map +1 -0
- package/dist/provider/instrumentation.d.ts +3 -2
- package/dist/provider/instrumentation.d.ts.map +1 -1
- package/dist/provider/instrumentation.js.map +1 -1
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +58 -21
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +79 -15
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +173 -17
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +8 -1
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +29 -1
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +21 -4
- package/dist/public-types.d.ts.map +1 -1
- package/dist/rag/rag-tool.d.ts.map +1 -1
- package/dist/rag/rag-tool.js +4 -1
- package/dist/rag/rag-tool.js.map +1 -1
- package/dist/read-model/index.d.ts +5 -0
- package/dist/read-model/index.d.ts.map +1 -0
- package/dist/read-model/index.js +7 -0
- package/dist/read-model/index.js.map +1 -0
- package/dist/read-model/registry.d.ts +112 -0
- package/dist/read-model/registry.d.ts.map +1 -0
- package/dist/read-model/registry.js +105 -0
- package/dist/read-model/registry.js.map +1 -0
- package/dist/read-model/run-status.d.ts +43 -0
- package/dist/read-model/run-status.d.ts.map +1 -0
- package/dist/read-model/run-status.js +89 -0
- package/dist/read-model/run-status.js.map +1 -0
- package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
- package/dist/registry/BaseRegistry.d.ts.map +1 -0
- package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
- package/dist/registry/BaseRegistry.js.map +1 -0
- package/dist/registry/ManagedRegistry.d.ts +2 -2
- package/dist/registry/ManagedRegistry.d.ts.map +1 -1
- package/dist/registry/ManagedRegistry.js +26 -9
- package/dist/registry/ManagedRegistry.js.map +1 -1
- package/dist/registry/command/index-exports.d.ts +3 -0
- package/dist/registry/command/index-exports.d.ts.map +1 -0
- package/dist/registry/command/index-exports.js +5 -0
- package/dist/registry/command/index-exports.js.map +1 -0
- package/dist/registry/command/index.d.ts +53 -0
- package/dist/registry/command/index.d.ts.map +1 -0
- package/dist/registry/command/index.js +87 -0
- package/dist/registry/command/index.js.map +1 -0
- package/dist/registry/command/kernel-commands.d.ts +32 -0
- package/dist/registry/command/kernel-commands.d.ts.map +1 -0
- package/dist/registry/command/kernel-commands.js +78 -0
- package/dist/registry/command/kernel-commands.js.map +1 -0
- package/dist/registry/connector/scoped.d.ts +2 -1
- package/dist/registry/connector/scoped.d.ts.map +1 -1
- package/dist/registry/connector/scoped.js +6 -5
- package/dist/registry/connector/scoped.js.map +1 -1
- package/dist/registry/index.d.ts +4 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +5 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/tool/execute.d.ts +1 -0
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +46 -13
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/presentation.d.ts +32 -0
- package/dist/registry/tool/presentation.d.ts.map +1 -0
- package/dist/registry/tool/presentation.js +92 -0
- package/dist/registry/tool/presentation.js.map +1 -0
- package/dist/registry/tool/screen.d.ts +33 -0
- package/dist/registry/tool/screen.d.ts.map +1 -0
- package/dist/registry/tool/screen.js +103 -0
- package/dist/registry/tool/screen.js.map +1 -0
- package/dist/run/drain.d.ts +13 -3
- package/dist/run/drain.d.ts.map +1 -1
- package/dist/run/drain.js +10 -0
- package/dist/run/drain.js.map +1 -1
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +203 -149
- package/dist/run/reporter.js.map +1 -1
- package/dist/run-query/index.d.ts +74 -0
- package/dist/run-query/index.d.ts.map +1 -0
- package/dist/run-query/index.js +73 -0
- package/dist/run-query/index.js.map +1 -0
- package/dist/runtime/bidi/session.d.ts.map +1 -1
- package/dist/runtime/bidi/session.js +7 -2
- package/dist/runtime/bidi/session.js.map +1 -1
- package/dist/runtime/decision/fallback.d.ts.map +1 -1
- package/dist/runtime/decision/fallback.js +6 -3
- package/dist/runtime/decision/fallback.js.map +1 -1
- package/dist/runtime/decision/parser.d.ts.map +1 -1
- package/dist/runtime/decision/parser.js +10 -9
- package/dist/runtime/decision/parser.js.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +147 -0
- package/dist/runtime/jobs/registry.d.ts.map +1 -0
- package/dist/runtime/jobs/registry.js +242 -0
- package/dist/runtime/jobs/registry.js.map +1 -0
- package/dist/runtime/query/approval-policy.d.ts +22 -0
- package/dist/runtime/query/approval-policy.d.ts.map +1 -0
- package/dist/runtime/query/approval-policy.js +61 -0
- package/dist/runtime/query/approval-policy.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +3 -3
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +2 -2
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/context.d.ts +85 -15
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +57 -14
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/events.d.ts +5 -4
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +9 -6
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +113 -4
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +228 -62
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/guardrail-presets.d.ts +30 -1
- package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
- package/dist/runtime/query/guardrail-presets.js +59 -14
- package/dist/runtime/query/guardrail-presets.js.map +1 -1
- package/dist/runtime/query/guardrails.d.ts.map +1 -1
- package/dist/runtime/query/guardrails.js +16 -12
- package/dist/runtime/query/guardrails.js.map +1 -1
- package/dist/runtime/query/index.d.ts +140 -16
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +379 -76
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +32 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +256 -88
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.js +17 -16
- package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +202 -178
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js +26 -17
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
- package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +14 -14
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
- package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
- package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
- package/dist/runtime/query/prompt-cache.js.map +1 -0
- package/dist/runtime/query/prompt.d.ts +50 -0
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +83 -4
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/repeat-call.d.ts +42 -0
- package/dist/runtime/query/repeat-call.d.ts.map +1 -0
- package/dist/runtime/query/repeat-call.js +107 -0
- package/dist/runtime/query/repeat-call.js.map +1 -0
- package/dist/runtime/query/replay/mutate.js +8 -1
- package/dist/runtime/query/replay/mutate.js.map +1 -1
- package/dist/runtime/query/result.d.ts +7 -0
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +38 -10
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +19 -17
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/resume-run.d.ts +2 -2
- package/dist/runtime/query/resume-run.d.ts.map +1 -1
- package/dist/runtime/query/run-state.d.ts +3 -3
- package/dist/runtime/query/run-state.d.ts.map +1 -1
- package/dist/runtime/query/run-state.js +2 -2
- package/dist/runtime/query/run-state.js.map +1 -1
- package/dist/runtime/query/tool-grants.d.ts +7 -0
- package/dist/runtime/query/tool-grants.d.ts.map +1 -1
- package/dist/runtime/query/tool-grants.js +1 -1
- package/dist/runtime/query/tool-grants.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +34 -3
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tool-pause.d.ts.map +1 -1
- package/dist/runtime/query/tool-pause.js +2 -1
- package/dist/runtime/query/tool-pause.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +10 -2
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +3 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts +10 -0
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +77 -23
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/sandbox/terminal.d.ts +130 -0
- package/dist/sandbox/terminal.d.ts.map +1 -0
- package/dist/sandbox/terminal.js +119 -0
- package/dist/sandbox/terminal.js.map +1 -0
- package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
- package/dist/scheduler/completion-inbox.d.ts.map +1 -0
- package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
- package/dist/scheduler/completion-inbox.js.map +1 -0
- package/dist/scheduler/delegating.d.ts +90 -0
- package/dist/scheduler/delegating.d.ts.map +1 -0
- package/dist/scheduler/delegating.js +230 -0
- package/dist/scheduler/delegating.js.map +1 -0
- package/dist/{gateway → scheduler}/local.d.ts +10 -2
- package/dist/scheduler/local.d.ts.map +1 -0
- package/dist/{gateway → scheduler}/local.js +20 -11
- package/dist/scheduler/local.js.map +1 -0
- package/dist/session/actor-scope.d.ts +52 -0
- package/dist/session/actor-scope.d.ts.map +1 -0
- package/dist/session/actor-scope.js +112 -0
- package/dist/session/actor-scope.js.map +1 -0
- package/dist/session/errors.d.ts +31 -8
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +21 -1
- package/dist/session/errors.js.map +1 -1
- package/dist/session/handoff/assignment.d.ts +5 -5
- package/dist/session/handoff/assignment.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +2 -2
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +7 -7
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts +4 -4
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +4 -4
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/session/migration/filesystem.d.ts +28 -0
- package/dist/session/migration/filesystem.d.ts.map +1 -1
- package/dist/session/migration/filesystem.js +44 -2
- package/dist/session/migration/filesystem.js.map +1 -1
- package/dist/session/migration/id-prefix.d.ts +50 -19
- package/dist/session/migration/id-prefix.d.ts.map +1 -1
- package/dist/session/migration/id-prefix.js +54 -22
- package/dist/session/migration/id-prefix.js.map +1 -1
- package/dist/session/migration/index.d.ts +6 -2
- package/dist/session/migration/index.d.ts.map +1 -1
- package/dist/session/migration/index.js +6 -2
- package/dist/session/migration/index.js.map +1 -1
- package/dist/session/migration/marker.d.ts.map +1 -1
- package/dist/session/migration/marker.js +21 -4
- package/dist/session/migration/marker.js.map +1 -1
- package/dist/session/retention/archive.d.ts.map +1 -1
- package/dist/session/retention/archive.js +25 -11
- package/dist/session/retention/archive.js.map +1 -1
- package/dist/session/workspace/git-worktree.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.js +17 -8
- package/dist/session/workspace/git-worktree.js.map +1 -1
- package/dist/skills/loader.d.ts +4 -2
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +36 -9
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/registry.d.ts +59 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +154 -20
- package/dist/skills/registry.js.map +1 -1
- package/dist/store/attachment/index.d.ts +111 -0
- package/dist/store/attachment/index.d.ts.map +1 -0
- package/dist/store/attachment/index.js +94 -0
- package/dist/store/attachment/index.js.map +1 -0
- package/dist/store/config/index.d.ts +43 -0
- package/dist/store/config/index.d.ts.map +1 -0
- package/dist/store/config/index.js +51 -0
- package/dist/store/config/index.js.map +1 -0
- package/dist/store/feedback/conformance.d.ts +44 -0
- package/dist/store/feedback/conformance.d.ts.map +1 -0
- package/dist/store/feedback/conformance.js +127 -0
- package/dist/store/feedback/conformance.js.map +1 -0
- package/dist/store/feedback/disk.d.ts +46 -0
- package/dist/store/feedback/disk.d.ts.map +1 -0
- package/dist/store/feedback/disk.js +141 -0
- package/dist/store/feedback/disk.js.map +1 -0
- package/dist/store/feedback/index.d.ts +9 -0
- package/dist/store/feedback/index.d.ts.map +1 -0
- package/dist/store/feedback/index.js +5 -0
- package/dist/store/feedback/index.js.map +1 -0
- package/dist/store/feedback/memory.d.ts +33 -0
- package/dist/store/feedback/memory.d.ts.map +1 -0
- package/dist/store/feedback/memory.js +0 -0
- package/dist/store/feedback/memory.js.map +1 -0
- package/dist/store/feedback/types.d.ts +95 -0
- package/dist/store/feedback/types.d.ts.map +1 -0
- package/dist/store/feedback/types.js +27 -0
- package/dist/store/feedback/types.js.map +1 -0
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +4 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/kv/record-store.d.ts +54 -0
- package/dist/store/kv/record-store.d.ts.map +1 -0
- package/dist/store/kv/record-store.js +94 -0
- package/dist/store/kv/record-store.js.map +1 -0
- package/dist/store/memory/disk.d.ts +2 -0
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +36 -30
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/run/checkpoint-disk.d.ts +4 -4
- package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
- package/dist/store/run/checkpoint-disk.js +22 -1
- package/dist/store/run/checkpoint-disk.js.map +1 -1
- package/dist/store/run/checkpoint-memory.d.ts +4 -4
- package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
- package/dist/store/run/checkpoint-memory.js.map +1 -1
- package/dist/store/run/claim-disk.d.ts +5 -5
- package/dist/store/run/claim-disk.d.ts.map +1 -1
- package/dist/store/run/claim-disk.js +20 -0
- package/dist/store/run/claim-disk.js.map +1 -1
- package/dist/store/run/conformance.d.ts.map +1 -1
- package/dist/store/run/conformance.js +10 -9
- package/dist/store/run/conformance.js.map +1 -1
- package/dist/store/run/disk.d.ts +3 -1
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +73 -4
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/run/listing.d.ts +4 -4
- package/dist/store/run/listing.d.ts.map +1 -1
- package/dist/store/run/listing.js.map +1 -1
- package/dist/store/run/memory.d.ts +5 -0
- package/dist/store/run/memory.d.ts.map +1 -1
- package/dist/store/run/memory.js +20 -1
- package/dist/store/run/memory.js.map +1 -1
- package/dist/store/session/canonical-path.d.ts +32 -0
- package/dist/store/session/canonical-path.d.ts.map +1 -0
- package/dist/store/session/canonical-path.js +46 -0
- package/dist/store/session/canonical-path.js.map +1 -0
- package/dist/store/session/disk.d.ts +46 -2
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +191 -205
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/memory.d.ts +10 -2
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +36 -4
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/task/disk.d.ts.map +1 -1
- package/dist/store/task/disk.js +76 -68
- package/dist/store/task/disk.js.map +1 -1
- package/dist/store/topic/index.d.ts +6 -0
- package/dist/store/topic/index.d.ts.map +1 -0
- package/dist/store/topic/index.js +20 -0
- package/dist/store/topic/index.js.map +1 -0
- package/dist/store/topic/memory.d.ts +30 -0
- package/dist/store/topic/memory.d.ts.map +1 -0
- package/dist/store/topic/memory.js +97 -0
- package/dist/store/topic/memory.js.map +1 -0
- package/dist/store/topic/objective.d.ts +104 -0
- package/dist/store/topic/objective.d.ts.map +1 -0
- package/dist/store/topic/objective.js +195 -0
- package/dist/store/topic/objective.js.map +1 -0
- package/dist/store/topic/state.d.ts +60 -0
- package/dist/store/topic/state.d.ts.map +1 -0
- package/dist/store/topic/state.js +128 -0
- package/dist/store/topic/state.js.map +1 -0
- package/dist/streaming/coalesce.d.ts +19 -6
- package/dist/streaming/coalesce.d.ts.map +1 -1
- package/dist/streaming/coalesce.js +13 -4
- package/dist/streaming/coalesce.js.map +1 -1
- package/dist/telemetry/runtime-accessors.d.ts +27 -1
- package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
- package/dist/telemetry/runtime-accessors.js +45 -1
- package/dist/telemetry/runtime-accessors.js.map +1 -1
- package/dist/test-support/ids.d.ts +68 -0
- package/dist/test-support/ids.d.ts.map +1 -0
- package/dist/test-support/ids.js +70 -0
- package/dist/test-support/ids.js.map +1 -0
- package/dist/testing.d.ts +24 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +22 -0
- package/dist/testing.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts +1 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +77 -3
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +8 -8
- package/dist/tools/builtins/edit.d.ts +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +34 -0
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +6 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +24 -1
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/job.d.ts +6 -0
- package/dist/tools/builtins/job.d.ts.map +1 -0
- package/dist/tools/builtins/job.js +114 -0
- package/dist/tools/builtins/job.js.map +1 -0
- package/dist/tools/builtins/lsp.d.ts +21 -0
- package/dist/tools/builtins/lsp.d.ts.map +1 -0
- package/dist/tools/builtins/lsp.js +186 -0
- package/dist/tools/builtins/lsp.js.map +1 -0
- package/dist/tools/builtins/run-code.d.ts +13 -0
- package/dist/tools/builtins/run-code.d.ts.map +1 -0
- package/dist/tools/builtins/run-code.js +126 -0
- package/dist/tools/builtins/run-code.js.map +1 -0
- package/dist/tools/builtins/skill.d.ts +14 -0
- package/dist/tools/builtins/skill.d.ts.map +1 -0
- package/dist/tools/builtins/skill.js +120 -0
- package/dist/tools/builtins/skill.js.map +1 -0
- package/dist/tools/builtins/web-guidance.d.ts +31 -0
- package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
- package/dist/tools/builtins/web-guidance.js +42 -0
- package/dist/tools/builtins/web-guidance.js.map +1 -0
- package/dist/tools/builtins/web.d.ts +10 -0
- package/dist/tools/builtins/web.d.ts.map +1 -0
- package/dist/tools/builtins/web.js +137 -0
- package/dist/tools/builtins/web.js.map +1 -0
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +35 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts +2 -2
- package/dist/tools/coordinator/agent.d.ts.map +1 -1
- package/dist/tools/coordinator/index.d.ts +13 -4
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +125 -38
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/outcome.d.ts +2 -2
- package/dist/tools/coordinator/outcome.d.ts.map +1 -1
- package/dist/tools/coordinator/outcome.js +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
- package/dist/tools/defineTool.d.ts +12 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +2 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/env-scrub.d.ts +66 -0
- package/dist/tools/env-scrub.d.ts.map +1 -0
- package/dist/tools/env-scrub.js +68 -0
- package/dist/tools/env-scrub.js.map +1 -0
- package/dist/tools/memory/read.d.ts.map +1 -1
- package/dist/tools/memory/read.js +5 -1
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/task/create.d.ts.map +1 -1
- package/dist/tools/task/create.js +2 -1
- package/dist/tools/task/create.js.map +1 -1
- package/dist/tools/task/update.d.ts.map +1 -1
- package/dist/tools/task/update.js +7 -3
- package/dist/tools/task/update.js.map +1 -1
- package/dist/types/acp/index.d.ts +161 -0
- package/dist/types/acp/index.d.ts.map +1 -0
- package/dist/types/acp/index.js +2 -0
- package/dist/types/acp/index.js.map +1 -0
- package/dist/types/agent/base.d.ts +62 -5
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/delegate.d.ts +102 -0
- package/dist/types/agent/delegate.d.ts.map +1 -0
- package/dist/types/agent/delegate.js +2 -0
- package/dist/types/agent/delegate.js.map +1 -0
- package/dist/types/agent/index.d.ts +1 -1
- package/dist/types/agent/index.d.ts.map +1 -1
- package/dist/types/agent/index.js +1 -1
- package/dist/types/agent/index.js.map +1 -1
- package/dist/types/agent/manager.d.ts +7 -1
- package/dist/types/agent/manager.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +24 -3
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +41 -5
- package/dist/types/agent/scheduler.d.ts.map +1 -0
- package/dist/types/agent/scheduler.js +2 -0
- package/dist/types/agent/scheduler.js.map +1 -0
- package/dist/types/agent/supervisor.d.ts +23 -5
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +31 -9
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/working-memory.d.ts +1 -1
- package/dist/types/authorization/index.d.ts +634 -0
- package/dist/types/authorization/index.d.ts.map +1 -0
- package/dist/types/authorization/index.js +103 -0
- package/dist/types/authorization/index.js.map +1 -0
- package/dist/types/bus/index.d.ts +24 -1
- package/dist/types/bus/index.d.ts.map +1 -1
- package/dist/types/code-navigation/index.d.ts +112 -0
- package/dist/types/code-navigation/index.d.ts.map +1 -0
- package/dist/types/code-navigation/index.js +17 -0
- package/dist/types/code-navigation/index.js.map +1 -0
- package/dist/types/command/index.d.ts +74 -0
- package/dist/types/command/index.d.ts.map +1 -0
- package/dist/types/command/index.js +18 -0
- package/dist/types/command/index.js.map +1 -0
- package/dist/types/common/index.d.ts +19 -2
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js.map +1 -1
- package/dist/types/connector/mcp.d.ts +8 -0
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/guardrail/index.d.ts +74 -1
- package/dist/types/guardrail/index.d.ts.map +1 -1
- package/dist/types/hitl/policy.d.ts +79 -0
- package/dist/types/hitl/policy.d.ts.map +1 -0
- package/dist/types/hitl/policy.js +2 -0
- package/dist/types/hitl/policy.js.map +1 -0
- package/dist/types/ids/brand.d.ts +55 -0
- package/dist/types/ids/brand.d.ts.map +1 -0
- package/dist/types/ids/brand.js +45 -0
- package/dist/types/ids/brand.js.map +1 -0
- package/dist/types/ids/index.d.ts +98 -39
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js +5 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/message/index.d.ts +24 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +2 -2
- package/dist/types/project/entity.d.ts +22 -2
- package/dist/types/project/entity.d.ts.map +1 -1
- package/dist/types/provider/interface.d.ts +43 -2
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/provider/model.d.ts +16 -2
- package/dist/types/provider/model.d.ts.map +1 -1
- package/dist/types/run/audit.d.ts +150 -0
- package/dist/types/run/audit.d.ts.map +1 -0
- package/dist/types/run/audit.js +39 -0
- package/dist/types/run/audit.js.map +1 -0
- package/dist/types/run/cancel-cause.d.ts +49 -0
- package/dist/types/run/cancel-cause.d.ts.map +1 -0
- package/dist/types/run/cancel-cause.js +39 -0
- package/dist/types/run/cancel-cause.js.map +1 -0
- package/dist/types/run/checkpoint-store.d.ts +29 -11
- package/dist/types/run/checkpoint-store.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +24 -4
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/derive-status.d.ts +3 -3
- package/dist/types/run/derive-status.d.ts.map +1 -1
- package/dist/types/run/derive-status.js +1 -1
- package/dist/types/run/entity.d.ts +2 -3
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/run/event-cursor.d.ts +3 -3
- package/dist/types/run/event-cursor.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +159 -4
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/index.d.ts +2 -0
- package/dist/types/run/index.d.ts.map +1 -1
- package/dist/types/run/index.js +2 -0
- package/dist/types/run/index.js.map +1 -1
- package/dist/types/run/metadata.d.ts +2 -2
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/run/prepare-step.d.ts +29 -0
- package/dist/types/run/prepare-step.d.ts.map +1 -1
- package/dist/types/run/state.d.ts +33 -10
- package/dist/types/run/state.d.ts.map +1 -1
- package/dist/types/run/state.js +60 -3
- package/dist/types/run/state.js.map +1 -1
- package/dist/types/run/stop-reason.d.ts +9 -0
- package/dist/types/run/stop-reason.d.ts.map +1 -1
- package/dist/types/run/store.d.ts +38 -0
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +38 -0
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js +21 -0
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/session/actor.d.ts +2 -2
- package/dist/types/session/actor.d.ts.map +1 -1
- package/dist/types/session/entity.d.ts +9 -7
- package/dist/types/session/entity.d.ts.map +1 -1
- package/dist/types/session/ids.d.ts +3 -1
- package/dist/types/session/ids.d.ts.map +1 -1
- package/dist/types/session/index.d.ts +4 -2
- package/dist/types/session/index.d.ts.map +1 -1
- package/dist/types/session/store.d.ts +51 -22
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/session/sub-session.d.ts +55 -5
- package/dist/types/session/sub-session.d.ts.map +1 -1
- package/dist/types/skills/index.d.ts +41 -0
- package/dist/types/skills/index.d.ts.map +1 -1
- package/dist/types/skills/index.js +17 -1
- package/dist/types/skills/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +186 -1
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +53 -0
- package/dist/types/tool/presentation.d.ts.map +1 -0
- package/dist/types/tool/presentation.js +2 -0
- package/dist/types/tool/presentation.js.map +1 -0
- package/dist/types/{thread → topic}/entity.d.ts +34 -26
- package/dist/types/topic/entity.d.ts.map +1 -0
- package/dist/types/{thread → topic}/entity.js.map +1 -1
- package/dist/types/topic/index.d.ts +5 -0
- package/dist/types/topic/index.d.ts.map +1 -0
- package/dist/types/topic/index.js +11 -0
- package/dist/types/topic/index.js.map +1 -0
- package/dist/types/topic/objective.d.ts +86 -0
- package/dist/types/topic/objective.d.ts.map +1 -0
- package/dist/types/topic/objective.js +10 -0
- package/dist/types/topic/objective.js.map +1 -0
- package/dist/types/topic/state.d.ts +56 -0
- package/dist/types/topic/state.d.ts.map +1 -0
- package/dist/types/topic/state.js +10 -0
- package/dist/types/topic/state.js.map +1 -0
- package/dist/types/topic/store.d.ts +95 -0
- package/dist/types/topic/store.d.ts.map +1 -0
- package/dist/types/topic/store.js +29 -0
- package/dist/types/topic/store.js.map +1 -0
- package/dist/types/workspace/ref.d.ts +7 -0
- package/dist/types/workspace/ref.d.ts.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js +13 -1
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/hash.d.ts +10 -0
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +15 -0
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/id.d.ts +90 -2
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +113 -5
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/log/attributes.d.ts +17 -0
- package/dist/utils/log/attributes.d.ts.map +1 -0
- package/dist/utils/log/attributes.js +2 -0
- package/dist/utils/log/attributes.js.map +1 -0
- package/dist/utils/log/caps.d.ts +27 -0
- package/dist/utils/log/caps.d.ts.map +1 -0
- package/dist/utils/log/caps.js +107 -0
- package/dist/utils/log/caps.js.map +1 -0
- package/dist/utils/log/create-logger.d.ts +28 -0
- package/dist/utils/log/create-logger.d.ts.map +1 -0
- package/dist/utils/log/create-logger.js +168 -0
- package/dist/utils/log/create-logger.js.map +1 -0
- package/dist/utils/log/exception.d.ts +11 -0
- package/dist/utils/log/exception.d.ts.map +1 -0
- package/dist/utils/log/exception.js +108 -0
- package/dist/utils/log/exception.js.map +1 -0
- package/dist/utils/log/index.d.ts +7 -0
- package/dist/utils/log/index.d.ts.map +1 -0
- package/dist/utils/log/index.js +15 -0
- package/dist/utils/log/index.js.map +1 -0
- package/dist/utils/log/process-sink.d.ts +28 -0
- package/dist/utils/log/process-sink.d.ts.map +1 -0
- package/dist/utils/log/process-sink.js +56 -0
- package/dist/utils/log/process-sink.js.map +1 -0
- package/dist/utils/log/redact.d.ts +3 -0
- package/dist/utils/log/redact.d.ts.map +1 -0
- package/dist/utils/log/redact.js +71 -0
- package/dist/utils/log/redact.js.map +1 -0
- package/dist/utils/log/sinks.d.ts +43 -0
- package/dist/utils/log/sinks.d.ts.map +1 -0
- package/dist/utils/log/sinks.js +184 -0
- package/dist/utils/log/sinks.js.map +1 -0
- package/dist/utils/log/templates.d.ts +63 -0
- package/dist/utils/log/templates.d.ts.map +1 -0
- package/dist/utils/log/templates.js +119 -0
- package/dist/utils/log/templates.js.map +1 -0
- package/dist/utils/log/types.d.ts +183 -0
- package/dist/utils/log/types.d.ts.map +1 -0
- package/dist/utils/log/types.js +55 -0
- package/dist/utils/log/types.js.map +1 -0
- package/dist/utils/logger.d.ts +44 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +102 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/renamed-field.d.ts +19 -0
- package/dist/utils/renamed-field.d.ts.map +1 -0
- package/dist/utils/renamed-field.js +29 -0
- package/dist/utils/renamed-field.js.map +1 -0
- package/dist/vault/CredentialProvider.d.ts +89 -0
- package/dist/vault/CredentialProvider.d.ts.map +1 -0
- package/dist/vault/CredentialProvider.js +64 -0
- package/dist/vault/CredentialProvider.js.map +1 -0
- package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
- package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
- package/dist/vault/InMemoryCredentialVault.js +15 -5
- package/dist/vault/InMemoryCredentialVault.js.map +1 -1
- package/dist/vault/index.d.ts +3 -0
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +5 -0
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/instrumentation.d.ts +18 -2
- package/dist/vault/instrumentation.d.ts.map +1 -1
- package/dist/vault/instrumentation.js +47 -0
- package/dist/vault/instrumentation.js.map +1 -1
- package/package.json +4 -4
- package/src/advisory/executor.ts +14 -12
- package/src/advisory/registry.ts +2 -2
- package/src/agents/AGENTS.md +91 -0
- package/src/agents/AbstractAgent.ts +67 -14
- package/src/agents/PipelineAgent.ts +46 -12
- package/src/agents/ReactiveAgent.ts +27 -13
- package/src/agents/RouterAgent.ts +33 -21
- package/src/agents/SupervisorAgent.ts +51 -26
- package/src/agents/handle.ts +149 -0
- package/src/agents/runAgent.ts +14 -7
- package/src/{verification → authorization}/gate.ts +39 -32
- package/src/authorization/index.ts +26 -0
- package/src/authorization/permission-presets.ts +215 -0
- package/src/{verification → authorization}/presets.ts +15 -3
- package/src/{verification → authorization}/rules.ts +16 -3
- package/src/bridge/a2a/client.ts +369 -0
- package/src/bridge/a2a/mapper.ts +17 -0
- package/src/bridge/acp/filesystem.ts +63 -0
- package/src/bridge/acp/index.ts +11 -0
- package/src/bridge/acp/permission.ts +71 -0
- package/src/bridge/acp/server.ts +500 -0
- package/src/bridge/acp/update.ts +109 -0
- package/src/bridge/mcp/connector/adapter.ts +8 -4
- package/src/bridge/sse/mapper.ts +30 -0
- package/src/bus/breaker.ts +15 -10
- package/src/bus/index.ts +10 -8
- package/src/bus/lock.ts +36 -19
- package/src/bus/ownership.ts +17 -9
- package/src/compaction/context-window.ts +23 -1
- package/src/compaction/index.ts +6 -0
- package/src/compaction/manual.ts +177 -0
- package/src/compaction/plan.ts +226 -0
- package/src/compaction/summary.ts +31 -0
- package/src/compaction/verifier.ts +2 -2
- package/src/config/registry.ts +208 -0
- package/src/config/runtime.ts +27 -0
- package/src/connector/BaseConnector.ts +8 -3
- package/src/connector/builtins/http.ts +12 -2
- package/src/connector/builtins/webhook.ts +6 -2
- package/src/connector/index.ts +45 -29
- package/src/connector/mcp/adapter.ts +51 -1
- package/src/connector/mcp/client.ts +32 -20
- package/src/connector/mcp/discovery.ts +31 -20
- package/src/connector/mcp/http-sse.ts +12 -6
- package/src/connector/mcp/index.ts +8 -7
- package/src/connector/mcp/reconnect.ts +194 -0
- package/src/connector/mcp/server/index.ts +32 -0
- package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
- package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
- package/src/connector/mcp/stdio.ts +18 -9
- package/src/connector/mcp/streamable-http.ts +8 -4
- package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
- package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
- package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
- package/src/connector/web/guarded-fetch.ts +288 -0
- package/src/connector/web/index.ts +17 -0
- package/src/connector/web/types.ts +99 -0
- package/src/constants/acp/index.ts +104 -0
- package/src/constants/credential-env-keys.ts +63 -0
- package/src/constants/index.ts +3 -1
- package/src/constants/secret-patterns.ts +102 -0
- package/src/constants/telemetry/index.ts +98 -0
- package/src/contracts/api.ts +11 -0
- package/src/deprecated-aliases.ts +86 -0
- package/src/eval/judge.ts +2 -2
- package/src/execution/base.ts +18 -7
- package/src/execution/code-runtime/types.ts +116 -0
- package/src/execution/code-runtime/worker.ts +266 -0
- package/src/{connector/execution → execution}/factory.ts +3 -3
- package/src/{connector/execution → execution}/hybrid.ts +13 -7
- package/src/execution/index.ts +24 -0
- package/src/execution/local.ts +4 -2
- package/src/{connector/execution → execution}/remote.ts +15 -8
- package/src/index.ts +17 -0
- package/src/invariants/index.ts +201 -0
- package/src/manager/agent/lifecycle.ts +172 -58
- package/src/manager/connector/environment.ts +22 -11
- package/src/manager/connector/lifecycle.ts +30 -11
- package/src/manager/connector/tenant.ts +33 -14
- package/src/manager/index.ts +16 -2
- package/src/manager/project/lifecycle.ts +1 -1
- package/src/manager/run/emergency.ts +9 -7
- package/src/manager/run/persistence.ts +110 -8
- package/src/manager/topic/lifecycle.ts +235 -0
- package/src/manager/topic/objective.ts +203 -0
- package/src/persona/assembler.ts +14 -3
- package/src/plugin/lifecycle.ts +156 -20
- package/src/plugin/loader.ts +67 -16
- package/src/probe/index.ts +1 -0
- package/src/probe/registry.ts +41 -5
- package/src/process/kill-tree.ts +52 -0
- package/src/prompt/contributions.ts +173 -0
- package/src/prompt/index.ts +15 -0
- package/src/provider/attribution.ts +57 -0
- package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
- package/src/provider/conformance.ts +189 -0
- package/src/provider/errors.ts +27 -12
- package/src/provider/fallback.ts +32 -10
- package/src/provider/idle-timeout.ts +112 -0
- package/src/provider/instrumentation.ts +4 -2
- package/src/provider/retry.ts +63 -21
- package/src/public-runtime.ts +378 -14
- package/src/public-tools.ts +41 -1
- package/src/public-types.ts +101 -4
- package/src/rag/rag-tool.ts +4 -2
- package/src/read-model/index.ts +14 -0
- package/src/read-model/registry.ts +152 -0
- package/src/read-model/run-status.ts +127 -0
- package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
- package/src/registry/ManagedRegistry.ts +26 -9
- package/src/registry/command/index-exports.ts +4 -0
- package/src/registry/command/index.ts +105 -0
- package/src/registry/command/kernel-commands.ts +110 -0
- package/src/registry/connector/scoped.ts +6 -5
- package/src/registry/index.ts +7 -1
- package/src/registry/tool/execute.ts +52 -13
- package/src/registry/tool/presentation.ts +116 -0
- package/src/registry/tool/screen.ts +132 -0
- package/src/run/drain.ts +13 -3
- package/src/run/reporter.ts +208 -153
- package/src/run-query/index.ts +108 -0
- package/src/runtime/bidi/session.ts +7 -2
- package/src/runtime/decision/fallback.ts +6 -3
- package/src/runtime/decision/parser.ts +10 -9
- package/src/runtime/jobs/registry.ts +346 -0
- package/src/runtime/query/approval-policy.ts +78 -0
- package/src/runtime/query/checkpoint.ts +6 -6
- package/src/runtime/query/context.ts +120 -30
- package/src/runtime/query/events.ts +19 -11
- package/src/runtime/query/executor.ts +287 -66
- package/src/runtime/query/guardrail-presets.ts +61 -14
- package/src/runtime/query/guardrails.ts +16 -12
- package/src/runtime/query/index.ts +579 -96
- package/src/runtime/query/iteration/index.ts +269 -87
- package/src/runtime/query/iteration/phases/advisory.ts +17 -16
- package/src/runtime/query/iteration/phases/compaction.ts +235 -187
- package/src/runtime/query/iteration/phases/context.ts +82 -21
- package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
- package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
- package/src/runtime/query/iteration/stream-turn.ts +14 -14
- package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
- package/src/runtime/query/prompt.ts +104 -4
- package/src/runtime/query/repeat-call.ts +130 -0
- package/src/runtime/query/replay/mutate.ts +6 -0
- package/src/runtime/query/result.ts +47 -10
- package/src/runtime/query/resume-pending.ts +19 -17
- package/src/runtime/query/resume-run.ts +2 -2
- package/src/runtime/query/run-state.ts +5 -5
- package/src/runtime/query/tool-grants.ts +1 -1
- package/src/runtime/query/tool-output-budget.ts +36 -3
- package/src/runtime/query/tool-pause.ts +2 -1
- package/src/runtime/query/tooling.ts +17 -2
- package/src/sandbox/provider/local.ts +94 -21
- package/src/sandbox/terminal.ts +197 -0
- package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
- package/src/scheduler/delegating.ts +297 -0
- package/src/{gateway → scheduler}/local.ts +24 -15
- package/src/session/actor-scope.ts +121 -0
- package/src/session/errors.ts +30 -8
- package/src/session/handoff/assignment.ts +5 -5
- package/src/session/handoff/broadcast.ts +9 -9
- package/src/session/handoff/single.ts +8 -8
- package/src/session/migration/filesystem.ts +46 -2
- package/src/session/migration/id-prefix.ts +60 -22
- package/src/session/migration/index.ts +5 -0
- package/src/session/migration/marker.ts +19 -4
- package/src/session/retention/archive.ts +32 -12
- package/src/session/workspace/git-worktree.ts +17 -8
- package/src/skills/loader.ts +39 -9
- package/src/skills/registry.ts +177 -20
- package/src/store/attachment/index.ts +182 -0
- package/src/store/config/index.ts +74 -0
- package/src/store/feedback/conformance.ts +193 -0
- package/src/store/feedback/disk.ts +184 -0
- package/src/store/feedback/index.ts +13 -0
- package/src/store/feedback/memory.ts +0 -0
- package/src/store/feedback/types.ts +107 -0
- package/src/store/index.ts +5 -0
- package/src/store/kv/record-store.ts +91 -0
- package/src/store/memory/disk.ts +35 -32
- package/src/store/run/checkpoint-disk.ts +27 -6
- package/src/store/run/checkpoint-memory.ts +8 -8
- package/src/store/run/claim-disk.ts +58 -13
- package/src/store/run/conformance.ts +11 -10
- package/src/store/run/disk.ts +77 -5
- package/src/store/run/listing.ts +6 -6
- package/src/store/run/memory.ts +24 -1
- package/src/store/session/canonical-path.ts +45 -0
- package/src/store/session/disk.ts +216 -191
- package/src/store/session/memory.ts +43 -5
- package/src/store/task/disk.ts +77 -67
- package/src/store/topic/index.ts +33 -0
- package/src/store/topic/memory.ts +111 -0
- package/src/store/topic/objective.ts +290 -0
- package/src/store/topic/state.ts +204 -0
- package/src/streaming/coalesce.ts +19 -5
- package/src/telemetry/runtime-accessors.ts +45 -1
- package/src/test-support/ids.ts +117 -0
- package/src/testing.ts +40 -0
- package/src/tools/builtins/bash.ts +82 -3
- package/src/tools/builtins/edit.ts +36 -0
- package/src/tools/builtins/index.ts +29 -1
- package/src/tools/builtins/job.ts +133 -0
- package/src/tools/builtins/lsp.ts +214 -0
- package/src/tools/builtins/run-code.ts +154 -0
- package/src/tools/builtins/skill.ts +134 -0
- package/src/tools/builtins/web-guidance.ts +46 -0
- package/src/tools/builtins/web.ts +156 -0
- package/src/tools/builtins/write-file.ts +37 -1
- package/src/tools/coordinator/agent.ts +2 -2
- package/src/tools/coordinator/index.ts +144 -40
- package/src/tools/coordinator/outcome.ts +2 -2
- package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
- package/src/tools/defineTool.ts +14 -0
- package/src/tools/env-scrub.ts +91 -0
- package/src/tools/memory/read.ts +5 -2
- package/src/tools/task/create.ts +2 -1
- package/src/tools/task/update.ts +7 -4
- package/src/types/acp/index.ts +163 -0
- package/src/types/agent/base.ts +67 -5
- package/src/types/agent/delegate.ts +110 -0
- package/src/types/agent/index.ts +1 -1
- package/src/types/agent/manager.ts +7 -1
- package/src/types/agent/reactive.ts +27 -3
- package/src/types/agent/{gateway.ts → scheduler.ts} +41 -4
- package/src/types/agent/supervisor.ts +26 -5
- package/src/types/agent/task.ts +31 -9
- package/src/types/agent/working-memory.ts +1 -1
- package/src/types/{verification → authorization}/index.ts +79 -10
- package/src/types/bus/index.ts +30 -1
- package/src/types/code-navigation/index.ts +99 -0
- package/src/types/command/index.ts +68 -0
- package/src/types/common/index.ts +26 -2
- package/src/types/connector/mcp.ts +8 -0
- package/src/types/guardrail/index.ts +72 -1
- package/src/types/hitl/policy.ts +83 -0
- package/src/types/ids/brand.ts +58 -0
- package/src/types/ids/index.ts +109 -42
- package/src/types/message/index.ts +25 -1
- package/src/types/project/entity.ts +22 -2
- package/src/types/provider/interface.ts +45 -2
- package/src/types/provider/model.ts +16 -2
- package/src/types/run/audit.ts +164 -0
- package/src/types/run/cancel-cause.ts +60 -0
- package/src/types/run/checkpoint-store.ts +31 -11
- package/src/types/run/config.ts +25 -4
- package/src/types/run/derive-status.ts +3 -3
- package/src/types/run/entity.ts +2 -4
- package/src/types/run/event-cursor.ts +3 -3
- package/src/types/run/events.ts +165 -6
- package/src/types/run/index.ts +2 -0
- package/src/types/run/metadata.ts +2 -2
- package/src/types/run/prepare-step.ts +33 -0
- package/src/types/run/state.ts +78 -11
- package/src/types/run/stop-reason.ts +9 -0
- package/src/types/run/store.ts +40 -0
- package/src/types/sandbox/index.ts +37 -0
- package/src/types/session/actor.ts +10 -2
- package/src/types/session/entity.ts +9 -7
- package/src/types/session/ids.ts +2 -0
- package/src/types/session/index.ts +2 -0
- package/src/types/session/store.ts +53 -22
- package/src/types/session/sub-session.ts +50 -9
- package/src/types/skills/index.ts +50 -0
- package/src/types/tool/index.ts +171 -1
- package/src/types/tool/presentation.ts +48 -0
- package/src/types/{thread → topic}/entity.ts +34 -26
- package/src/types/topic/index.ts +23 -0
- package/src/types/topic/objective.ts +93 -0
- package/src/types/topic/state.ts +60 -0
- package/src/types/topic/store.ts +101 -0
- package/src/types/workspace/ref.ts +7 -0
- package/src/utils/abort.ts +16 -1
- package/src/utils/hash.ts +16 -0
- package/src/utils/id.ts +172 -12
- package/src/utils/log/attributes.ts +47 -0
- package/src/utils/log/caps.ts +118 -0
- package/src/utils/log/create-logger.ts +198 -0
- package/src/utils/log/exception.ts +124 -0
- package/src/utils/log/index.ts +24 -0
- package/src/utils/log/process-sink.ts +76 -0
- package/src/utils/log/redact.ts +77 -0
- package/src/utils/log/sinks.ts +205 -0
- package/src/utils/log/templates.ts +161 -0
- package/src/utils/log/types.ts +195 -0
- package/src/utils/logger.ts +121 -2
- package/src/utils/renamed-field.ts +35 -0
- package/src/vault/CredentialProvider.ts +147 -0
- package/src/vault/InMemoryCredentialVault.ts +16 -5
- package/src/vault/index.ts +16 -0
- package/src/vault/instrumentation.ts +63 -2
- package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
- package/dist/bridge/tools/connector/adapter.js.map +0 -1
- package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
- package/dist/bridge/tools/connector/definitions.js.map +0 -1
- package/dist/bridge/tools/connector/index.d.ts.map +0 -1
- package/dist/bridge/tools/connector/index.js.map +0 -1
- package/dist/bridge/tools/connector/router.d.ts.map +0 -1
- package/dist/bridge/tools/connector/router.js.map +0 -1
- package/dist/connector/execution/factory.d.ts.map +0 -1
- package/dist/connector/execution/factory.js.map +0 -1
- package/dist/connector/execution/hybrid.d.ts.map +0 -1
- package/dist/connector/execution/hybrid.js.map +0 -1
- package/dist/connector/execution/index.d.ts +0 -6
- package/dist/connector/execution/index.d.ts.map +0 -1
- package/dist/connector/execution/index.js +0 -4
- package/dist/connector/execution/index.js.map +0 -1
- package/dist/connector/execution/remote.d.ts.map +0 -1
- package/dist/connector/execution/remote.js.map +0 -1
- package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
- package/dist/connector/mcp/server-stdio.js.map +0 -1
- package/dist/connector/mcp/server.d.ts.map +0 -1
- package/dist/connector/mcp/server.js.map +0 -1
- package/dist/constants/verification/index.d.ts.map +0 -1
- package/dist/constants/verification/index.js.map +0 -1
- package/dist/gateway/completion-inbox.d.ts.map +0 -1
- package/dist/gateway/completion-inbox.js.map +0 -1
- package/dist/gateway/local.d.ts.map +0 -1
- package/dist/gateway/local.js.map +0 -1
- package/dist/manager/thread/lifecycle.d.ts +0 -105
- package/dist/manager/thread/lifecycle.d.ts.map +0 -1
- package/dist/manager/thread/lifecycle.js.map +0 -1
- package/dist/provider/collect.d.ts.map +0 -1
- package/dist/provider/collect.js.map +0 -1
- package/dist/registry/Registry.d.ts.map +0 -1
- package/dist/registry/Registry.js.map +0 -1
- package/dist/router/task-router.d.ts.map +0 -1
- package/dist/router/task-router.js.map +0 -1
- package/dist/runtime/query/context-cache.d.ts.map +0 -1
- package/dist/runtime/query/context-cache.js.map +0 -1
- package/dist/store/thread/disk.d.ts +0 -41
- package/dist/store/thread/disk.d.ts.map +0 -1
- package/dist/store/thread/disk.js +0 -238
- package/dist/store/thread/disk.js.map +0 -1
- package/dist/store/thread/index.d.ts +0 -4
- package/dist/store/thread/index.d.ts.map +0 -1
- package/dist/store/thread/index.js +0 -6
- package/dist/store/thread/index.js.map +0 -1
- package/dist/store/thread/memory.d.ts +0 -23
- package/dist/store/thread/memory.d.ts.map +0 -1
- package/dist/store/thread/memory.js +0 -90
- package/dist/store/thread/memory.js.map +0 -1
- package/dist/types/agent/gateway.d.ts.map +0 -1
- package/dist/types/agent/gateway.js +0 -2
- package/dist/types/agent/gateway.js.map +0 -1
- package/dist/types/thread/entity.d.ts.map +0 -1
- package/dist/types/thread/index.d.ts +0 -3
- package/dist/types/thread/index.d.ts.map +0 -1
- package/dist/types/thread/index.js +0 -5
- package/dist/types/thread/index.js.map +0 -1
- package/dist/types/thread/store.d.ts +0 -86
- package/dist/types/thread/store.d.ts.map +0 -1
- package/dist/types/thread/store.js +0 -22
- package/dist/types/thread/store.js.map +0 -1
- package/dist/types/verification/index.d.ts +0 -317
- package/dist/types/verification/index.d.ts.map +0 -1
- package/dist/types/verification/index.js +0 -53
- package/dist/types/verification/index.js.map +0 -1
- package/dist/verification/gate.d.ts.map +0 -1
- package/dist/verification/gate.js.map +0 -1
- package/dist/verification/index.d.ts +0 -4
- package/dist/verification/index.d.ts.map +0 -1
- package/dist/verification/index.js +0 -4
- package/dist/verification/index.js.map +0 -1
- package/dist/verification/presets.d.ts.map +0 -1
- package/dist/verification/presets.js.map +0 -1
- package/dist/verification/rules.d.ts +0 -4
- package/dist/verification/rules.d.ts.map +0 -1
- package/dist/verification/rules.js.map +0 -1
- package/src/connector/execution/index.ts +0 -5
- package/src/manager/thread/lifecycle.ts +0 -217
- package/src/store/thread/disk.ts +0 -272
- package/src/store/thread/index.ts +0 -7
- package/src/store/thread/memory.ts +0 -104
- package/src/types/thread/index.ts +0 -6
- package/src/types/thread/store.ts +0 -92
- package/src/verification/index.ts +0 -3
- /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
- /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
- /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
- /package/dist/constants/{verification → authorization}/index.js +0 -0
- /package/dist/{router → model-router}/task-router.d.ts +0 -0
- /package/dist/{router → model-router}/task-router.js +0 -0
- /package/dist/types/{thread → topic}/entity.js +0 -0
- /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
- /package/src/constants/{verification → authorization}/index.ts +0 -0
- /package/src/{router → model-router}/task-router.ts +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrap `inner` so file reads and writes ask the client.
|
|
3
|
+
*
|
|
4
|
+
* Returns `inner` unchanged when there is no client filesystem, so a caller
|
|
5
|
+
* does not have to branch: the absence of the capability is the ordinary
|
|
6
|
+
* case and it should not produce a different code path at every call site.
|
|
7
|
+
*/
|
|
8
|
+
export function clientBackedSandbox(inner, client) {
|
|
9
|
+
if (!client)
|
|
10
|
+
return inner;
|
|
11
|
+
return new Proxy(inner, {
|
|
12
|
+
get(target, property, receiver) {
|
|
13
|
+
if (property === 'readFile') {
|
|
14
|
+
return async (path) => Buffer.from(await client.readTextFile(path), 'utf-8');
|
|
15
|
+
}
|
|
16
|
+
if (property === 'writeFile') {
|
|
17
|
+
return async (path, content) => {
|
|
18
|
+
await client.writeTextFile(path, typeof content === 'string' ? content : content.toString('utf-8'));
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// A Proxy rather than a spread, so a member added to `Sandbox` after
|
|
22
|
+
// this file was written still reaches the real sandbox. A spread
|
|
23
|
+
// copies what existed the day it was written and silently drops the
|
|
24
|
+
// rest — the same defect as a hand-listed re-export.
|
|
25
|
+
const value = Reflect.get(target, property, receiver);
|
|
26
|
+
return typeof value === 'function' ? value.bind(target) : value;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=filesystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/bridge/acp/filesystem.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAc,EACd,MAAuC;IAEvC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC7B,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC7B,OAAO,KAAK,EAAE,IAAY,EAAmB,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO,KAAK,EAAE,IAAY,EAAE,OAAwB,EAAiB,EAAE;oBACtE,MAAM,MAAM,CAAC,aAAa,CACzB,IAAI,EACJ,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CACjE,CAAA;gBACF,CAAC,CAAA;YACF,CAAC;YACD,qEAAqE;YACrE,iEAAiE;YACjE,oEAAoE;YACpE,qDAAqD;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAChE,CAAC;KACD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ACPServer } from './server.js';
|
|
2
|
+
export type { AcpAgentGateway, AcpServerOptions } from './server.js';
|
|
3
|
+
export { clientBackedSandbox } from './filesystem.js';
|
|
4
|
+
export type { AcpClientFilesystem } from './filesystem.js';
|
|
5
|
+
export { ACP_DEFAULT_REJECTION, toResumeDecision } from './permission.js';
|
|
6
|
+
export type { AcpPermissionAsker, AcpPermissionOutcome, AcpPermissionRequest, } from './permission.js';
|
|
7
|
+
export { toAcpSessionUpdate, toAcpStopReason } from './update.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bridge/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACzE,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ACPServer } from './server.js';
|
|
2
|
+
export { clientBackedSandbox } from './filesystem.js';
|
|
3
|
+
export { ACP_DEFAULT_REJECTION, toResumeDecision } from './permission.js';
|
|
4
|
+
export { toAcpSessionUpdate, toAcpStopReason } from './update.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridge/acp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMzE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { HITLResumeDecision, ToolCallSummary } from '../../types/hitl/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* A tool batch, on its way to a human sitting in front of an editor.
|
|
4
|
+
*
|
|
5
|
+
* The kernel's own `ToolCallSummary`, not a re-declared one: this is the
|
|
6
|
+
* shape the HITL path already produces, and a copy would be a second
|
|
7
|
+
* definition of "which calls am I being asked about" that can drift from the
|
|
8
|
+
* one the run actually parked on.
|
|
9
|
+
*/
|
|
10
|
+
export interface AcpPermissionRequest {
|
|
11
|
+
readonly sessionId: string;
|
|
12
|
+
readonly toolCalls: readonly ToolCallSummary[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* What the human said.
|
|
16
|
+
*
|
|
17
|
+
* Three outcomes, matching what a human can actually mean about a batch of
|
|
18
|
+
* calls: run it, run it and stop asking, or do not run it and here is why.
|
|
19
|
+
* `reject` carries optional feedback because a denial with a reason is the
|
|
20
|
+
* one a model can act on — "no, use the staging bucket" redirects a run,
|
|
21
|
+
* where a bare denial only ends it.
|
|
22
|
+
*/
|
|
23
|
+
export type AcpPermissionOutcome = {
|
|
24
|
+
readonly kind: 'approve';
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: 'approve_all';
|
|
27
|
+
} | {
|
|
28
|
+
readonly kind: 'reject';
|
|
29
|
+
readonly feedback?: string;
|
|
30
|
+
};
|
|
31
|
+
export type AcpPermissionAsker = (request: AcpPermissionRequest) => Promise<AcpPermissionOutcome>;
|
|
32
|
+
/**
|
|
33
|
+
* The default a denial carries when the client sent none.
|
|
34
|
+
*
|
|
35
|
+
* Something rather than an empty string, because this text reaches the MODEL
|
|
36
|
+
* as a `reject_tools` feedback and an empty one reads as a tool that failed
|
|
37
|
+
* for no reason — the model retries it. Naming the human is what makes the
|
|
38
|
+
* next turn take a different path.
|
|
39
|
+
*/
|
|
40
|
+
export declare const ACP_DEFAULT_REJECTION = "The person operating this session declined these tool calls.";
|
|
41
|
+
/**
|
|
42
|
+
* One outcome as a kernel decision.
|
|
43
|
+
*
|
|
44
|
+
* A table, in one place, because the mapping is where a permission bridge
|
|
45
|
+
* goes wrong: `approve_all` collapsing into `approve` means the latch never
|
|
46
|
+
* takes and the human is asked again on every batch; `reject` collapsing
|
|
47
|
+
* into `continue` means the denial is DISCARDED and the calls run anyway.
|
|
48
|
+
* Both are silent.
|
|
49
|
+
*/
|
|
50
|
+
export declare function toResumeDecision(outcome: AcpPermissionOutcome, grantKeys: readonly string[]): HITLResumeDecision;
|
|
51
|
+
//# sourceMappingURL=permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/bridge/acp/permission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEpF;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;CAC9C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iEAAiE,CAAA;AAEnG;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,SAAS,MAAM,EAAE,GAC1B,kBAAkB,CAiBpB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default a denial carries when the client sent none.
|
|
3
|
+
*
|
|
4
|
+
* Something rather than an empty string, because this text reaches the MODEL
|
|
5
|
+
* as a `reject_tools` feedback and an empty one reads as a tool that failed
|
|
6
|
+
* for no reason — the model retries it. Naming the human is what makes the
|
|
7
|
+
* next turn take a different path.
|
|
8
|
+
*/
|
|
9
|
+
export const ACP_DEFAULT_REJECTION = 'The person operating this session declined these tool calls.';
|
|
10
|
+
/**
|
|
11
|
+
* One outcome as a kernel decision.
|
|
12
|
+
*
|
|
13
|
+
* A table, in one place, because the mapping is where a permission bridge
|
|
14
|
+
* goes wrong: `approve_all` collapsing into `approve` means the latch never
|
|
15
|
+
* takes and the human is asked again on every batch; `reject` collapsing
|
|
16
|
+
* into `continue` means the denial is DISCARDED and the calls run anyway.
|
|
17
|
+
* Both are silent.
|
|
18
|
+
*/
|
|
19
|
+
export function toResumeDecision(outcome, grantKeys) {
|
|
20
|
+
switch (outcome.kind) {
|
|
21
|
+
case 'approve':
|
|
22
|
+
// No `remember`. Consent is not transferable: this batch was
|
|
23
|
+
// approved, and the next one is a new question.
|
|
24
|
+
return { action: 'approve_tools' };
|
|
25
|
+
case 'approve_all':
|
|
26
|
+
// The keys ARE the latch. `approve_tools` with nothing remembered is
|
|
27
|
+
// indistinguishable from a plain approve, which is exactly how an
|
|
28
|
+
// "approve all" that never takes gets shipped.
|
|
29
|
+
return { action: 'approve_tools', remember: grantKeys };
|
|
30
|
+
case 'reject':
|
|
31
|
+
return {
|
|
32
|
+
action: 'reject_tools',
|
|
33
|
+
feedback: outcome.feedback?.trim() || ACP_DEFAULT_REJECTION,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/bridge/acp/permission.ts"],"names":[],"mappings":"AA+BA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,8DAA8D,CAAA;AAEnG;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAA6B,EAC7B,SAA4B;IAE5B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,SAAS;YACb,6DAA6D;YAC7D,gDAAgD;YAChD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;QACnC,KAAK,aAAa;YACjB,qEAAqE;YACrE,kEAAkE;YAClE,+CAA+C;YAC/C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;QACxD,KAAK,QAAQ;YACZ,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,qBAAqB;aAC3D,CAAA;IACH,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import type { HostCommandRegistry } from '../../registry/command/index.js';
|
|
2
|
+
import type { ToolPresenter } from '../../registry/tool/presentation.js';
|
|
3
|
+
import type { MCPTransport } from '../../types/connector/mcp.js';
|
|
4
|
+
import type { RunEvent } from '../../types/run/events.js';
|
|
5
|
+
import { type Logger } from '../../utils/logger.js';
|
|
6
|
+
import type { AcpClientFilesystem } from './filesystem.js';
|
|
7
|
+
import type { AcpPermissionAsker } from './permission.js';
|
|
8
|
+
/**
|
|
9
|
+
* An agent-client protocol server over stdio.
|
|
10
|
+
*
|
|
11
|
+
* An editor extension or a CI orchestrator could previously do two things:
|
|
12
|
+
* shell out to the CLI and scrape its output, or embed the SDK in its own
|
|
13
|
+
* process. This is the third — a wire surface a peer written in any language
|
|
14
|
+
* can drive.
|
|
15
|
+
*
|
|
16
|
+
* **The precedent in this tree is a warning, and this change answers it.**
|
|
17
|
+
* `MCPServer` and `ServerStdioTransport` are both exported, and nothing
|
|
18
|
+
* anywhere constructs an `MCPServer`: a complete protocol server with no
|
|
19
|
+
* driver. So `packages/cli/src/commands/acp.ts` ships in the same change,
|
|
20
|
+
* and a subprocess test spawns the real binary — the wire half alone is not
|
|
21
|
+
* a deliverable.
|
|
22
|
+
*
|
|
23
|
+
* **stdout belongs to the protocol.** `ServerStdioTransport`'s own header
|
|
24
|
+
* says it and this is the surface that pays for it: one stray `console.log`
|
|
25
|
+
* anywhere in the process and a client reports malformed JSON with nothing
|
|
26
|
+
* naming the culprit. This repository's logger writes to stderr, and a test
|
|
27
|
+
* asserts zero non-JSON bytes on the child's stdout under info-level
|
|
28
|
+
* logging.
|
|
29
|
+
*/
|
|
30
|
+
/** What the bridge needs from the runtime, taken as an interface. */
|
|
31
|
+
export interface AcpAgentGateway {
|
|
32
|
+
/**
|
|
33
|
+
* Run one prompt, streaming events, and resolve with the stop reason.
|
|
34
|
+
*
|
|
35
|
+
* Deliberately not `AgentManagerContract` itself. This bridge needs one
|
|
36
|
+
* verb, and a session front end holding the whole manager could cancel
|
|
37
|
+
* somebody else's task, spawn children, or drain a queue it does not own
|
|
38
|
+
* — none of which a peer asked for. The CLI passes an adapter over
|
|
39
|
+
* `sendMessage`/`cancel`.
|
|
40
|
+
*/
|
|
41
|
+
prompt(request: {
|
|
42
|
+
readonly sessionId: string;
|
|
43
|
+
readonly prompt: string;
|
|
44
|
+
readonly cwd: string;
|
|
45
|
+
readonly onEvent: (event: RunEvent) => void;
|
|
46
|
+
readonly signal: AbortSignal;
|
|
47
|
+
/**
|
|
48
|
+
* Ask the human in front of the client about a tool batch.
|
|
49
|
+
*
|
|
50
|
+
* Handed to the gateway rather than installed by it, so the ONE place
|
|
51
|
+
* that knows how to reach the client is this bridge. A gateway that
|
|
52
|
+
* built its own asker would be a second path to the same human, and
|
|
53
|
+
* the one that forgot to latch `approve_all` would be it.
|
|
54
|
+
*/
|
|
55
|
+
readonly ask: AcpPermissionAsker;
|
|
56
|
+
/**
|
|
57
|
+
* The client's buffers, when it declared the capability. `undefined`
|
|
58
|
+
* means disk — which is correct, and is what every non-editor peer
|
|
59
|
+
* wants.
|
|
60
|
+
*/
|
|
61
|
+
readonly filesystem: AcpClientFilesystem | undefined;
|
|
62
|
+
/** Turns to resume from, oldest first. Empty for a fresh session. */
|
|
63
|
+
readonly history: readonly unknown[];
|
|
64
|
+
}): Promise<{
|
|
65
|
+
readonly stopReason?: string;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* The turns a prior session left behind, for `session/load`.
|
|
69
|
+
*
|
|
70
|
+
* Optional: a gateway with no session store cannot resume, and saying so
|
|
71
|
+
* by not implementing this is better than returning an empty history that
|
|
72
|
+
* a client cannot tell apart from a session that really had no turns.
|
|
73
|
+
*/
|
|
74
|
+
load?(sessionId: string): Promise<readonly unknown[]>;
|
|
75
|
+
}
|
|
76
|
+
export interface AcpServerOptions {
|
|
77
|
+
readonly transport: MCPTransport;
|
|
78
|
+
readonly gateway: AcpAgentGateway;
|
|
79
|
+
/**
|
|
80
|
+
* The command surface, verbatim from the registry.
|
|
81
|
+
*
|
|
82
|
+
* Passed as the registry rather than as a list so `describe()` is called
|
|
83
|
+
* per initialize: a host that registers a command after construction
|
|
84
|
+
* still has it appear, and this module has no place to hard-code one.
|
|
85
|
+
*/
|
|
86
|
+
readonly commands: HostCommandRegistry;
|
|
87
|
+
readonly presenter: ToolPresenter;
|
|
88
|
+
readonly agentInfo: {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
readonly version: string;
|
|
91
|
+
};
|
|
92
|
+
/** Injectable so a test does not depend on a random id. */
|
|
93
|
+
readonly newSessionId?: () => string;
|
|
94
|
+
readonly log?: Logger;
|
|
95
|
+
}
|
|
96
|
+
export declare class ACPServer {
|
|
97
|
+
private readonly options;
|
|
98
|
+
private readonly log;
|
|
99
|
+
private readonly sessions;
|
|
100
|
+
private initialized;
|
|
101
|
+
private clientCapabilities;
|
|
102
|
+
private sessionSeq;
|
|
103
|
+
/**
|
|
104
|
+
* The method table, authored INDEPENDENTLY of `ACP_METHODS`.
|
|
105
|
+
*
|
|
106
|
+
* Deriving it from the constant would make the drift test a tautology.
|
|
107
|
+
* Two hand-written sets compared in both directions is the only shape
|
|
108
|
+
* where "a handler nobody advertises" and "an advertised method with no
|
|
109
|
+
* handler" are both catchable.
|
|
110
|
+
*/
|
|
111
|
+
private readonly handlers;
|
|
112
|
+
/** Requests this side has out to the client, keyed by their id. */
|
|
113
|
+
private readonly pending;
|
|
114
|
+
private requestSeq;
|
|
115
|
+
constructor(options: AcpServerOptions);
|
|
116
|
+
/** The method names this server answers. For the drift test. */
|
|
117
|
+
methodNames(): readonly string[];
|
|
118
|
+
start(): Promise<void>;
|
|
119
|
+
stop(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Ask the client something and wait for its answer.
|
|
122
|
+
*
|
|
123
|
+
* The direction this bridge did not have. A notification is fire and
|
|
124
|
+
* forget; a permission prompt is a question the run cannot proceed past,
|
|
125
|
+
* so it needs an id, a place to park the promise, and a `dispatch` that
|
|
126
|
+
* recognises a response frame.
|
|
127
|
+
*/
|
|
128
|
+
private request;
|
|
129
|
+
private dispatch;
|
|
130
|
+
private respondError;
|
|
131
|
+
private send;
|
|
132
|
+
private notifyUpdate;
|
|
133
|
+
private onInitialize;
|
|
134
|
+
private onSessionNew;
|
|
135
|
+
/**
|
|
136
|
+
* Resume a session the store already has.
|
|
137
|
+
*
|
|
138
|
+
* The prior turns come from the gateway, never from this bridge: the
|
|
139
|
+
* history lives in whatever session store the host wired up, and a bridge
|
|
140
|
+
* that kept its own copy would answer a resume with the turns THIS process
|
|
141
|
+
* happened to see rather than the ones the session actually had.
|
|
142
|
+
*/
|
|
143
|
+
private onSessionLoad;
|
|
144
|
+
private openSession;
|
|
145
|
+
private requireInitialized;
|
|
146
|
+
private requirePermissionCapability;
|
|
147
|
+
private onSessionPrompt;
|
|
148
|
+
private onSessionCancel;
|
|
149
|
+
/**
|
|
150
|
+
* Put a tool batch in front of the human, unless they already said yes to
|
|
151
|
+
* everything for this session.
|
|
152
|
+
*/
|
|
153
|
+
private askPermission;
|
|
154
|
+
/**
|
|
155
|
+
* The client's buffers, when it declared the capability.
|
|
156
|
+
*
|
|
157
|
+
* `undefined` otherwise, and that is the ordinary case: a peer that is not
|
|
158
|
+
* an editor has no buffers, and the agent should read the disk.
|
|
159
|
+
*/
|
|
160
|
+
private clientFilesystem;
|
|
161
|
+
private requireSession;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/bridge/acp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { ACP_CLIENT_NOTIFICATIONS, ACP_CLIENT_REQUESTS, ACP_ERROR_CODES, ACP_FILESYSTEM_CAPABILITY, ACP_METHODS, ACP_PERMISSION_CAPABILITY, ACP_PROTOCOL_VERSION, } from '../../constants/acp/index.js';
|
|
2
|
+
import { resolveLogger } from '../../utils/logger.js';
|
|
3
|
+
import { toAcpSessionUpdate, toAcpStopReason } from './update.js';
|
|
4
|
+
/** A JSON-RPC error this bridge answers with, rather than throwing out. */
|
|
5
|
+
class AcpError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = 'AcpError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class ACPServer {
|
|
14
|
+
options;
|
|
15
|
+
log;
|
|
16
|
+
sessions = new Map();
|
|
17
|
+
initialized = false;
|
|
18
|
+
clientCapabilities = [];
|
|
19
|
+
sessionSeq = 0;
|
|
20
|
+
/**
|
|
21
|
+
* The method table, authored INDEPENDENTLY of `ACP_METHODS`.
|
|
22
|
+
*
|
|
23
|
+
* Deriving it from the constant would make the drift test a tautology.
|
|
24
|
+
* Two hand-written sets compared in both directions is the only shape
|
|
25
|
+
* where "a handler nobody advertises" and "an advertised method with no
|
|
26
|
+
* handler" are both catchable.
|
|
27
|
+
*/
|
|
28
|
+
handlers = {
|
|
29
|
+
initialize: (p) => this.onInitialize(p),
|
|
30
|
+
'session/new': (p) => this.onSessionNew(p),
|
|
31
|
+
'session/prompt': (p) => this.onSessionPrompt(p),
|
|
32
|
+
'session/cancel': (p) => this.onSessionCancel(p),
|
|
33
|
+
'session/load': (p) => this.onSessionLoad(p),
|
|
34
|
+
};
|
|
35
|
+
/** Requests this side has out to the client, keyed by their id. */
|
|
36
|
+
pending = new Map();
|
|
37
|
+
requestSeq = 0;
|
|
38
|
+
constructor(options) {
|
|
39
|
+
this.options = options;
|
|
40
|
+
this.log = resolveLogger(options.log).child({ 'namzu.log.scope': 'bridge/acp' });
|
|
41
|
+
}
|
|
42
|
+
/** The method names this server answers. For the drift test. */
|
|
43
|
+
methodNames() {
|
|
44
|
+
return Object.keys(this.handlers).sort();
|
|
45
|
+
}
|
|
46
|
+
async start() {
|
|
47
|
+
this.options.transport.onMessage((message) => {
|
|
48
|
+
void this.dispatch(message);
|
|
49
|
+
});
|
|
50
|
+
await this.options.transport.connect();
|
|
51
|
+
}
|
|
52
|
+
async stop() {
|
|
53
|
+
for (const session of this.sessions.values())
|
|
54
|
+
session.controller.abort();
|
|
55
|
+
this.sessions.clear();
|
|
56
|
+
// Anything still waiting on the client is rejected rather than left
|
|
57
|
+
// pending: the transport is about to close, so no answer is coming, and
|
|
58
|
+
// a promise nobody will ever settle keeps whatever awaited it alive.
|
|
59
|
+
for (const waiting of this.pending.values()) {
|
|
60
|
+
waiting.reject(new Error('The client connection closed before it answered.'));
|
|
61
|
+
}
|
|
62
|
+
this.pending.clear();
|
|
63
|
+
await this.options.transport.close();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ask the client something and wait for its answer.
|
|
67
|
+
*
|
|
68
|
+
* The direction this bridge did not have. A notification is fire and
|
|
69
|
+
* forget; a permission prompt is a question the run cannot proceed past,
|
|
70
|
+
* so it needs an id, a place to park the promise, and a `dispatch` that
|
|
71
|
+
* recognises a response frame.
|
|
72
|
+
*/
|
|
73
|
+
request(method, params) {
|
|
74
|
+
this.requestSeq += 1;
|
|
75
|
+
const id = `agent_${this.requestSeq}`;
|
|
76
|
+
return new Promise((resolve, reject) => {
|
|
77
|
+
this.pending.set(id, { resolve: resolve, reject });
|
|
78
|
+
void this.send({ jsonrpc: '2.0', id, method, params }).catch((err) => {
|
|
79
|
+
this.pending.delete(id);
|
|
80
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async dispatch(message) {
|
|
85
|
+
if (!message.method) {
|
|
86
|
+
// A frame with no method is the client ANSWERING something this side
|
|
87
|
+
// asked. Before permission requests existed there was nothing out on
|
|
88
|
+
// the wire, so ignoring it was right; now dropping it would leave the
|
|
89
|
+
// asker waiting forever and the run parked with nobody coming.
|
|
90
|
+
if (message.id !== undefined && this.pending.has(message.id)) {
|
|
91
|
+
const waiting = this.pending.get(message.id);
|
|
92
|
+
this.pending.delete(message.id);
|
|
93
|
+
if (message.error) {
|
|
94
|
+
waiting?.reject(new Error(message.error.message));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
waiting?.resolve(message.result);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const handler = this.handlers[message.method];
|
|
103
|
+
if (!handler) {
|
|
104
|
+
// Answered, and the CONNECTION STAYS OPEN. A client probing for a
|
|
105
|
+
// feature must not lose its session because this agent does not have
|
|
106
|
+
// it yet.
|
|
107
|
+
await this.respondError(message.id, ACP_ERROR_CODES.METHOD_NOT_FOUND, `Unknown method "${message.method}". This agent implements: ${this.methodNames().join(', ')}.`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const result = await handler(message.params ?? {});
|
|
112
|
+
if (message.id !== undefined) {
|
|
113
|
+
await this.send({ jsonrpc: '2.0', id: message.id, result });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
const code = err instanceof AcpError ? err.code : ACP_ERROR_CODES.INTERNAL_ERROR;
|
|
118
|
+
await this.respondError(message.id, code, err instanceof Error ? err.message : String(err));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async respondError(id, code, message) {
|
|
122
|
+
// A notification (no id) that failed has nowhere to send an error, so
|
|
123
|
+
// it is logged instead of dropped silently — on stderr, where it does
|
|
124
|
+
// not corrupt the protocol stream.
|
|
125
|
+
if (id === undefined) {
|
|
126
|
+
this.log.warn('an acp notification failed', {
|
|
127
|
+
'namzu.acp.error_code': code,
|
|
128
|
+
'namzu.acp.error_message': message,
|
|
129
|
+
});
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
await this.send({ jsonrpc: '2.0', id, error: { code, message } });
|
|
133
|
+
}
|
|
134
|
+
async send(message) {
|
|
135
|
+
try {
|
|
136
|
+
await this.options.transport.send(message);
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
// The client hung up mid-write. Nothing to recover; a throw here
|
|
140
|
+
// would escape into whichever handler happened to be running.
|
|
141
|
+
this.log.warn('acp send failed', {
|
|
142
|
+
'namzu.acp.error_message': err instanceof Error ? err.message : String(err),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async notifyUpdate(sessionId, update) {
|
|
147
|
+
await this.send({
|
|
148
|
+
jsonrpc: '2.0',
|
|
149
|
+
method: ACP_CLIENT_NOTIFICATIONS.SESSION_UPDATE,
|
|
150
|
+
params: { sessionId, update },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
onInitialize(params) {
|
|
154
|
+
this.initialized = true;
|
|
155
|
+
this.clientCapabilities = params.capabilities ?? [];
|
|
156
|
+
return {
|
|
157
|
+
protocolVersion: ACP_PROTOCOL_VERSION,
|
|
158
|
+
agentInfo: this.options.agentInfo,
|
|
159
|
+
// From the registry, per call. A hard-coded list here would be a
|
|
160
|
+
// second definition of the command surface.
|
|
161
|
+
commands: this.options.commands.describe(),
|
|
162
|
+
requiredClientCapabilities: [ACP_PERMISSION_CAPABILITY],
|
|
163
|
+
// Advertised so a client author can see the option exists. Separate
|
|
164
|
+
// from `required` on purpose: a peer that is not an editor has no
|
|
165
|
+
// buffers, and demanding this of it would refuse a session that is
|
|
166
|
+
// perfectly able to run.
|
|
167
|
+
optionalClientCapabilities: [ACP_FILESYSTEM_CAPABILITY],
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
onSessionNew(params) {
|
|
171
|
+
this.requireInitialized();
|
|
172
|
+
this.requirePermissionCapability();
|
|
173
|
+
return { sessionId: this.openSession(params.cwd, []) };
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Resume a session the store already has.
|
|
177
|
+
*
|
|
178
|
+
* The prior turns come from the gateway, never from this bridge: the
|
|
179
|
+
* history lives in whatever session store the host wired up, and a bridge
|
|
180
|
+
* that kept its own copy would answer a resume with the turns THIS process
|
|
181
|
+
* happened to see rather than the ones the session actually had.
|
|
182
|
+
*/
|
|
183
|
+
async onSessionLoad(params) {
|
|
184
|
+
this.requireInitialized();
|
|
185
|
+
this.requirePermissionCapability();
|
|
186
|
+
if (!this.options.gateway.load) {
|
|
187
|
+
throw new AcpError(ACP_ERROR_CODES.METHOD_NOT_FOUND, 'This agent has no session store, so there is nothing to resume. Create a new session instead.');
|
|
188
|
+
}
|
|
189
|
+
const history = await this.options.gateway.load(params.sessionId);
|
|
190
|
+
// The SAME id, not a new one. A client that asked to resume `ses_x` and
|
|
191
|
+
// got `ses_y` back has to rewrite whatever it had keyed by the old one.
|
|
192
|
+
this.sessions.set(params.sessionId, {
|
|
193
|
+
cwd: params.cwd ?? process.cwd(),
|
|
194
|
+
controller: new AbortController(),
|
|
195
|
+
approveAll: false,
|
|
196
|
+
history,
|
|
197
|
+
});
|
|
198
|
+
return { sessionId: params.sessionId };
|
|
199
|
+
}
|
|
200
|
+
openSession(cwd, history) {
|
|
201
|
+
this.sessionSeq += 1;
|
|
202
|
+
const sessionId = this.options.newSessionId?.() ?? `acp_${this.sessionSeq}`;
|
|
203
|
+
this.sessions.set(sessionId, {
|
|
204
|
+
cwd: cwd ?? process.cwd(),
|
|
205
|
+
controller: new AbortController(),
|
|
206
|
+
// Fresh per session. See `Session.approveAll`.
|
|
207
|
+
approveAll: false,
|
|
208
|
+
history,
|
|
209
|
+
});
|
|
210
|
+
return sessionId;
|
|
211
|
+
}
|
|
212
|
+
requireInitialized() {
|
|
213
|
+
if (!this.initialized) {
|
|
214
|
+
throw new AcpError(ACP_ERROR_CODES.INVALID_REQUEST, `Call "${ACP_METHODS.INITIALIZE}" before creating a session.`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
requirePermissionCapability() {
|
|
218
|
+
if (!this.clientCapabilities.includes(ACP_PERMISSION_CAPABILITY)) {
|
|
219
|
+
// REFUSED, not auto-approved. A session that cannot ask a human
|
|
220
|
+
// anything and runs every tool regardless is not a degraded version
|
|
221
|
+
// of asking — it is the opposite of it, arrived at by omission.
|
|
222
|
+
throw new AcpError(ACP_ERROR_CODES.INVALID_REQUEST, `This agent will not create a session for a client that did not declare the "${ACP_PERMISSION_CAPABILITY}" capability. Tool calls need somewhere to ask, and a session without one would approve everything silently.`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
async onSessionPrompt(params) {
|
|
226
|
+
const session = this.requireSession(params.sessionId);
|
|
227
|
+
// A fresh controller per turn: the previous one may already be aborted
|
|
228
|
+
// by a cancel of the turn before, and reusing it would start this one
|
|
229
|
+
// already cancelled.
|
|
230
|
+
session.controller = new AbortController();
|
|
231
|
+
const outcome = await this.options.gateway.prompt({
|
|
232
|
+
sessionId: params.sessionId,
|
|
233
|
+
prompt: params.prompt,
|
|
234
|
+
cwd: session.cwd,
|
|
235
|
+
signal: session.controller.signal,
|
|
236
|
+
onEvent: (event) => {
|
|
237
|
+
const update = toAcpSessionUpdate(event, this.options.presenter);
|
|
238
|
+
if (update)
|
|
239
|
+
void this.notifyUpdate(params.sessionId, update);
|
|
240
|
+
},
|
|
241
|
+
ask: (request) => this.askPermission(session, request),
|
|
242
|
+
filesystem: this.clientFilesystem(),
|
|
243
|
+
history: session.history,
|
|
244
|
+
});
|
|
245
|
+
return { stopReason: toAcpStopReason(outcome.stopReason) };
|
|
246
|
+
}
|
|
247
|
+
onSessionCancel(params) {
|
|
248
|
+
this.requireSession(params.sessionId).controller.abort();
|
|
249
|
+
// `null` rather than `{}`: a JSON-RPC result has to be present, and an
|
|
250
|
+
// empty object invites a client to look for a field.
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Put a tool batch in front of the human, unless they already said yes to
|
|
255
|
+
* everything for this session.
|
|
256
|
+
*/
|
|
257
|
+
async askPermission(session, request) {
|
|
258
|
+
// The latch, read from the SESSION. Checked here rather than in the
|
|
259
|
+
// gateway so no gateway can forget it.
|
|
260
|
+
if (session.approveAll)
|
|
261
|
+
return { kind: 'approve_all' };
|
|
262
|
+
const answer = await this.request(ACP_CLIENT_REQUESTS.REQUEST_PERMISSION, {
|
|
263
|
+
sessionId: request.sessionId,
|
|
264
|
+
toolCalls: request.toolCalls,
|
|
265
|
+
});
|
|
266
|
+
switch (answer?.outcome) {
|
|
267
|
+
case 'approve':
|
|
268
|
+
return { kind: 'approve' };
|
|
269
|
+
case 'approve_all':
|
|
270
|
+
session.approveAll = true;
|
|
271
|
+
return { kind: 'approve_all' };
|
|
272
|
+
case 'reject':
|
|
273
|
+
return { kind: 'reject', ...(answer.feedback ? { feedback: answer.feedback } : {}) };
|
|
274
|
+
default:
|
|
275
|
+
// An answer this side cannot read is not an approval. A client that
|
|
276
|
+
// sent something unrecognised has not said yes, and treating
|
|
277
|
+
// "unparseable" as consent is the failure this whole exchange
|
|
278
|
+
// exists to prevent.
|
|
279
|
+
return {
|
|
280
|
+
kind: 'reject',
|
|
281
|
+
feedback: `The client answered the permission request with an outcome this agent does not recognise (${JSON.stringify(answer?.outcome)}), so the calls were not run.`,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* The client's buffers, when it declared the capability.
|
|
287
|
+
*
|
|
288
|
+
* `undefined` otherwise, and that is the ordinary case: a peer that is not
|
|
289
|
+
* an editor has no buffers, and the agent should read the disk.
|
|
290
|
+
*/
|
|
291
|
+
clientFilesystem() {
|
|
292
|
+
if (!this.clientCapabilities.includes(ACP_FILESYSTEM_CAPABILITY))
|
|
293
|
+
return undefined;
|
|
294
|
+
return {
|
|
295
|
+
readTextFile: async (path) => {
|
|
296
|
+
const result = await this.request(ACP_CLIENT_REQUESTS.FS_READ, { path });
|
|
297
|
+
return result?.content ?? '';
|
|
298
|
+
},
|
|
299
|
+
writeTextFile: async (path, content) => {
|
|
300
|
+
await this.request(ACP_CLIENT_REQUESTS.FS_WRITE, { path, content });
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
requireSession(sessionId) {
|
|
305
|
+
const session = this.sessions.get(sessionId);
|
|
306
|
+
if (!session) {
|
|
307
|
+
throw new AcpError(ACP_ERROR_CODES.INVALID_PARAMS, `No session "${sessionId}". Create one with "${ACP_METHODS.SESSION_NEW}" first.`);
|
|
308
|
+
}
|
|
309
|
+
return session;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/bridge/acp/server.ts"],"names":[],"mappings":"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"}
|