@namzu/sdk 27.1.0 → 29.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 +1757 -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 -6
- 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 -16
- 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 +107 -36
- 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/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 +46 -46
- package/dist/contracts/api.d.ts +12 -1
- package/dist/contracts/api.d.ts.map +1 -1
- 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 +77 -15
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +168 -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.map +1 -1
- package/dist/registry/tool/execute.js +15 -12
- 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.map +1 -1
- package/dist/registry/tool/screen.js +12 -11
- package/dist/registry/tool/screen.js.map +1 -1
- 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.map +1 -1
- package/dist/runtime/query/guardrail-presets.js +11 -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 +124 -16
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +372 -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 +8 -4
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +8 -9
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/index.d.ts +1 -1
- package/dist/session/handoff/index.d.ts.map +1 -1
- package/dist/session/handoff/index.js +1 -1
- package/dist/session/handoff/index.js.map +1 -1
- package/dist/session/handoff/single.d.ts +11 -7
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +5 -11
- 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 +39 -19
- package/dist/session/migration/id-prefix.d.ts.map +1 -1
- package/dist/session/migration/id-prefix.js +43 -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 +13 -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/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 +19 -3
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +31 -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 +13 -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/{verification → authorization}/index.d.ts +68 -12
- package/dist/types/authorization/index.d.ts.map +1 -0
- package/dist/types/authorization/index.js +99 -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 +11 -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 +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 +83 -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 +8 -8
- 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 +23 -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 +1 -1
- package/dist/types/session/ids.d.ts.map +1 -1
- package/dist/types/session/index.d.ts +2 -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 +44 -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 +175 -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 +82 -2
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +104 -4
- 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 -14
- package/src/agents/RouterAgent.ts +33 -21
- package/src/agents/SupervisorAgent.ts +46 -28
- 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/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/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 +15 -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 +371 -18
- 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 +15 -12
- package/src/registry/tool/presentation.ts +116 -0
- package/src/registry/tool/screen.ts +12 -11
- 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 +11 -14
- package/src/runtime/query/guardrails.ts +16 -12
- package/src/runtime/query/index.ts +539 -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 +16 -12
- package/src/session/handoff/index.ts +1 -1
- package/src/session/handoff/single.ts +16 -17
- package/src/session/migration/filesystem.ts +46 -2
- package/src/session/migration/id-prefix.ts +47 -22
- package/src/session/migration/index.ts +5 -2
- package/src/session/migration/marker.ts +19 -4
- package/src/session/retention/archive.ts +19 -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 +22 -3
- package/src/types/agent/{gateway.ts → scheduler.ts} +30 -4
- package/src/types/agent/supervisor.ts +15 -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 +69 -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 +17 -2
- package/src/types/connector/mcp.ts +8 -0
- package/src/types/guardrail/index.ts +1 -1
- package/src/types/hitl/policy.ts +83 -0
- package/src/types/ids/brand.ts +58 -0
- package/src/types/ids/index.ts +94 -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 +24 -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 +1 -1
- package/src/types/session/index.ts +1 -1
- package/src/types/session/store.ts +53 -22
- package/src/types/session/sub-session.ts +45 -16
- package/src/types/skills/index.ts +50 -0
- package/src/types/tool/index.ts +156 -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 +163 -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.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
package/src/plugin/lifecycle.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { pathToFileURL } from 'node:url'
|
|
2
|
+
import type { ConfigRegistry } from '../config/registry.js'
|
|
2
3
|
import { mcpToolToToolDefinition } from '../connector/mcp/adapter.js'
|
|
3
4
|
import { MCPClient } from '../connector/mcp/client.js'
|
|
4
5
|
import { MCPToolDiscovery } from '../connector/mcp/discovery.js'
|
|
5
6
|
import type { MCPToolDiscoveryOptions } from '../connector/mcp/discovery.js'
|
|
6
7
|
import type { MCPToolPolicy } from '../connector/mcp/policy.js'
|
|
7
8
|
import { mcpPromptToToolDefinition } from '../connector/mcp/prompt-adapter.js'
|
|
9
|
+
import { MCPReconnectOptionsSchema, MCPReconnectSupervisor } from '../connector/mcp/reconnect.js'
|
|
8
10
|
import {
|
|
9
11
|
DEFAULT_HOOK_PRIORITY,
|
|
10
12
|
HOOK_TIMEOUT_MS,
|
|
11
13
|
PLUGIN_NAMESPACE_SEPARATOR,
|
|
12
14
|
} from '../constants/plugin/index.js'
|
|
15
|
+
import { GENAI } from '../constants/telemetry/index.js'
|
|
13
16
|
import type { PluginRegistry } from '../registry/plugin/index.js'
|
|
17
|
+
import { loadSkill } from '../skills/loader.js'
|
|
18
|
+
import type { SkillRegistry } from '../skills/registry.js'
|
|
14
19
|
import { resolveWithinReal } from '../tools/paths.js'
|
|
15
20
|
import type { PluginId } from '../types/ids/index.js'
|
|
16
21
|
import type {
|
|
@@ -28,19 +33,52 @@ import type { RunEvent } from '../types/run/index.js'
|
|
|
28
33
|
import type { ToolDefinition, ToolRegistryContract } from '../types/tool/index.js'
|
|
29
34
|
import { toErrorMessage } from '../utils/error.js'
|
|
30
35
|
import { generatePluginId } from '../utils/id.js'
|
|
36
|
+
import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
|
|
31
37
|
import type { Logger } from '../utils/logger.js'
|
|
32
38
|
import { assertEnableable, loadPluginManifest } from './loader.js'
|
|
33
39
|
|
|
34
40
|
interface PluginContributionRecord {
|
|
35
41
|
toolNames: string[]
|
|
36
42
|
mcpClients: MCPClient[]
|
|
43
|
+
/** Namespaced skill names, so rollback and disable can take them back. */
|
|
44
|
+
skillNames: string[]
|
|
45
|
+
/**
|
|
46
|
+
* One per client, held so teardown can stop them.
|
|
47
|
+
*
|
|
48
|
+
* A supervisor still attached when `disconnect()` runs reads the teardown
|
|
49
|
+
* as a fault and reconnects what was just closed — the lifecycle event
|
|
50
|
+
* cannot tell a deliberate disconnect from a dropped transport. Keeping
|
|
51
|
+
* them here is what makes the required stop-then-disconnect ordering
|
|
52
|
+
* possible at all.
|
|
53
|
+
*/
|
|
54
|
+
mcpSupervisors: MCPReconnectSupervisor[]
|
|
37
55
|
}
|
|
38
56
|
|
|
39
57
|
export interface PluginLifecycleManagerConfig {
|
|
40
58
|
pluginRegistry: PluginRegistry
|
|
41
59
|
toolRegistry: ToolRegistryContract
|
|
60
|
+
/**
|
|
61
|
+
* Where a plugin's declared skills land.
|
|
62
|
+
*
|
|
63
|
+
* Optional, and its absence is enforced rather than tolerated: a
|
|
64
|
+
* manifest that declares skills is REFUSED when this is missing, the
|
|
65
|
+
* same way it was refused before the manifest path existed. Accepting it
|
|
66
|
+
* and dropping the skills would produce a plugin reporting `enabled`
|
|
67
|
+
* that contributes nothing its author declared.
|
|
68
|
+
*/
|
|
69
|
+
skillRegistry?: SkillRegistry
|
|
42
70
|
log: Logger
|
|
43
71
|
hookTimeoutMs?: number
|
|
72
|
+
/**
|
|
73
|
+
* Where each MCP server's reconnect policy is registered, so an operator
|
|
74
|
+
* can retune it while a run is live.
|
|
75
|
+
*
|
|
76
|
+
* Optional, and its absence is not a degraded mode: without one the
|
|
77
|
+
* supervisor uses its own defaults, which is what it did before this
|
|
78
|
+
* existed. What a registry buys is the ability to change them without
|
|
79
|
+
* restarting the process — see `config/registry.ts`.
|
|
80
|
+
*/
|
|
81
|
+
configRegistry?: ConfigRegistry
|
|
44
82
|
|
|
45
83
|
/**
|
|
46
84
|
* What each MCP server a plugin brings is allowed to contribute, keyed by
|
|
@@ -84,6 +122,7 @@ export class PluginLifecycleManager {
|
|
|
84
122
|
> = new Map()
|
|
85
123
|
private pluginContributions: Map<PluginId, PluginContributionRecord> = new Map()
|
|
86
124
|
private hookTimeoutMs: number
|
|
125
|
+
private readonly configRegistry: ConfigRegistry | undefined
|
|
87
126
|
private log: Logger
|
|
88
127
|
/**
|
|
89
128
|
* The admission boundary for everything a plugin's MCP servers advertise.
|
|
@@ -101,11 +140,15 @@ export class PluginLifecycleManager {
|
|
|
101
140
|
*/
|
|
102
141
|
private mcpDiscovery: MCPToolDiscovery
|
|
103
142
|
|
|
143
|
+
private readonly skillRegistry: SkillRegistry | undefined
|
|
144
|
+
|
|
104
145
|
constructor(config: PluginLifecycleManagerConfig) {
|
|
105
146
|
this.pluginRegistry = config.pluginRegistry
|
|
106
147
|
this.toolRegistry = config.toolRegistry
|
|
148
|
+
this.skillRegistry = config.skillRegistry
|
|
107
149
|
this.hookTimeoutMs = config.hookTimeoutMs ?? HOOK_TIMEOUT_MS
|
|
108
|
-
this.
|
|
150
|
+
this.configRegistry = config.configRegistry
|
|
151
|
+
this.log = config.log.child({ [SCOPE_ATTRIBUTE]: 'plugin/lifecycle' })
|
|
109
152
|
this.mcpDiscovery = new MCPToolDiscovery([], {
|
|
110
153
|
...(config.mcpToolPolicies ? { policies: config.mcpToolPolicies } : {}),
|
|
111
154
|
...(config.onMCPToolDrift ? { onDrift: config.onMCPToolDrift } : {}),
|
|
@@ -178,10 +221,11 @@ export class PluginLifecycleManager {
|
|
|
178
221
|
scope,
|
|
179
222
|
})
|
|
180
223
|
|
|
181
|
-
this.log.info(
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
224
|
+
this.log.info('Plugin installed', {
|
|
225
|
+
'namzu.plugin.name': manifest.name,
|
|
226
|
+
'namzu.plugin.id': pluginId,
|
|
227
|
+
'namzu.plugin.scope': scope,
|
|
228
|
+
'namzu.plugin.version': manifest.version,
|
|
185
229
|
})
|
|
186
230
|
|
|
187
231
|
return definition
|
|
@@ -206,13 +250,18 @@ export class PluginLifecycleManager {
|
|
|
206
250
|
// `installed`: a status that says the plugin is fine while it can
|
|
207
251
|
// never enable is how the next reader gets misled.
|
|
208
252
|
try {
|
|
209
|
-
assertEnableable(manifest)
|
|
253
|
+
assertEnableable(manifest, { skillsSupported: Boolean(this.skillRegistry) })
|
|
210
254
|
} catch (err) {
|
|
211
255
|
this.pluginRegistry.register({ ...plugin, status: 'error' })
|
|
212
256
|
throw err
|
|
213
257
|
}
|
|
214
258
|
|
|
215
|
-
const contributions: PluginContributionRecord = {
|
|
259
|
+
const contributions: PluginContributionRecord = {
|
|
260
|
+
toolNames: [],
|
|
261
|
+
mcpClients: [],
|
|
262
|
+
skillNames: [],
|
|
263
|
+
mcpSupervisors: [],
|
|
264
|
+
}
|
|
216
265
|
|
|
217
266
|
try {
|
|
218
267
|
// Load tools
|
|
@@ -237,6 +286,33 @@ export class PluginLifecycleManager {
|
|
|
237
286
|
}
|
|
238
287
|
}
|
|
239
288
|
|
|
289
|
+
// Load skills. Namespaced like tools, and for the same reason: two
|
|
290
|
+
// plugins shipping `reconcile` would otherwise overwrite each
|
|
291
|
+
// other in a Map keyed by the frontmatter name, and the loser
|
|
292
|
+
// would vanish with nothing reporting it.
|
|
293
|
+
if (manifest.skills && manifest.skills.length > 0) {
|
|
294
|
+
const skillRegistry = this.skillRegistry
|
|
295
|
+
if (!skillRegistry) {
|
|
296
|
+
// Unreachable via `enable` — `assertEnableable` above refuses
|
|
297
|
+
// first — and kept because this method is also the one a
|
|
298
|
+
// future caller reaches directly. A silent skip here would
|
|
299
|
+
// be the exact failure that check exists to prevent.
|
|
300
|
+
throw new Error(
|
|
301
|
+
`Plugin "${manifest.name}" declares skills but no SkillRegistry is configured.`,
|
|
302
|
+
)
|
|
303
|
+
}
|
|
304
|
+
for (const skillPath of manifest.skills) {
|
|
305
|
+
const absolutePath = await resolveWithinReal(plugin.rootDir, skillPath)
|
|
306
|
+
const { skill } = await loadSkill(absolutePath, 'metadata', this.log)
|
|
307
|
+
const namespacedName = manifest.name + PLUGIN_NAMESPACE_SEPARATOR + skill.metadata.name
|
|
308
|
+
skillRegistry.add(namespacedName, {
|
|
309
|
+
...skill,
|
|
310
|
+
metadata: { ...skill.metadata, name: namespacedName },
|
|
311
|
+
})
|
|
312
|
+
contributions.skillNames.push(namespacedName)
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
240
316
|
// Load hooks
|
|
241
317
|
if (manifest.hooks && manifest.hooks.length > 0) {
|
|
242
318
|
for (const hookPath of manifest.hooks) {
|
|
@@ -282,10 +358,16 @@ export class PluginLifecycleManager {
|
|
|
282
358
|
name: manifest.name,
|
|
283
359
|
})
|
|
284
360
|
|
|
285
|
-
this.log.info(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
361
|
+
this.log.info('Plugin enabled', {
|
|
362
|
+
// Every key namespaced, not just the newest one. Adding a bare
|
|
363
|
+
// `skillCount` beside bare neighbours would have moved the
|
|
364
|
+
// log-standard ratchet the wrong way for the sake of matching
|
|
365
|
+
// prose that is itself the debt.
|
|
366
|
+
'namzu.plugin.id': pluginId,
|
|
367
|
+
'namzu.plugin.name': manifest.name,
|
|
368
|
+
'namzu.plugin.tool_count': contributions.toolNames.length,
|
|
369
|
+
'namzu.plugin.skill_count': contributions.skillNames.length,
|
|
370
|
+
'namzu.plugin.mcp_server_count': contributions.mcpClients.length,
|
|
289
371
|
})
|
|
290
372
|
}
|
|
291
373
|
|
|
@@ -302,11 +384,36 @@ export class PluginLifecycleManager {
|
|
|
302
384
|
args: config.args ? [...config.args] : undefined,
|
|
303
385
|
env: config.env ? { ...config.env } : undefined,
|
|
304
386
|
},
|
|
387
|
+
logger: this.log,
|
|
305
388
|
})
|
|
306
389
|
|
|
307
390
|
await client.connect()
|
|
308
391
|
contributions.mcpClients.push(client)
|
|
309
392
|
|
|
393
|
+
// Watched from here on. `connect()` above is the only attempt anything
|
|
394
|
+
// made: `transport.onClose` marked the client disconnected and rejected
|
|
395
|
+
// its pending calls, and nothing scheduled another try — so one blip
|
|
396
|
+
// took this plugin's tools out for the life of the process while the
|
|
397
|
+
// plugin went on reporting as enabled.
|
|
398
|
+
// The policy is read from the registry on EVERY attempt, not captured
|
|
399
|
+
// here. That is what makes the seam live: raising `maxAttempts` during
|
|
400
|
+
// an outage takes effect on the retry that is already running, which is
|
|
401
|
+
// the moment an operator actually reaches for it.
|
|
402
|
+
//
|
|
403
|
+
// Namespaced per server rather than globally, because two plugins'
|
|
404
|
+
// servers fail differently — one behind a flaky proxy wants patience,
|
|
405
|
+
// one behind a crash loop wants to give up and say so.
|
|
406
|
+
const policyScope = this.configRegistry?.register(
|
|
407
|
+
`mcp.${config.name}`,
|
|
408
|
+
MCPReconnectOptionsSchema,
|
|
409
|
+
)
|
|
410
|
+
const supervisor = new MCPReconnectSupervisor(
|
|
411
|
+
client,
|
|
412
|
+
policyScope ? () => policyScope.get() : {},
|
|
413
|
+
)
|
|
414
|
+
supervisor.start()
|
|
415
|
+
contributions.mcpSupervisors.push(supervisor)
|
|
416
|
+
|
|
310
417
|
// Through the boundary, not around it. This used to call
|
|
311
418
|
// `client.listTools()` and register everything the server answered
|
|
312
419
|
// with, so the remote side decided what entered the agent's registry
|
|
@@ -346,18 +453,28 @@ export class PluginLifecycleManager {
|
|
|
346
453
|
this.toolRegistry.unregister(name)
|
|
347
454
|
} catch (unregErr) {
|
|
348
455
|
this.log.warn('Rollback: tool unregister failed', {
|
|
349
|
-
|
|
350
|
-
|
|
456
|
+
[GENAI.TOOL_NAME]: name,
|
|
457
|
+
'exception.message': toErrorMessage(unregErr),
|
|
351
458
|
})
|
|
352
459
|
}
|
|
353
460
|
}
|
|
461
|
+
for (const name of contributions.skillNames) {
|
|
462
|
+
// No try/catch: `unregister` is a Map delete and cannot throw.
|
|
463
|
+
// Wrapping it would suggest a failure mode that does not exist.
|
|
464
|
+
this.skillRegistry?.unregister(name)
|
|
465
|
+
}
|
|
466
|
+
// Stop supervising BEFORE disconnecting. The lifecycle event a
|
|
467
|
+
// deliberate disconnect emits is the same one a dropped transport
|
|
468
|
+
// emits, so a still-attached supervisor would reconnect what this
|
|
469
|
+
// rollback just closed.
|
|
470
|
+
for (const supervisor of contributions.mcpSupervisors) supervisor.stop()
|
|
354
471
|
for (const client of contributions.mcpClients) {
|
|
355
472
|
try {
|
|
356
473
|
await client.disconnect()
|
|
357
474
|
} catch (discErr) {
|
|
358
475
|
this.log.warn('Rollback: MCP disconnect failed', {
|
|
359
|
-
|
|
360
|
-
|
|
476
|
+
'namzu.mcp.client_id': client.id,
|
|
477
|
+
'exception.message': toErrorMessage(discErr),
|
|
361
478
|
})
|
|
362
479
|
}
|
|
363
480
|
}
|
|
@@ -383,16 +500,21 @@ export class PluginLifecycleManager {
|
|
|
383
500
|
const contributions = this.pluginContributions.get(pluginId) ?? {
|
|
384
501
|
toolNames: [],
|
|
385
502
|
mcpClients: [],
|
|
503
|
+
skillNames: [],
|
|
504
|
+
mcpSupervisors: [],
|
|
386
505
|
}
|
|
387
506
|
|
|
507
|
+
// Stop supervising first, for the same reason as the rollback path: the
|
|
508
|
+
// disconnect below emits the event the supervisor treats as a fault.
|
|
509
|
+
for (const supervisor of contributions.mcpSupervisors) supervisor.stop()
|
|
388
510
|
// Disconnect MCP clients first so no new tool calls can reach them mid-teardown.
|
|
389
511
|
for (const client of contributions.mcpClients) {
|
|
390
512
|
try {
|
|
391
513
|
await client.disconnect()
|
|
392
514
|
} catch (err) {
|
|
393
515
|
this.log.warn('MCP client disconnect failed during disable', {
|
|
394
|
-
|
|
395
|
-
|
|
516
|
+
'namzu.mcp.client_id': client.id,
|
|
517
|
+
'exception.message': toErrorMessage(err),
|
|
396
518
|
})
|
|
397
519
|
}
|
|
398
520
|
}
|
|
@@ -402,6 +524,14 @@ export class PluginLifecycleManager {
|
|
|
402
524
|
this.toolRegistry.unregister(name)
|
|
403
525
|
}
|
|
404
526
|
|
|
527
|
+
// And its skills. A disabled plugin whose skills stayed registered
|
|
528
|
+
// would keep offering the model instructions from something the
|
|
529
|
+
// runtime has switched off, which is worse than a stale tool: a tool
|
|
530
|
+
// call would at least fail, and a skill is followed silently.
|
|
531
|
+
for (const name of contributions.skillNames) {
|
|
532
|
+
this.skillRegistry?.unregister(name)
|
|
533
|
+
}
|
|
534
|
+
|
|
405
535
|
// Remove hook handlers for this plugin
|
|
406
536
|
for (const [event, handlers] of this.hookHandlers) {
|
|
407
537
|
const filtered = handlers.filter((h) => h.pluginId !== pluginId)
|
|
@@ -428,7 +558,10 @@ export class PluginLifecycleManager {
|
|
|
428
558
|
name: plugin.manifest.name,
|
|
429
559
|
})
|
|
430
560
|
|
|
431
|
-
this.log.info(
|
|
561
|
+
this.log.info('Plugin disabled', {
|
|
562
|
+
'namzu.plugin.name': plugin.manifest.name,
|
|
563
|
+
'namzu.plugin.id': pluginId,
|
|
564
|
+
})
|
|
432
565
|
}
|
|
433
566
|
|
|
434
567
|
async uninstall(pluginId: PluginId): Promise<void> {
|
|
@@ -446,7 +579,10 @@ export class PluginLifecycleManager {
|
|
|
446
579
|
name: plugin.manifest.name,
|
|
447
580
|
})
|
|
448
581
|
|
|
449
|
-
this.log.info(
|
|
582
|
+
this.log.info('Plugin uninstalled', {
|
|
583
|
+
'namzu.plugin.name': plugin.manifest.name,
|
|
584
|
+
'namzu.plugin.id': pluginId,
|
|
585
|
+
})
|
|
450
586
|
}
|
|
451
587
|
|
|
452
588
|
async executeHooks(
|
|
@@ -576,7 +712,7 @@ export class PluginLifecycleManager {
|
|
|
576
712
|
listener(event)
|
|
577
713
|
} catch (err) {
|
|
578
714
|
this.log.error('Plugin event listener error', {
|
|
579
|
-
|
|
715
|
+
'exception.message': toErrorMessage(err),
|
|
580
716
|
})
|
|
581
717
|
}
|
|
582
718
|
}
|
package/src/plugin/loader.ts
CHANGED
|
@@ -7,15 +7,27 @@ import {
|
|
|
7
7
|
USER_PLUGIN_DIR,
|
|
8
8
|
} from '../constants/plugin/index.js'
|
|
9
9
|
import { type PluginManifest, PluginManifestSchema } from '../types/plugin/index.js'
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
const logger = getRootLogger().child({ component: 'PluginLoader' })
|
|
10
|
+
import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
|
|
11
|
+
import { type Logger, resolveLogger } from '../utils/logger.js'
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Scans a directory for subdirectories containing a plugin manifest.
|
|
16
15
|
* Returns an array of absolute paths to plugin directories.
|
|
17
16
|
*/
|
|
18
|
-
export async function discoverPlugins(parentDir: string): Promise<string[]> {
|
|
17
|
+
export async function discoverPlugins(parentDir: string, log?: Logger): Promise<string[]> {
|
|
18
|
+
// Resolved here, not at module scope. A module-scope
|
|
19
|
+
// `getRootLogger().child(...)` ran once, at import time — before any
|
|
20
|
+
// host's `configureLogger()` call had a chance to run — and `child()`
|
|
21
|
+
// bakes `minLevel` into the closure `log()` reads from forever after
|
|
22
|
+
// (`utils/logger.ts`), so whatever level was live at that one moment
|
|
23
|
+
// was permanent. `configureLogger` replaces the `_rootLogger` binding
|
|
24
|
+
// rather than mutating the object it points at, so caching the CHILD
|
|
25
|
+
// (as this loader did) survives no later call at all — including the
|
|
26
|
+
// CLI's own `configureLogger({ level: 'silent' })`.
|
|
27
|
+
//
|
|
28
|
+
// `log`, when a caller has one, wins over the process default — LOG-10:
|
|
29
|
+
// this was the module's own remaining getRootLogger() call site.
|
|
30
|
+
const logger = resolveLogger(log).child({ [SCOPE_ATTRIBUTE]: 'plugin/loader' })
|
|
19
31
|
const dirs: string[] = []
|
|
20
32
|
|
|
21
33
|
try {
|
|
@@ -31,7 +43,7 @@ export async function discoverPlugins(parentDir: string): Promise<string[]> {
|
|
|
31
43
|
// directory listed is not the directory loaded.
|
|
32
44
|
const s = await lstat(fullPath)
|
|
33
45
|
if (s.isSymbolicLink()) {
|
|
34
|
-
logger.warn('Refusing a symlinked plugin directory', { path: fullPath })
|
|
46
|
+
logger.warn('Refusing a symlinked plugin directory', { 'namzu.plugin.path': fullPath })
|
|
35
47
|
continue
|
|
36
48
|
}
|
|
37
49
|
if (!s.isDirectory()) continue
|
|
@@ -45,7 +57,7 @@ export async function discoverPlugins(parentDir: string): Promise<string[]> {
|
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
} catch {
|
|
48
|
-
logger.debug('Plugins directory not found', { parentDir })
|
|
60
|
+
logger.debug('Plugins directory not found', { 'namzu.plugin.parent_dir': parentDir })
|
|
49
61
|
}
|
|
50
62
|
|
|
51
63
|
return dirs
|
|
@@ -72,7 +84,18 @@ export async function loadPluginManifest(pluginDir: string): Promise<PluginManif
|
|
|
72
84
|
* shipping four tools and one skill validated clean, installed clean, and
|
|
73
85
|
* contributed zero tools. The refusal was right; its position was not.
|
|
74
86
|
*/
|
|
75
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Contribution types the runtime can enable only when the host supplies the
|
|
89
|
+
* registry they land in.
|
|
90
|
+
*
|
|
91
|
+
* `skills` moved here from the flat unsupported list once the manifest path
|
|
92
|
+
* into `SkillRegistry` existed. It is still refused when there is no
|
|
93
|
+
* registry — and refused rather than dropped, because a plugin whose skills
|
|
94
|
+
* silently vanished would report `enabled` and contribute nothing the
|
|
95
|
+
* author declared, which is the same lie the wholesale refusal was written
|
|
96
|
+
* to prevent.
|
|
97
|
+
*/
|
|
98
|
+
const REGISTRY_BACKED_CONTRIBUTIONS = ['skills'] as const
|
|
76
99
|
|
|
77
100
|
/**
|
|
78
101
|
* Refuse a manifest whose contributions can never be enabled.
|
|
@@ -88,9 +111,32 @@ const UNSUPPORTED_CONTRIBUTIONS = ['skills', 'connectors', 'personas'] as const
|
|
|
88
111
|
* through host configuration; what does not exist is the manifest path
|
|
89
112
|
* into them. Naming the types is what makes that actionable.
|
|
90
113
|
*/
|
|
91
|
-
export
|
|
114
|
+
export interface EnableableOptions {
|
|
115
|
+
/**
|
|
116
|
+
* Whether the host wired a `SkillRegistry`.
|
|
117
|
+
*
|
|
118
|
+
* Defaults to `false`, which keeps the previous behaviour for every
|
|
119
|
+
* caller that has not been updated: a manifest declaring skills is
|
|
120
|
+
* refused. The check cannot default the other way — a host that never
|
|
121
|
+
* supplied a registry would then install a plugin whose skills go
|
|
122
|
+
* nowhere.
|
|
123
|
+
*/
|
|
124
|
+
readonly skillsSupported?: boolean
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export function assertEnableable(manifest: PluginManifest, opts: EnableableOptions = {}): void {
|
|
92
128
|
const record = manifest as unknown as Record<string, unknown[] | undefined>
|
|
93
|
-
|
|
129
|
+
// One ordered pass over all three rather than two group filters
|
|
130
|
+
// concatenated, so the message keeps naming them in the order the
|
|
131
|
+
// manifest declares them. Two groups would list `connectors, personas,
|
|
132
|
+
// skills`, which reads as though the grouping were the point rather than
|
|
133
|
+
// an implementation detail of which registry each one needs.
|
|
134
|
+
const enableable = (key: string): boolean =>
|
|
135
|
+
opts.skillsSupported === true &&
|
|
136
|
+
(REGISTRY_BACKED_CONTRIBUTIONS as readonly string[]).includes(key)
|
|
137
|
+
const unsupported = ['skills', 'connectors', 'personas'].filter(
|
|
138
|
+
(key) => Boolean(record[key]?.length) && !enableable(key),
|
|
139
|
+
)
|
|
94
140
|
if (unsupported.length === 0) return
|
|
95
141
|
|
|
96
142
|
throw new Error(
|
|
@@ -114,6 +160,8 @@ export interface PluginDiscoveryOptions {
|
|
|
114
160
|
readonly autoDiscovery?: boolean
|
|
115
161
|
/** Which locations may be scanned. Absent means both. */
|
|
116
162
|
readonly allowedScopes?: readonly PluginScope[]
|
|
163
|
+
/** Threaded into both `discoverPlugins` calls below. */
|
|
164
|
+
readonly log?: Logger
|
|
117
165
|
}
|
|
118
166
|
|
|
119
167
|
/**
|
|
@@ -144,10 +192,13 @@ export async function discoverAllPluginDirs(
|
|
|
144
192
|
workingDirectory?: string,
|
|
145
193
|
options?: PluginDiscoveryOptions,
|
|
146
194
|
): Promise<{ project: string[]; user: string[] }> {
|
|
195
|
+
// Resolved here too — see discoverPlugins above for why module scope
|
|
196
|
+
// froze this logger's level, and its very reference, at import time.
|
|
197
|
+
const logger = resolveLogger(options?.log).child({ [SCOPE_ATTRIBUTE]: 'plugin/loader' })
|
|
147
198
|
if (options?.enabled === false || options?.autoDiscovery === false) {
|
|
148
199
|
logger.debug('Plugin discovery skipped', {
|
|
149
|
-
enabled: options.enabled,
|
|
150
|
-
|
|
200
|
+
'namzu.plugin.enabled': options.enabled,
|
|
201
|
+
'namzu.plugin.auto_discovery': options.autoDiscovery,
|
|
151
202
|
})
|
|
152
203
|
return { project: [], user: [] }
|
|
153
204
|
}
|
|
@@ -161,14 +212,14 @@ export async function discoverAllPluginDirs(
|
|
|
161
212
|
const userDir = join(homedir(), USER_PLUGIN_DIR)
|
|
162
213
|
|
|
163
214
|
const [project, user] = await Promise.all([
|
|
164
|
-
mayScan('project') ? discoverPlugins(projectDir) : Promise.resolve([]),
|
|
165
|
-
mayScan('user') ? discoverPlugins(userDir) : Promise.resolve([]),
|
|
215
|
+
mayScan('project') ? discoverPlugins(projectDir, options?.log) : Promise.resolve([]),
|
|
216
|
+
mayScan('user') ? discoverPlugins(userDir, options?.log) : Promise.resolve([]),
|
|
166
217
|
])
|
|
167
218
|
|
|
168
219
|
logger.debug('Plugin discovery complete', {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
...(scopes ? {
|
|
220
|
+
'namzu.plugin.project_count': project.length,
|
|
221
|
+
'namzu.plugin.user_count': user.length,
|
|
222
|
+
...(scopes ? { 'namzu.plugin.allowed_scopes': scopes } : {}),
|
|
172
223
|
})
|
|
173
224
|
|
|
174
225
|
return { project, user }
|
package/src/probe/index.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { ProbeNameCollisionError, ProbeVetoError } from './errors.js'
|
|
|
2
2
|
export { buildProbeContext } from './context.js'
|
|
3
3
|
export type { ProbeContextInput } from './context.js'
|
|
4
4
|
export { ProbeRegistry, createProbeRegistry, probe } from './registry.js'
|
|
5
|
+
export type { ProbeEnforcement, ProbeObservation } from './registry.js'
|
package/src/probe/registry.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type {
|
|
|
11
11
|
VetoOutcome,
|
|
12
12
|
VetoableEventKind,
|
|
13
13
|
} from '../types/probe/index.js'
|
|
14
|
+
import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
|
|
14
15
|
import type { Logger } from '../utils/logger.js'
|
|
15
16
|
|
|
16
17
|
import { ProbeNameCollisionError } from './errors.js'
|
|
@@ -79,7 +80,42 @@ function removeEntry(list: ProbeEntry[], entry: ProbeEntry): void {
|
|
|
79
80
|
if (idx >= 0) list.splice(idx, 1)
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
/**
|
|
84
|
+
* The observation half: watch, and record what you saw.
|
|
85
|
+
*
|
|
86
|
+
* Split from the enforcement half because `ProbeRegistry` was described,
|
|
87
|
+
* in the SDK's own barrel, as "typed observation" — which is true of these
|
|
88
|
+
* four methods and false of the two below. A registered veto handler can
|
|
89
|
+
* DENY a tool call, and `runtime/query/executor.ts` turns that denial into
|
|
90
|
+
* a failed `tool_result`. That is the third of the three gates on a tool
|
|
91
|
+
* call, not telemetry.
|
|
92
|
+
*
|
|
93
|
+
* A consumer that wants telemetry had no way to say so: `ProbeRegistry`
|
|
94
|
+
* was the only export, so accepting one meant accepting the power to
|
|
95
|
+
* refuse. These two interfaces are what let a signature say which half it
|
|
96
|
+
* needs, and the class implements both unchanged.
|
|
97
|
+
*/
|
|
98
|
+
export interface ProbeObservation {
|
|
99
|
+
setLogger(log: Logger): void
|
|
100
|
+
on: ProbeRegistry['on']
|
|
101
|
+
onAny: ProbeRegistry['onAny']
|
|
102
|
+
dispatch: ProbeRegistry['dispatch']
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* The enforcement half: refuse, and make the refusal the outcome.
|
|
107
|
+
*
|
|
108
|
+
* `veto` registers a handler that can deny; `queryVeto` asks the
|
|
109
|
+
* registered handlers and returns their verdict. A caller holding only
|
|
110
|
+
* this cannot observe, and a caller holding only {@link ProbeObservation}
|
|
111
|
+
* cannot refuse.
|
|
112
|
+
*/
|
|
113
|
+
export interface ProbeEnforcement {
|
|
114
|
+
veto: ProbeRegistry['veto']
|
|
115
|
+
queryVeto: ProbeRegistry['queryVeto']
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export class ProbeRegistry implements ProbeObservation, ProbeEnforcement {
|
|
83
119
|
private readonly typedByKind: Map<ProbeEventKind, ProbeEntry[]> = new Map()
|
|
84
120
|
private readonly vetoByKind: Map<VetoableEventKind, VetoEntry[]> = new Map()
|
|
85
121
|
private readonly catchAll: ProbeEntry[] = []
|
|
@@ -88,7 +124,7 @@ export class ProbeRegistry {
|
|
|
88
124
|
private log?: Logger
|
|
89
125
|
|
|
90
126
|
setLogger(log: Logger): void {
|
|
91
|
-
this.log = log.child({
|
|
127
|
+
this.log = log.child({ [SCOPE_ATTRIBUTE]: 'probe/registry' })
|
|
92
128
|
}
|
|
93
129
|
|
|
94
130
|
on<K extends ProbeEventKind>(
|
|
@@ -282,9 +318,9 @@ export class ProbeRegistry {
|
|
|
282
318
|
private logThrow(probeName: string, eventType: string, error: unknown): void {
|
|
283
319
|
if (!this.log) return
|
|
284
320
|
this.log.error('probe handler threw', {
|
|
285
|
-
probeName,
|
|
286
|
-
eventType,
|
|
287
|
-
|
|
321
|
+
'namzu.probe.probe_name': probeName,
|
|
322
|
+
'namzu.event.type': eventType,
|
|
323
|
+
'exception.message': error instanceof Error ? error.message : String(error),
|
|
288
324
|
})
|
|
289
325
|
}
|
|
290
326
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process'
|
|
2
|
+
import type { spawn } from 'node:child_process'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Signal a spawned child AND everything it forked.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from `sandbox/provider/local.ts` unchanged, because a second
|
|
8
|
+
* caller arrived — the background job registry — and this is not a function
|
|
9
|
+
* anybody should write twice. Every sentence of the reasoning below was
|
|
10
|
+
* paid for by a bug where a cancelled command kept running, and a
|
|
11
|
+
* near-copy would reproduce the bug in the copy.
|
|
12
|
+
*
|
|
13
|
+
* Every caller reaches a real command through `/bin/sh -c "cmd"`, and under
|
|
14
|
+
* the local sandbox's `linux-namespace`/`macos-seatbelt` tiers that shell is
|
|
15
|
+
* wrapped again (`unshare …`/`sandbox-exec … -- /bin/sh -c "cmd"`). Either
|
|
16
|
+
* way, `child.pid` names the OUTERMOST wrapper Node spawned, not `cmd` —
|
|
17
|
+
* signalling only that pid, which is both what `child.kill()` does and what
|
|
18
|
+
* `spawn`'s own `signal` option does internally on abort, reaps the wrapper
|
|
19
|
+
* and leaves `cmd`, and anything it forked, running past both a cancel and a
|
|
20
|
+
* timeout.
|
|
21
|
+
*
|
|
22
|
+
* POSIX: the caller must spawn with `detached: true`, which makes the child
|
|
23
|
+
* the leader of a new process group (pgid === pid) instead of joining this
|
|
24
|
+
* Node process's own. A negative pid signals that whole group in one call.
|
|
25
|
+
* Group membership is a host-kernel fact that a fork()'d descendant inherits
|
|
26
|
+
* from its parent whether or not it — or an ancestor such as `unshare --pid`
|
|
27
|
+
* — subsequently entered a new PID namespace, so this reaches `cmd` and its
|
|
28
|
+
* descendants along with the wrapper itself even under the namespaced
|
|
29
|
+
* isolation tiers.
|
|
30
|
+
*
|
|
31
|
+
* Windows has no process-group id to sign a kill with — `process.kill` with
|
|
32
|
+
* a negative pid there either throws or silently does nothing, depending on
|
|
33
|
+
* the signal — so there is no equivalent single call. The OS's own
|
|
34
|
+
* tree-walk, `taskkill /T`, runs instead. Windows also has no soft-vs-forced
|
|
35
|
+
* distinction the way SIGTERM/SIGKILL do: `child.kill()` there already
|
|
36
|
+
* terminates unconditionally, so `/F` is passed every time this runs,
|
|
37
|
+
* including the post-grace call that follows a POSIX SIGTERM — against an
|
|
38
|
+
* already-dead tree that second call is a deliberate no-op, the same as the
|
|
39
|
+
* POSIX SIGKILL that follows a SIGTERM which already worked.
|
|
40
|
+
*/
|
|
41
|
+
export function killTree(child: ReturnType<typeof spawn>, signal: NodeJS.Signals): void {
|
|
42
|
+
if (!child.pid) return
|
|
43
|
+
try {
|
|
44
|
+
if (process.platform === 'win32') {
|
|
45
|
+
execFileSync('taskkill', ['/pid', String(child.pid), '/t', '/f'], { stdio: 'ignore' })
|
|
46
|
+
} else {
|
|
47
|
+
process.kill(-child.pid, signal)
|
|
48
|
+
}
|
|
49
|
+
} catch {
|
|
50
|
+
// Group (or tree) already gone
|
|
51
|
+
}
|
|
52
|
+
}
|