@namzu/sdk 27.0.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1714 -0
- package/README.md +45 -42
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +14 -12
- package/dist/advisory/executor.js.map +1 -1
- package/dist/advisory/registry.d.ts +2 -2
- package/dist/advisory/registry.d.ts.map +1 -1
- package/dist/advisory/registry.js +2 -2
- package/dist/advisory/registry.js.map +1 -1
- package/dist/agents/AbstractAgent.d.ts +44 -2
- package/dist/agents/AbstractAgent.d.ts.map +1 -1
- package/dist/agents/AbstractAgent.js +62 -13
- package/dist/agents/AbstractAgent.js.map +1 -1
- package/dist/agents/PipelineAgent.d.ts +29 -1
- package/dist/agents/PipelineAgent.d.ts.map +1 -1
- package/dist/agents/PipelineAgent.js +33 -4
- package/dist/agents/PipelineAgent.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts +2 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +15 -5
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts +2 -1
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +21 -13
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +3 -2
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +29 -14
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/handle.d.ts +85 -0
- package/dist/agents/handle.d.ts.map +1 -0
- package/dist/agents/handle.js +79 -0
- package/dist/agents/handle.js.map +1 -0
- package/dist/agents/runAgent.d.ts +10 -5
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +3 -2
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/{verification → authorization}/gate.d.ts +4 -4
- package/dist/authorization/gate.d.ts.map +1 -0
- package/dist/{verification → authorization}/gate.js +31 -24
- package/dist/authorization/gate.js.map +1 -0
- package/dist/authorization/index.d.ts +6 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +14 -0
- package/dist/authorization/index.js.map +1 -0
- package/dist/authorization/permission-presets.d.ts +119 -0
- package/dist/authorization/permission-presets.d.ts.map +1 -0
- package/dist/authorization/permission-presets.js +137 -0
- package/dist/authorization/permission-presets.js.map +1 -0
- package/dist/{verification → authorization}/presets.d.ts +3 -3
- package/dist/authorization/presets.d.ts.map +1 -0
- package/dist/{verification → authorization}/presets.js +12 -0
- package/dist/authorization/presets.js.map +1 -0
- package/dist/authorization/rules.d.ts +4 -0
- package/dist/authorization/rules.d.ts.map +1 -0
- package/dist/{verification → authorization}/rules.js +14 -1
- package/dist/authorization/rules.js.map +1 -0
- package/dist/bridge/a2a/client.d.ts +107 -0
- package/dist/bridge/a2a/client.d.ts.map +1 -0
- package/dist/bridge/a2a/client.js +275 -0
- package/dist/bridge/a2a/client.js.map +1 -0
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +16 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/acp/filesystem.d.ts +33 -0
- package/dist/bridge/acp/filesystem.d.ts.map +1 -0
- package/dist/bridge/acp/filesystem.js +30 -0
- package/dist/bridge/acp/filesystem.js.map +1 -0
- package/dist/bridge/acp/index.d.ts +8 -0
- package/dist/bridge/acp/index.d.ts.map +1 -0
- package/dist/bridge/acp/index.js +5 -0
- package/dist/bridge/acp/index.js.map +1 -0
- package/dist/bridge/acp/permission.d.ts +51 -0
- package/dist/bridge/acp/permission.d.ts.map +1 -0
- package/dist/bridge/acp/permission.js +37 -0
- package/dist/bridge/acp/permission.js.map +1 -0
- package/dist/bridge/acp/server.d.ts +163 -0
- package/dist/bridge/acp/server.d.ts.map +1 -0
- package/dist/bridge/acp/server.js +312 -0
- package/dist/bridge/acp/server.js.map +1 -0
- package/dist/bridge/acp/update.d.ts +13 -0
- package/dist/bridge/acp/update.d.ts.map +1 -0
- package/dist/bridge/acp/update.js +94 -0
- package/dist/bridge/acp/update.js.map +1 -0
- package/dist/bridge/mcp/connector/adapter.d.ts +2 -0
- package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
- package/dist/bridge/mcp/connector/adapter.js +7 -3
- package/dist/bridge/mcp/connector/adapter.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +27 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/bus/breaker.d.ts.map +1 -1
- package/dist/bus/breaker.js +15 -10
- package/dist/bus/breaker.js.map +1 -1
- package/dist/bus/index.d.ts.map +1 -1
- package/dist/bus/index.js +10 -8
- package/dist/bus/index.js.map +1 -1
- package/dist/bus/lock.d.ts.map +1 -1
- package/dist/bus/lock.js +36 -19
- package/dist/bus/lock.js.map +1 -1
- package/dist/bus/ownership.d.ts.map +1 -1
- package/dist/bus/ownership.js +17 -9
- package/dist/bus/ownership.js.map +1 -1
- package/dist/compaction/context-window.d.ts +18 -2
- package/dist/compaction/context-window.d.ts.map +1 -1
- package/dist/compaction/context-window.js +15 -1
- package/dist/compaction/context-window.js.map +1 -1
- package/dist/compaction/index.d.ts +3 -0
- package/dist/compaction/index.d.ts.map +1 -1
- package/dist/compaction/index.js +4 -0
- package/dist/compaction/index.js.map +1 -1
- package/dist/compaction/manual.d.ts +58 -0
- package/dist/compaction/manual.d.ts.map +1 -0
- package/dist/compaction/manual.js +104 -0
- package/dist/compaction/manual.js.map +1 -0
- package/dist/compaction/plan.d.ts +92 -0
- package/dist/compaction/plan.d.ts.map +1 -0
- package/dist/compaction/plan.js +149 -0
- package/dist/compaction/plan.js.map +1 -0
- package/dist/compaction/summary.d.ts +23 -0
- package/dist/compaction/summary.d.ts.map +1 -0
- package/dist/compaction/summary.js +27 -0
- package/dist/compaction/summary.js.map +1 -0
- package/dist/compaction/verifier.js +2 -2
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/registry.d.ts +104 -0
- package/dist/config/registry.d.ts.map +1 -0
- package/dist/config/registry.js +105 -0
- package/dist/config/registry.js.map +1 -0
- package/dist/config/runtime.d.ts +99 -28
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js +27 -0
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/BaseConnector.d.ts +1 -1
- package/dist/connector/BaseConnector.d.ts.map +1 -1
- package/dist/connector/BaseConnector.js +8 -3
- package/dist/connector/BaseConnector.js.map +1 -1
- package/dist/connector/builtins/http.d.ts +1 -1
- package/dist/connector/builtins/http.d.ts.map +1 -1
- package/dist/connector/builtins/http.js +11 -2
- package/dist/connector/builtins/http.js.map +1 -1
- package/dist/connector/builtins/webhook.d.ts +1 -1
- package/dist/connector/builtins/webhook.d.ts.map +1 -1
- package/dist/connector/builtins/webhook.js +5 -2
- package/dist/connector/builtins/webhook.js.map +1 -1
- package/dist/connector/index.d.ts +4 -15
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +12 -12
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts +30 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +43 -1
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +31 -20
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/discovery.d.ts.map +1 -1
- package/dist/connector/mcp/discovery.js +31 -20
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/http-sse.d.ts +2 -1
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +9 -6
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/index.d.ts +2 -3
- package/dist/connector/mcp/index.d.ts.map +1 -1
- package/dist/connector/mcp/index.js +5 -4
- package/dist/connector/mcp/index.js.map +1 -1
- package/dist/connector/mcp/reconnect.d.ts +123 -0
- package/dist/connector/mcp/reconnect.d.ts.map +1 -0
- package/dist/connector/mcp/reconnect.js +121 -0
- package/dist/connector/mcp/reconnect.js.map +1 -0
- package/dist/connector/mcp/server/index.d.ts +28 -0
- package/dist/connector/mcp/server/index.d.ts.map +1 -0
- package/dist/connector/mcp/server/index.js +27 -0
- package/dist/connector/mcp/server/index.js.map +1 -0
- package/dist/connector/mcp/{server-stdio.d.ts → server/server-stdio.d.ts} +3 -2
- package/dist/connector/mcp/server/server-stdio.d.ts.map +1 -0
- package/dist/connector/mcp/{server-stdio.js → server/server-stdio.js} +4 -3
- package/dist/connector/mcp/server/server-stdio.js.map +1 -0
- package/dist/connector/mcp/{server.d.ts → server/server.d.ts} +5 -4
- package/dist/connector/mcp/server/server.d.ts.map +1 -0
- package/dist/connector/mcp/{server.js → server/server.js} +14 -9
- package/dist/connector/mcp/server/server.js.map +1 -0
- package/dist/connector/mcp/stdio.d.ts +2 -1
- package/dist/connector/mcp/stdio.d.ts.map +1 -1
- package/dist/connector/mcp/stdio.js +15 -7
- package/dist/connector/mcp/stdio.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +2 -1
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +5 -4
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/{bridge/tools/connector → connector/tools}/adapter.d.ts +4 -4
- package/dist/connector/tools/adapter.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/adapter.js +1 -1
- package/dist/connector/tools/adapter.js.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/definitions.d.ts +2 -2
- package/dist/connector/tools/definitions.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/definitions.js +2 -2
- package/dist/connector/tools/definitions.js.map +1 -0
- package/dist/connector/tools/index.d.ts.map +1 -0
- package/dist/connector/tools/index.js.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/router.d.ts +4 -2
- package/dist/connector/tools/router.d.ts.map +1 -0
- package/dist/{bridge/tools/connector → connector/tools}/router.js +14 -7
- package/dist/connector/tools/router.js.map +1 -0
- package/dist/connector/web/guarded-fetch.d.ts +60 -0
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -0
- package/dist/connector/web/guarded-fetch.js +233 -0
- package/dist/connector/web/guarded-fetch.js.map +1 -0
- package/dist/connector/web/index.d.ts +5 -0
- package/dist/connector/web/index.d.ts.map +1 -0
- package/dist/connector/web/index.js +7 -0
- package/dist/connector/web/index.js.map +1 -0
- package/dist/connector/web/types.d.ts +87 -0
- package/dist/connector/web/types.d.ts.map +1 -0
- package/dist/connector/web/types.js +25 -0
- package/dist/connector/web/types.js.map +1 -0
- package/dist/constants/acp/index.d.ts +97 -0
- package/dist/constants/acp/index.d.ts.map +1 -0
- package/dist/constants/acp/index.js +96 -0
- package/dist/constants/acp/index.js.map +1 -0
- package/dist/constants/authorization/index.d.ts.map +1 -0
- package/dist/constants/authorization/index.js.map +1 -0
- package/dist/constants/credential-env-keys.d.ts +36 -0
- package/dist/constants/credential-env-keys.d.ts.map +1 -0
- package/dist/constants/credential-env-keys.js +62 -0
- package/dist/constants/credential-env-keys.js.map +1 -0
- package/dist/constants/index.d.ts +3 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +3 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/secret-patterns.d.ts +78 -0
- package/dist/constants/secret-patterns.d.ts.map +1 -0
- package/dist/constants/secret-patterns.js +99 -0
- package/dist/constants/secret-patterns.js.map +1 -0
- package/dist/constants/telemetry/index.d.ts +42 -0
- package/dist/constants/telemetry/index.d.ts.map +1 -1
- package/dist/constants/telemetry/index.js +87 -0
- package/dist/constants/telemetry/index.js.map +1 -1
- package/dist/contracts/a2a.d.ts +54 -54
- package/dist/contracts/api.d.ts +12 -1
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/schemas.d.ts +12 -12
- package/dist/deprecated-aliases.d.ts +80 -0
- package/dist/deprecated-aliases.d.ts.map +1 -0
- package/dist/deprecated-aliases.js +60 -0
- package/dist/deprecated-aliases.js.map +1 -0
- package/dist/eval/judge.js +2 -2
- package/dist/eval/judge.js.map +1 -1
- package/dist/execution/base.d.ts +1 -1
- package/dist/execution/base.d.ts.map +1 -1
- package/dist/execution/base.js +18 -7
- package/dist/execution/base.js.map +1 -1
- package/dist/execution/code-runtime/types.d.ts +114 -0
- package/dist/execution/code-runtime/types.d.ts.map +1 -0
- package/dist/execution/code-runtime/types.js +40 -0
- package/dist/execution/code-runtime/types.js.map +1 -0
- package/dist/execution/code-runtime/worker.d.ts +6 -0
- package/dist/execution/code-runtime/worker.d.ts.map +1 -0
- package/dist/execution/code-runtime/worker.js +248 -0
- package/dist/execution/code-runtime/worker.js.map +1 -0
- package/dist/{connector/execution → execution}/factory.d.ts +3 -3
- package/dist/execution/factory.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/factory.js +1 -1
- package/dist/execution/factory.js.map +1 -0
- package/dist/{connector/execution → execution}/hybrid.d.ts +5 -3
- package/dist/execution/hybrid.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/hybrid.js +10 -4
- package/dist/execution/hybrid.js.map +1 -0
- package/dist/execution/index.d.ts +23 -0
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +21 -0
- package/dist/execution/index.js.map +1 -1
- package/dist/execution/local.d.ts +2 -0
- package/dist/execution/local.d.ts.map +1 -1
- package/dist/execution/local.js +2 -2
- package/dist/execution/local.js.map +1 -1
- package/dist/{connector/execution → execution}/remote.d.ts +4 -2
- package/dist/execution/remote.d.ts.map +1 -0
- package/dist/{connector/execution → execution}/remote.js +12 -5
- package/dist/execution/remote.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/invariants/index.d.ts +111 -0
- package/dist/invariants/index.d.ts.map +1 -0
- package/dist/invariants/index.js +138 -0
- package/dist/invariants/index.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts +29 -7
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +140 -50
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/connector/environment.d.ts +2 -0
- package/dist/manager/connector/environment.d.ts.map +1 -1
- package/dist/manager/connector/environment.js +20 -9
- package/dist/manager/connector/environment.js.map +1 -1
- package/dist/manager/connector/lifecycle.d.ts +10 -0
- package/dist/manager/connector/lifecycle.d.ts.map +1 -1
- package/dist/manager/connector/lifecycle.js +21 -11
- package/dist/manager/connector/lifecycle.js.map +1 -1
- package/dist/manager/connector/tenant.d.ts +9 -0
- package/dist/manager/connector/tenant.d.ts.map +1 -1
- package/dist/manager/connector/tenant.js +24 -10
- package/dist/manager/connector/tenant.js.map +1 -1
- package/dist/manager/index.d.ts +6 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js +7 -1
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/project/lifecycle.d.ts +1 -1
- package/dist/manager/project/lifecycle.js +1 -1
- package/dist/manager/run/emergency.d.ts.map +1 -1
- package/dist/manager/run/emergency.js +9 -7
- package/dist/manager/run/emergency.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +46 -4
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +102 -7
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/topic/lifecycle.d.ts +123 -0
- package/dist/manager/topic/lifecycle.d.ts.map +1 -0
- package/dist/manager/{thread → topic}/lifecycle.js +79 -61
- package/dist/manager/topic/lifecycle.js.map +1 -0
- package/dist/manager/topic/objective.d.ts +77 -0
- package/dist/manager/topic/objective.d.ts.map +1 -0
- package/dist/manager/topic/objective.js +133 -0
- package/dist/manager/topic/objective.js.map +1 -0
- package/dist/model-router/task-router.d.ts.map +1 -0
- package/dist/model-router/task-router.js.map +1 -0
- package/dist/persona/assembler.d.ts +1 -1
- package/dist/persona/assembler.d.ts.map +1 -1
- package/dist/persona/assembler.js +14 -2
- package/dist/persona/assembler.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +24 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +112 -20
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/loader.d.ts +17 -2
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +46 -26
- package/dist/plugin/loader.js.map +1 -1
- package/dist/probe/index.d.ts +1 -0
- package/dist/probe/index.d.ts.map +1 -1
- package/dist/probe/registry.d.ts +34 -1
- package/dist/probe/registry.d.ts.map +1 -1
- package/dist/probe/registry.js +5 -4
- package/dist/probe/registry.js.map +1 -1
- package/dist/process/kill-tree.d.ts +40 -0
- package/dist/process/kill-tree.d.ts.map +1 -0
- package/dist/process/kill-tree.js +54 -0
- package/dist/process/kill-tree.js.map +1 -0
- package/dist/prompt/contributions.d.ts +138 -0
- package/dist/prompt/contributions.d.ts.map +1 -0
- package/dist/prompt/contributions.js +78 -0
- package/dist/prompt/contributions.js.map +1 -0
- package/dist/prompt/index.d.ts +3 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +6 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/provider/attribution.d.ts +45 -0
- package/dist/provider/attribution.d.ts.map +1 -0
- package/dist/provider/attribution.js +23 -0
- package/dist/provider/attribution.js.map +1 -0
- package/dist/provider/{collect.d.ts → collect-chat-completion.d.ts} +3 -3
- package/dist/provider/collect-chat-completion.d.ts.map +1 -0
- package/dist/provider/{collect.js → collect-chat-completion.js} +3 -3
- package/dist/provider/collect-chat-completion.js.map +1 -0
- package/dist/provider/conformance.d.ts +93 -0
- package/dist/provider/conformance.d.ts.map +1 -0
- package/dist/provider/conformance.js +124 -0
- package/dist/provider/conformance.js.map +1 -0
- package/dist/provider/errors.d.ts +29 -0
- package/dist/provider/errors.d.ts.map +1 -1
- package/dist/provider/errors.js +27 -10
- package/dist/provider/errors.js.map +1 -1
- package/dist/provider/fallback.d.ts +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +27 -9
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts +47 -0
- package/dist/provider/idle-timeout.d.ts.map +1 -0
- package/dist/provider/idle-timeout.js +61 -0
- package/dist/provider/idle-timeout.js.map +1 -0
- package/dist/provider/instrumentation.d.ts +3 -2
- package/dist/provider/instrumentation.d.ts.map +1 -1
- package/dist/provider/instrumentation.js.map +1 -1
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +58 -21
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +79 -15
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +173 -17
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +8 -1
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +29 -1
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +21 -4
- package/dist/public-types.d.ts.map +1 -1
- package/dist/rag/rag-tool.d.ts.map +1 -1
- package/dist/rag/rag-tool.js +4 -1
- package/dist/rag/rag-tool.js.map +1 -1
- package/dist/read-model/index.d.ts +5 -0
- package/dist/read-model/index.d.ts.map +1 -0
- package/dist/read-model/index.js +7 -0
- package/dist/read-model/index.js.map +1 -0
- package/dist/read-model/registry.d.ts +112 -0
- package/dist/read-model/registry.d.ts.map +1 -0
- package/dist/read-model/registry.js +105 -0
- package/dist/read-model/registry.js.map +1 -0
- package/dist/read-model/run-status.d.ts +43 -0
- package/dist/read-model/run-status.d.ts.map +1 -0
- package/dist/read-model/run-status.js +89 -0
- package/dist/read-model/run-status.js.map +1 -0
- package/dist/registry/{Registry.d.ts → BaseRegistry.d.ts} +2 -2
- package/dist/registry/BaseRegistry.d.ts.map +1 -0
- package/dist/registry/{Registry.js → BaseRegistry.js} +2 -2
- package/dist/registry/BaseRegistry.js.map +1 -0
- package/dist/registry/ManagedRegistry.d.ts +2 -2
- package/dist/registry/ManagedRegistry.d.ts.map +1 -1
- package/dist/registry/ManagedRegistry.js +26 -9
- package/dist/registry/ManagedRegistry.js.map +1 -1
- package/dist/registry/command/index-exports.d.ts +3 -0
- package/dist/registry/command/index-exports.d.ts.map +1 -0
- package/dist/registry/command/index-exports.js +5 -0
- package/dist/registry/command/index-exports.js.map +1 -0
- package/dist/registry/command/index.d.ts +53 -0
- package/dist/registry/command/index.d.ts.map +1 -0
- package/dist/registry/command/index.js +87 -0
- package/dist/registry/command/index.js.map +1 -0
- package/dist/registry/command/kernel-commands.d.ts +32 -0
- package/dist/registry/command/kernel-commands.d.ts.map +1 -0
- package/dist/registry/command/kernel-commands.js +78 -0
- package/dist/registry/command/kernel-commands.js.map +1 -0
- package/dist/registry/connector/scoped.d.ts +2 -1
- package/dist/registry/connector/scoped.d.ts.map +1 -1
- package/dist/registry/connector/scoped.js +6 -5
- package/dist/registry/connector/scoped.js.map +1 -1
- package/dist/registry/index.d.ts +4 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +5 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/tool/execute.d.ts +1 -0
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +46 -13
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/presentation.d.ts +32 -0
- package/dist/registry/tool/presentation.d.ts.map +1 -0
- package/dist/registry/tool/presentation.js +92 -0
- package/dist/registry/tool/presentation.js.map +1 -0
- package/dist/registry/tool/screen.d.ts +33 -0
- package/dist/registry/tool/screen.d.ts.map +1 -0
- package/dist/registry/tool/screen.js +103 -0
- package/dist/registry/tool/screen.js.map +1 -0
- package/dist/run/drain.d.ts +13 -3
- package/dist/run/drain.d.ts.map +1 -1
- package/dist/run/drain.js +10 -0
- package/dist/run/drain.js.map +1 -1
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +203 -149
- package/dist/run/reporter.js.map +1 -1
- package/dist/run-query/index.d.ts +74 -0
- package/dist/run-query/index.d.ts.map +1 -0
- package/dist/run-query/index.js +73 -0
- package/dist/run-query/index.js.map +1 -0
- package/dist/runtime/bidi/session.d.ts.map +1 -1
- package/dist/runtime/bidi/session.js +7 -2
- package/dist/runtime/bidi/session.js.map +1 -1
- package/dist/runtime/decision/fallback.d.ts.map +1 -1
- package/dist/runtime/decision/fallback.js +6 -3
- package/dist/runtime/decision/fallback.js.map +1 -1
- package/dist/runtime/decision/parser.d.ts.map +1 -1
- package/dist/runtime/decision/parser.js +10 -9
- package/dist/runtime/decision/parser.js.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +147 -0
- package/dist/runtime/jobs/registry.d.ts.map +1 -0
- package/dist/runtime/jobs/registry.js +242 -0
- package/dist/runtime/jobs/registry.js.map +1 -0
- package/dist/runtime/query/approval-policy.d.ts +22 -0
- package/dist/runtime/query/approval-policy.d.ts.map +1 -0
- package/dist/runtime/query/approval-policy.js +61 -0
- package/dist/runtime/query/approval-policy.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +3 -3
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +2 -2
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/context.d.ts +85 -15
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +57 -14
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/events.d.ts +5 -4
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +9 -6
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +113 -4
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +228 -62
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/guardrail-presets.d.ts +30 -1
- package/dist/runtime/query/guardrail-presets.d.ts.map +1 -1
- package/dist/runtime/query/guardrail-presets.js +59 -14
- package/dist/runtime/query/guardrail-presets.js.map +1 -1
- package/dist/runtime/query/guardrails.d.ts.map +1 -1
- package/dist/runtime/query/guardrails.js +16 -12
- package/dist/runtime/query/guardrails.js.map +1 -1
- package/dist/runtime/query/index.d.ts +140 -16
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +379 -76
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +32 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +256 -88
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.js +17 -16
- package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts +1 -8
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +202 -178
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +52 -6
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js +26 -17
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +27 -7
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.js +3 -2
- package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +14 -14
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/{context-cache.d.ts → prompt-cache.d.ts} +6 -4
- package/dist/runtime/query/prompt-cache.d.ts.map +1 -0
- package/dist/runtime/query/{context-cache.js → prompt-cache.js} +20 -2
- package/dist/runtime/query/prompt-cache.js.map +1 -0
- package/dist/runtime/query/prompt.d.ts +50 -0
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +83 -4
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/repeat-call.d.ts +42 -0
- package/dist/runtime/query/repeat-call.d.ts.map +1 -0
- package/dist/runtime/query/repeat-call.js +107 -0
- package/dist/runtime/query/repeat-call.js.map +1 -0
- package/dist/runtime/query/replay/mutate.js +8 -1
- package/dist/runtime/query/replay/mutate.js.map +1 -1
- package/dist/runtime/query/result.d.ts +7 -0
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +38 -10
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +19 -17
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/resume-run.d.ts +2 -2
- package/dist/runtime/query/resume-run.d.ts.map +1 -1
- package/dist/runtime/query/run-state.d.ts +3 -3
- package/dist/runtime/query/run-state.d.ts.map +1 -1
- package/dist/runtime/query/run-state.js +2 -2
- package/dist/runtime/query/run-state.js.map +1 -1
- package/dist/runtime/query/tool-grants.d.ts +7 -0
- package/dist/runtime/query/tool-grants.d.ts.map +1 -1
- package/dist/runtime/query/tool-grants.js +1 -1
- package/dist/runtime/query/tool-grants.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +34 -3
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tool-pause.d.ts.map +1 -1
- package/dist/runtime/query/tool-pause.js +2 -1
- package/dist/runtime/query/tool-pause.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +10 -2
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +3 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts +10 -0
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +77 -23
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/sandbox/terminal.d.ts +130 -0
- package/dist/sandbox/terminal.d.ts.map +1 -0
- package/dist/sandbox/terminal.js +119 -0
- package/dist/sandbox/terminal.js.map +1 -0
- package/dist/{gateway → scheduler}/completion-inbox.d.ts +12 -5
- package/dist/scheduler/completion-inbox.d.ts.map +1 -0
- package/dist/{gateway → scheduler}/completion-inbox.js +19 -7
- package/dist/scheduler/completion-inbox.js.map +1 -0
- package/dist/scheduler/delegating.d.ts +90 -0
- package/dist/scheduler/delegating.d.ts.map +1 -0
- package/dist/scheduler/delegating.js +230 -0
- package/dist/scheduler/delegating.js.map +1 -0
- package/dist/{gateway → scheduler}/local.d.ts +10 -2
- package/dist/scheduler/local.d.ts.map +1 -0
- package/dist/{gateway → scheduler}/local.js +20 -11
- package/dist/scheduler/local.js.map +1 -0
- package/dist/session/actor-scope.d.ts +52 -0
- package/dist/session/actor-scope.d.ts.map +1 -0
- package/dist/session/actor-scope.js +112 -0
- package/dist/session/actor-scope.js.map +1 -0
- package/dist/session/errors.d.ts +31 -8
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +21 -1
- package/dist/session/errors.js.map +1 -1
- package/dist/session/handoff/assignment.d.ts +5 -5
- package/dist/session/handoff/assignment.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +2 -2
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +7 -7
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts +4 -4
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +4 -4
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/session/migration/filesystem.d.ts +28 -0
- package/dist/session/migration/filesystem.d.ts.map +1 -1
- package/dist/session/migration/filesystem.js +44 -2
- package/dist/session/migration/filesystem.js.map +1 -1
- package/dist/session/migration/id-prefix.d.ts +50 -19
- package/dist/session/migration/id-prefix.d.ts.map +1 -1
- package/dist/session/migration/id-prefix.js +54 -22
- package/dist/session/migration/id-prefix.js.map +1 -1
- package/dist/session/migration/index.d.ts +6 -2
- package/dist/session/migration/index.d.ts.map +1 -1
- package/dist/session/migration/index.js +6 -2
- package/dist/session/migration/index.js.map +1 -1
- package/dist/session/migration/marker.d.ts.map +1 -1
- package/dist/session/migration/marker.js +21 -4
- package/dist/session/migration/marker.js.map +1 -1
- package/dist/session/retention/archive.d.ts.map +1 -1
- package/dist/session/retention/archive.js +25 -11
- package/dist/session/retention/archive.js.map +1 -1
- package/dist/session/workspace/git-worktree.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.js +17 -8
- package/dist/session/workspace/git-worktree.js.map +1 -1
- package/dist/skills/loader.d.ts +4 -2
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +36 -9
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/registry.d.ts +59 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +154 -20
- package/dist/skills/registry.js.map +1 -1
- package/dist/store/attachment/index.d.ts +111 -0
- package/dist/store/attachment/index.d.ts.map +1 -0
- package/dist/store/attachment/index.js +94 -0
- package/dist/store/attachment/index.js.map +1 -0
- package/dist/store/config/index.d.ts +43 -0
- package/dist/store/config/index.d.ts.map +1 -0
- package/dist/store/config/index.js +51 -0
- package/dist/store/config/index.js.map +1 -0
- package/dist/store/feedback/conformance.d.ts +44 -0
- package/dist/store/feedback/conformance.d.ts.map +1 -0
- package/dist/store/feedback/conformance.js +127 -0
- package/dist/store/feedback/conformance.js.map +1 -0
- package/dist/store/feedback/disk.d.ts +46 -0
- package/dist/store/feedback/disk.d.ts.map +1 -0
- package/dist/store/feedback/disk.js +141 -0
- package/dist/store/feedback/disk.js.map +1 -0
- package/dist/store/feedback/index.d.ts +9 -0
- package/dist/store/feedback/index.d.ts.map +1 -0
- package/dist/store/feedback/index.js +5 -0
- package/dist/store/feedback/index.js.map +1 -0
- package/dist/store/feedback/memory.d.ts +33 -0
- package/dist/store/feedback/memory.d.ts.map +1 -0
- package/dist/store/feedback/memory.js +0 -0
- package/dist/store/feedback/memory.js.map +1 -0
- package/dist/store/feedback/types.d.ts +95 -0
- package/dist/store/feedback/types.d.ts.map +1 -0
- package/dist/store/feedback/types.js +27 -0
- package/dist/store/feedback/types.js.map +1 -0
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +4 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/kv/record-store.d.ts +54 -0
- package/dist/store/kv/record-store.d.ts.map +1 -0
- package/dist/store/kv/record-store.js +94 -0
- package/dist/store/kv/record-store.js.map +1 -0
- package/dist/store/memory/disk.d.ts +2 -0
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +36 -30
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/run/checkpoint-disk.d.ts +4 -4
- package/dist/store/run/checkpoint-disk.d.ts.map +1 -1
- package/dist/store/run/checkpoint-disk.js +22 -1
- package/dist/store/run/checkpoint-disk.js.map +1 -1
- package/dist/store/run/checkpoint-memory.d.ts +4 -4
- package/dist/store/run/checkpoint-memory.d.ts.map +1 -1
- package/dist/store/run/checkpoint-memory.js.map +1 -1
- package/dist/store/run/claim-disk.d.ts +5 -5
- package/dist/store/run/claim-disk.d.ts.map +1 -1
- package/dist/store/run/claim-disk.js +20 -0
- package/dist/store/run/claim-disk.js.map +1 -1
- package/dist/store/run/conformance.d.ts.map +1 -1
- package/dist/store/run/conformance.js +10 -9
- package/dist/store/run/conformance.js.map +1 -1
- package/dist/store/run/disk.d.ts +3 -1
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +73 -4
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/run/listing.d.ts +4 -4
- package/dist/store/run/listing.d.ts.map +1 -1
- package/dist/store/run/listing.js.map +1 -1
- package/dist/store/run/memory.d.ts +5 -0
- package/dist/store/run/memory.d.ts.map +1 -1
- package/dist/store/run/memory.js +20 -1
- package/dist/store/run/memory.js.map +1 -1
- package/dist/store/session/canonical-path.d.ts +32 -0
- package/dist/store/session/canonical-path.d.ts.map +1 -0
- package/dist/store/session/canonical-path.js +46 -0
- package/dist/store/session/canonical-path.js.map +1 -0
- package/dist/store/session/disk.d.ts +46 -2
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +191 -205
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/memory.d.ts +10 -2
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +36 -4
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/task/disk.d.ts.map +1 -1
- package/dist/store/task/disk.js +76 -68
- package/dist/store/task/disk.js.map +1 -1
- package/dist/store/topic/index.d.ts +6 -0
- package/dist/store/topic/index.d.ts.map +1 -0
- package/dist/store/topic/index.js +20 -0
- package/dist/store/topic/index.js.map +1 -0
- package/dist/store/topic/memory.d.ts +30 -0
- package/dist/store/topic/memory.d.ts.map +1 -0
- package/dist/store/topic/memory.js +97 -0
- package/dist/store/topic/memory.js.map +1 -0
- package/dist/store/topic/objective.d.ts +104 -0
- package/dist/store/topic/objective.d.ts.map +1 -0
- package/dist/store/topic/objective.js +195 -0
- package/dist/store/topic/objective.js.map +1 -0
- package/dist/store/topic/state.d.ts +60 -0
- package/dist/store/topic/state.d.ts.map +1 -0
- package/dist/store/topic/state.js +128 -0
- package/dist/store/topic/state.js.map +1 -0
- package/dist/streaming/coalesce.d.ts +19 -6
- package/dist/streaming/coalesce.d.ts.map +1 -1
- package/dist/streaming/coalesce.js +13 -4
- package/dist/streaming/coalesce.js.map +1 -1
- package/dist/telemetry/runtime-accessors.d.ts +27 -1
- package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
- package/dist/telemetry/runtime-accessors.js +45 -1
- package/dist/telemetry/runtime-accessors.js.map +1 -1
- package/dist/test-support/ids.d.ts +68 -0
- package/dist/test-support/ids.d.ts.map +1 -0
- package/dist/test-support/ids.js +70 -0
- package/dist/test-support/ids.js.map +1 -0
- package/dist/testing.d.ts +24 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +22 -0
- package/dist/testing.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts +1 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +77 -3
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +8 -8
- package/dist/tools/builtins/edit.d.ts +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +34 -0
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +6 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +24 -1
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/job.d.ts +6 -0
- package/dist/tools/builtins/job.d.ts.map +1 -0
- package/dist/tools/builtins/job.js +114 -0
- package/dist/tools/builtins/job.js.map +1 -0
- package/dist/tools/builtins/lsp.d.ts +21 -0
- package/dist/tools/builtins/lsp.d.ts.map +1 -0
- package/dist/tools/builtins/lsp.js +186 -0
- package/dist/tools/builtins/lsp.js.map +1 -0
- package/dist/tools/builtins/run-code.d.ts +13 -0
- package/dist/tools/builtins/run-code.d.ts.map +1 -0
- package/dist/tools/builtins/run-code.js +126 -0
- package/dist/tools/builtins/run-code.js.map +1 -0
- package/dist/tools/builtins/skill.d.ts +14 -0
- package/dist/tools/builtins/skill.d.ts.map +1 -0
- package/dist/tools/builtins/skill.js +120 -0
- package/dist/tools/builtins/skill.js.map +1 -0
- package/dist/tools/builtins/web-guidance.d.ts +31 -0
- package/dist/tools/builtins/web-guidance.d.ts.map +1 -0
- package/dist/tools/builtins/web-guidance.js +42 -0
- package/dist/tools/builtins/web-guidance.js.map +1 -0
- package/dist/tools/builtins/web.d.ts +10 -0
- package/dist/tools/builtins/web.d.ts.map +1 -0
- package/dist/tools/builtins/web.js +137 -0
- package/dist/tools/builtins/web.js.map +1 -0
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +35 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts +2 -2
- package/dist/tools/coordinator/agent.d.ts.map +1 -1
- package/dist/tools/coordinator/index.d.ts +13 -4
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +125 -38
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/outcome.d.ts +2 -2
- package/dist/tools/coordinator/outcome.d.ts.map +1 -1
- package/dist/tools/coordinator/outcome.js +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts +3 -3
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
- package/dist/tools/defineTool.d.ts +12 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +2 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/env-scrub.d.ts +66 -0
- package/dist/tools/env-scrub.d.ts.map +1 -0
- package/dist/tools/env-scrub.js +68 -0
- package/dist/tools/env-scrub.js.map +1 -0
- package/dist/tools/memory/read.d.ts.map +1 -1
- package/dist/tools/memory/read.js +5 -1
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/task/create.d.ts.map +1 -1
- package/dist/tools/task/create.js +2 -1
- package/dist/tools/task/create.js.map +1 -1
- package/dist/tools/task/update.d.ts.map +1 -1
- package/dist/tools/task/update.js +7 -3
- package/dist/tools/task/update.js.map +1 -1
- package/dist/types/acp/index.d.ts +161 -0
- package/dist/types/acp/index.d.ts.map +1 -0
- package/dist/types/acp/index.js +2 -0
- package/dist/types/acp/index.js.map +1 -0
- package/dist/types/agent/base.d.ts +62 -5
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/delegate.d.ts +102 -0
- package/dist/types/agent/delegate.d.ts.map +1 -0
- package/dist/types/agent/delegate.js +2 -0
- package/dist/types/agent/delegate.js.map +1 -0
- package/dist/types/agent/index.d.ts +1 -1
- package/dist/types/agent/index.d.ts.map +1 -1
- package/dist/types/agent/index.js +1 -1
- package/dist/types/agent/index.js.map +1 -1
- package/dist/types/agent/manager.d.ts +7 -1
- package/dist/types/agent/manager.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +24 -3
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/{gateway.d.ts → scheduler.d.ts} +41 -5
- package/dist/types/agent/scheduler.d.ts.map +1 -0
- package/dist/types/agent/scheduler.js +2 -0
- package/dist/types/agent/scheduler.js.map +1 -0
- package/dist/types/agent/supervisor.d.ts +23 -5
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +31 -9
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/working-memory.d.ts +1 -1
- package/dist/types/authorization/index.d.ts +634 -0
- package/dist/types/authorization/index.d.ts.map +1 -0
- package/dist/types/authorization/index.js +103 -0
- package/dist/types/authorization/index.js.map +1 -0
- package/dist/types/bus/index.d.ts +24 -1
- package/dist/types/bus/index.d.ts.map +1 -1
- package/dist/types/code-navigation/index.d.ts +112 -0
- package/dist/types/code-navigation/index.d.ts.map +1 -0
- package/dist/types/code-navigation/index.js +17 -0
- package/dist/types/code-navigation/index.js.map +1 -0
- package/dist/types/command/index.d.ts +74 -0
- package/dist/types/command/index.d.ts.map +1 -0
- package/dist/types/command/index.js +18 -0
- package/dist/types/command/index.js.map +1 -0
- package/dist/types/common/index.d.ts +19 -2
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js.map +1 -1
- package/dist/types/connector/mcp.d.ts +8 -0
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/guardrail/index.d.ts +74 -1
- package/dist/types/guardrail/index.d.ts.map +1 -1
- package/dist/types/hitl/policy.d.ts +79 -0
- package/dist/types/hitl/policy.d.ts.map +1 -0
- package/dist/types/hitl/policy.js +2 -0
- package/dist/types/hitl/policy.js.map +1 -0
- package/dist/types/ids/brand.d.ts +55 -0
- package/dist/types/ids/brand.d.ts.map +1 -0
- package/dist/types/ids/brand.js +45 -0
- package/dist/types/ids/brand.js.map +1 -0
- package/dist/types/ids/index.d.ts +98 -39
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js +5 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/message/index.d.ts +24 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +2 -2
- package/dist/types/project/entity.d.ts +22 -2
- package/dist/types/project/entity.d.ts.map +1 -1
- package/dist/types/provider/interface.d.ts +43 -2
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/provider/model.d.ts +16 -2
- package/dist/types/provider/model.d.ts.map +1 -1
- package/dist/types/run/audit.d.ts +150 -0
- package/dist/types/run/audit.d.ts.map +1 -0
- package/dist/types/run/audit.js +39 -0
- package/dist/types/run/audit.js.map +1 -0
- package/dist/types/run/cancel-cause.d.ts +49 -0
- package/dist/types/run/cancel-cause.d.ts.map +1 -0
- package/dist/types/run/cancel-cause.js +39 -0
- package/dist/types/run/cancel-cause.js.map +1 -0
- package/dist/types/run/checkpoint-store.d.ts +29 -11
- package/dist/types/run/checkpoint-store.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +24 -4
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/derive-status.d.ts +3 -3
- package/dist/types/run/derive-status.d.ts.map +1 -1
- package/dist/types/run/derive-status.js +1 -1
- package/dist/types/run/entity.d.ts +2 -3
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/run/event-cursor.d.ts +3 -3
- package/dist/types/run/event-cursor.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +159 -4
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/index.d.ts +2 -0
- package/dist/types/run/index.d.ts.map +1 -1
- package/dist/types/run/index.js +2 -0
- package/dist/types/run/index.js.map +1 -1
- package/dist/types/run/metadata.d.ts +2 -2
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/run/prepare-step.d.ts +29 -0
- package/dist/types/run/prepare-step.d.ts.map +1 -1
- package/dist/types/run/state.d.ts +33 -10
- package/dist/types/run/state.d.ts.map +1 -1
- package/dist/types/run/state.js +60 -3
- package/dist/types/run/state.js.map +1 -1
- package/dist/types/run/stop-reason.d.ts +9 -0
- package/dist/types/run/stop-reason.d.ts.map +1 -1
- package/dist/types/run/store.d.ts +38 -0
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +38 -0
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js +21 -0
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/session/actor.d.ts +2 -2
- package/dist/types/session/actor.d.ts.map +1 -1
- package/dist/types/session/entity.d.ts +9 -7
- package/dist/types/session/entity.d.ts.map +1 -1
- package/dist/types/session/ids.d.ts +3 -1
- package/dist/types/session/ids.d.ts.map +1 -1
- package/dist/types/session/index.d.ts +4 -2
- package/dist/types/session/index.d.ts.map +1 -1
- package/dist/types/session/store.d.ts +51 -22
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/session/sub-session.d.ts +55 -5
- package/dist/types/session/sub-session.d.ts.map +1 -1
- package/dist/types/skills/index.d.ts +41 -0
- package/dist/types/skills/index.d.ts.map +1 -1
- package/dist/types/skills/index.js +17 -1
- package/dist/types/skills/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +186 -1
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +53 -0
- package/dist/types/tool/presentation.d.ts.map +1 -0
- package/dist/types/tool/presentation.js +2 -0
- package/dist/types/tool/presentation.js.map +1 -0
- package/dist/types/{thread → topic}/entity.d.ts +34 -26
- package/dist/types/topic/entity.d.ts.map +1 -0
- package/dist/types/{thread → topic}/entity.js.map +1 -1
- package/dist/types/topic/index.d.ts +5 -0
- package/dist/types/topic/index.d.ts.map +1 -0
- package/dist/types/topic/index.js +11 -0
- package/dist/types/topic/index.js.map +1 -0
- package/dist/types/topic/objective.d.ts +86 -0
- package/dist/types/topic/objective.d.ts.map +1 -0
- package/dist/types/topic/objective.js +10 -0
- package/dist/types/topic/objective.js.map +1 -0
- package/dist/types/topic/state.d.ts +56 -0
- package/dist/types/topic/state.d.ts.map +1 -0
- package/dist/types/topic/state.js +10 -0
- package/dist/types/topic/state.js.map +1 -0
- package/dist/types/topic/store.d.ts +95 -0
- package/dist/types/topic/store.d.ts.map +1 -0
- package/dist/types/topic/store.js +29 -0
- package/dist/types/topic/store.js.map +1 -0
- package/dist/types/workspace/ref.d.ts +7 -0
- package/dist/types/workspace/ref.d.ts.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js +13 -1
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/hash.d.ts +10 -0
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +15 -0
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/id.d.ts +90 -2
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +113 -5
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/log/attributes.d.ts +17 -0
- package/dist/utils/log/attributes.d.ts.map +1 -0
- package/dist/utils/log/attributes.js +2 -0
- package/dist/utils/log/attributes.js.map +1 -0
- package/dist/utils/log/caps.d.ts +27 -0
- package/dist/utils/log/caps.d.ts.map +1 -0
- package/dist/utils/log/caps.js +107 -0
- package/dist/utils/log/caps.js.map +1 -0
- package/dist/utils/log/create-logger.d.ts +28 -0
- package/dist/utils/log/create-logger.d.ts.map +1 -0
- package/dist/utils/log/create-logger.js +168 -0
- package/dist/utils/log/create-logger.js.map +1 -0
- package/dist/utils/log/exception.d.ts +11 -0
- package/dist/utils/log/exception.d.ts.map +1 -0
- package/dist/utils/log/exception.js +108 -0
- package/dist/utils/log/exception.js.map +1 -0
- package/dist/utils/log/index.d.ts +7 -0
- package/dist/utils/log/index.d.ts.map +1 -0
- package/dist/utils/log/index.js +15 -0
- package/dist/utils/log/index.js.map +1 -0
- package/dist/utils/log/process-sink.d.ts +28 -0
- package/dist/utils/log/process-sink.d.ts.map +1 -0
- package/dist/utils/log/process-sink.js +56 -0
- package/dist/utils/log/process-sink.js.map +1 -0
- package/dist/utils/log/redact.d.ts +3 -0
- package/dist/utils/log/redact.d.ts.map +1 -0
- package/dist/utils/log/redact.js +71 -0
- package/dist/utils/log/redact.js.map +1 -0
- package/dist/utils/log/sinks.d.ts +43 -0
- package/dist/utils/log/sinks.d.ts.map +1 -0
- package/dist/utils/log/sinks.js +184 -0
- package/dist/utils/log/sinks.js.map +1 -0
- package/dist/utils/log/templates.d.ts +63 -0
- package/dist/utils/log/templates.d.ts.map +1 -0
- package/dist/utils/log/templates.js +119 -0
- package/dist/utils/log/templates.js.map +1 -0
- package/dist/utils/log/types.d.ts +183 -0
- package/dist/utils/log/types.d.ts.map +1 -0
- package/dist/utils/log/types.js +55 -0
- package/dist/utils/log/types.js.map +1 -0
- package/dist/utils/logger.d.ts +44 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +102 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/renamed-field.d.ts +19 -0
- package/dist/utils/renamed-field.d.ts.map +1 -0
- package/dist/utils/renamed-field.js +29 -0
- package/dist/utils/renamed-field.js.map +1 -0
- package/dist/vault/CredentialProvider.d.ts +89 -0
- package/dist/vault/CredentialProvider.d.ts.map +1 -0
- package/dist/vault/CredentialProvider.js +64 -0
- package/dist/vault/CredentialProvider.js.map +1 -0
- package/dist/vault/InMemoryCredentialVault.d.ts +2 -1
- package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
- package/dist/vault/InMemoryCredentialVault.js +15 -5
- package/dist/vault/InMemoryCredentialVault.js.map +1 -1
- package/dist/vault/index.d.ts +3 -0
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +5 -0
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/instrumentation.d.ts +18 -2
- package/dist/vault/instrumentation.d.ts.map +1 -1
- package/dist/vault/instrumentation.js +47 -0
- package/dist/vault/instrumentation.js.map +1 -1
- package/package.json +4 -4
- package/src/advisory/executor.ts +14 -12
- package/src/advisory/registry.ts +2 -2
- package/src/agents/AGENTS.md +91 -0
- package/src/agents/AbstractAgent.ts +67 -14
- package/src/agents/PipelineAgent.ts +46 -12
- package/src/agents/ReactiveAgent.ts +27 -13
- package/src/agents/RouterAgent.ts +33 -21
- package/src/agents/SupervisorAgent.ts +51 -26
- package/src/agents/handle.ts +149 -0
- package/src/agents/runAgent.ts +14 -7
- package/src/{verification → authorization}/gate.ts +39 -32
- package/src/authorization/index.ts +26 -0
- package/src/authorization/permission-presets.ts +215 -0
- package/src/{verification → authorization}/presets.ts +15 -3
- package/src/{verification → authorization}/rules.ts +16 -3
- package/src/bridge/a2a/client.ts +369 -0
- package/src/bridge/a2a/mapper.ts +17 -0
- package/src/bridge/acp/filesystem.ts +63 -0
- package/src/bridge/acp/index.ts +11 -0
- package/src/bridge/acp/permission.ts +71 -0
- package/src/bridge/acp/server.ts +500 -0
- package/src/bridge/acp/update.ts +109 -0
- package/src/bridge/mcp/connector/adapter.ts +8 -4
- package/src/bridge/sse/mapper.ts +30 -0
- package/src/bus/breaker.ts +15 -10
- package/src/bus/index.ts +10 -8
- package/src/bus/lock.ts +36 -19
- package/src/bus/ownership.ts +17 -9
- package/src/compaction/context-window.ts +23 -1
- package/src/compaction/index.ts +6 -0
- package/src/compaction/manual.ts +177 -0
- package/src/compaction/plan.ts +226 -0
- package/src/compaction/summary.ts +31 -0
- package/src/compaction/verifier.ts +2 -2
- package/src/config/registry.ts +208 -0
- package/src/config/runtime.ts +27 -0
- package/src/connector/BaseConnector.ts +8 -3
- package/src/connector/builtins/http.ts +12 -2
- package/src/connector/builtins/webhook.ts +6 -2
- package/src/connector/index.ts +45 -29
- package/src/connector/mcp/adapter.ts +51 -1
- package/src/connector/mcp/client.ts +32 -20
- package/src/connector/mcp/discovery.ts +31 -20
- package/src/connector/mcp/http-sse.ts +12 -6
- package/src/connector/mcp/index.ts +8 -7
- package/src/connector/mcp/reconnect.ts +194 -0
- package/src/connector/mcp/server/index.ts +32 -0
- package/src/connector/mcp/{server-stdio.ts → server/server-stdio.ts} +5 -4
- package/src/connector/mcp/{server.ts → server/server.ts} +17 -11
- package/src/connector/mcp/stdio.ts +18 -9
- package/src/connector/mcp/streamable-http.ts +8 -4
- package/src/{bridge/tools/connector → connector/tools}/adapter.ts +5 -5
- package/src/{bridge/tools/connector → connector/tools}/definitions.ts +4 -4
- package/src/{bridge/tools/connector → connector/tools}/router.ts +17 -9
- package/src/connector/web/guarded-fetch.ts +288 -0
- package/src/connector/web/index.ts +17 -0
- package/src/connector/web/types.ts +99 -0
- package/src/constants/acp/index.ts +104 -0
- package/src/constants/credential-env-keys.ts +63 -0
- package/src/constants/index.ts +3 -1
- package/src/constants/secret-patterns.ts +102 -0
- package/src/constants/telemetry/index.ts +98 -0
- package/src/contracts/api.ts +11 -0
- package/src/deprecated-aliases.ts +86 -0
- package/src/eval/judge.ts +2 -2
- package/src/execution/base.ts +18 -7
- package/src/execution/code-runtime/types.ts +116 -0
- package/src/execution/code-runtime/worker.ts +266 -0
- package/src/{connector/execution → execution}/factory.ts +3 -3
- package/src/{connector/execution → execution}/hybrid.ts +13 -7
- package/src/execution/index.ts +24 -0
- package/src/execution/local.ts +4 -2
- package/src/{connector/execution → execution}/remote.ts +15 -8
- package/src/index.ts +17 -0
- package/src/invariants/index.ts +201 -0
- package/src/manager/agent/lifecycle.ts +172 -58
- package/src/manager/connector/environment.ts +22 -11
- package/src/manager/connector/lifecycle.ts +30 -11
- package/src/manager/connector/tenant.ts +33 -14
- package/src/manager/index.ts +16 -2
- package/src/manager/project/lifecycle.ts +1 -1
- package/src/manager/run/emergency.ts +9 -7
- package/src/manager/run/persistence.ts +110 -8
- package/src/manager/topic/lifecycle.ts +235 -0
- package/src/manager/topic/objective.ts +203 -0
- package/src/persona/assembler.ts +14 -3
- package/src/plugin/lifecycle.ts +156 -20
- package/src/plugin/loader.ts +67 -16
- package/src/probe/index.ts +1 -0
- package/src/probe/registry.ts +41 -5
- package/src/process/kill-tree.ts +52 -0
- package/src/prompt/contributions.ts +173 -0
- package/src/prompt/index.ts +15 -0
- package/src/provider/attribution.ts +57 -0
- package/src/provider/{collect.ts → collect-chat-completion.ts} +4 -2
- package/src/provider/conformance.ts +189 -0
- package/src/provider/errors.ts +27 -12
- package/src/provider/fallback.ts +32 -10
- package/src/provider/idle-timeout.ts +112 -0
- package/src/provider/instrumentation.ts +4 -2
- package/src/provider/retry.ts +63 -21
- package/src/public-runtime.ts +378 -14
- package/src/public-tools.ts +41 -1
- package/src/public-types.ts +101 -4
- package/src/rag/rag-tool.ts +4 -2
- package/src/read-model/index.ts +14 -0
- package/src/read-model/registry.ts +152 -0
- package/src/read-model/run-status.ts +127 -0
- package/src/registry/{Registry.ts → BaseRegistry.ts} +1 -1
- package/src/registry/ManagedRegistry.ts +26 -9
- package/src/registry/command/index-exports.ts +4 -0
- package/src/registry/command/index.ts +105 -0
- package/src/registry/command/kernel-commands.ts +110 -0
- package/src/registry/connector/scoped.ts +6 -5
- package/src/registry/index.ts +7 -1
- package/src/registry/tool/execute.ts +52 -13
- package/src/registry/tool/presentation.ts +116 -0
- package/src/registry/tool/screen.ts +132 -0
- package/src/run/drain.ts +13 -3
- package/src/run/reporter.ts +208 -153
- package/src/run-query/index.ts +108 -0
- package/src/runtime/bidi/session.ts +7 -2
- package/src/runtime/decision/fallback.ts +6 -3
- package/src/runtime/decision/parser.ts +10 -9
- package/src/runtime/jobs/registry.ts +346 -0
- package/src/runtime/query/approval-policy.ts +78 -0
- package/src/runtime/query/checkpoint.ts +6 -6
- package/src/runtime/query/context.ts +120 -30
- package/src/runtime/query/events.ts +19 -11
- package/src/runtime/query/executor.ts +287 -66
- package/src/runtime/query/guardrail-presets.ts +61 -14
- package/src/runtime/query/guardrails.ts +16 -12
- package/src/runtime/query/index.ts +579 -96
- package/src/runtime/query/iteration/index.ts +269 -87
- package/src/runtime/query/iteration/phases/advisory.ts +17 -16
- package/src/runtime/query/iteration/phases/compaction.ts +235 -187
- package/src/runtime/query/iteration/phases/context.ts +82 -21
- package/src/runtime/query/iteration/phases/tool-review.ts +28 -9
- package/src/runtime/query/iteration/phases/working-memory.ts +3 -2
- package/src/runtime/query/iteration/stream-turn.ts +14 -14
- package/src/runtime/query/{context-cache.ts → prompt-cache.ts} +23 -3
- package/src/runtime/query/prompt.ts +104 -4
- package/src/runtime/query/repeat-call.ts +130 -0
- package/src/runtime/query/replay/mutate.ts +6 -0
- package/src/runtime/query/result.ts +47 -10
- package/src/runtime/query/resume-pending.ts +19 -17
- package/src/runtime/query/resume-run.ts +2 -2
- package/src/runtime/query/run-state.ts +5 -5
- package/src/runtime/query/tool-grants.ts +1 -1
- package/src/runtime/query/tool-output-budget.ts +36 -3
- package/src/runtime/query/tool-pause.ts +2 -1
- package/src/runtime/query/tooling.ts +17 -2
- package/src/sandbox/provider/local.ts +94 -21
- package/src/sandbox/terminal.ts +197 -0
- package/src/{gateway → scheduler}/completion-inbox.ts +20 -10
- package/src/scheduler/delegating.ts +297 -0
- package/src/{gateway → scheduler}/local.ts +24 -15
- package/src/session/actor-scope.ts +121 -0
- package/src/session/errors.ts +30 -8
- package/src/session/handoff/assignment.ts +5 -5
- package/src/session/handoff/broadcast.ts +9 -9
- package/src/session/handoff/single.ts +8 -8
- package/src/session/migration/filesystem.ts +46 -2
- package/src/session/migration/id-prefix.ts +60 -22
- package/src/session/migration/index.ts +5 -0
- package/src/session/migration/marker.ts +19 -4
- package/src/session/retention/archive.ts +32 -12
- package/src/session/workspace/git-worktree.ts +17 -8
- package/src/skills/loader.ts +39 -9
- package/src/skills/registry.ts +177 -20
- package/src/store/attachment/index.ts +182 -0
- package/src/store/config/index.ts +74 -0
- package/src/store/feedback/conformance.ts +193 -0
- package/src/store/feedback/disk.ts +184 -0
- package/src/store/feedback/index.ts +13 -0
- package/src/store/feedback/memory.ts +0 -0
- package/src/store/feedback/types.ts +107 -0
- package/src/store/index.ts +5 -0
- package/src/store/kv/record-store.ts +91 -0
- package/src/store/memory/disk.ts +35 -32
- package/src/store/run/checkpoint-disk.ts +27 -6
- package/src/store/run/checkpoint-memory.ts +8 -8
- package/src/store/run/claim-disk.ts +58 -13
- package/src/store/run/conformance.ts +11 -10
- package/src/store/run/disk.ts +77 -5
- package/src/store/run/listing.ts +6 -6
- package/src/store/run/memory.ts +24 -1
- package/src/store/session/canonical-path.ts +45 -0
- package/src/store/session/disk.ts +216 -191
- package/src/store/session/memory.ts +43 -5
- package/src/store/task/disk.ts +77 -67
- package/src/store/topic/index.ts +33 -0
- package/src/store/topic/memory.ts +111 -0
- package/src/store/topic/objective.ts +290 -0
- package/src/store/topic/state.ts +204 -0
- package/src/streaming/coalesce.ts +19 -5
- package/src/telemetry/runtime-accessors.ts +45 -1
- package/src/test-support/ids.ts +117 -0
- package/src/testing.ts +40 -0
- package/src/tools/builtins/bash.ts +82 -3
- package/src/tools/builtins/edit.ts +36 -0
- package/src/tools/builtins/index.ts +29 -1
- package/src/tools/builtins/job.ts +133 -0
- package/src/tools/builtins/lsp.ts +214 -0
- package/src/tools/builtins/run-code.ts +154 -0
- package/src/tools/builtins/skill.ts +134 -0
- package/src/tools/builtins/web-guidance.ts +46 -0
- package/src/tools/builtins/web.ts +156 -0
- package/src/tools/builtins/write-file.ts +37 -1
- package/src/tools/coordinator/agent.ts +2 -2
- package/src/tools/coordinator/index.ts +144 -40
- package/src/tools/coordinator/outcome.ts +2 -2
- package/src/tools/coordinator/wait-with-idle-bound.ts +3 -3
- package/src/tools/defineTool.ts +14 -0
- package/src/tools/env-scrub.ts +91 -0
- package/src/tools/memory/read.ts +5 -2
- package/src/tools/task/create.ts +2 -1
- package/src/tools/task/update.ts +7 -4
- package/src/types/acp/index.ts +163 -0
- package/src/types/agent/base.ts +67 -5
- package/src/types/agent/delegate.ts +110 -0
- package/src/types/agent/index.ts +1 -1
- package/src/types/agent/manager.ts +7 -1
- package/src/types/agent/reactive.ts +27 -3
- package/src/types/agent/{gateway.ts → scheduler.ts} +41 -4
- package/src/types/agent/supervisor.ts +26 -5
- package/src/types/agent/task.ts +31 -9
- package/src/types/agent/working-memory.ts +1 -1
- package/src/types/{verification → authorization}/index.ts +79 -10
- package/src/types/bus/index.ts +30 -1
- package/src/types/code-navigation/index.ts +99 -0
- package/src/types/command/index.ts +68 -0
- package/src/types/common/index.ts +26 -2
- package/src/types/connector/mcp.ts +8 -0
- package/src/types/guardrail/index.ts +72 -1
- package/src/types/hitl/policy.ts +83 -0
- package/src/types/ids/brand.ts +58 -0
- package/src/types/ids/index.ts +109 -42
- package/src/types/message/index.ts +25 -1
- package/src/types/project/entity.ts +22 -2
- package/src/types/provider/interface.ts +45 -2
- package/src/types/provider/model.ts +16 -2
- package/src/types/run/audit.ts +164 -0
- package/src/types/run/cancel-cause.ts +60 -0
- package/src/types/run/checkpoint-store.ts +31 -11
- package/src/types/run/config.ts +25 -4
- package/src/types/run/derive-status.ts +3 -3
- package/src/types/run/entity.ts +2 -4
- package/src/types/run/event-cursor.ts +3 -3
- package/src/types/run/events.ts +165 -6
- package/src/types/run/index.ts +2 -0
- package/src/types/run/metadata.ts +2 -2
- package/src/types/run/prepare-step.ts +33 -0
- package/src/types/run/state.ts +78 -11
- package/src/types/run/stop-reason.ts +9 -0
- package/src/types/run/store.ts +40 -0
- package/src/types/sandbox/index.ts +37 -0
- package/src/types/session/actor.ts +10 -2
- package/src/types/session/entity.ts +9 -7
- package/src/types/session/ids.ts +2 -0
- package/src/types/session/index.ts +2 -0
- package/src/types/session/store.ts +53 -22
- package/src/types/session/sub-session.ts +50 -9
- package/src/types/skills/index.ts +50 -0
- package/src/types/tool/index.ts +171 -1
- package/src/types/tool/presentation.ts +48 -0
- package/src/types/{thread → topic}/entity.ts +34 -26
- package/src/types/topic/index.ts +23 -0
- package/src/types/topic/objective.ts +93 -0
- package/src/types/topic/state.ts +60 -0
- package/src/types/topic/store.ts +101 -0
- package/src/types/workspace/ref.ts +7 -0
- package/src/utils/abort.ts +16 -1
- package/src/utils/hash.ts +16 -0
- package/src/utils/id.ts +172 -12
- package/src/utils/log/attributes.ts +47 -0
- package/src/utils/log/caps.ts +118 -0
- package/src/utils/log/create-logger.ts +198 -0
- package/src/utils/log/exception.ts +124 -0
- package/src/utils/log/index.ts +24 -0
- package/src/utils/log/process-sink.ts +76 -0
- package/src/utils/log/redact.ts +77 -0
- package/src/utils/log/sinks.ts +205 -0
- package/src/utils/log/templates.ts +161 -0
- package/src/utils/log/types.ts +195 -0
- package/src/utils/logger.ts +121 -2
- package/src/utils/renamed-field.ts +35 -0
- package/src/vault/CredentialProvider.ts +147 -0
- package/src/vault/InMemoryCredentialVault.ts +16 -5
- package/src/vault/index.ts +16 -0
- package/src/vault/instrumentation.ts +63 -2
- package/dist/bridge/tools/connector/adapter.d.ts.map +0 -1
- package/dist/bridge/tools/connector/adapter.js.map +0 -1
- package/dist/bridge/tools/connector/definitions.d.ts.map +0 -1
- package/dist/bridge/tools/connector/definitions.js.map +0 -1
- package/dist/bridge/tools/connector/index.d.ts.map +0 -1
- package/dist/bridge/tools/connector/index.js.map +0 -1
- package/dist/bridge/tools/connector/router.d.ts.map +0 -1
- package/dist/bridge/tools/connector/router.js.map +0 -1
- package/dist/connector/execution/factory.d.ts.map +0 -1
- package/dist/connector/execution/factory.js.map +0 -1
- package/dist/connector/execution/hybrid.d.ts.map +0 -1
- package/dist/connector/execution/hybrid.js.map +0 -1
- package/dist/connector/execution/index.d.ts +0 -6
- package/dist/connector/execution/index.d.ts.map +0 -1
- package/dist/connector/execution/index.js +0 -4
- package/dist/connector/execution/index.js.map +0 -1
- package/dist/connector/execution/remote.d.ts.map +0 -1
- package/dist/connector/execution/remote.js.map +0 -1
- package/dist/connector/mcp/server-stdio.d.ts.map +0 -1
- package/dist/connector/mcp/server-stdio.js.map +0 -1
- package/dist/connector/mcp/server.d.ts.map +0 -1
- package/dist/connector/mcp/server.js.map +0 -1
- package/dist/constants/verification/index.d.ts.map +0 -1
- package/dist/constants/verification/index.js.map +0 -1
- package/dist/gateway/completion-inbox.d.ts.map +0 -1
- package/dist/gateway/completion-inbox.js.map +0 -1
- package/dist/gateway/local.d.ts.map +0 -1
- package/dist/gateway/local.js.map +0 -1
- package/dist/manager/thread/lifecycle.d.ts +0 -105
- package/dist/manager/thread/lifecycle.d.ts.map +0 -1
- package/dist/manager/thread/lifecycle.js.map +0 -1
- package/dist/provider/collect.d.ts.map +0 -1
- package/dist/provider/collect.js.map +0 -1
- package/dist/registry/Registry.d.ts.map +0 -1
- package/dist/registry/Registry.js.map +0 -1
- package/dist/router/task-router.d.ts.map +0 -1
- package/dist/router/task-router.js.map +0 -1
- package/dist/runtime/query/context-cache.d.ts.map +0 -1
- package/dist/runtime/query/context-cache.js.map +0 -1
- package/dist/store/thread/disk.d.ts +0 -41
- package/dist/store/thread/disk.d.ts.map +0 -1
- package/dist/store/thread/disk.js +0 -238
- package/dist/store/thread/disk.js.map +0 -1
- package/dist/store/thread/index.d.ts +0 -4
- package/dist/store/thread/index.d.ts.map +0 -1
- package/dist/store/thread/index.js +0 -6
- package/dist/store/thread/index.js.map +0 -1
- package/dist/store/thread/memory.d.ts +0 -23
- package/dist/store/thread/memory.d.ts.map +0 -1
- package/dist/store/thread/memory.js +0 -90
- package/dist/store/thread/memory.js.map +0 -1
- package/dist/types/agent/gateway.d.ts.map +0 -1
- package/dist/types/agent/gateway.js +0 -2
- package/dist/types/agent/gateway.js.map +0 -1
- package/dist/types/thread/entity.d.ts.map +0 -1
- package/dist/types/thread/index.d.ts +0 -3
- package/dist/types/thread/index.d.ts.map +0 -1
- package/dist/types/thread/index.js +0 -5
- package/dist/types/thread/index.js.map +0 -1
- package/dist/types/thread/store.d.ts +0 -86
- package/dist/types/thread/store.d.ts.map +0 -1
- package/dist/types/thread/store.js +0 -22
- package/dist/types/thread/store.js.map +0 -1
- package/dist/types/verification/index.d.ts +0 -317
- package/dist/types/verification/index.d.ts.map +0 -1
- package/dist/types/verification/index.js +0 -53
- package/dist/types/verification/index.js.map +0 -1
- package/dist/verification/gate.d.ts.map +0 -1
- package/dist/verification/gate.js.map +0 -1
- package/dist/verification/index.d.ts +0 -4
- package/dist/verification/index.d.ts.map +0 -1
- package/dist/verification/index.js +0 -4
- package/dist/verification/index.js.map +0 -1
- package/dist/verification/presets.d.ts.map +0 -1
- package/dist/verification/presets.js.map +0 -1
- package/dist/verification/rules.d.ts +0 -4
- package/dist/verification/rules.d.ts.map +0 -1
- package/dist/verification/rules.js.map +0 -1
- package/src/connector/execution/index.ts +0 -5
- package/src/manager/thread/lifecycle.ts +0 -217
- package/src/store/thread/disk.ts +0 -272
- package/src/store/thread/index.ts +0 -7
- package/src/store/thread/memory.ts +0 -104
- package/src/types/thread/index.ts +0 -6
- package/src/types/thread/store.ts +0 -92
- package/src/verification/index.ts +0 -3
- /package/dist/{bridge/tools/connector → connector/tools}/index.d.ts +0 -0
- /package/dist/{bridge/tools/connector → connector/tools}/index.js +0 -0
- /package/dist/constants/{verification → authorization}/index.d.ts +0 -0
- /package/dist/constants/{verification → authorization}/index.js +0 -0
- /package/dist/{router → model-router}/task-router.d.ts +0 -0
- /package/dist/{router → model-router}/task-router.js +0 -0
- /package/dist/types/{thread → topic}/entity.js +0 -0
- /package/src/{bridge/tools/connector → connector/tools}/index.ts +0 -0
- /package/src/constants/{verification → authorization}/index.ts +0 -0
- /package/src/{router → model-router}/task-router.ts +0 -0
|
@@ -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'
|
|
@@ -48,7 +48,7 @@ export interface BroadcastHandoffDeps {
|
|
|
48
48
|
* Added in Phase 2.6; checked once per broadcast (all recipients share
|
|
49
49
|
* a threadId by the fan-out invariant validated above).
|
|
50
50
|
*/
|
|
51
|
-
threadManager:
|
|
51
|
+
threadManager: TopicManager
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -116,8 +116,8 @@ export async function executeBroadcastHandoff(
|
|
|
116
116
|
if (a.expectedOwnerVersion !== first.expectedOwnerVersion) {
|
|
117
117
|
throw new Error('executeBroadcastHandoff: all assignments must share expectedOwnerVersion')
|
|
118
118
|
}
|
|
119
|
-
if (a.
|
|
120
|
-
throw new Error('executeBroadcastHandoff: all assignments must share
|
|
119
|
+
if (a.topicId !== first.topicId) {
|
|
120
|
+
throw new Error('executeBroadcastHandoff: all assignments must share topicId')
|
|
121
121
|
}
|
|
122
122
|
if (a.projectId !== first.projectId) {
|
|
123
123
|
throw new Error('executeBroadcastHandoff: all assignments must share projectId')
|
|
@@ -143,9 +143,9 @@ export async function executeBroadcastHandoff(
|
|
|
143
143
|
|
|
144
144
|
// Thread archive gate (Phase 2.6) — runs BEFORE source load/capacity so an
|
|
145
145
|
// archived thread fails fastest with `ThreadClosedError`. All assignments
|
|
146
|
-
// share `
|
|
146
|
+
// share `topicId` by the shape validation above. Runs BEFORE the CAS
|
|
147
147
|
// lock so a denied fan-out leaves the source session untouched.
|
|
148
|
-
await deps.threadManager.requireOpen(first.
|
|
148
|
+
await deps.threadManager.requireOpen(first.topicId, tenantId)
|
|
149
149
|
|
|
150
150
|
// 3. Load source + tenant check.
|
|
151
151
|
const source = await deps.store.getSession(first.sourceSessionId, tenantId)
|
|
@@ -158,9 +158,9 @@ export async function executeBroadcastHandoff(
|
|
|
158
158
|
resource: `session(${source.id})`,
|
|
159
159
|
})
|
|
160
160
|
}
|
|
161
|
-
if (source.
|
|
161
|
+
if (source.topicId !== first.topicId) {
|
|
162
162
|
throw new Error(
|
|
163
|
-
`Assignment
|
|
163
|
+
`Assignment topicId ${first.topicId} does not match source topicId ${source.topicId}`,
|
|
164
164
|
)
|
|
165
165
|
}
|
|
166
166
|
if (source.projectId !== first.projectId) {
|
|
@@ -245,7 +245,7 @@ export async function executeBroadcastHandoff(
|
|
|
245
245
|
|
|
246
246
|
const childSession = await deps.store.createSession(
|
|
247
247
|
{
|
|
248
|
-
|
|
248
|
+
topicId: source.topicId,
|
|
249
249
|
projectId: source.projectId,
|
|
250
250
|
currentActor: assignment.recipientActor,
|
|
251
251
|
},
|
|
@@ -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'
|
|
@@ -67,11 +67,11 @@ export interface SingleHandoffDeps {
|
|
|
67
67
|
events: HandoffEventSink
|
|
68
68
|
runStatus?: RunStatusResolver
|
|
69
69
|
/**
|
|
70
|
-
* Gate the recipient-session creation on the
|
|
70
|
+
* Gate the recipient-session creation on the Topic being `'open'`.
|
|
71
71
|
* Added in Phase 2.6 to mirror spawn — a handoff into an archived
|
|
72
|
-
*
|
|
72
|
+
* Topic would otherwise undermine `TopicManager.archive`.
|
|
73
73
|
*/
|
|
74
|
-
threadManager:
|
|
74
|
+
threadManager: TopicManager
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/**
|
|
@@ -97,7 +97,7 @@ export async function executeSingleHandoff(
|
|
|
97
97
|
// fails fastest with `ThreadClosedError` rather than a lock rejection or
|
|
98
98
|
// capacity error. Checked BEFORE the CAS lock so a denied handoff leaves
|
|
99
99
|
// the source session untouched.
|
|
100
|
-
await deps.threadManager.requireOpen(assignment.
|
|
100
|
+
await deps.threadManager.requireOpen(assignment.topicId, tenantId)
|
|
101
101
|
|
|
102
102
|
// 1. Load source session + tenant check.
|
|
103
103
|
const source = await deps.store.getSession(assignment.sourceSessionId, tenantId)
|
|
@@ -110,9 +110,9 @@ export async function executeSingleHandoff(
|
|
|
110
110
|
resource: `session(${source.id})`,
|
|
111
111
|
})
|
|
112
112
|
}
|
|
113
|
-
if (source.
|
|
113
|
+
if (source.topicId !== assignment.topicId) {
|
|
114
114
|
throw new Error(
|
|
115
|
-
`Assignment
|
|
115
|
+
`Assignment topicId ${assignment.topicId} does not match source session topicId ${source.topicId}`,
|
|
116
116
|
)
|
|
117
117
|
}
|
|
118
118
|
if (source.projectId !== assignment.projectId) {
|
|
@@ -190,7 +190,7 @@ export async function executeSingleHandoff(
|
|
|
190
190
|
|
|
191
191
|
const recipientSession = await deps.store.createSession(
|
|
192
192
|
{
|
|
193
|
-
|
|
193
|
+
topicId: source.topicId,
|
|
194
194
|
projectId: source.projectId,
|
|
195
195
|
currentActor: assignment.recipientActor,
|
|
196
196
|
},
|
|
@@ -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,10 +157,23 @@ 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
|
*/
|
|
164
|
+
/**
|
|
165
|
+
* @deprecated Use {@link acceptLegacyContainerId}. Removal is NZ-TOPIC-05.
|
|
166
|
+
*
|
|
167
|
+
* The rename is the whole point of NZ-TOPIC-04 — `thd_` meant both the
|
|
168
|
+
* pre-0.2.0 top-level container this coerces and the live Topic layer, and
|
|
169
|
+
* only this function's NAME said which. The alias exists so the rename
|
|
170
|
+
* reaches a consumer as a warning first.
|
|
171
|
+
*/
|
|
172
|
+
export const acceptLegacyThreadId = acceptLegacyContainerId
|
|
173
|
+
|
|
174
|
+
/** @deprecated Use {@link rejectLegacyContainerPrefix}. Removal is NZ-TOPIC-05. */
|
|
175
|
+
export const rejectLegacyPrefix = rejectLegacyContainerPrefix
|
|
176
|
+
|
|
139
177
|
export function __resetSeenLegacyForTests(): void {
|
|
140
178
|
seenLegacy.clear()
|
|
141
179
|
}
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
// See session-hierarchy.md §13.3.1 (ID prefix) + §13.4.1 (filesystem).
|
|
4
4
|
|
|
5
5
|
export {
|
|
6
|
+
acceptLegacyContainerId,
|
|
7
|
+
/** @deprecated Use `acceptLegacyContainerId`. */
|
|
6
8
|
acceptLegacyThreadId,
|
|
9
|
+
rejectLegacyContainerPrefix,
|
|
10
|
+
/** @deprecated Use `rejectLegacyContainerPrefix`. */
|
|
7
11
|
rejectLegacyPrefix,
|
|
8
12
|
NOOP_MIGRATION_WARNING_SINK,
|
|
9
13
|
StalePrefixError,
|
|
@@ -13,6 +17,7 @@ export type { MigrationWarning, MigrationWarningSink } from './id-prefix.js'
|
|
|
13
17
|
|
|
14
18
|
export {
|
|
15
19
|
DefaultFilesystemMigrator,
|
|
20
|
+
loggingMigrationSink,
|
|
16
21
|
NOOP_FILESYSTEM_MIGRATION_SINK,
|
|
17
22
|
LEGACY_DEFAULT_SESSION_ID,
|
|
18
23
|
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,33 @@ 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.
|
|
115
|
+
*/
|
|
116
|
+
const ARCHIVABLE: ReadonlySet<SubSessionDelegationStatus> = new Set(['idle', 'failed'])
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Values no code path in this package can write, kept archivable anyway.
|
|
120
|
+
*
|
|
121
|
+
* `merged` and `merge_rejected` sat in the one set above, and nothing has
|
|
122
|
+
* ever produced either — so that membership described a match that could
|
|
123
|
+
* not happen. The temptation is to delete them, and that would be wrong:
|
|
124
|
+
* `SubSessionStore.updateSubSession` takes a whole `SubSession`, so a HOST
|
|
125
|
+
* could have persisted one of these while the wide union permitted it, and
|
|
126
|
+
* dropping them here would strand exactly those records as permanently
|
|
127
|
+
* un-archivable. The union stays wide for one release precisely so such a
|
|
128
|
+
* host can migrate; this set is the other half of that promise.
|
|
129
|
+
*
|
|
130
|
+
* It goes when the six deprecated members go.
|
|
110
131
|
*/
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
])
|
|
132
|
+
const ARCHIVABLE_LEGACY: ReadonlySet<SubSessionStatus> = new Set(['merged', 'merge_rejected'])
|
|
133
|
+
|
|
134
|
+
function isArchivable(status: SubSessionStatus): boolean {
|
|
135
|
+
return ARCHIVABLE.has(status as SubSessionDelegationStatus) || ARCHIVABLE_LEGACY.has(status)
|
|
136
|
+
}
|
|
117
137
|
|
|
118
138
|
export interface ArchivalManagerDeps {
|
|
119
139
|
readonly sessionStore: SessionStore
|
|
@@ -165,7 +185,7 @@ export class ArchivalManager {
|
|
|
165
185
|
if (sub.status === 'archived') {
|
|
166
186
|
throw new SubSessionNotArchivableError({ subSessionId, reason: 'already_archived' })
|
|
167
187
|
}
|
|
168
|
-
if (!
|
|
188
|
+
if (!isArchivable(sub.status)) {
|
|
169
189
|
throw new SubSessionNotArchivableError({ subSessionId, reason: 'not_idle' })
|
|
170
190
|
}
|
|
171
191
|
|
|
@@ -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()
|