@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
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
import { requireOpenProject } from '../../manager/project/lifecycle.js'
|
|
25
|
-
import type {
|
|
25
|
+
import type { TopicManager } from '../../manager/topic/lifecycle.js'
|
|
26
26
|
import type { SessionId, TenantId } from '../../types/ids/index.js'
|
|
27
27
|
import type { Session } from '../../types/session/entity.js'
|
|
28
28
|
import type { SubSessionId } from '../../types/session/ids.js'
|
|
@@ -34,7 +34,7 @@ import type { WorkspaceBackendRegistry } from '../workspace/registry.js'
|
|
|
34
34
|
import type { HandoffAssignment, HandoffOutcome } from './assignment.js'
|
|
35
35
|
import type { CapacityValidator } from './capacity.js'
|
|
36
36
|
import type { HandoffEventSink } from './events.js'
|
|
37
|
-
import {
|
|
37
|
+
import type { RunStatusResolver } from './single.js'
|
|
38
38
|
import { HandoffLockRejected, HandoffVersionConflict } from './version.js'
|
|
39
39
|
|
|
40
40
|
export interface BroadcastHandoffDeps {
|
|
@@ -42,13 +42,17 @@ export interface BroadcastHandoffDeps {
|
|
|
42
42
|
workspaceRegistry: WorkspaceBackendRegistry
|
|
43
43
|
capacity: CapacityValidator
|
|
44
44
|
events: HandoffEventSink
|
|
45
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Required, for the reason `SingleHandoffDeps.runStatus` is: the default
|
|
47
|
+
* that used to stand in here reported every session unblocked.
|
|
48
|
+
*/
|
|
49
|
+
runStatus: RunStatusResolver
|
|
46
50
|
/**
|
|
47
51
|
* Gate every recipient-session creation on the Thread being `'open'`.
|
|
48
52
|
* Added in Phase 2.6; checked once per broadcast (all recipients share
|
|
49
53
|
* a threadId by the fan-out invariant validated above).
|
|
50
54
|
*/
|
|
51
|
-
threadManager:
|
|
55
|
+
threadManager: TopicManager
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
/**
|
|
@@ -116,8 +120,8 @@ export async function executeBroadcastHandoff(
|
|
|
116
120
|
if (a.expectedOwnerVersion !== first.expectedOwnerVersion) {
|
|
117
121
|
throw new Error('executeBroadcastHandoff: all assignments must share expectedOwnerVersion')
|
|
118
122
|
}
|
|
119
|
-
if (a.
|
|
120
|
-
throw new Error('executeBroadcastHandoff: all assignments must share
|
|
123
|
+
if (a.topicId !== first.topicId) {
|
|
124
|
+
throw new Error('executeBroadcastHandoff: all assignments must share topicId')
|
|
121
125
|
}
|
|
122
126
|
if (a.projectId !== first.projectId) {
|
|
123
127
|
throw new Error('executeBroadcastHandoff: all assignments must share projectId')
|
|
@@ -143,9 +147,9 @@ export async function executeBroadcastHandoff(
|
|
|
143
147
|
|
|
144
148
|
// Thread archive gate (Phase 2.6) — runs BEFORE source load/capacity so an
|
|
145
149
|
// archived thread fails fastest with `ThreadClosedError`. All assignments
|
|
146
|
-
// share `
|
|
150
|
+
// share `topicId` by the shape validation above. Runs BEFORE the CAS
|
|
147
151
|
// lock so a denied fan-out leaves the source session untouched.
|
|
148
|
-
await deps.threadManager.requireOpen(first.
|
|
152
|
+
await deps.threadManager.requireOpen(first.topicId, tenantId)
|
|
149
153
|
|
|
150
154
|
// 3. Load source + tenant check.
|
|
151
155
|
const source = await deps.store.getSession(first.sourceSessionId, tenantId)
|
|
@@ -158,9 +162,9 @@ export async function executeBroadcastHandoff(
|
|
|
158
162
|
resource: `session(${source.id})`,
|
|
159
163
|
})
|
|
160
164
|
}
|
|
161
|
-
if (source.
|
|
165
|
+
if (source.topicId !== first.topicId) {
|
|
162
166
|
throw new Error(
|
|
163
|
-
`Assignment
|
|
167
|
+
`Assignment topicId ${first.topicId} does not match source topicId ${source.topicId}`,
|
|
164
168
|
)
|
|
165
169
|
}
|
|
166
170
|
if (source.projectId !== first.projectId) {
|
|
@@ -183,7 +187,7 @@ export async function executeBroadcastHandoff(
|
|
|
183
187
|
}
|
|
184
188
|
|
|
185
189
|
// 5. Non-terminal Run fan-in (§5.1).
|
|
186
|
-
const runResolver = deps.runStatus
|
|
190
|
+
const runResolver = deps.runStatus
|
|
187
191
|
const blocking = await runResolver.blockingRun(source.id, tenantId)
|
|
188
192
|
if (blocking) {
|
|
189
193
|
throw new HandoffLockRejected({ sessionId: source.id, reason: blocking.reason })
|
|
@@ -245,7 +249,7 @@ export async function executeBroadcastHandoff(
|
|
|
245
249
|
|
|
246
250
|
const childSession = await deps.store.createSession(
|
|
247
251
|
{
|
|
248
|
-
|
|
252
|
+
topicId: source.topicId,
|
|
249
253
|
projectId: source.projectId,
|
|
250
254
|
currentActor: assignment.recipientActor,
|
|
251
255
|
},
|
|
@@ -22,7 +22,7 @@ export type {
|
|
|
22
22
|
HandoffUnlockedEvent,
|
|
23
23
|
} from './events.js'
|
|
24
24
|
|
|
25
|
-
export { executeSingleHandoff
|
|
25
|
+
export { executeSingleHandoff } from './single.js'
|
|
26
26
|
export type { RunStatusResolver, SingleHandoffDeps } from './single.js'
|
|
27
27
|
|
|
28
28
|
export { executeBroadcastHandoff } from './broadcast.js'
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
import { requireOpenProject } from '../../manager/project/lifecycle.js'
|
|
24
|
-
import type {
|
|
24
|
+
import type { TopicManager } from '../../manager/topic/lifecycle.js'
|
|
25
25
|
import type { SessionId, TenantId } from '../../types/ids/index.js'
|
|
26
26
|
import type { Session } from '../../types/session/entity.js'
|
|
27
27
|
import type { SessionStore } from '../../types/session/store.js'
|
|
@@ -53,25 +53,24 @@ export interface RunStatusResolver {
|
|
|
53
53
|
): Promise<{ reason: 'active_run' | 'pending_hitl' | 'pending_subsession' } | null>
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
/** Null resolver — treats every session as unblocked. Used by tests that do not exercise Run fan-in. */
|
|
57
|
-
export const NOOP_RUN_STATUS_RESOLVER: RunStatusResolver = {
|
|
58
|
-
async blockingRun(): Promise<null> {
|
|
59
|
-
return null
|
|
60
|
-
},
|
|
61
|
-
}
|
|
62
|
-
|
|
63
56
|
export interface SingleHandoffDeps {
|
|
64
57
|
store: SessionStore
|
|
65
58
|
workspaceRegistry: WorkspaceBackendRegistry
|
|
66
59
|
capacity: CapacityValidator
|
|
67
60
|
events: HandoffEventSink
|
|
68
|
-
runStatus?: RunStatusResolver
|
|
69
61
|
/**
|
|
70
|
-
*
|
|
62
|
+
* Required. A caller that genuinely wants no fan-in check supplies their
|
|
63
|
+
* own always-null resolver, deliberately — the default that used to sit
|
|
64
|
+
* here answered `null` for every session, which is a check that cannot
|
|
65
|
+
* fail dressed as a check that ran.
|
|
66
|
+
*/
|
|
67
|
+
runStatus: RunStatusResolver
|
|
68
|
+
/**
|
|
69
|
+
* Gate the recipient-session creation on the Topic being `'open'`.
|
|
71
70
|
* Added in Phase 2.6 to mirror spawn — a handoff into an archived
|
|
72
|
-
*
|
|
71
|
+
* Topic would otherwise undermine `TopicManager.archive`.
|
|
73
72
|
*/
|
|
74
|
-
threadManager:
|
|
73
|
+
threadManager: TopicManager
|
|
75
74
|
}
|
|
76
75
|
|
|
77
76
|
/**
|
|
@@ -97,7 +96,7 @@ export async function executeSingleHandoff(
|
|
|
97
96
|
// fails fastest with `ThreadClosedError` rather than a lock rejection or
|
|
98
97
|
// capacity error. Checked BEFORE the CAS lock so a denied handoff leaves
|
|
99
98
|
// the source session untouched.
|
|
100
|
-
await deps.threadManager.requireOpen(assignment.
|
|
99
|
+
await deps.threadManager.requireOpen(assignment.topicId, tenantId)
|
|
101
100
|
|
|
102
101
|
// 1. Load source session + tenant check.
|
|
103
102
|
const source = await deps.store.getSession(assignment.sourceSessionId, tenantId)
|
|
@@ -110,9 +109,9 @@ export async function executeSingleHandoff(
|
|
|
110
109
|
resource: `session(${source.id})`,
|
|
111
110
|
})
|
|
112
111
|
}
|
|
113
|
-
if (source.
|
|
112
|
+
if (source.topicId !== assignment.topicId) {
|
|
114
113
|
throw new Error(
|
|
115
|
-
`Assignment
|
|
114
|
+
`Assignment topicId ${assignment.topicId} does not match source session topicId ${source.topicId}`,
|
|
116
115
|
)
|
|
117
116
|
}
|
|
118
117
|
if (source.projectId !== assignment.projectId) {
|
|
@@ -131,7 +130,7 @@ export async function executeSingleHandoff(
|
|
|
131
130
|
}
|
|
132
131
|
|
|
133
132
|
// 3. Non-terminal Run fan-in (§5.1).
|
|
134
|
-
const runResolver = deps.runStatus
|
|
133
|
+
const runResolver = deps.runStatus
|
|
135
134
|
const blocking = await runResolver.blockingRun(source.id, tenantId)
|
|
136
135
|
if (blocking) {
|
|
137
136
|
throw new HandoffLockRejected({
|
|
@@ -190,7 +189,7 @@ export async function executeSingleHandoff(
|
|
|
190
189
|
|
|
191
190
|
const recipientSession = await deps.store.createSession(
|
|
192
191
|
{
|
|
193
|
-
|
|
192
|
+
topicId: source.topicId,
|
|
194
193
|
projectId: source.projectId,
|
|
195
194
|
currentActor: assignment.recipientActor,
|
|
196
195
|
},
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Boot-time filesystem re-layout — `.namzu/threads/{thd_X}/` →
|
|
3
3
|
* `.namzu/projects/{prj_legacy_<X>}/sessions/ses_legacy_default/runs/...`.
|
|
4
4
|
*
|
|
5
|
+
* The `thd_X` this module reads off the filesystem is D2 meaning (a), the
|
|
6
|
+
* pre-0.2.0 top-level container — unrelated to and untouched by
|
|
7
|
+
* NZ-TOPIC-04's narrowing of the live Topic layer's id to `top_*`. As of
|
|
8
|
+
* that task `thd_*` means only what this module has always used it to
|
|
9
|
+
* mean; see `session/migration/id-prefix.ts` for the disambiguation.
|
|
10
|
+
*
|
|
5
11
|
* Trigger: first {@link RunContextFactory.build} call per process. The
|
|
6
12
|
* factory invokes {@link DefaultFilesystemMigrator.migrate} before resolving
|
|
7
13
|
* any path so legacy runs are never orphaned by the new layout.
|
|
@@ -41,10 +47,14 @@
|
|
|
41
47
|
|
|
42
48
|
import { mkdir, readdir, rename, stat } from 'node:fs/promises'
|
|
43
49
|
import { join } from 'node:path'
|
|
50
|
+
import { BOOT_EVENT_NAMES } from '../../constants/telemetry/index.js'
|
|
44
51
|
import type { TenantId } from '../../types/ids/index.js'
|
|
45
52
|
import { UNKNOWN_TENANT_ID } from '../../types/ids/index.js'
|
|
46
53
|
import type { ProjectId, SessionId } from '../../types/session/ids.js'
|
|
47
54
|
import { atomicWriteFile } from '../../utils/atomic-write.js'
|
|
55
|
+
import { asProjectId, asSessionId } from '../../utils/id.js'
|
|
56
|
+
import { EVENT_NAME_ATTRIBUTE } from '../../utils/log/types.js'
|
|
57
|
+
import type { Logger } from '../../utils/logger.js'
|
|
48
58
|
import { FilesystemMigrationError } from './errors.js'
|
|
49
59
|
import { acquireMigrationLock, readMarker, releaseMigrationLock, writeMarker } from './marker.js'
|
|
50
60
|
|
|
@@ -53,7 +63,7 @@ import { acquireMigrationLock, readMarker, releaseMigrationLock, writeMarker } f
|
|
|
53
63
|
* Session entity. Every migrated thread collapses into this single session
|
|
54
64
|
* so consumers can still address the runs through the new layout.
|
|
55
65
|
*/
|
|
56
|
-
export const LEGACY_DEFAULT_SESSION_ID = 'ses_legacy_default'
|
|
66
|
+
export const LEGACY_DEFAULT_SESSION_ID = asSessionId('ses_legacy_default')
|
|
57
67
|
|
|
58
68
|
/** Prefix for projects synthesised from legacy `thd_*` folders. */
|
|
59
69
|
export const LEGACY_DEFAULT_PROJECT_PREFIX = 'prj_legacy_'
|
|
@@ -97,6 +107,40 @@ export const NOOP_FILESYSTEM_MIGRATION_SINK: FilesystemMigrationSink = {
|
|
|
97
107
|
emit() {},
|
|
98
108
|
}
|
|
99
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Wires the migration facts `DefaultFilesystemMigrator` already computes —
|
|
112
|
+
* `kind`, `migratedThreads`, `markerPath`, `at` — to a `Logger`, instead of
|
|
113
|
+
* the sink they are thrown at on every real boot today
|
|
114
|
+
* (`NOOP_FILESYSTEM_MIGRATION_SINK`, still `ensureMigrated`'s default — see
|
|
115
|
+
* `runtime/query/context.ts`). A caller opts into this by constructing its
|
|
116
|
+
* own `DefaultFilesystemMigrator(loggingMigrationSink(log))` and passing it
|
|
117
|
+
* to `ensureMigrated`, the way `runtime/query/index.ts` does; nothing here
|
|
118
|
+
* changes what the default migrator does.
|
|
119
|
+
*
|
|
120
|
+
* `FilesystemMigrationSink.emit` is only ever called with
|
|
121
|
+
* `type: 'filesystem.migrated'` (Step 6 in the module doc above) —
|
|
122
|
+
* `already_migrated` and `noop_no_legacy` never reach a sink at all, by the
|
|
123
|
+
* shape of `FilesystemMigrationEvent`. A caller that wants those two logged
|
|
124
|
+
* as well reads them straight off `ensureMigrated`'s resolved
|
|
125
|
+
* `FilesystemMigrationResult`, the way `runtime/query/index.ts` does,
|
|
126
|
+
* rather than this function growing a case the type it wraps cannot
|
|
127
|
+
* produce — widening `FilesystemMigrationEvent` to carry them would be a
|
|
128
|
+
* breaking change to every exhaustive switch already written over it.
|
|
129
|
+
*/
|
|
130
|
+
export function loggingMigrationSink(log: Logger): FilesystemMigrationSink {
|
|
131
|
+
return {
|
|
132
|
+
emit(event) {
|
|
133
|
+
const { result } = event
|
|
134
|
+
log.info('filesystem migration completed', {
|
|
135
|
+
[EVENT_NAME_ATTRIBUTE]: BOOT_EVENT_NAMES.MIGRATION_COMPLETED,
|
|
136
|
+
'namzu.migration.kind': result.kind,
|
|
137
|
+
'namzu.migration.marker_path': result.markerPath,
|
|
138
|
+
'namzu.migration.migrated_thread_count': result.migratedThreads.length,
|
|
139
|
+
})
|
|
140
|
+
},
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
100
144
|
/** Interface so consumers can inject a stub migrator in tests. */
|
|
101
145
|
export interface FilesystemMigrator {
|
|
102
146
|
migrate(rootDir: string): Promise<FilesystemMigrationResult>
|
|
@@ -276,7 +320,7 @@ export class DefaultFilesystemMigrator implements FilesystemMigrator {
|
|
|
276
320
|
})
|
|
277
321
|
}
|
|
278
322
|
|
|
279
|
-
const newProjectId = `${LEGACY_DEFAULT_PROJECT_PREFIX}${suffix}`
|
|
323
|
+
const newProjectId = asProjectId(`${LEGACY_DEFAULT_PROJECT_PREFIX}${suffix}`)
|
|
280
324
|
|
|
281
325
|
const legacyRunsDir = join(threadsDir, legacyThreadId, 'runs')
|
|
282
326
|
const newProjectDir = join(projectsDir, newProjectId)
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ID-prefix migration window — read-side compat for
|
|
2
|
+
* ID-prefix migration window — read-side compat for the pre-0.2.0 top-level
|
|
3
|
+
* `thd_*` container id (D2 meaning (a), ses_020). NZ-TOPIC-04 narrowed the
|
|
4
|
+
* Topic layer's own id (D2 meaning (b)) to `top_*`, so as of this release
|
|
5
|
+
* `thd_*` means ONLY the legacy container everywhere in this codebase — see
|
|
6
|
+
* `types/ids/index.ts` for where the two meanings used to collide.
|
|
3
7
|
*
|
|
4
|
-
* Consumers that touch raw legacy IDs (filesystem migrator,
|
|
5
|
-
* CLI imports) route through {@link
|
|
6
|
-
* signal is structured rather than ad-hoc console output
|
|
8
|
+
* Consumers that touch raw legacy container IDs (the filesystem migrator,
|
|
9
|
+
* wire decoders, CLI imports) route through {@link acceptLegacyContainerId}
|
|
10
|
+
* so the warning signal is structured rather than ad-hoc console output
|
|
11
|
+
* (Convention #18).
|
|
7
12
|
*
|
|
8
13
|
* | Window state | Reader accepts | Writer emits | Legacy read behaviour |
|
|
9
14
|
* |--------------|---------------------|--------------|-------------------------------|
|
|
10
15
|
* | OPEN (now) | `thd_*` AND `prj_*` | `prj_*` only | emits `MigrationWarning` once |
|
|
11
16
|
* | CLOSED | `prj_*` only | `prj_*` only | rejects `StalePrefixError` |
|
|
12
17
|
*
|
|
13
|
-
* The {@link WINDOW_OPEN} constant is the
|
|
14
|
-
*
|
|
15
|
-
*
|
|
18
|
+
* The {@link WINDOW_OPEN} constant is the module-level default for
|
|
19
|
+
* {@link acceptLegacyContainerId}'s `windowOpen` parameter — the single
|
|
20
|
+
* knob that flips this module from soft-accept to hard-reject in
|
|
21
|
+
* production. The writer guard {@link rejectLegacyContainerPrefix} has no
|
|
22
|
+
* such fork: a writer must never emit `thd_*` in EITHER window state (see
|
|
23
|
+
* the table's Writer column, unchanged across both rows), so it takes no
|
|
24
|
+
* `windowOpen` parameter at all — one would be unused, which is its own
|
|
25
|
+
* failure mode (a-check-that-cannot-fail, applied to an argument no less
|
|
26
|
+
* than to a branch). Convention #0: no silent long-lived compat — the
|
|
27
|
+
* window is explicit and fails closed when closed.
|
|
16
28
|
*/
|
|
17
29
|
|
|
18
30
|
import type { ProjectId } from '../../types/session/ids.js'
|
|
31
|
+
import { asProjectId } from '../../utils/id.js'
|
|
19
32
|
|
|
20
33
|
/**
|
|
21
34
|
* Structured event emitted when the reader accepts a legacy `thd_*` ID.
|
|
@@ -58,7 +71,7 @@ export class StalePrefixError extends Error {
|
|
|
58
71
|
constructor(details: { rawId: string; kind: 'thd_rejected' | 'unknown_prefix' }) {
|
|
59
72
|
const reason =
|
|
60
73
|
details.kind === 'thd_rejected'
|
|
61
|
-
? `Stale
|
|
74
|
+
? `Stale legacy container id prefix '${details.rawId.slice(0, 4)}…' — run 'namzu sdk migrate-ids' before 0.3.0`
|
|
62
75
|
: `Unknown ID prefix '${details.rawId.slice(0, 4)}…' — expected 'prj_' or 'thd_'`
|
|
63
76
|
super(reason)
|
|
64
77
|
this.name = 'StalePrefixError'
|
|
@@ -80,28 +93,37 @@ export const WINDOW_OPEN = true
|
|
|
80
93
|
const seenLegacy = new Set<string>()
|
|
81
94
|
|
|
82
95
|
/**
|
|
83
|
-
* Accept-on-read for legacy `thd_*` IDs during the 0.2.x window.
|
|
96
|
+
* Accept-on-read for legacy container `thd_*` IDs during the 0.2.x window.
|
|
84
97
|
*
|
|
85
98
|
* Contract:
|
|
86
99
|
* - `prj_*` inputs return as-is; no warning emitted.
|
|
87
100
|
* - `thd_*` inputs normalize to `prj_<suffix>` and emit a single
|
|
88
101
|
* {@link MigrationWarning} per distinct input string per process.
|
|
89
|
-
* - Everything else
|
|
90
|
-
*
|
|
91
|
-
*
|
|
102
|
+
* - Everything else (including a live `top_*` Topic id — NZ-TOPIC-04)
|
|
103
|
+
* throws {@link StalePrefixError} with `kind: 'unknown_prefix'}`.
|
|
104
|
+
* - `windowOpen` (default {@link WINDOW_OPEN}) is an explicit parameter
|
|
105
|
+
* rather than a read of the module constant so the CLOSED branch below
|
|
106
|
+
* is reachable from a test without mutating shared module state
|
|
107
|
+
* (a-check-that-cannot-fail). When `false`, the `thd_*` branch throws
|
|
108
|
+
* too — single knob, single commit, now also a single argument a test
|
|
109
|
+
* can flip per-call.
|
|
92
110
|
*
|
|
93
111
|
* Testing hook: {@link __resetSeenLegacyForTests} clears the dedup Set so
|
|
94
112
|
* each test starts with a clean emission history.
|
|
95
113
|
*/
|
|
96
|
-
export function
|
|
114
|
+
export function acceptLegacyContainerId(
|
|
115
|
+
raw: string,
|
|
116
|
+
sink: MigrationWarningSink,
|
|
117
|
+
windowOpen: boolean = WINDOW_OPEN,
|
|
118
|
+
): ProjectId {
|
|
97
119
|
if (raw.startsWith('prj_')) {
|
|
98
120
|
return raw as ProjectId
|
|
99
121
|
}
|
|
100
122
|
if (raw.startsWith('thd_')) {
|
|
101
|
-
if (!
|
|
123
|
+
if (!windowOpen) {
|
|
102
124
|
throw new StalePrefixError({ rawId: raw, kind: 'thd_rejected' })
|
|
103
125
|
}
|
|
104
|
-
const normalized = `prj_${raw.slice('thd_'.length)}`
|
|
126
|
+
const normalized = asProjectId(`prj_${raw.slice('thd_'.length)}`)
|
|
105
127
|
if (!seenLegacy.has(raw)) {
|
|
106
128
|
seenLegacy.add(raw)
|
|
107
129
|
sink.emit({
|
|
@@ -118,13 +140,16 @@ export function acceptLegacyThreadId(raw: string, sink: MigrationWarningSink): P
|
|
|
118
140
|
}
|
|
119
141
|
|
|
120
142
|
/**
|
|
121
|
-
* Writer guard: reject emission of `thd_*` at encode
|
|
122
|
-
* {@link generateProjectId} already emits `prj_*` only;
|
|
123
|
-
* so write paths that handle raw strings (e.g.
|
|
124
|
-
* migration) can fail fast on accidental
|
|
125
|
-
*
|
|
143
|
+
* Writer guard: reject emission of a legacy container `thd_*` id at encode
|
|
144
|
+
* time. Phase 1's {@link generateProjectId} already emits `prj_*` only;
|
|
145
|
+
* this helper exists so write paths that handle raw strings (e.g.
|
|
146
|
+
* synthesis during filesystem migration) can fail fast on accidental
|
|
147
|
+
* legacy re-emission. No `windowOpen` parameter — unlike the reader above,
|
|
148
|
+
* this guard's outcome does not fork on migration-window state; a writer
|
|
149
|
+
* must never emit `thd_*` in either window (see the module header's
|
|
150
|
+
* Writer column). Convention #0: no silent back-sliding to the old prefix.
|
|
126
151
|
*/
|
|
127
|
-
export function
|
|
152
|
+
export function rejectLegacyContainerPrefix(id: string): void {
|
|
128
153
|
if (id.startsWith('thd_')) {
|
|
129
154
|
throw new StalePrefixError({ rawId: id, kind: 'thd_rejected' })
|
|
130
155
|
}
|
|
@@ -132,7 +157,7 @@ export function rejectLegacyPrefix(id: string): void {
|
|
|
132
157
|
|
|
133
158
|
/**
|
|
134
159
|
* Test-only: clear the process-level dedup Set so subsequent
|
|
135
|
-
* {@link
|
|
160
|
+
* {@link acceptLegacyContainerId} calls emit warnings again. Production code
|
|
136
161
|
* must never call this — the whole point is one warning per distinct
|
|
137
162
|
* legacy id per process.
|
|
138
163
|
*/
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
// See session-hierarchy.md §13.3.1 (ID prefix) + §13.4.1 (filesystem).
|
|
4
4
|
|
|
5
5
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
acceptLegacyContainerId,
|
|
7
|
+
/** @deprecated Use `acceptLegacyContainerId`. */
|
|
8
|
+
rejectLegacyContainerPrefix,
|
|
9
|
+
/** @deprecated Use `rejectLegacyContainerPrefix`. */
|
|
8
10
|
NOOP_MIGRATION_WARNING_SINK,
|
|
9
11
|
StalePrefixError,
|
|
10
12
|
WINDOW_OPEN,
|
|
@@ -13,6 +15,7 @@ export type { MigrationWarning, MigrationWarningSink } from './id-prefix.js'
|
|
|
13
15
|
|
|
14
16
|
export {
|
|
15
17
|
DefaultFilesystemMigrator,
|
|
18
|
+
loggingMigrationSink,
|
|
16
19
|
NOOP_FILESYSTEM_MIGRATION_SINK,
|
|
17
20
|
LEGACY_DEFAULT_SESSION_ID,
|
|
18
21
|
LEGACY_DEFAULT_PROJECT_PREFIX,
|
|
@@ -70,13 +70,28 @@ export async function readMarker(path: string): Promise<MigrationMarker | null>
|
|
|
70
70
|
return null
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
// The shape check above validates the ENVELOPE — version, at, and that
|
|
74
|
+
// migratedThreads is an array — and never looked inside the array. So
|
|
75
|
+
// `{"migratedThreads":[null]}` passed it and produced an entry whose
|
|
76
|
+
// `newProjectId` was `undefined` wearing a `ProjectId` annotation, which
|
|
77
|
+
// then reached a path join. Each element is checked here, and a bad one
|
|
78
|
+
// is corruption in exactly the sense this function's own contract names:
|
|
79
|
+
// return null, and let the caller re-run the migration.
|
|
80
|
+
const migratedThreads: { legacyThreadId: string; newProjectId: ProjectId }[] = []
|
|
81
|
+
for (const m of parsed.migratedThreads) {
|
|
82
|
+
if (typeof m !== 'object' || m === null) return null
|
|
83
|
+
if (typeof m.legacyThreadId !== 'string') return null
|
|
84
|
+
if (typeof m.newProjectId !== 'string' || !m.newProjectId.startsWith('prj_')) return null
|
|
85
|
+
migratedThreads.push({
|
|
86
|
+
legacyThreadId: m.legacyThreadId,
|
|
87
|
+
newProjectId: m.newProjectId as ProjectId,
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
|
|
73
91
|
return {
|
|
74
92
|
version: parsed.version,
|
|
75
93
|
at: new Date(parsed.at),
|
|
76
|
-
migratedThreads
|
|
77
|
-
legacyThreadId: m.legacyThreadId,
|
|
78
|
-
newProjectId: m.newProjectId as ProjectId,
|
|
79
|
-
})),
|
|
94
|
+
migratedThreads,
|
|
80
95
|
}
|
|
81
96
|
}
|
|
82
97
|
|
|
@@ -28,7 +28,11 @@
|
|
|
28
28
|
import type { SessionId, SubSessionId, TenantId } from '../../types/ids/index.js'
|
|
29
29
|
import type { WorkspaceId } from '../../types/session/ids.js'
|
|
30
30
|
import type { SessionStore } from '../../types/session/store.js'
|
|
31
|
-
import type {
|
|
31
|
+
import type {
|
|
32
|
+
SubSession,
|
|
33
|
+
SubSessionDelegationStatus,
|
|
34
|
+
SubSessionStatus,
|
|
35
|
+
} from '../../types/session/sub-session.js'
|
|
32
36
|
import type { WorkspaceRef } from '../../types/workspace/ref.js'
|
|
33
37
|
import type { WorkspaceBackendRegistry } from '../workspace/registry.js'
|
|
34
38
|
import type { ArchiveBackend, SubSessionTombstone } from './backend.js'
|
|
@@ -103,17 +107,20 @@ export type WorkspaceResolver = (
|
|
|
103
107
|
) => Promise<WorkspaceRef | null>
|
|
104
108
|
|
|
105
109
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
+
* Delegation states eligible for archival. Anything else — `pending`,
|
|
111
|
+
* `active` — rejects with `'not_idle'`.
|
|
112
|
+
*
|
|
113
|
+
* Typed as {@link SubSessionDelegationStatus}, which is what makes it say
|
|
114
|
+
* something true: these are values the kernel actually writes.
|
|
110
115
|
*/
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
const ARCHIVABLE: ReadonlySet<SubSessionDelegationStatus> = new Set(['idle', 'failed'])
|
|
117
|
+
|
|
118
|
+
function isArchivable(status: SubSessionStatus): boolean {
|
|
119
|
+
// No cast any more. `SubSessionStatus` narrowed to the driven variants in
|
|
120
|
+
// NZ-RUNREC-14, so the set and the argument are the same type and a value
|
|
121
|
+
// outside it cannot be constructed to ask about.
|
|
122
|
+
return ARCHIVABLE.has(status)
|
|
123
|
+
}
|
|
117
124
|
|
|
118
125
|
export interface ArchivalManagerDeps {
|
|
119
126
|
readonly sessionStore: SessionStore
|
|
@@ -165,7 +172,7 @@ export class ArchivalManager {
|
|
|
165
172
|
if (sub.status === 'archived') {
|
|
166
173
|
throw new SubSessionNotArchivableError({ subSessionId, reason: 'already_archived' })
|
|
167
174
|
}
|
|
168
|
-
if (!
|
|
175
|
+
if (!isArchivable(sub.status)) {
|
|
169
176
|
throw new SubSessionNotArchivableError({ subSessionId, reason: 'not_idle' })
|
|
170
177
|
}
|
|
171
178
|
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
import { execFile } from 'node:child_process'
|
|
14
14
|
import { join } from 'node:path'
|
|
15
15
|
import { promisify } from 'node:util'
|
|
16
|
+
import { NAMZU } from '../../constants/telemetry/index.js'
|
|
16
17
|
import type { GitWorktreeBackendMeta, WorkspaceRef } from '../../types/workspace/ref.js'
|
|
17
18
|
import { generateWorkspaceId } from '../../utils/id.js'
|
|
19
|
+
import { SCOPE_ATTRIBUTE } from '../../utils/log/types.js'
|
|
18
20
|
import type { Logger } from '../../utils/logger.js'
|
|
19
21
|
import { WorkspaceBackendError } from '../errors.js'
|
|
20
22
|
import type {
|
|
@@ -71,7 +73,7 @@ export class GitWorktreeDriver implements WorkspaceBackendDriver {
|
|
|
71
73
|
constructor(config: GitWorktreeDriverConfig) {
|
|
72
74
|
this.repoRoot = config.repoRoot
|
|
73
75
|
this.worktreesDir = config.worktreesDir ?? join(config.repoRoot, '.namzu', 'worktrees')
|
|
74
|
-
this.log = config.logger.child({
|
|
76
|
+
this.log = config.logger.child({ [SCOPE_ATTRIBUTE]: 'session/workspace/git-worktree' })
|
|
75
77
|
this.exec = config.execFile ?? defaultExecFile
|
|
76
78
|
}
|
|
77
79
|
|
|
@@ -105,9 +107,9 @@ export class GitWorktreeDriver implements WorkspaceBackendDriver {
|
|
|
105
107
|
throw new WorkspaceBackendError({ op: 'create', kind: this.kind, cause })
|
|
106
108
|
}
|
|
107
109
|
this.log.warn('git-worktree add reported failure but the worktree is present', {
|
|
108
|
-
branch,
|
|
109
|
-
worktreePath,
|
|
110
|
-
cause: cause instanceof Error ? cause.message : String(cause),
|
|
110
|
+
'namzu.session.branch': branch,
|
|
111
|
+
'namzu.session.worktree_path': worktreePath,
|
|
112
|
+
'namzu.session.cause': cause instanceof Error ? cause.message : String(cause),
|
|
111
113
|
})
|
|
112
114
|
}
|
|
113
115
|
|
|
@@ -118,7 +120,11 @@ export class GitWorktreeDriver implements WorkspaceBackendDriver {
|
|
|
118
120
|
worktreePath,
|
|
119
121
|
}
|
|
120
122
|
|
|
121
|
-
this.log.info('git-worktree created', {
|
|
123
|
+
this.log.info('git-worktree created', {
|
|
124
|
+
[NAMZU.SESSION_ID]: id,
|
|
125
|
+
'namzu.session.branch': branch,
|
|
126
|
+
'namzu.session.worktree_path': worktreePath,
|
|
127
|
+
})
|
|
122
128
|
return {
|
|
123
129
|
id,
|
|
124
130
|
meta,
|
|
@@ -145,15 +151,18 @@ export class GitWorktreeDriver implements WorkspaceBackendDriver {
|
|
|
145
151
|
ref.meta.worktreePath,
|
|
146
152
|
'--force',
|
|
147
153
|
])
|
|
148
|
-
this.log.info('git-worktree disposed', {
|
|
154
|
+
this.log.info('git-worktree disposed', {
|
|
155
|
+
[NAMZU.SESSION_ID]: ref.id,
|
|
156
|
+
'namzu.session.path': ref.meta.worktreePath,
|
|
157
|
+
})
|
|
149
158
|
} catch (cause) {
|
|
150
159
|
const message = cause instanceof Error ? cause.message : String(cause)
|
|
151
160
|
// git exits non-zero with "is not a working tree" when the path is
|
|
152
161
|
// absent; treat as idempotent success and log at debug.
|
|
153
162
|
if (/not a working tree|does not exist|No such file/i.test(message)) {
|
|
154
163
|
this.log.debug('git-worktree already gone; dispose idempotent', {
|
|
155
|
-
|
|
156
|
-
path: ref.meta.worktreePath,
|
|
164
|
+
[NAMZU.SESSION_ID]: ref.id,
|
|
165
|
+
'namzu.session.path': ref.meta.worktreePath,
|
|
157
166
|
})
|
|
158
167
|
return
|
|
159
168
|
}
|
package/src/skills/loader.ts
CHANGED
|
@@ -7,11 +7,10 @@ import type {
|
|
|
7
7
|
SkillMetadata,
|
|
8
8
|
} from '../types/skills/index.js'
|
|
9
9
|
import { type ParsedFrontmatter, parseFrontmatter } from '../utils/frontmatter.js'
|
|
10
|
-
import {
|
|
10
|
+
import { SCOPE_ATTRIBUTE } from '../utils/log/types.js'
|
|
11
|
+
import { type Logger, resolveLogger } from '../utils/logger.js'
|
|
11
12
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const SKILL_FILENAME = 'SKILL.md'
|
|
13
|
+
export const SKILL_FILENAME = 'SKILL.md'
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* How this file's errors name themselves. Passed to the shared reader so a
|
|
@@ -90,6 +89,20 @@ function toSkillMetadata(parsed: ParsedFrontmatter, dirPath: string): SkillMetad
|
|
|
90
89
|
skillMetadata.allowedTools = allowedTools
|
|
91
90
|
}
|
|
92
91
|
|
|
92
|
+
const invocation = scalarAt(values, 'invocation')
|
|
93
|
+
if (invocation) {
|
|
94
|
+
// Refused rather than defaulted. A typo'd `invocaton: operator` that
|
|
95
|
+
// quietly resolved to `both` would put an operator-only skill back in
|
|
96
|
+
// front of the model, which is precisely what the field was added to
|
|
97
|
+
// stop — and the author would have no way to tell.
|
|
98
|
+
if (invocation !== 'model' && invocation !== 'operator' && invocation !== 'both') {
|
|
99
|
+
throw new Error(
|
|
100
|
+
`${source}: invocation must be one of model, operator, both — got "${invocation}"`,
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
skillMetadata.invocation = invocation
|
|
104
|
+
}
|
|
105
|
+
|
|
93
106
|
const extra = mappingAt(values, 'metadata')
|
|
94
107
|
if (extra && Object.keys(extra).length > 0) {
|
|
95
108
|
skillMetadata.metadata = { ...extra }
|
|
@@ -135,6 +148,7 @@ function estimateTokens(text: string): number {
|
|
|
135
148
|
export async function loadSkill(
|
|
136
149
|
dirPath: string,
|
|
137
150
|
level: SkillDisclosureLevel = 'metadata',
|
|
151
|
+
log?: Logger,
|
|
138
152
|
): Promise<SkillLoadResult> {
|
|
139
153
|
const skillMdPath = join(dirPath, SKILL_FILENAME)
|
|
140
154
|
const raw = await readFile(skillMdPath, 'utf-8')
|
|
@@ -153,10 +167,23 @@ export async function loadSkill(
|
|
|
153
167
|
const metadataTokens = estimateTokens(`${metadata.name}: ${metadata.description}`)
|
|
154
168
|
const bodyTokens = skill.body ? estimateTokens(skill.body) : 0
|
|
155
169
|
|
|
170
|
+
// Resolved here, not at module scope. A module-scope
|
|
171
|
+
// `getRootLogger().child(...)` ran once, at import time — before any
|
|
172
|
+
// host's `configureLogger()` call had a chance to run — and `child()`
|
|
173
|
+
// bakes `minLevel` into the closure `log()` reads from forever after
|
|
174
|
+
// (`utils/logger.ts`), so whatever level was live at that one moment
|
|
175
|
+
// was permanent. `configureLogger` replaces the `_rootLogger` binding
|
|
176
|
+
// rather than mutating the object it points at, so caching the CHILD
|
|
177
|
+
// (as this loader did) survives no later call at all — including the
|
|
178
|
+
// CLI's own `configureLogger({ level: 'silent' })`.
|
|
179
|
+
//
|
|
180
|
+
// `log`, when the caller has one (`SkillRegistry` now does), wins over
|
|
181
|
+
// the process default.
|
|
182
|
+
const logger = resolveLogger(log).child({ [SCOPE_ATTRIBUTE]: 'skills/loader' })
|
|
156
183
|
logger.debug('Loaded skill', {
|
|
157
|
-
name: metadata.name,
|
|
158
|
-
level,
|
|
159
|
-
tokens: metadataTokens + bodyTokens,
|
|
184
|
+
'namzu.skills.name': metadata.name,
|
|
185
|
+
'namzu.skills.level': level,
|
|
186
|
+
'namzu.skills.tokens': metadataTokens + bodyTokens,
|
|
160
187
|
})
|
|
161
188
|
|
|
162
189
|
return {
|
|
@@ -166,7 +193,10 @@ export async function loadSkill(
|
|
|
166
193
|
}
|
|
167
194
|
}
|
|
168
195
|
|
|
169
|
-
export async function discoverSkills(parentDir: string): Promise<string[]> {
|
|
196
|
+
export async function discoverSkills(parentDir: string, log?: Logger): Promise<string[]> {
|
|
197
|
+
// Resolved here too — see loadSkill above for why module scope froze
|
|
198
|
+
// this logger's level, and its very reference, at import time.
|
|
199
|
+
const logger = resolveLogger(log).child({ [SCOPE_ATTRIBUTE]: 'skills/loader' })
|
|
170
200
|
const dirs: string[] = []
|
|
171
201
|
|
|
172
202
|
try {
|
|
@@ -184,7 +214,7 @@ export async function discoverSkills(parentDir: string): Promise<string[]> {
|
|
|
184
214
|
} catch {}
|
|
185
215
|
}
|
|
186
216
|
} catch {
|
|
187
|
-
logger.debug('Skills directory not found', { parentDir })
|
|
217
|
+
logger.debug('Skills directory not found', { 'namzu.skills.parent_dir': parentDir })
|
|
188
218
|
}
|
|
189
219
|
|
|
190
220
|
return dirs.sort()
|